👨‍💻 Day 1. 운영체제 & 리눅스 기초 다지기
오늘은 컴퓨터 시스템의 근간이 되는 운영체제(OS) 개념과 리눅스 기초 명령어를 학습했다.

🔹 컴퓨터 구조 & OS
운영체제는 하드웨어와 소프트웨어 사이에서 자원을 관리해주는 프로그램이다.
중앙에는 커널이 있어 메모리, CPU, 파일 시스템 등을 제어한다.

프로그램은 디스크에 저장된 상태이고, 프로세스는 실행 중인 프로그램을 의미한다.

메모리는 크게 4영역으로 나뉜다: 코드, 데이터, 힙, 스택.

스택: 함수 호출/반환 시 사용

힙: 동적 할당 영역

🔹 쉘 & Git Bash & EC2
쉘은 사용자가 명령어를 입력할 수 있는 환경.

Git Bash는 윈도우에서 리눅스 명령어를 사용할 수 있게 해준다.

EC2는 AWS에서 제공하는 가상 서버. SSH를 통해 접속한다.

🔹 리눅스 명령어 맛보기
ls: 디렉토리 목록 보기

cd: 디렉토리 이동

mkdir: 폴더 생성

|, grep: 파이프와 검색

vim: 파일 편집기

🌐 Day 2. 네트워크 & 데이터베이스
🔹 OSI 7계층
네트워크 구조를 이해하기 위한 모델로, 각 계층은 특정 기능을 담당한다.

물리 계층: 전기적 신호 (ex: 허브)

데이터링크 계층: MAC 주소, 프레임, 스위치, 랜카드

네트워크 계층: IP 주소, 라우팅, ping, public/private IP

전송 계층: TCP(신뢰성), UDP(속도), 포트 번호
5~7. 응용 계층: HTTP, FTP, SSH 등 응용 서비스

🔹 데이터베이스 개요
RDB (관계형 데이터베이스) vs NoSQL

PostgreSQL을 사용해 데이터베이스 실습 진행

설치, DB 및 테이블 생성

외부 접속을 위한 pg_hba.conf와 postgresql.conf 설정 변경

📚 Day 3. 자료구조 & 알고리즘
🔹 자료구조
포인터: 메모리 주소를 가리키는 변수

인코딩: 데이터를 특정 방식으로 변환 (ex: UTF-8)

주요 자료구조

스택 (LIFO): push/pop, ex: 함수 호출

큐 (FIFO): enqueue/dequeue, ex: 작업 큐

트리: 계층 구조, ex: 폴더 구조

그래프: 정점+간선, ex: 지도

해시: 키-값 쌍 저장, 검색 빠름

🔹 알고리즘
탐색

선형 탐색: 순차적으로 찾음

이진 탐색: 정렬된 데이터에서 절반씩 줄여감

BFS (큐), DFS (스택)

정렬

버블 정렬: 인접한 두 값을 비교

병합 정렬: 분할 후 정렬하며 합침

퀵 정렬: 피벗 중심 분할 정렬

동적 계획법 (DP)

중복 계산을 피하기 위해 메모이제이션 활용

피보나치, 배낭 문제 등 최적화 문제에 강함

profile
"나는 내 노력을 드러내려고 하지 않았고, 그저 내 그림들이 봄날의 밝은 즐거움을 담고 있었으면 했다. 내가 얼마나 노력했는지 아무도 모르게 말이다." - 앙리 마티스

0개의 댓글