---
# System prepended metadata

title: 과외자료 분류
tags: [과외(하희영)]

---

# 알고리즘
- https://hackmd.io/xsoa9K0xTtKtXB8_60eMQQ?view
    - 탐색 알고리즘
    - 정렬 알고리즘 (선택 정렬, 버블 정렬, 삽입 정렬)
- https://hackmd.io/soLGFEGDTW6BXhsC0zZOLA?view
    - 알고리즘
    - 의사코드
    - 브루트 포스 알고리즘 (Brute force)
    - 그리디 알고리즘(Greedy)
- https://hackmd.io/AzhBc2n5SkCQ1buaDlegUA?view
    - 재귀 알고리즘 (Recursive)
    - 분할 정복 알고리즘 (Divide & Conquer)
- https://hackmd.io/Tgd6QqV7TyOQJ3I7XOhZiA?view
    - 백트래킹(Backtracking)
    - 탐색 알고리즘
- https://hackmd.io/xFUdM6UESoeUHYUZMNM7gA?view
    - 동적계획법 (DP, Dynamic Programming)
- https://hackmd.io/OfdkE9tMQAKaYmusi6vyYQ?view
    - 그래프 알고리즘

# 자료구조
- https://hackmd.io/hIJLSxsfRF2Gq4zmgLozuA?view
    - 스택(Stack), 큐(Queue), 데크 (Deque, Deouble-Ended Queue)
    - 리스트(List)
    - 트리(Tree), 그래프(Graph)
- https://hackmd.io/5G2YGolJQ4WiCBIsDxPhyQ?view
    - 트리 (Tree)
    - 해시 (Hash)
    - 셋(Set)
    - 맵(Map)
- https://hackmd.io/ZVHRviJHRsWMGycxY2TXXw?view
    - Java 기본 컬렉션 프레임워크

# CS
- https://hackmd.io/zFz1JzVcSrSdCQ1mmoPRZQ?view
    - CPU, RAM, HDD
    - 배열과 포인터 그리고 문자열
- https://hackmd.io/8tR0mMdTQ52FrQbyw6Yh1A?view
    - 프로세스의 메모리 구조
    - Java Virtual Machine (JVM)과 메모리
- https://hackmd.io/lTvir8AaQG2LZ3GUypFB0g?view
    - 운영체제의 정의 및 목적
    - 프로세스
    - 스레드
    - 컨텍스트 스위칭
    - 멀티 스레드의 문제
- https://hackmd.io/M9LEVkuzQReIYYmb9l9jKg?view
    - 암호화
    - 해시
- https://hackmd.io/FchZaKdURSKKTeCnT0tl2A?view
    - 컴퓨터의 숫자 표현
    - 정수 표현
    - 실수 표현
- https://hackmd.io/m1nonVI8S76Ciym1nwFI9Q?view
    - 블록킹, 넌블록킹, 동기, 비동기
- https://hackmd.io/bwTnK2Z6TKK8NXbVmSbEmg?view
    - Thread Pool

# 객체지향
- https://hackmd.io/h7R-3F1SQo-RErqTJtcxwA?view
    - 클래스와 객체
- https://hackmd.io/zln28RkoTrKnSyFxT3DaVA?view
    - 구조체
    - 객체 지향 프로그래밍
- https://hackmd.io/jSu-NRxKSuCDi0ioNPAhgg?view
    - 상속과 컴포지션
- https://hackmd.io/qeWzEV44TDGEtQsnZ3bldQ?view
    - 추상 클래스
    - 인터페이스
    - 추상클래스 vs 인터페이스

# Java
- https://hackmd.io/i2_d8g88RcOFi-tPVgTxfQ?view
    - 제네릭
- https://hackmd.io/7VKR2smZTEyZytpCIe6S2A?view
    - 프로그래밍의 오류
    - 예외
- https://hackmd.io/Im2-ECLARS6_k_Obl5IyGg?view
    - 익명클래스
    - 함수형 프로그래밍이란?
    - 자바 함수형 인터페이스
    - 자바에서의 람다
- https://hackmd.io/3w57yKhTQqWHnyNQ2To74g?view
    - Java Stream이란?
    - Stream 사용법
    - 스트림 디버깅과 성능 최적화
- https://hackmd.io/QK49p_YVTsaxZc-BX8KC-A?view
    - 메서드 참조 (Method Reference)
    - 병렬프로그래밍
- https://hackmd.io/R8uFwQ0vQP6vEerK-sBlNQ?view
    - Java Optional
- https://hackmd.io/DzRpBodlTOKc92VrVLWcGw?view
    - Future는 무엇인가?
- https://hackmd.io/iFQ07jcxSXOCWpZ0zrVOow?view
    - Java IO
- https://hackmd.io/Kq_7ZvUnQx2w1nEdIESQ3A?view
    - Java NIO
    - NIO와 IO의 차이점
- https://hackmd.io/UCvTWIXrTz6IsZZqWPRQGQ?view
    - ByteBuffer

# 네트워크
- https://hackmd.io/79HUNZqyRF-i4VJrZ-_DcA?view
    - 네트워크 기초
    - 인터넷과 주소 그리고 포트
    - Mac 주소 (Media Access Control Address)
    - 스위치 / 라우터
    - 네트워킹 프로토콜과 OSI 모델, TCP/IP 모델
    - 인터넷의 데이터 전송 과정
- https://hackmd.io/ARe8q1VsSgmQPUp5ZBX3tA?view
    - 스위치 (Switch)
    - 라우터
    - 인터넷에서의 패킷 전송
- https://hackmd.io/sQNIXv3GSRS07IUD6KPbxQ?view
    - IPv4와 서브넷 마스크
    - IP 주소와 클래스
    - 서브네팅 (Subnetting)
- https://hackmd.io/ut0IwStZTTGIK0ktePNquw?view
    - 전송계층(Transport Layer)
    - NAT (Network Address Translation)
- https://hackmd.io/nL5ruM5lRq6YUi2NvxOCCw?view
    - TCP(Transmission Control Protocol)
    - TCP/UDP Echo 서버/클라이언트 예시
    - TCP 파일 송수신 서버/클라이언트 예시
- https://hackmd.io/wIGofD-eSIyHRkmdd5JoYQ?view
    - 도메인
    - DNS (Domain Name System)
    - World Wide Web
    - 웹 브라우저
    - HTTP 서버 예시 코드

# 번외
- https://hackmd.io/iFZwrfb8SJqQAGqPovd6Fg?view
    - Git이란?
    - Git 설치
    - Git의 작업 영역
    - Git 기본 명령어
    - Git 브랜치(Branch)
    - Git Checkout
    - Git 충돌(Conflict)
