비전공자를 위한 이해할 수 있는 IT 지식 복습

프로그래밍 언어&운영체제(OS)
- 인간(가나다) - 컴파일러 - 컴퓨터(0과 1)
- 개발자는 프로그래밍 언어를 사용해 컴파일러에 명령을 전달하여 컴퓨터와 소통
- IDE(Integrated Development Environment) : 통합 개발 환경, 개발을 하기 위한 모든 것을 제공하는 환경
- 프로그래밍 언어 : 저수준(컴퓨터 친화적 - IPTV, 프린터 등…), 고수준(인간 친화적 - 스마트폰, 앱 등)
컴퓨터의 구성 요소
- CPU : 컴퓨터의 머리, 데이터 저장 X, 실행
- 메모리 : CPU의 개인 작업 공간
- HDD, SDD : 컴퓨터의 창고, 데이터 저장, 속도 느림
운영체제
- 하드웨어 관리, 프로그램 설치 및 실행
- 윈도우(마이크로소프트) : C#, Visual Basic, C++, JavaScript …
- 맥 OS, iOS(애플) : Objective-C, Swift
- 안드로이드(구글) : JAVA, Kotlin
- JVM을 설치하면 자바 언어로 만든 프로그램이 돌아감 → Java, Python (윈도우, 맥 OS)
→ 2개의 프로그램(JVM+프로그램)이 돌아가는 것이므로 속도가 느림
프로그래밍 언어
- C언어 : 컴퓨터 이해도 높아짐
- 자바 : 사용 범위 넓음
- 파이썬 : 쉬움
네트워크, 클라이언트, 서버
- LAN(Local Area Network) : 컴퓨터가 연결된 작은 지역
- MAN(Metropolitan Area Network) : 도시
- WAN(Wide Area Network) : 도시와 도시, 나라와 나라
- 다운로드 → WAN을 따라 기지국으로 신호 보냄 → 서버 컴퓨터에서 파일 보내줌 → 다운로드 중, 설치완료
- IP주소 : 컴퓨터에 따라 고유한 주소, 12자리(000.000.000.000, 최근에는 숫자 구분을 6개로 늘린 IPv6 함께 사용)
- 클라이언트(클라) : 서비스를 사용하는 사람들의 컴퓨터 (프론트엔드)
- 서버 : 파일을 주는 컴퓨터 (백엔드)
- 리눅스 = 운영체제, 서버 프로그램을 돌림, 무료 → 리눅스의 유명한 버전, 우분투(Ubuntu), Red hat, Android
- 집에서 서버를 운영할 경우 : 전기세, 정전, 복구 불가 등 문제
→ 호스팅 업체 등장(Cafe 24, 가비아, AWS)
API와 JSON
API
- API : 서로 다른 프로그램이 요청(Request)과 응답(Response)을 주고 받을 수 있게 만든 체계(데이터 전송), ‘서버주소/A’의 형태로 정의
- CRUD : Create, Read, Update, Delete 관점에서 기획 보기
- RESTful API : 이전보다 주소 개수가 줄어들고 CRUD를 하나의 주소로 관리
- 메소드(Method) : 수학의 함수와 같은 것, 요청변수 (파라미터)
- Create (POST) Read (GET) Update (PUT전체 / PATCH일부) Delete (DELETE)
- 응답 : 200번대 코드 (잘 됨) 400번대 코드(클라이언트 요청에 문제) 500번대 코드(서버 문제)
- SDK (Software Development Kit) : 소프트웨어 개발 도구
JSON
- 데이터를 넣을 수 있는 기능의 형식 : 과거 XML, 현재 JSON
{
키1(Key): 값1(Value),
키2(Key): [값2, 값3, 값4]
}
- 깃 북(GitBook) : 깔끔한 API 문서 작성 도와주는 서비스
- Open API : 네이버나 카카오 홈페이지
애플리케이션
- 설치해서 사용하는 프로그램 : 윈도우의 응용프로그램, 스마트폰 앱
- 새로운 버전이 나올 경우 업데이트 요청함
- 변동이 가능한 회사 정책 정보는 보통 애플리케이션에 넣지 않고 API로 서버에서 불러오도록 함
- 모바일 앱 마켓 : 구글 플레이스토어는 심사 과정 간단, 애플 앱스토어는 까다로움
'독서 기록' 카테고리의 다른 글
[독서기록] 개발자가 되고 싶습니다 (1) | 2023.08.12 |
---|---|
[독서기록] 비전공자를 위한 이해할 수 있는 IT 지식 (2) (0) | 2023.08.10 |