
기다리던 한컴 AI 아카데미 개강!

교육과정 첫 주는 HTML&CSS을 배우는데, 이를 배우기에 앞서 첫날인 만큼 기초 프로그래밍 지식에 대해 강사님이 설명해주셨다.
오늘은 내용이 아주 많은 건 아니어서 4L 작성법을 통해 간단히 정리해보도록 하겠다.
What I Learned this week : 이번 주에 새롭게 배운 점은?
목차는 컴퓨터의 기본 구조, 운영체제, 프로그래밍, 인터넷, 웹으로 구성된다. 컴퓨터 시스템과 소프트웨어 개발의 흐름을 기준으로 구성된 것으로 보인다. 어쨌든 우리 이번 주차에 우리는 궁극적으로 웹 개발에 필요한 지식을 갖추는 것이기 때문에 그에 맞게 소개해주신 것 같다.
(안성군 강사님의 교안을 참고하여 작성함)
1. 컴퓨터의 기본 구조
: 컴퓨터는 CPU, 메모리, 입출력장치, 저장 장치, 메인보드, 버스, 그래픽 카드, 파워 서플라이, 펌웨어(BIOS 및 UEFI) 등으로 구성된다.
1) CPU
-모든 연산과 명령을 실행하는 컴퓨터의 두뇌 같은 존재이다.
- 연산장치와 제어장치, 레지스터, 클럭 등으로 이루어져 있다.
2) 메모리
- 우리가 잘 아는 컴퓨터의 구성 요소로 데이터를 저장하고 처리한다. 주기억장치(RAM)와 보조기억장치(HDD, SSD)가 있다.
- 여기서 보조기억장치, 즉 저장장치는 우리가 흔히 쓰는 USB를 생각하면 된다. 데이터를 영구적으로 저장하거나 백업하는 장치이다. RAM거과의 차이점은 RAM은 휘발성이지만 저장장치는 비휘발성이라는 것이다.
3) 입출력장치
- 입력장치(키보드, 마우스, 스캐너, 마이크 등)
- 출력장치(모니터, 프린터, 스피커 등)으로 구분된다.
4) 메인보드
- 컴퓨터의 모든 하드웨어를 물리적으로 연결하여 원활하게 상호작용하게 만드는 곳이다.
5) 버스
- 컴퓨터 내부에서 데이터를 주고 받는 통로로 데이터버스와 주소 버스, 제어버스로 나뉜다.
- 데이터버스와 주소버스는 이름 그대로 데이터를 전송하는 통로, 메모리의 위치(주소)를 CPU에 전달하는 통로라면, 제어버스는 데이터를 어떻게 처리할지에 대한 제어 신호를 전송하는 버스이다.
6) 그래픽 카드 (GPU)
- 그래픽 연산을 처리하는 장치
7) 파워 서플라이
- 컴퓨터에 전력을 공급하는 장치
- 충전기는 배터리를 충전하는 거고, 파워 서플라이는 컴퓨터 내의 하드웨어 부품에 필요한 전원을 직접 공급.
8) 펌웨어
- 컴퓨터의 하드웨어를 제어하고 동작시키는 소프트웨어이다.
- 기본적으로 하드웨어와 소프트웨어의 중간 역할을 하며 BIOS는 오래된 시스템에서 사용되고, UEFI는 이의 개선된 버전으로 더 많은 기능을 제공한다.
컴퓨터를 잘 모르는 사람이라도 여기에 있는 몇몇 용어들이 익숙할 것이다. 나도 마찬가지로 대부분 들어본 것들이지만, 무슨 역할을 하는지 정확히 구분할 수 있는 정도는 아니었다. 수업을 통해 각 부품을 익히고 정리하는 시간을 가질 수 있었다. '버스'는 들어본 적이 없는 것 같은데 데이터냐, 주소냐, 어떤 제어 신호냐에 따라서 버스가 구분된다는 게 신기했다. 컴퓨터는 참 복잡한 것 같다.
2. 운영체제
: 운영 체제는 컴퓨터 하드웨어와 소프트웨어를 관리하고 사용자가 컴퓨터를 효율적으로 사용할 수 있도록 도와주는 핵심 소프트웨어로. 사용자와 하드웨어 사이의 중재 역할을 한다. 우리에게 친숙한 예시로는 안드로이드, IOS, 맥, 윈도우 등이 있다.
1) 운영체제의 주요 역할
- 프로세스 관리 : 프로세스는 실행중인 프로그램을 의미하고, 운영체제는 프로세스 스케쥴링을 통해 프로세스들을 관리하고 조정하는 역할을 한다.
- 메모리 관리 : 운영체제는 메모리할당, 가상메모리 등을 이용해 컴퓨터의 주기억장치를 효율적으로 사용하도록 관리한다.
- 파일 시스템 관리 : 파일 시스템은 데이터를 저장하고, 관리하고, 검색하는 방법을 제공한다. 운영체제는 하드디스크와 같은 저장 장치에 파일을수정, 생성, 삭제하고 파일의 위치를 추적하도록한다. 또한 파일 접근을 제어하여 보안을 유지하기도 한다.
- 입출력 장치 관리 : 입출력 장치들은 CPU와 직접적으로 통신할 수 없으므로, 운영체제가 장치 드라이버라는 소프트웨어를 통해 중간에서 통신을 담당한다.
- 보안 및 사용자 관리 : 운영체제는 또한 사용자 인증, 권한 부여, 데이터 암호화 등의 방법을 통해 데이터와 시스템을 보호한다.
- 네트워크 관리 : 운영체제는 컴퓨터가 네트워크를 통해 다른 컴퓨터 및 장치와 연결되고 데이터를 송수신할 수 있도록 관리한다.
2) 운영체제의 종류
- 범용 운영체제 : windows, macOS, 리눅스
- 모바일 운영체제 : android, ios
- 서버 운영체제 : windows server, ubuntu server, unix
3. 프로그래밍
: 프로그래밍이란 컴퓨터에게 특정 작업을 수행하도록 명령하는 과정이다.
1) 프로그래밍 언어 종류
- 프로그래밍 언어는 인간이 컴퓨터와 소통하기 위해 사용하는 언어이다. 각 언어는 고유의 문법과 규칙을 가지고 있다.
(1) 저급 언어
- 기계어 : 0과 1의 이진수이며 컴퓨터가 직접 처리할 수 있는 언어다.
- 어셈블리어 기계어보다 인간이 조금 더 이해하기 쉬운 형태이다.
(2) 고급 언어
- 인간이 이해하기 쉬운 문법을 제공하는 언어 (C, Java, Python, JavaScript 등)
- 컴파일러나 인터프리터를 통해 컴퓨터가 이해할 수 있는 기계어로 변환된다.
2) 프로그래밍의 기본 구성 요소
- 변수, 조건문, 반복문, 함수
3) 프로그래밍 과정
- 문제정의 → 알고리즘 설계 → 코딩 → 디버깅 및 테스트 → 유지보수 및 개선
4) 프로그래밍 응용 분야
- 웹 개발
- 모바일 앱 개발
- 데이터 과학 및 인공지능
- 게임 개발
- 임베디드 시스템
4. 인터넷
1) 인터넷의 탄생과 발전
- 인터넷은 냉전시대 미국에서 기원
- 1970~1980년대 TCP/IP, DNS 등 여러 프로토콜이 발전하고, 1980년대 후반 World Wide Web 개발을 통해 인터넷이 대중화되기 시작
2) 네트워크
- 네트워크는 데이터를 공유하거나 공동 작업을 수행하는 데 필요한 통신 채널을 제공한다.
- 인터넷, 사내 인트라넷, 와이파이, 블루투스 등 모두 네트워크의 일종이다.
(1) 네트워크의 종류
- 유선 네트워크 : 랜 케이블(Ethernet) 등을 사용하여 물리적으로 연결
- 무선 네트워크 : 와이파이, 블루투스 등을 통해 무선으로 연결
- PAN(Personal Area Network, 개인 통신망) : 예) 블루틋, 핫스팟
- LAN(Local Area Network, 근거리 통신망) : 예) 와이파이, 사내 네트워크
- MAN(Metropolitan Area Network, 도시권 통신망) : 예) 대학 캠퍼스 네트워크
- WAN(Wide Area Network, 광역 통신망) : 예) 인터넷, 기업 VPN
(2) 네트워크 장치
- 라우터 : 서로 다른 네트워크 장치 간의 데이터를 전달한다.
예) 외부 연결 인터넷 공유기(집의 공유기는 내부와 외부 인터넷을 연결함)
- 스위치 : 같은 네트워크 내부에서 여러 장치를 연결한다.
예) 사무실의 LAN 네트워크(사내 네트워크에서 PC, 프린터, 서버가 서로 통신), 내부 연결 인터넷 공유기
- 모뎀 : 인터넷 신호(광신호 또는 전화선)을 디지털 신호로 변환한다.
3) 방화벽
- 방화벽은 네트워크 보안을 위해 외부에서 돌아오거나 나가는 데이터를 필터링하여 허용 또는 차단하는 시스템이다.
4) 프로토콜
- 프로토콜이란 컴퓨터 네트워크에서 데이터를 송수신하기 위한 규칙과 절차를 뜻함
(1) 프로토콜의 기본 3요소
- 구문(syntax) : 데이터의 형식과 구조를 정의하는 요소로, 프로토콜이 데이터를 주고 받을 때 어떤 형태로 전송해야 하는지를 규정한다.
- 의미(semantics) : 메시지가 전달하는 정보의 내용과 해석 방법을 정의한다. 즉, 이 메시지가 무슨 의미를 가지는지를 규정하는 역할.
- 순서(timing) : 데이터 전송 속도 및 순서 규칙을 규정하는 요소이다. 데이터 전송 속도 조절, 패킷 순서 유지, 타임 아웃, 동기화 등
(2) 주요 프로토콜과 그 역할
- IP(Internet Protocol) : 데이터를 패킷 단위로 나누어 목적지까지 전달하는 역할.
- TCP(Transmission Control Protocol) : 데이터가 손실되지 않고 순서대로 전달되록 보장하는 역할.
- UCP(UserDatagram Protocol) : TCP보다 빠르지만 신뢰성을 보장하지 않음. 실시간 통신이 중요한 경우 사용.
- DNS(Domain Name System) : 도메인 이름을 IP주소로 변환하는 프로토콜
- FTP(File Transfer Protocol) : 파일 전송을 위한 프로토콜. 네트워크를 통해 파일을 업로드하거나 다운로드 할 때 사용. (예) 파일질라
- HTTP(HyperText Transfer Protocol) : 웹 브라우저와 웹 서버간 데이터를 주고받는 프로토콜. HTTPS는 보안성이 더 좋은 버전.
(3) 네트워크와 프로토콜의 관계
- 네트워크는 단순한 '연결'이고, 프로토콜이 있어야 "데이터를 주고 받을 수" 있음
- 프로토콜이 있어야 네트워크에서 데이터를 주고 받을 수 있음
5. 웹
1) 웹의 발전
(1) 웹 개념 탄생 (CERN 연구소, 1989년~1991년)
- 최초의 웹사이트 "info.cern.ch" 개설
- HTML, HTTP, URL 개발
- 팀 버너스 리가 최초의 웹 브라우저 (WorldWideWeb) 개발
(2) 웹의 발전
- 웹 1.0 (1990년대) : 정적인 웹, 텍스트 중심의 컨텐츠
- 웹 2.0 (2000년대) : 동적 컨텐츠 지원(Javascript 등장), API를 통한 서비스 간 연동 등
- 웹 3.0 (2010년 이후, 시멘틱 웹) : 인공지능과 데이터 중심으로 사용자 맞춤형 정보 제공. (예) 음성 비서, 추천 알고리즘
2) 웹의 구성 요소
(1) HTML : 하이퍼텍스트 문서를 작성하기 위한 언어
(2) HTTP
(3) URL & DNS
- URL :웹에서 특정 자원을 찾기 위한 주소 체계
- DNS : 사용자가 입력한 URL 도메인의 이름을 실제 서버의 IP주소로 변환하는 시스템
(4) 웹 애플리케이션 & 데이터베이스
- 웹 서버에서 동적인 기능(회원가입, 로그인, 데이터 저장 등)을 제공하기 위한 백엔드 시스템 (예) Django, Noje.js, MySQL 등
(5) 웹 서버
- 클라이언트 요청을 받아 웹페이지를 제공하는 역할.
(6) 웹 클라이언트(= 웹 브라우저)
- 사용자가 입력한 URL을 바탕으로 웹 서버에 요청을 보내고, HTML, CSS, Javascript를 해석하여 화면에 표시
3) HTTP
(1) HTTP의 동작과정
- 사용자의 요청 : 사용자가 웹 브라우저에 URL을 입력하면, 웹 브라우저는 해당 URL에 대한 요청을 HTTP 요청 형식으로 웹 서버에 보낸다. 요청에 필요한 정보로는 HTTP 메서드, URL, 헤더, 본문 등이 있다.
- 서버의 응답 : 웹 서버는 HTTP 요청을 받은 후, 해당 요청에 맞는 응답을 생성하여 브라우저로 보낸다. 응답에 필요한 정보로는 상태 코드, 헤더, 본문 등이 있다.
(2) HTTP 메서드 종류
- GET : 서버로부터 데이터를 가져오는 요청. URL이 GET요청을 의미
- POST : 서버에 데이터를 제출하는 요청.
- PUT: 서버에 데이터를 저장하거나 업데이트 하는 요청
- DELETE : 서버에서 데이터를 삭제하는 요청
(3) HTTP 상태 코드 : 서버가 요청을 처리한 결과를 나타내는 숫자코드
- 2XX: 성공, 3XX: 리다이렉션
- 4XX: 클라이언트 오류 (ex) 404 Not Found
- 5XX : 서버 오류
HTTP Cats
API for HTTP Cats
http.cat
+) 강사님이 만들어보라고 하셔서 만든 다이어그램(과졔)

