BOOKS
- [Effective Java] ์์ดํ 1. ์์ฑ์ ๋์ ์ ์ ํฉํฐ๋ฆฌ ๋ฉ์๋๋ฅผ ๊ณ ๋ คํ๋ผ
- [Effective Java] ์์ดํ 2. ์์ฑ์์ ๋งค๊ฐ๋ณ์๊ฐ ๋ง๋ค๋ฉด ๋น๋๋ฅผ ๊ณ ๋ คํ๋ผ
- [Effective Java] ์์ดํ 3. private ์์ฑ์๋ ์ด๊ฑฐ ํ์ ์ผ๋ก ์ฑ๊ธํด์์ ๋ณด์ฆํ๋ผ
- [Effective Java] ์์ดํ 4. ์ธ์คํด์คํ๋ฅผ ๋ง์ผ๋ ค๊ฑฐ๋ private ์์ฑ์๋ฅผ ์ฌ์ฉํ๋ผ
EDUCATION
- [Tecoble] ์น MVC ๊ฐ ์ปดํฌ๋ํธ ์ญํ
- [Tecoble] DTO vs VO vs Entity
- [Tecoble] ๋จ์ ํ ์คํธ vs ํตํฉ ํ ์คํธ vs ์ธ์ ํ ์คํธ
- [Tecoble] DispatcherServlet - Part 1
- [Tecoble] DispatcherServlet - Part 2
- [Tecoble] git submodule๋ก ์ค์ํ ์ ๋ณด ๊ด๋ฆฌํ๊ธฐ
- [Tecoble] JPA CascadeType.REMOVE vs orphanRemoval = true
- [Tecoble] ์ปค๋ฒ๋ง ์ธ๋ฑ์ค
- [Tecoble] Flyway
- [Tecoble] HashMap vs HashTable vs ConcurrentHashMap
- [์ฐ์ํํ ํฌ์ฝ์ค] ์ฐ์ํํ ํฌ์ฝ์ค ํ๋ฆฌ์ฝ์ค ํ๊ณ
- [์ฐ์ํํ ํฌ์ฝ์ค] ์ฐ์ํํ ํฌ์ฝ์ค ์ต์ข ์ฝ๋ฉ ํ ์คํธ ํ๊ณ
- [์ฐ์ํํ ํฌ์ฝ์ค] ์ฝ๋ ํ ์คํธ๊ฐ ์ค์ํ ์ด์ (Why code testing is important)
- [์ฐ์ํํ ํฌ์ฝ์ค] ์ฑ๊ธํค ํจํด์ ๊ฐ์ฒด์งํฅ์ ์ผ๊น? (Is the singleton pattern object-oriented?)
- [์ฐ์ํํ ํฌ์ฝ์ค] SQL ํด์ฆ ๋ฐ ์ ๋ต (SQL Quizzes and Answers)
- [์ฐ์ํํ ํฌ์ฝ์ค] ์ฐ์ํํ ํฌ์ฝ์ค ํ ๋ฌ ์ํ๊ธฐ
- [์ฐ์ํํ ํฌ์ฝ์ค] ๋ค๋์ ํ์ต ๋ก๊ทธ - ๋ ๋ฒจ 1
- [์ฐ์ํํ ํฌ์ฝ์ค] ๋ฐฐํฌ ํด์ฆ ๋ฐ ์ ๋ต (Deployment Quizzes and Answers)
- [์ฐ์ํํ ํฌ์ฝ์ค] ์ด์ ํด์ฆ ๋ฐ ์ ๋ต (Operation Quizzes and Answers)
- [์ฐ์ํํ ํฌ์ฝ์ค] ๊ธฐ๋ณธ ์์ฑ์๊ฐ ํ์ํ ์ด์ (Why the default constructor is needed) (feat. Jackson ObjectMapper + Reflection)
- [์ฐ์ํํ ํฌ์ฝ์ค] ๋ค๋์ ํ์ต ๋ก๊ทธ - ๋ ๋ฒจ 2
- [์ฐ์ํํ ํฌ์ฝ์ค] ์ฐํ ์ฝ์์ ์ฐพ์ ๋๋ง์ ํจ๊ณผ์ ์ธ ๊ณต๋ถ๋ฒ
- [์ฐ์ํํ ํฌ์ฝ์ค] ์ธ๋ฑ์ค (Indexes)
- [์ฐ์ํํ ํฌ์ฝ์ค] ํ ํ๋ก์ ํธ๊ฐ ๋์๊ฒ ๋จ๊ธด ๊ฒ
- [์ฐ์ํํ ํฌ์ฝ์ค] ๋ด๊ฐ ๊ฟ๊พธ๋ ํ๋ก๊ทธ๋๋จธ๋ก์์ ์ถ
- [์ฐ์ํํ ํฌ์ฝ์ค] ํ ์ฝํก - HTTPS
- [์ฐ์ํํ ํฌ์ฝ์ค] ์ฐ์ํ๊ฐ์ฒด์งํฅ - Part 1
- [์ฐ์ํํ ํฌ์ฝ์ค] ์ฐ์ํ๊ฐ์ฒด์งํฅ - Part 3
TIL
- [Algorithms] ์ด๋ถ ํ์ (Binary Search)
- [Algorithms] ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ (Sorting Algorithms)
- [Algorithms] ์ต๋๊ณต์ฝ์, ์ต์๊ณต๋ฐฐ์ (GCD, LCM)
- [Database] DB Replication์ ๊ตฌ์ฑํ ์ด์ (Why DB Replication is set up)
- [Database] M1(ARM)์์ Embedded Redis๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ (How to use Embedded Redis on M1(ARM))
- [Database] DB Replication ๋ฐ์ดํฐ ์ ํฉ์ฑ ๋ฌธ์ (DB Replication Data Consistency Issue)
- [Database] NoSQL์์๋ ํธ๋์ญ์ ๊ฐ๋ ์ด ์ ์ฉ๋ ๊น?
- [Git] ๊น ์ปค๋ฐ ๋ฉ์์ง ์ปจ๋ฒค์ (Git Commit Message Convention)
- [Git] git reset --hard ๋๋๋ฆฌ๊ธฐ (feat. git reflog)
- [Git] Git Branch ์ ๋ต (Git Branch Strategy)
- [Git] Tagging์ผ๋ก ๋ฒ์ ๊ด๋ฆฌํ๊ธฐ (Tagging for Version Control)
- [Java] ์ถ์ ๋ฉ์๋ vs ์ธํฐํ์ด์ค (Abstract Class vs Interface)
- [Java] Array, ArrayList, LinkedList
- [Java] ์คํธ๋ฆผ (Stream)
- [Java] ๋ฌธ์์ด (String)
- [Java] HashMap vs LinkedHashMap
- [Java] flatMap์ผ๋ก ์ค์ฒฉ ๋ฃจํ ์์ ๋ ๋ฐฉ๋ฒ (How to remove nested loops using flatMap)
- [Java] try-with-resources
- [Java] String vs StringBuffer vs StringBuilder
- [Java] Gradle Dependency Configurations
- [Java] HashMap vs HashSet
- [Java] Arrays.sort() vs Collections.sort()
- [Java] POJO
- [Java] Optional.orElse() vs Optional.orElseGet()
- [Java] ๊ฐ์ฒด์งํฅ์ ์ผ๋ก ์ ๋ ฅ ์ ํจ์ฑ ๊ฒ์ฆํ๊ธฐ
- [Network] L2 ์ค๋ฅ ์ ์ด vs L4 ์ค๋ฅ ์ ์ด (L2 Error Handling vs L4 Error Handling)
- [Network] OAuth 2.0 ํ๋ฆ (OAuth 2.0 Flow)
- [Network] REST์ RESTful (REST and RESTful)
- [Network] Nginx์ HTTP 2.0์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ (How to set up Nginx with HTTP 2.0)
- [Network] HTTP 1.0 vs HTTP 1.1 vs HTTP 2.0
- [Operating System] ์ปดํ์ผ, ๋งํฌ, ๋น๋ (Compile, Link, Build)
- [Operating System] ๋๊ธฐ vs ๋น๋๊ธฐ (Synchronous vs Asynchronous)
- [Spring] DAO, DTO, VO
- [Spring] Entity vs DTO
- [Spring] HandlerMethodArgumentResolver
- [Spring] Bean Validation
- [Spring] Interceptor - CORS Issue
- [Spring] JdbcTemplate queryForObject() - Return Value Issue
- [Spring] Spring MVC ํ๋ฆ (Spring MVC Flow)
- [Spring] @SpringBootTest vs @DataJpaTest
- [Spring] @RequestParam vs @PathVariable
- [Spring] @Transactional(rollbackFor={exceptionClass})
- [Spring] Spring WebFlux + Swagger 3.0 ์ ์ฉ
- [Web] CORS
- [Web] ์น ์ฑ๋ฅ ํ ์คํธ (Web Performance Testing)
- [Web] ์ ๊ทํํ์ (Regular Expressions)
This work is published under MIT License.