├── README.md └── assets ├── 20191121_01.png └── 20191121_02.png /README.md: -------------------------------------------------------------------------------- 1 | # tip-archive (Today I learned) 2 | > Inspired by https://github.com/Integerous/TIL 3 | 4 | ### [ISSUES](https://github.com/yeoseon/tip-archive/issues) 5 | 6 | 알고싶은 내용들을 Issue로 관리하며, **알고 Close 할 것** 7 | Close된 내용들은 아래 TIL로 저장한다. 8 | [Troubleshooting](https://github.com/yeoseon/tip-archive/issues?q=is%3Aissue+label%3Atrouble) 같은 경우는 Tag를 잘 달아 보관한다. 9 | [Refactoring](https://github.com/yeoseon/tip-archive/labels/refactoring) 도 Tag를 잘 달아 보관한다. 10 | 11 | --- 12 | 13 | ## ETC 14 | 15 | * [객체지향 프로그래밍이란?](https://github.com/yeoseon/tip-archive/issues/39) 16 | * [REST, RESTful API란?](https://github.com/yeoseon/tip-archive/issues/78) 17 | * [TDD란?](https://github.com/yeoseon/tip-archive/issues/79) 18 | * [MVC패턴이란?](https://github.com/yeoseon/tip-archive/issues/80) 19 | * [static과 non-static 메소드](https://github.com/yeoseon/tip-archive/issues/87) 20 | * [IntelliJ 내가 써본 단축키 모음](https://github.com/yeoseon/tip-archive/issues/140) 21 | * [[객체지향 개발 5대 원리: SOLID] 1. SRP (단일 책임의 원칙: Single Responsibility Principle)](https://github.com/yeoseon/tip-archive/issues/156) 22 | * [[객체지향 개발 5대 원리: SOLID] 2. OCP (개방폐쇄의 원칙: Open Close Principle)](https://github.com/yeoseon/tip-archive/issues/159) 23 | * [[객체지향, 클린코드] 어떤 기능은 감추고, 어떤 기능을 드러낼 지에 대한 고민](https://github.com/yeoseon/tip-archive/issues/158) 24 | * [Method Ordering Convention](https://github.com/yeoseon/tip-archive/issues/162) 25 | * [DTO와 VO의 차이](https://github.com/yeoseon/tip-archive/issues/167) 26 | * [[Clean Code] getter 사용을 지양하자](https://github.com/yeoseon/tip-archive/issues/176) 27 | * [[Refactoring] 외부에서 자원에 대한 상태를 제어하지 못하도록 해야한다.](https://github.com/yeoseon/tip-archive/issues/189) 28 | * [[JUnit, Refactoring, Clean Code] 객체의 테스트를 위해 다른 객체의 정보까지 알아야할 필요가 없도록 구현하자.](https://github.com/yeoseon/tip-archive/issues/190) 29 | * [[Refactoring] 내가 배워왔던 리팩토링 항목 정리](https://github.com/yeoseon/tip-archive/issues/196) 30 | * [서비스 제공자 프레임워크 (service provider framework)](https://github.com/yeoseon/tip-archive/issues/197) 31 | * [Entity와 VO](https://github.com/yeoseon/tip-archive/issues/223) 32 | 33 | ## [Javascript](https://github.com/yeoseon/javascript/blob/master/inside-javascript/README.md) 34 | 35 | * [Javascript 객체 생성 방법](https://github.com/yeoseon/tip-archive/issues/47) 36 | * [즉시실행함수(IIFE)](https://github.com/yeoseon/tip-archive/issues/43) 37 | * [모던 자바스크립트란?](https://github.com/yeoseon/tip-archive/issues/40) 38 | * [JavaScript의 데이터 타입과 연산자](https://github.com/yeoseon/javascript/blob/master/inside-javascript/README.md/#03-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EB%8D%B0%EC%9D%B4%ED%84%B0-%ED%83%80%EC%9E%85%EA%B3%BC-%EC%97%B0%EC%82%B0%EC%9E%90) 39 | * [함수와 프로토타입 체이닝](https://github.com/yeoseon/javascript/blob/master/inside-javascript/README.md/#04-%ED%95%A8%EC%88%98%EC%99%80-%ED%94%84%EB%A1%9C%ED%86%A0%ED%83%80%EC%9E%85-%EC%B2%B4%EC%9D%B4%EB%8B%9D) 40 | * [실행컨텍스트와 클로저](https://github.com/yeoseon/javascript/blob/master/inside-javascript/README.md#05-%EC%8B%A4%ED%96%89-%EC%BB%A8%ED%85%8D%EC%8A%A4%ED%8A%B8%EC%99%80-%ED%81%B4%EB%A1%9C%EC%A0%80) 41 | * [JavaScript를 통한 객체지향 프로그래밍](https://github.com/yeoseon/javascript/blob/master/inside-javascript/README.md#06-%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D) 42 | 43 | ## Java 44 | 45 | [Effective Java 정리](https://github.com/yeoseon/book__effective-java#items) 46 | 47 | * [parseInt 와 valueOf 의 차이점](https://github.com/yeoseon/tip-archive/issues/26) 48 | * [mutable, immutable 객체 -> Shallow copy와 Deep copy](https://github.com/yeoseon/tip-archive/issues/17) 49 | * [Java의 액세스 제어](https://github.com/yeoseon/tip-archive/issues/49) 50 | * [Garbage Collection](https://github.com/yeoseon/tip-archive/issues/58) 51 | * [JVM에 대하여(JVM이 자바 프로그램을 실행하는 과정)](https://github.com/yeoseon/tip-archive/issues/74) 52 | * [Java의 Reflection](https://github.com/yeoseon/tip-archive/issues/120) 53 | * [Java의 캐스팅](https://github.com/yeoseon/tip-archive/issues/123) 54 | * [Java instanceof 연산자](https://github.com/yeoseon/tip-archive/issues/125) 55 | * [Java 인터페이스와 다중상속](https://github.com/yeoseon/tip-archive/issues/131) 56 | * [Static 메서드와 클래스](https://github.com/yeoseon/tip-archive/issues/36) 57 | * [Java Code Convension](https://github.com/yeoseon/tip-archive/issues/152) 58 | * [Java Style Guide](https://github.com/yeoseon/tip-archive/issues/160) 59 | * [Java final 키워드](https://github.com/yeoseon/tip-archive/issues/166) 60 | * [일급 컬렉션](https://github.com/yeoseon/tip-archive/issues/163) 61 | * [싱글톤 사용하기(예제)](https://github.com/yeoseon/tip-archive/issues/173) 62 | * [Enum에서 fromString](https://github.com/yeoseon/tip-archive/issues/170) 63 | * [Wrapper 클래스 원시값 contains 사용](https://github.com/yeoseon/tip-archive/issues/175) 64 | * [Java 8 Optional](https://github.com/yeoseon/tip-archive/issues/177) 65 | * [Java 7 Objects 클래스](https://github.com/yeoseon/tip-archive/issues/186) 66 | * [추상 클래스/메소드의 도출 예시 모음](https://github.com/yeoseon/tip-archive/issues/185) 67 | * [정적 팩토리 메서드에 흔히 사용하는 명명 방식](https://github.com/yeoseon/tip-archive/issues/198) 68 | * [[Clean Code, Refactoring, Java] 생성자는 많을 수록 좋다.](https://github.com/yeoseon/tip-archive/issues/191) 69 | * [[Java] 추상 클래스/메소드의 도출](https://github.com/yeoseon/tip-archive/issues/185) 70 | * [this()](https://github.com/yeoseon/tip-archive/issues/179) 71 | * [[Java, Spring] Java와 Spring의 DI, IOC 컨테이너, Bean Factory 이해](https://github.com/yeoseon/tip-archive/issues/181) 72 | * [[Java] 배열의 길이 동적으로 늘려서 원소 추가하기(Collection이용, Stream 이용)](https://github.com/yeoseon/tip-archive/issues/219) 73 | * [[Java] Comparable, Comparator 의 차이](https://github.com/yeoseon/tip-archive/issues/237) 74 | * [[Java] charAt, equals를 사용하는 이유](https://github.com/yeoseon/tip-archive/issues/245) 75 | * [Java 8 스트림(Stream)](https://github.com/yeoseon/tip-archive/issues/172) 76 | * [Java Concurrency Evolution (동시성 처리의 여러가지 방식)](https://github.com/yeoseon/tip-archive/issues/267) 77 | 78 | ## [Kotlin](https://github.com/yeoseon/kotlin_playground/tree/main) 79 | * [코틀린 기초문법](https://www.inflearn.com/notes/47047) 80 | 81 | ## [Spring Framework](https://github.com/yeoseon/spring-study) 82 | 83 | * [Inversion of Control(제어의 역전)](https://github.com/yeoseon/spring-study#inversion-of-control-%EC%A0%9C%EC%96%B4%EC%9D%98-%EC%97%AD%EC%A0%84) 84 | * [Bean](https://github.com/yeoseon/spring-study#bean-%EB%B9%88) 85 | * [DI](https://github.com/yeoseon/spring-study#%EC%9D%98%EC%A1%B4%EC%84%B1-%EC%A3%BC%EC%9E%85dependency-injection) 86 | * [AOP](https://github.com/yeoseon/spring-study#aspect-oriented-programmingaop---%EA%B4%80%EC%A0%90-%EC%A7%80%ED%96%A5-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D) 87 | * [PSA](https://github.com/yeoseon/spring-study#psa-portable-service-abstraction) 88 | * [Spring classpath](https://github.com/yeoseon/tip-archive/issues/81) 89 | * [@Transactional](https://github.com/yeoseon/tip-archive/issues/105) 90 | * [Bean은 멤버변수를 가질 수 없다. (무상태여야 한다.)](https://github.com/yeoseon/tip-archive/issues/137) 91 | 92 | ## [JPA](https://github.com/yeoseon/jpa-study) 93 | 94 | ## JUnit 95 | 96 | * [AssertJ](https://github.com/yeoseon/tip-archive/issues/142) 97 | * [테스트코드 작성의 의의](https://github.com/yeoseon/tip-archive/issues/157) 98 | 99 | ## Database 100 | 101 | * [HINT 사용하기](https://github.com/yeoseon/tip-archive/issues/273) 102 | * [시퀀스의 Cache 옵션](https://github.com/yeoseon/tip-archive/issues/283) 103 | 104 | ### SQL 105 | 106 | * [SELECT 1 FROM 을 사용하는 이유](https://github.com/yeoseon/tip-archive/issues/8) 107 | * [Dual 테이블이란](https://github.com/yeoseon/tip-archive/issues/212) 108 | * [CASE..WHEN...THEN 문](https://github.com/yeoseon/tip-archive/issues/213) 109 | * [CASE문과 DECODE문](https://github.com/yeoseon/tip-archive/issues/214) 110 | * [Group by ... Having](https://github.com/yeoseon/sql-playground#group-by--having) 111 | * [[MySQL] DateTime 포맷과 문자열 날짜 값의 비교](https://github.com/yeoseon/sql-playground#datetime-%ED%8F%AC%EB%A7%B7%EA%B3%BC-%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%82%A0%EC%A7%9C-%EA%B0%92%EC%9D%98-%EB%B9%84%EA%B5%90) 112 | * [CTE (Common Table Expression, 공통 테이블 식)](https://github.com/yeoseon/tip-archive/issues/221) 113 | * [**SQL Tunning 공부 레포 (private)**](https://github.com/yeoseon/sql-tuning) 114 | 115 | 116 | ## Git 117 | 118 | * [Git Pull 충돌오류 :: Git Stash 사용하기](https://github.com/yeoseon/tip-archive/issues/16) 119 | * [Git 커밋 전략 (Git flow, Github flow, Gitlab flow)](https://github.com/yeoseon/tip-archive/issues/83) 120 | * [Git Staging area는 왜 중요한가.](https://github.com/yeoseon/tip-archive/issues/85) 121 | * [Git 명령어 모음](https://github.com/yeoseon/tip-archive/issues/139) 122 | * [(private) Git PR 과정 이해](https://www.notion.so/yyskr/03-18-Git-38f04633486542409047a0f2284aa4ed) 123 | * [Github PR에서 충돌이 발생할 경우](https://github.com/yeoseon/tip-archive/issues/147) 124 | * [Angular Commit Message Guideline](https://github.com/yeoseon/tip-archive/issues/148) 125 | * [Git Repository 합치기 (Commit log 유지) - subtree](https://github.com/yeoseon/tip-archive/issues/242) 126 | 127 | ## Design Patterns 128 | 129 | * [Iterator](https://github.com/yeoseon/design-patterns/tree/master/Iterator) 130 | * [Adaptor](https://github.com/yeoseon/design-patterns/tree/master/Adaptor) 131 | * [Template](https://github.com/yeoseon/design-patterns/tree/master/Template) 132 | * [Factory](https://github.com/yeoseon/design-patterns/tree/master/Factory) 133 | * [Singleton](https://github.com/yeoseon/design-patterns/tree/master/Singleton) 134 | * [Prototype](https://github.com/yeoseon/design-patterns/tree/master/Prototype) 135 | * [Builder](https://github.com/yeoseon/design-patterns/tree/master/Builder) 136 | * [Abstract Factory](https://github.com/yeoseon/design-patterns/tree/master/Abstract%20Factory) 137 | * [Bridge](https://github.com/yeoseon/design-patterns/tree/master/Bridge) 138 | * [Strategy](https://github.com/yeoseon/design-patterns/tree/master/Strategy) 139 | * [Composite](https://github.com/yeoseon/design-patterns/tree/master/Composite) 140 | * [Decorator](https://github.com/yeoseon/design-patterns/tree/master/Decorator) 141 | * [Visitor](https://github.com/yeoseon/design-patterns/tree/master/Visitor) 142 | * [Chain of Responsibility](https://github.com/yeoseon/design-patterns/tree/master/Chain%20of%20Responsibility) 143 | * [Facade](https://github.com/yeoseon/design-patterns/tree/master/Facade) 144 | * [Mediator](https://github.com/yeoseon/design-patterns/tree/master/Mediator) 145 | * [Observer](https://github.com/yeoseon/design-patterns/tree/master/Observer) 146 | * [Memento](https://github.com/yeoseon/design-patterns/tree/master/Memento) 147 | * [State](https://github.com/yeoseon/design-patterns/tree/master/State) 148 | * [Flyweight](https://github.com/yeoseon/design-patterns/tree/master/Flyweight) 149 | * [Proxy](https://github.com/yeoseon/design-patterns/tree/master/Proxy) 150 | * [Command](https://github.com/yeoseon/design-patterns/tree/master/Command) 151 | * [Interpreter](https://github.com/yeoseon/design-patterns/tree/master/Interpreter) 152 | 153 | ## 설계 154 | 155 | * [확장가능한 데이터 모델링](https://github.com/yeoseon/tip-archive/issues/55) 156 | 157 | ## 알고리즘 158 | 159 | * [빅오 표기법](https://github.com/yeoseon/algorithm/tree/master/%EA%B0%9C%EB%85%90%EC%A0%95%EB%A6%AC#%EB%B9%85%EC%98%A4-%ED%91%9C%EA%B8%B0%EB%B2%95) 160 | * [해시 알고리즘](https://github.com/yeoseon/algorithm/tree/master/%EA%B0%9C%EB%85%90%EC%A0%95%EB%A6%AC#%ED%95%B4%EC%8B%9C-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98) 161 | * [스택과 큐](https://github.com/yeoseon/tip-archive/issues/97) 162 | * [힙](https://github.com/yeoseon/algorithm/tree/master/%EA%B0%9C%EB%85%90%EC%A0%95%EB%A6%AC#%ED%9E%99) 163 | * [DFS/BFS](https://github.com/yeoseon/tip-archive/issues/247) 164 | * [재귀](https://github.com/yeoseon/tip-archive/issues/249) 165 | * [시간복잡도와 공간복잡도](https://github.com/yeoseon/tip-archive/issues/260) 166 | * [동적계획법](https://github.com/yeoseon/algorithm-playground/tree/master/%EA%B0%9C%EB%85%90%EC%A0%95%EB%A6%AC#%EB%8F%99%EC%A0%81%EA%B3%84%ED%9A%8D%EB%B2%95) 167 | * [탐욕법(그리디 알고리즘)](https://github.com/yeoseon/algorithm-playground/tree/master/%EA%B0%9C%EB%85%90%EC%A0%95%EB%A6%AC#%ED%83%90%EC%9A%95%EB%B2%95greedy-algorithm) 168 | 169 | ### Examples 170 | * [부분집합 구하기](https://gist.github.com/yeoseon/be6cb4f10c5febcacd4d10f32fac756a) 171 | 172 | 173 | ## 네트워크 174 | 175 | * [TCP와 UDP의 특징 및 비교(TCP/IP의 데이터 송수신 과정, 흐름제어와 혼잡제어)](https://github.com/yeoseon/tip-archive/issues/90) 176 | * [HTTP와 HTTPS](https://github.com/yeoseon/tip-archive/issues/91) 177 | * [웹 통신의 큰 흐름](https://github.com/yeoseon/tip-archive/issues/93) 178 | 179 | ## Frontend 180 | 181 | * [좋은 CSS 네이밍 규칙은 무엇일까](https://github.com/yeoseon/tip-archive/issues/46) 182 | * [프론트엔드 개발자를 위한 How to design/developer your application? - 김석준](https://github.com/yeoseon/tip-archive/issues/109) 183 | * [CSS3의 Flex 활용하기](https://github.com/yeoseon/tip-archive/issues/107) 184 | * [Javascript 기초](https://github.com/yeoseon/javascript_playground) 185 | 186 | ## [Vue.js](https://github.com/yeoseon/vuejs-playground) 187 | 188 | * [created와 mounted](https://github.com/yeoseon/tip-archive/issues/119) 189 | * [조건부 렌더링](https://github.com/yeoseon/tip-archive/issues/135) 190 | 191 | ## [React]() 192 | * [React 기초](https://github.com/yeoseon/react_playground/tree/main) 193 | 194 | ## [Object 도서 내용](https://github.com/yeoseon/book__object#book-object) 195 | 196 | * [new는 해롭다](https://github.com/yeoseon/book__object#new%EB%8A%94-%ED%95%B4%EB%A1%AD%EB%8B%A4) 197 | * [가끔은 생성해도 무방하다](https://github.com/yeoseon/book__object#%EA%B0%80%EB%81%94%EC%9D%84-%EC%83%9D%EC%84%B1%ED%95%B4%EB%8F%84-%EB%AC%B4%EB%B0%A9%ED%95%98%EB%8B%A4) 198 | * [표준 클래스에 대한 의존은 해롭지 않다](https://github.com/yeoseon/book__object#%ED%91%9C%EC%A4%80-%ED%81%B4%EB%9E%98%EC%8A%A4%EC%97%90-%EB%8C%80%ED%95%9C-%EC%9D%98%EC%A1%B4%EC%9D%80-%ED%95%B4%EB%A1%AD%EC%A7%80-%EC%95%8A%EB%8B%A4) 199 | 200 | ## 금융 도메인 201 | * [private 레포 참고](https://github.com/yeoseon/finance-study) 202 | * [중복거래 처리 방안](https://github.com/yeoseon/tip-archive/issues/279) 203 | -------------------------------------------------------------------------------- /assets/20191121_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeoseon/tip-archive/183d5c217f8fa214aadd3fb23dbc225c3929278f/assets/20191121_01.png -------------------------------------------------------------------------------- /assets/20191121_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeoseon/tip-archive/183d5c217f8fa214aadd3fb23dbc225c3929278f/assets/20191121_02.png --------------------------------------------------------------------------------