노력했음..
What I Liked : 이번 주 수업에서 좋았던 점은?
첫날인 만큼 컴퓨터의 개요를 너무 빠르지 않게 되짚어 보고 시작할 수 있었다. 전공자도 비전공자도 아닌 나한테 딱 적당한 속도랑 난이도로 느껴졌다. 오늘이 지나면 바로 주말이 있어서 본격적으로 오늘 뭔갈 배웠다면 월요일에 백퍼 증발해서 왔을 가능성이 높은데 대부분 원래 가지고 있던 지식을 리마인드해주면서도 너무 어렵지 않은 새로운 지식을 알아갈 수 있어서 좋았다.
또한, 아래와 같은 다양한 인터넷 tool? 들을 알아갈 수 있어서 좋았다. 이것들을 진작 알았더라면 내 과제들이 좀더 수월했을지도.. ㅋ
CodePen - Create a New Pen
Behavior Auto Save If active, Pens will autosave every 30 seconds after being saved once. Auto-Updating Preview If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update. Format on Save If enabled, your co
codepen.io
Flowchart Maker & Online Diagram Software
Flowchart Maker and Online Diagram Software draw.io is free online diagram software. You can use it as a flowchart maker, network diagram software, to create UML online, as an ER diagram tool, to design database schema, to build BPMN online, as a circuit d
app.diagrams.net
What I Lacked : 배운 것에 관해서 내가 부족했던 부분은?
평소에 늦게 자는 습관이 들여 있어서 어제 늦게 자서 오늘 일찍 일어나느라 너무 피곤해서.. 내가 기대한 만큼 집중해서 듣지 못했다 ㅋㅋ 이건 내 개인적인 아쉬움이고, 프로그램링까지는 다 익숙한 내용들이었는데 인터넷 네트워크 부분은 아직 개념이 부족한 게 느껴진다. 근데 뭐 앞으로 강의 들으면서 교재로 보충하면 될 듯?!
What I Long for : 앞으로 뭘 더 하면 좋을까?
위에서 다 말해버렸다. 잠 잘 자고, 수업 잘 듣고, 복습 잘 하면 돼! (여태 맨 앞에 한 개만 실천해왔지만 어떻게든 해보겠음)
그리고 주말에 티스토리를 좀 만지작거려서 학습일지를 더 잘 써보도록 하겠다. 기록이 곧 자산이다!!
본 후기는 [한글과컴퓨터x한국생산성본부x스나이퍼팩토리] 한컴 AI 아카데미 (B-log) 리뷰로 작성 되었습니다.
'HANCOM AI ACAMEMY > 학습일지 🗒️' 카테고리의 다른 글
| [스나이퍼팩토리] 한컴AI아카데미 6주차 (0) | 2025.03.09 |
|---|---|
| [스나이퍼팩토리] 한컴AI아카데미 5주차 (0) | 2025.02.28 |
| [스나이퍼팩토리] 한컴AI아카데미 4주차 (2) | 2025.02.20 |
| [스나이퍼팩토리] 한컴AI아카데미 3주차 (0) | 2025.02.14 |
| [스나이퍼팩토리] 한컴AI아카데미 2주차 (3) | 2025.02.03 |
댓글