
1. 컴퓨터와 소통하는 법: 통역사가 필요해! (컴파일러 & 언어)
1) 컴파일러
우리가 쓰는 말(한국어, 영어)을
컴퓨터는 알아듣지 못합니다.
컴퓨터는 0과 1만 알기 때문이죠.
그래서 '컴파일러'라는 통역 프로그램이 필요합니다.
우리가 자바(Java)나 파이썬(Python)
같은 언어로 명령을 내리면,
컴파일러가 이를 컴퓨터가 알아듣는 말로 바꿔줍니다.
2) IDE (통합개발환경)
프로그래밍 언어의 단어와 기호는 너무 복잡해서,
이를 자동으로 완성해주거나
틀린 곳을 알려주는
똑똑한 메모장이 필요한데,
이를 IDE라고 합니다.
3) 고수준 vs 저수준:
인간이 이해하기 쉬운 언어를
'고수준 언어'(파이썬 등),
컴퓨터가 이해하기 쉬운 언어를
'저수준 언어'라고 합니다.
저수준 언어는 배우기 어렵지만,
컴퓨터 사양이 낮아도
쌩쌩 잘 돌아가는 장점이 있습니다.
2. 내 컴퓨터 안의 요리사들: CPU, RAM, HDD
컴퓨터의 작동 원리는 '주방'에 비유하면 좋습니다.
1) CPU (요리사)
머리가 아주 좋고 손이 빠릅니다.
실제 계산과 처리를 담당합니다.
2) 보조기억장치 (냉장고)
HDD나 SSD를 말합니다.
재료(데이터)를 많이 보관할 수 있지만,
요리사가 여기서 직접 재료를 꺼내 쓰려면
속도가 너무 느립니다.
3) 메모리/RAM (조리대)
그래서 요리사(CPU)와 냉장고(보조기억장치) 사이에
넓은 조리대(메모리)를 둡니다.
-덧-
프로그램을 켤 때 뜨는 '로딩(Loading)' 화면은,
냉장고(보조기억장치)에 있는 재료를
요리하기 편하게 조리대(메모리)로 옮기는 과정입니다.
3. 인터넷 세상의 구조: 클라이언트와 서버
우리가 카카오톡을 24시간 쓸 수 있는 건,
어딘가에 24시간 켜져 있는
컴퓨터가 있기 때문입니다.
1) 클라이언트 (프론트엔드)
손님입니다. 내 스마트폰이나 PC처럼
눈에 보이는 화면을 다룹니다.
2) 서버 (백엔드)
주방입니다.
우리가 볼 수 없는 뒤편(Back)에서
데이터를 저장하고 처리합니다.
카카오나 네이버 같은 기업은
수많은 컴퓨터를 연합군처럼 묶어
서버를 만들고 24시간 켜둡니다.
서버 운영체제로는 리눅스(Linux)를 가장 많이 쓰는데
무료이고 개발자들이 좋아하는 기능이 많기 때문이죠.
3) 호스팅
개인이 집에서 24시간 컴퓨터를 켜두고
관리하기는 힘듭니다.
그래서 AWS(아마존)나 Cafe24 같은 업체가
대신 서버를 관리해주는데,
이를 호스팅 업체라고 합니다.
4. 서로 대화하는 규칙: API와 JSON
클라이언트(손님)가 서버(주방)에 무턱대고
"밥 줘!"라고 할 수는 없습니다.
"메뉴판에 있는 A세트를 주세요"라고
정해진 규칙대로 말해야 하죠.
1) API
서로 다른 프로그램끼리 소통하기 위해 만든
'요청과 응답의 규칙'입니다.
(예: 로그인 요청, 결제 요청 등)
2) CRUD
개발자들은 요청을 크게 4가지로 나눕니다. (CRUD)
Create (생성): 글 쓰기
Read (조회): 글 읽기
Update (수정): 글 고치기
Delete (삭제): 글 지우기
3) HTTP 상태 코드
요청에 대한 결과를 숫자로 알려줍니다.
200번대: 성공! (OK)
400번대: 네가 실수했어 (요청 오류)
500번대: 미안, 내 잘못이야 (서버 오류)
JSON: 서로 데이터를 주고받을 때 쓰는
'통일된 형식'입니다.
예전에는 XML을 썼지만,
요즘은 더 간편한 JSON을 씁니다.
5. 웹 페이지를 만드는 3총사: HTML, CSS, JS
우리가 보는 웹사이트는
보통 세 가지가 합쳐져서 만들어집니다.
1) HTML (뼈대)
웹의 구조와 정보를 만듭니다.
(제목, 본문, 이미지 등)
2) CSS (인테리어)
HTML을 예쁘게 꾸밉니다.
(색상, 폰트, 간격 등)
3)JavaScript (행동)
클릭했을 때 움직이거나
기능이 작동하게 합니다.
4) 라이브러리와 프레임워크맨
땅에 헤딩하듯 코드를
처음부터 짜면 너무 힘듭니다.
남들이 미리 만들어둔 유용한 코드 뭉치(라이브러리)와
뼈대(프레임워크)를 가져다 쓰면
훨씬 빠르고 편하게 개발할 수 있습니다.
이상으로
비전공자를 위한 IT 기초 지식 5분 정리
포스팅을 마칩니다.
'경제학 이론 및 분석 도구 > 파이썬' 카테고리의 다른 글
| 파이썬 모듈과 패키지, 오류 (1) | 2023.07.12 |
|---|---|
| 파이썬 클래스 (0) | 2023.07.05 |
| 파이썬 읽기 쓰기 (0) | 2023.06.28 |
| 파이썬 입력과 출력 (1) | 2023.06.21 |
| 파이썬 함수 (0) | 2023.06.07 |