-
목차
-
선형 탐색과 이진 탐색
-
정렬
-
시간복잡도
-
재귀함수
-
알고리즘 패러다임
-
알고리즘
-
복잡도
-
진수
-
실수의 표현
-
비트
-
문자표현
-
그래프
-
Stack과 Queue
-
Linked list
-
Tree
-
반복과 재귀
-
순열과 조합, 부분집합
-
탐욕 알고리즘
-
다이나믹 프로그래밍
-
Divide and Conquer
-
Backtracking
-
문제 풀면서 알게 된 것들
-
팁
-
편집 거리 알고리즘
-
Two Pointer
-
Deque와 우선순위 큐
-
Hash
-
해시 충돌 발생시 회피 기법
-
그래프
-
최단 경로 문제
-
Tree
-
Heap
-
에라스토테네스의 체
-
연결리스트
-
Trie
-
정렬
-
그리디 알고리즘
-
Raft Consensus Algorithm
- Pointer
-
깨끗한 코드
-
의미있는 이름
-
함수
-
주석
-
형식 맞추기
- 객체와 자료 구조
- 코드 가독성
-
수의 체계
-
수의 연산
-
컴퓨터에서의 수의 연산 표현과 연산
-
명제와 논리
-
HTTP를 왜 학습해야 하는가
-
인터넷 네트워크
-
URI와 웹 브라우저 요청 흐름
-
HTTP 기본
-
Shorts
-
프레임워크와 라이브러리
-
아키텍처 그리기(설계하기)
-
Server & Client Architecture
-
개발자는 항상 의심해야 한다
-
개발자의 나쁜 습관
-
프로젝트 DB 설계
-
데이터 크롤링
-
클라우드
-
Linux
-
캐싱
-
소프트웨어 테스팅
-
쿠키, 세션, 웹 스토리지, IndexedDB
-
SSL과 TLS
-
프로세스와 스레드
-
동시성 병렬성
-
RPC
-
Session과 JWT
-
Text Encoding
-
REST
-
Memory
-
CORS
-
왜 숫자는 0부터 세는가?
-
Data processing
-
Monorepo Vs Polyrepo
-
보안
-
Data의 단위
-
IP
-
진수
-
Shorts
-
Semantic Versioning Specification
-
CNCF(Cloud Native Computing Foundation)
-
Stream Backpressure
-
Standard Stream, Standard Input, Output
-
2진수 음수 표현
-
DI
-
CI/CD
-
API Gateway
-
Load balancing
-
API Gateway vs. Load Balancer vs. Reverse proxy
-
API Throttling
-
Circuit Breaker
-
Data Flow Diagram(DFD)
-
MSA와 Event Driven
-
암호화
-
Shorts
-
프로그래밍 언어
-
UI
-
소프트웨어의 이해
-
소프트웨어 개발 생명 주기(SDLC, System Development Life Cycle)
-
Agile
-
소프트웨어 개발 단계
-
소프트웨어 품질
-
프로젝트 관리
- boolean
-
운영체제 개요
-
컴퓨터의 구조
-
프로세스와 스레드
-
유니온 마운트
-
CPU 스케줄링
-
프로세스 동기화
-
교착 상태
-
물리 메모리 관리
-
Web application Architecture
-
Proxy
-
Python으로 웹 개발하기
-
참고
-
목차
-
Big Data
-
Clustering
-
Recommendation Systems
-
블록체인
-
인공지능
-
데이터 베이스의 기본 개념
-
데이터 모델링
-
데이터베이스의 언어, SQL
-
정규화
-
트랜잭션
-
보안과 권한 관리
-
데이터 베이스 응용 기술
- Tibero 설치 및 Python 연동
-
MongoDB 소개
-
MongoDB 설치하기
-
Mongo Shell
-
Mongostat
-
MongoDB Connection Pool
-
PyMongo
-
DBMS 개요
-
데이터베이스 모델링
-
SQL
-
MySQL의 자료형
-
MySQL 프로그래밍
- DB 복사
- Workbench 사용 방법
-
실행하기
-
Replication
-
View
-
Python에서 Oracle 사용하기
-
참고
-
SQL
-
Query
-
TO DO
- Design Pattern
-
Strategy Pattern
-
Observer Pattern
-
Decorator Pattern
-
디자인 원칙 모아보기
-
Factory Pattern
-
Singleton Pattern
-
Command Pattern
-
디자인 원칙 모아보기
-
Adapter Pattern
-
Facade Pattern
-
Iterator Pattern
-
Composite Pattern
-
디자인 원칙 모아보기
-
State Pattern
-
Proxy Pattern
-
Template Method Pattern
-
디자인 패턴 모아보기
-
Compound pattern
-
다양한 디자인 패턴들
-
EC2
-
VPC
-
개요
-
Action 사용하기
-
참고
-
Jenkins tutorial
-
Jenkins Pipeline
-
Blue Ocean
-
Jenkins로 application 관리하기
-
Jenkins + Docker swarm + Docker registry로 Continuous Deploy pipeline 구성
-
MinIO 개요
-
MinIO 구성
-
Kafka와 함께 사용하기
-
MinIO Client
-
AWS CLI 사용하기
-
Nginx
-
참고
- Postman으로 API 테스트하기
-
가상머신 소개와 설치
-
가상 머신 생성
-
VMware 사용 방법
-
운영체제 설치하기
-
Django
-
MTV기초
-
DTL
-
MTV 확장
-
form태그와 input태그
-
Model
-
django_crud/articles/admin.py
-
Register your models here.
-
HTTP
-
정적 파일 관리
-
form
-
사용자 인증 관리
-
데이터베이스
-
SQL 기본
-
ORM
-
일대다 관계
-
다대다 관계
-
미디어 파일 관리
-
Query 최적화
-
REST API
-
django additional
-
기타
-
red와 blue라는 2개의 선택지가 될 charfield를 넘겨주고
-
DB와 Django 연동하기
-
Django allauth
-
컨테이너와 Docker
-
Docker image
-
Docker 설치하기
-
도커 명령어
-
Dockerfile
-
Docker Compose
-
Manage application data
-
Docker network
-
Docker health check
-
Logging
-
DinD DooD
-
Docker registry
-
Docker swarm
-
Docker service
-
Docker image build시 anti-pattern
-
Build context
-
Docker Stack
-
Docker volume과 권한, 소유자, 소유 그룹
-
.bashrc에 umask 0002 명령어를 추가한다.
-
etc
-
alpine image
- Debug Elasticsearch
-
JVM
-
heap memory
-
참고
-
검색 엔진 개요
-
엘라스틱 서치 개요
-
엘라스틱서치 기본 개념
-
Elaistcsearch 설치하고 실행하기
-
기본적인 데이터 처리
-
참고
-
Node의 역할
-
ILM(Index Lifecycle Management)
-
Sniffing
-
Snapshot
-
Bootstrap check
- Elasticsearch 최적화
-
구현
-
Shard routing
-
Suggester
-
Ingest Pipeline
-
alias
-
Security
- Shorts
-
클러스터 구축하기
-
클러스터 운영하기
-
Elasticsearch의 자료 구조
-
Elasticsearch의 score 계산 방식
-
클러스터 성능 모니터링과 최적화
-
분석 엔진으로 활용하기
-
인덱스 생성하기
-
Mapping explosion
-
데이터 색인
-
데이터 삭제
-
데이터 검색
-
Exist query
-
function_score
-
Nested query
-
검색 관련 옵션
-
More Like This Query
-
minimum_should_match
-
Profile API
-
kNN search
-
Highlight
-
Collapse
-
여러 index 대상 검색
-
엘라스틱서치 모니터링
-
Runtime field
-
Scripting
-
Aggregations
-
Loggin Configuration
-
Metricbeat
-
Data streams
-
Index template
-
Search template
-
API
-
Analyzer와 inverted index
-
Analyzer 수정
-
configsync plugin
-
Elasticsearch plugin 개발
-
Elasticsearch 8
-
elasticsearch-dsl
-
ETC
- ES 클러스터 구축 시나리오
-
Cluster 구성 시 discovery가 발생하는 과정
-
Docker로 ES, Kibana 설치하기
-
elasticsearch single node
-
Docker-compose로 설치하기
-
Docker stack으로 설치하기
-
Security 활성화 한 상태로 생성하기
-
Error
-
사전지식
-
faiss Tutorial
-
기초
-
Faiss indexes
-
참고
-
개요
-
Python과 연동하기
-
Logstash
-
Command Line으로 실행하기
-
Docker로 실행하기
-
Logstash와 DB 연결하기
-
Logstash와 Kafka 연동
-
Output Plugin
-
Dead letter queues(DLQ)
- Index File Formats
- Rally
- 연관검색어
-
아키텍처 현대화
-
당근마켓의 사례
-
Airbyte
-
Airbyte 실행하기
-
Destination
-
목차
-
크롤링의 위법성
-
Beautiful Soup
-
기초
-
웹 크롤러 만들기
-
get: 웹 페이지를 여는 함수
-
인자로 크롤링 하려는 사이트의 주소를 입력
-
query_txt = input("크롤링할 키워드: ")
-
f_name = input("검색 결과를 저장할 파일경로와 이름을 지정하세요: ")
-
위에서 표준 출력 내용을 터미널 창이 아닌 f_name에 하도록 지정했기 때문에 아래 내용은 터미널 창이 아닌 txt 파일에 저장되게 된다.
- scrapy
-
사전지식
-
CDC
-
Airbyte
-
짠내나는 데이터 다루기
-
Django 봄은 다시 온다
-
Jupyter book을 활용해 손쉽게 콘텐츠를 생성하고 공유하자
-
Django 컨트리뷰터가 되기까지의 여정
-
ETC
-
Redis
-
Data Persistence
-
HA
-
Redis 사용해보기
-
Redis 사용 전략
-
참조
-
유용한 사이트
-
Jupyter Notebook
-
초기화시 해야 할 것들
-
단축키
-
FastAPI 튜토리얼
-
매개변수
-
Request
-
Response
-
Response model
-
Lifespan Events
-
Testing
-
Dependencies
-
SQLAlchemy와 함께 사용하기
-
Backround Tasks
-
Async
-
FastAPI security
-
Nginx + FastAPI
-
Open API
-
참고
-
브라우저 & JS의 역사
-
소개
-
기초
-
변수의 선언
-
타입
-
연산자
-
제어문
-
자료구조
-
함수
-
프로토타입
-
this
-
스코프
-
실행 컨텍스트와 JavaScript 동작 원리
-
클로저
-
JavaScript 객체 지향 프로그래밍
-
빌트인 객체
-
전역 객체
-
각종 객체
-
정규표현식
-
배열
-
DOM
-
이벤트
-
비동기식 처리 모델과 ajax
-
프로미스
-
async&await
-
예외처리
-
클래스
-
모듈
-
strict mode
-
ECAMAScript6
-
ECMAScript
-
Device Orientation
-
REST API
-
SPA
-
Node.js란
-
작업 환경 준비
-
Koa 기본 사용법
-
Node.js에서 ES 모듈 import/export 문법 사용하기
-
MongoDB와 연동
-
데이터베이스 스키마와 모델
-
데이터 CRUD
-
요청 검증하기
-
페이지네이션 구현
-
목차
-
Vuex 기초
-
Vuex로 사용자 인증 구현
-
Vuex로 게시글 생성 및 조회 구현
-
목차
-
Vue
-
Vue 라이프 사이클
-
Vue 프로젝트
-
목차
-
Vue router
-
Youtube를 활용하여 페이지 만들기
-
서버와 연결
-
믹스 인
-
이벤트 버스
-
기타 팁
- 배포
-
Babel
-
Webpack
- CSS
- EmailJs를 활용하여 메일 보내기
-
CSS 문서 표현(상)
-
CSS 문서 표현(하)
-
레이아웃과 고급 CSS 기능
-
CSS 기타
-
HTML이란
-
HTML 기본 구조
-
IndexedDB 개요
-
사용해보기
-
브라우저
-
렌더링 엔진
-
파싱과 DOM트리 구축
-
배치
-
그리기
-
참고 사이트
-
초기 설정
-
기본 사용법
-
git branch
-
기타
-
시작하기
-
Git의 기초
-
Git 브랜치
-
commit message 작성하기
-
git 저장소 옮기기
-
Syntax and Semantic
-
Immutability
-
Pattern Matching
-
Identifiers
-
출처
-
Functions
-
출처
-
Boxes
-
Mutable Variables
- Garbage Collection
-
Lazy Evaluation
-
Continuations
- First-Class Continuation
-
JAVA 기초
-
자료형
-
상수와 리터럴
-
연산자
-
제어문
-
배열
-
클래스
-
메소드
-
상속
-
생성자
-
패키지
-
인터페이스
-
예외처리
-
입출력
-
패키지
- Java Application monitoring
-
Kafka란
-
Streams and Tables
- Kafka 상세 개념
-
카프카 시작해보기
-
카프카 확장
- Kafka Connect
-
ksqlDB
-
Kafka를 사용한 application의 error handling
- Python에서 사용하기
-
Kotlin 개요
-
Data type
-
연산자
-
if expression
-
when expression
-
반복문
-
MutableList
-
함수
-
객체
-
Class
-
Error
-
packages
- 리눅스 기본 명령어
-
리눅스 개요
-
가상머신 준비하기
-
리눅스 기본 개념
-
네트워크 관련 설정과 명령어
-
Shell
-
사양
-
페이지 캐시와 버퍼 캐시
-
-dev 패키지
-
systemd
-
umask
-
Shorts
-
etc
- Docker로 Ubuntu 실행하기
-
인공지능과 머신러닝, 딥러닝
-
k-최근접 이웃(k-Nearest Neighbor, kNN)
- 텍스트 전처리
- 객체 지향의 사실과 오해
-
객체, 설계
-
객체지향 프로그래밍
-
핵심
-
타입 계층의 구현
-
동적인 협력, 정적인 코드
-
핵심
-
역할, 책임, 협력
-
설계 품질과 트레이드오프
-
핵심
-
책임 할당하기
-
핵심
-
메시지와 인터페이스
-
객체 분해
-
핵심
-
의존성 관리하기
-
유연한 설계
-
핵심
-
상속과 코드 재사용
-
합성과 유연한 설계
-
핵심
-
다형성
-
서브클래싱과 서브타이핑
-
핵심
-
일관성 있는 협력
-
디자인 패턴과 프레임워크
-
핵심
-
계약에 의한 설계
-
핵심
-
프로그래밍 패러다임
-
Object Oriented Programming 개요
-
Dependency
-
오프라인 환경에서 linux에 Python 설치하기
-
Docker로 설치하기
-
argparse
-
click
-
Python gRPC
-
Pydantic
-
pyinstaller
-
문장 분리
-
Streamlit
-
Pandas
-
.reset_index()
-
Matplotlib
-
APScheduler
-
Linter & formmater
-
Poetry
-
Dependency Injector
-
Locust
-
Environment의 instance 생성 후 runner 생성
-
web ui 호스트와 포트 설정
-
테스트 상태가 print되도록 설정
-
과거 테스트 이력을 저장하도록 설정(chart 등에 사용)
-
테스트 시작
-
테스트 기간 설정
-
wait for the greenlets
-
stop the web server for good measures
-
aggs 결과 확인
-
각 task별 결과 확인
-
Shorts
-
google 스타일 가이드 추가할것
-
소개
-
코드 레이아웃
-
공백
-
주석
-
명명 규칙
-
SQL Formatting
-
기초
-
변수 및 자료형
-
Python의 동작 방식
-
EAFP와 LBYL
-
Easter Egg
-
Logging
-
Interface
-
Python Bytecode
- Immutable
-
연산자
-
제어문
-
함수
-
입출력
-
모듈
-
패키지
-
import
-
클래스
-
참고
-
Python 내장 함수
-
패키지
-
excel
-
Python type hint
-
with
-
Context Manager
-
Namespace
-
클로저
-
데코레이터
-
가상환경
-
동시성, 병렬성 프로그래밍
-
이터레이터와 제너레이터
-
코루틴
-
async / await
-
예외처리
- Testing
-
Python의 memory 관리 방식
-
Python의 Garbage Collection
-
Python은 왜 느린가?
-
GIL
-
Multi processing
-
개요
-
CRUD 실행하기
-
React란
-
작업 환경 설정
-
프로젝트 생성하기
-
JSX
- 리덕스 미들웨어를 통한 비동기 작업 관리
-
코드 스플리팅
-
서버 사이드 렌더링 Part 1
- 서버 사이드 렌더링 Part 2
- 컴포넌트
-
이벤트 핸들링
-
ref
-
컴포넌트의 라이프사이클
-
Hooks
-
컴포넌트 내부의 반복
-
컴포넌트 스타일링
-
컴포넌트 성능 최적화
-
immer
-
react-router로 SPA 개발하기
-
React에서 axios 사용
-
Context API
-
Redux 이해하기
- Redux 활용하기
-
목차
-
React란
-
JSX 소개
-
엘리먼트 렌더링
-
Components와 Props
-
State와 Lifecycle
-
스프링 부트
-
스프링 부트 기초
-
스프링 웹 개발 기초
-
회원 관리 예제
-
데이터 베이스
-
AOP
-
Lombok
-
JPA
-
기타
- 스프링 기초 개념
-
순수 자바로만 개발하기
-
IoC와 DI와 컨테이너
-
스프링으로 개발하기
-
스프링 컨테이너와 스프링 빈
-
싱글톤 컨테이너
-
컴포넌트 스캔
-
의존 관계 자동 주입
-
빈 생명주기 콜백
-
빈 스코프