날짜 | 기록 |
---|---|
1일차 (3/13) | 결합도와 응집도 |
2일차 (3/14) | Interface vs Type alias |
3일차 (3/15) | 페이징 처리 쿼리문, 쿼리 파라미터 사용하기, useParams |
4일차 (3/16) | Group By/Having/Order By, useNavigate |
5일차 (3/17) | Full Text Index, Link/NavLink/useNavigate |
6일차 (3/18) | 코프링에서 jpa, querydsl, postgresql 설정하기 |
7일차 (3/20) | async/await vs then, 타입스크립트의 비구조화 할당, Props 비구조화 할당, styled component |
8일차 (3/21) | React 절대 경로 설정하기, Dispatch<SetStateAction>, React Router |
9일차 (3/22) | Symbol, 자바스크립트에서 객체란, React Native 공식 문서 튜토리얼 |
10일차 (3/24) | Namespace & room, Redis pub/sub, Socket.io Adapter |
11일차 (3/27) | Passport.js |
12일차 (3/28) | 자바의 동시적 프로그래밍 |
13일차 (3/29) | (4/1 보충) spring scheduler |
14일차 (3/30) | socket.io rooms |
15일차 (3/31) | node.js는 싱글 스레드일까? |
16일차 (4/4) | socket.io rooms & sids |
17일차 (4/5) | javascript 반복문 총 정리 |
18일차 (4/7) | React 상태관리 종류 |
19일차 (4/10) | javascript Promise |
20일차 (4/11) | express.static(), NestJS 시작하기 |
21일차 (4/12) | .nvmrc란?, 콜백 함수 |
22일차 (4/13) | NestJS에서 IoC, DI, Singleton |
23일차 (4/14) | class-validator |
24일차 (4/17) | class-transformer |
25일차 (4/18) | Spring DTO, Entity 필드 타입, Query Parameter vs Path Variable |
26일차 (4/19) | param/query/body, 401 vs 403 |
27일차 (4/20) | Node.js moment, transaction |
28일차 (4/21) | (4/22 보충) MySQL GROUP_CONCAT, WHERE ... IN |
29일차 (4/24) | Math.round/ceil/floor |
30일차 (4/25) | Typescript 유틸리티 타입, NestJS 유효성 검사 |
31일차 (4/26) | Typescript as, is와 타입 단언 |
32일차 (4/27) | (보충) Typescript 함수 시그니처 |
33일차 (4/28) | (보충) Typescript enum, keyof, typeof |
34일차 (5/1) | (보충) Typescript Union, Intersection |
35일차 (5/2) | (보충) NestJS class-validate와 ValidatePipe |
36일차 (5/3) | Java Upcasting, Downcasting |
37일차 (5/4) | Typescript typeof Array[number] |
38일차 (5/5) | Typescript 인덱스 시그니처, NestJS @isOptional |
39일차 (5/7) | Java 메소드 오버라이딩, 오버라이딩 불가능한 메소드, 오버로딩 vs 오버라이딩, 정보 은닉과 캡슐화, 상속 |
40일차 (5/8) | Redux 기초 |
41일차 (5/9) | React map key 설정 |
42일차 (5/12) | 자바스크립트 배열 함수 |
43일차 (5/15) | never 타입, reduce(), 객체 배열 중복 제거, 이터러블 vs 이터레이터 |
44일차 (5/16) | 자바스크립트 spread/rest, Array.from vs Spread, Java에서 Set의 객체 비교 |
45일차 (5/17) | interface, type 상세 비교, SQL 묵시적 형변환, 네이밍 컨벤션과 JPA에서의 내부 동작 차이 |
46일차 (5/19) | 자바스크립트 array method time complexity, forEach vs map, Set 연산의 시간복잡도 |
47일차 (5/22) | Spring boot에서 Dockerfile로 컨테이너 이미지 효율적으로 만들기 |
48일차 (5/23) | 자바스크립트 sort와 localeCompare |
49일차 (5/24) | (보충) Promise.all, Promise.all vs Promise.allSettled |
50일차 (5/25) | React Blob과 ArrayBuffer, charCodeAt / fromCharCode, atob / btoa, node.js mysql에서 insertId 확인하기 |
51일차 (5/26) | (보충) 자바스크립트의 배열과 Dense vs Sparse Array |
52일차 (5/29) | 타입스크립트 Record 타입, mysql + node.js에서 값 한번에 insert하기, lodash, Set.has() vs Array.includes(), WeakMap/WeakSet |
53일차 (5/30) | 타입 어노테이션, ?? (null 병합 연산자) |
54일차 (5/31) | (보충) INSERT IGNORE INTO |
55일차 (6/1) | ON DUPLICATE KEY UPDATE, REPLACE INTO |
56일차 (6/2) | javascript 두 배열 비교하기 |
57일차 (6/4) | ON DUPLICATE KEY UPDATE vs IGNORE INTO, Serialize |
58일차 (6/5) | reduce와 ...를 같이 쓰지 마세요... |
59일차 (6/6) | javascript 상속과 prototype |
60일차 (6/7) | atomic 디자인 패턴 |
61일차 (6/8) | Node.js 파일 업로드 비교, fs 모듈 |
62일차 (6/9) | class-validator의 조건부 사용 |
63일차 (6/11) | Java 메모리 이야기 |
64일차 (6/12) | XLSX 모듈 |
65일차 (6/13) | 좋은 Response Body 만들기 |
66일차 (6/16) | 타입스크립트에서 enum을 쓰면 안되는 경우 |
67일차 (6/17) | ts-jenum, cookie와 SameSite |
68일차 (6/19) | useState 동기적 처리 |
69일차 (6/21) | Parametric Search, call by value/call by reference, 깊은/얕은/방어적 복사 |
70일차 (6/23) | Java의 불변 객체 |
71일차 (6/24) | DTO vs VO vs Entity |
72일차 (6/26) | Spring 멀티 모듈, Docker Compose에서 서로 다른 컨테이너가 볼륨을 공유하는 방법, volume vs bind mount |
73일차 (7/1) | 논리연산자에 대한 오해, for await of |
74일차 (7/3) | DB 스토리지 엔진, state vs props, useState vs useRef |
75일차 (7/4) | axios 모듈화 |
76일차 (7/5) | 동기/비동기, 블로킹/논블로킹 |
77일차 (7/7) | axios interceptors, 400/401/403, Arrays.asList vs List.of, Collections를 복사하는 여러가지 방법, unmodifiable vs copyOf |
78일차 (7/8) | Java Facade 패턴, CASCADE |
79일차 (7/14) | 사소한 Java 기초 문법들 |
80일차 (7/15) | OLTP/OLAP |
81일차 (7/16) | mysql CASE ~ WHEN THEN |
82일차 (7/17) | CHAR/VARCHAR/TEXT, 사소한 Java 기초 문법들 (2) |
83일차 (7/18) | Java Proxy 패턴 |
84일차 (7/19) | JOIN |
85일차 (7/21) | 사소한 Java 기초 문법들 (3), toCharArray() vs charAt() |
86일차 (7/22) | 사소한 Javascript 기초 문법 (1), strict 모드 |
87일차 (7/23) | 사소한 sql 기초 쿼리문 (1) |
88일차 (7/24) | 자바스크립트 코딩패턴 |
89일차 (7/26) | class-validator의 활용과 검증, 반복문 순회 시 배열 크기 미리 선언 vs 매 반복마다 참조 |
90일차 (7/27) | 사소한 Javascript 기초 문법 (2) |
91일차 (7/28) | 포트 포워딩, 포트 포워딩과 리버스 프록시 |
92일차 (7/29) | 최대 공약수(gcd) / 최소 공배수(lcm) 구하기, 코테 풀면서 실수했던 것 |
93일차 (7/31) | Object.assign |
94일차 (8/2) | Docker Swarm, Clustering, .dockerignore, Assertj에서 contains() vs containsExactly() |
95일차 (8/5) | @ParameterizedTest |
96일차 (8/6) | LRU 알고리즘 |
97일차 (8/9) | Bulk Insert |
98일차 (8/10) | 행렬의 덧셈과 곱셈 |
99일차 (8/13) | LRU 알고리즘 개념 및 구현하기, Collections.swap(), SQL 가장 큰 값 구하기 |
100일차 (8/15) | Comparable vs Comparator |
101일차 (8/17) | Comparator로 다차원 배열 정렬하기 |
102일차 (8/19) | Java에서 이진수와 십진수, API Gateway |
103일차 (8/23) | Java TreeSet에서 인덱스 값 찾기 |
104일차 (9/1) | S3 Presigned URL, 폴링과 롱폴링 |
105일차 (9/5) | 사소한 java 기초 문법들 (4) |
106일차 (9/6) | ResponseEntity |
107일차 (9/11) | 서브쿼리 종류 |
108일차 (9/12) | docker 기초 뽀개기 |
109일차 (9/13) | CQRS 패턴 |
110일차 (9/15) | 맨해튼 거리 |
111일차 (9/16) | Java에서 우선순위 큐 사용하기 |
112일차 (9/17) | JPA ID전략이 IDENTITY인 상태에서 Bulk Insert 수행하기 |
113일차 (9/20) | Nest.js에서 DTO 작성 시 interface vs class, 코틀린의 data class |
114일차 (9/22) | 트랜잭션 (1) |
115일차 (9/23) | mongoose에서 페이지네이션, kotlin lateinit vs lazy, 사소한 sql 함수 (2) |
116일차 (9/27) | Union-Find 알고리즘 |
117일차 (9/29) | 사소한 Java 기초 문법들 (5), QueryDsl에서 조회 결과를 DTO클래스로 받기, WITH[RECURSIVE]와 VIEW |
118일차 (9/30) | Promise.all/race/finally |
119일차 (10/4) | Optional 제대로 알고 쓰기 |
120일차 (10/9) | 코틀린 JPA 사용 시 Nullable vs Optional, @Enumerated |
121일차 (10/11) | 사소한 Java 기초 문법들 (6) |
122일차 (10/15) | Kotlin에서 Request 유효성 검사하기 |
123일차 (10/20) | JPA에서 데이터를 일괄 삭제하는 방법들 |
124일차 (11/2) | Scanner로 길이를 모르는 여러 값 입력 받기, (우테코 하면서 알게된) 사소한 Javascript 문법 (1) |
125일차 (11/4) | 이진 탐색 트리(Binary Search Tree) |
126일차 (11/6) | GROUP_CONCAT과 ORDER BY |
127일차 (11/11) | 최소 신장 트리(MST) |
128일차 (11/18) | 백트래킹과 DFS |
129일차 (11/26) | equals와 hashCode |
130일차 (12/12) | @Modifying |
131일차 (12/13) | Entity에서 기본 생성자에 Protected를 설정하는 이유 |
132일차 (12/15) | 지연 로딩과 즉시 로딩 |
133일차 (12/17) | WITH절 연속으로 사용하기, Arrays.sort 사용 시 주의할 점 |
134일차 (12/18) | JDBC와 PreparedStatement |
135일차 (1/2) | JPA 연관 관계 |
136일차 (1/9) | kotlin takeIf, takeUnless |
137일차 (1/14) | JPA cascade |
138일차 (1/16) | TreeSet 정렬 |
139일차 (2/4) | USE_CONCAT |
140일차 (2/8) | 분할 정복 알고리즘 |
141일차 (2/10) | 사소한 Java 기초 문법들 (7) |
142일차 (2/16) | 카데인 알고리즘 |
143일차 (2/24) | 상속과 오버라이딩, Stack과 Heap |
144일차 (2/25) | C#에서의 Stack과 Queue, C#에서의 Heap, C#에서의 Tree, C#에서의 Hash와 Hashtable, C# 네임스페이스 |
145일차 (2/26) | 교착 상태(DeadLock)와 기아 상태(Starvation), 동적 할당, C#에서의 우선순위 큐 |
146일차 (2/27) | 뮤텍스와 세마포어, Race Condition |
147일차 (2/28) | SSO(Single Sign-On) |
148일차 (3/26) | 배낭 문제(Knapsack Problem) |
149일차 (3/29) | 0-1 BFS |
150일차 (3/30) | Java 빌더 패턴(Builder Pattern) 뜯어보기 |
151일차 (4/2) | 다익스트라 알고리즘 |
152일차 (4/4) | BFS |
153일차 (4/11) | 스프링에서 동시성을 제어하는 다양한 방법 |
154일차 (5/9) | 멀티 프로세스와 멀티 스레드, 블로킹/논블로킹 동기/비동기 |
155일차 (5/14) | TreeSet과 equals() |
156일차 (5/31) | 에라토스테네스의 체 |
157일차 (6/3) | Java Collection의 시간 복잡도 및 특징 |
158일차 (6/4) | Java에서 Thread Safe |
159일차 (6/11) | TCP 5 tuple, APT |
160일차 (6/12) | 심볼릭 링크, scp |
161일차 (6/18) | Daemon process |
162일차 (7/6) | python strip(), 이메일 프로토콜 이해하기 |
163일차 (7/22) | python 리스트의 길이 구하기 |
164일차 (7/30) | 전가상화와 반가상화, Gitlab으로 CI/CD 해보기 |
165일차 (8/2) | HTTPS, SSL/TLS |
166일차 (8/5) | OpenSSL로 자체 인증서 발급하기 |
-
Notifications
You must be signed in to change notification settings - Fork 0
techeer-TIL-group/yu-heejin
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
Today I Learn
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published