독서 기록

[독서기록] 비전공자를 위한 이해할 수 있는 IT 지식 (1)

dev seon 2023. 8. 6. 11:43

비전공자를 위한 이해할 수 있는 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로 서버에서 불러오도록 함

- 모바일 앱 마켓 : 구글 플레이스토어는 심사 과정 간단, 애플 앱스토어는 까다로움