Timeline

ํ˜„์žฌ๊นŒ์ง€ 298๊ฐœ์˜ ๊ธ€์„ ์ž‘์„ฑํ–ˆ์–ด์š”.

2025 (12)
AI Agent Skills ๊ฐœ๋…๊ณผ SKILL.md ์ž‘์„ฑ ๊ฐ€์ด๋“œ
JDK 25 LTS ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ ์ •๋ฆฌ: ์ฃผ์š” ๋ณ€๊ฒฝ์‚ฌํ•ญ ํ•œ๋ˆˆ์— ๋ณด๊ธฐ
Claude Code ์ปจํ…์ŠคํŠธ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ•๊ณผ ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰ ์ค„์ด๊ธฐ
์ปจํ…์ŠคํŠธ ์—”์ง€๋‹ˆ์–ด๋ง: ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง์˜ ๋‹ค์Œ ๋‹จ๊ณ„
Claude Code์—์„œ MCP ์„œ๋ฒ„๋ฅผ ์—ฐ๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ฃผ์˜ํ•  ์ 
Claude Code ์„ค์น˜ ๋ฐฉ๋ฒ•๊ณผ ์ฒซ ์‹คํ–‰
์ฝ”ํ‹€๋ฆฐ ์Šค์ฝ”ํ”„ ํ•จ์ˆ˜ ๋น„๊ต: let, run, with, apply, also
์ฝ”ํ‹€๋ฆฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ์™€ ์ฝ”๋ฃจํ‹ด ๊ธฐ๋ฐ˜ ์žฅ์•  ๋Œ€์‘
์ฝ”ํ‹€๋ฆฐ ์ฝ”๋ฃจํ‹ด ๊ฐœ๋…๊ณผ ์‹ค์ „ ํ™œ์šฉ
์ฝ”ํ‹€๋ฆฐ ๋„ ์•ˆ์ •์„ฑ๊ณผ ์ปฌ๋ ‰์…˜, ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ
์ฝ”ํ‹€๋ฆฐ ํด๋ž˜์Šค ์„ค๊ณ„์™€ ํƒ€์ž… ์‹œ์Šคํ…œ ํ™œ์šฉ
์ฝ”ํ‹€๋ฆฐ ๊ธฐ์ดˆ ๋ฌธ๋ฒ• ๊ฐ€์ด๋“œ
2023 (11)
Dockerfile Best Practices๋กœ Java ์ด๋ฏธ์ง€ ์ตœ์ ํ™”ํ•˜๊ธฐ
์ž๋ฐ” 21 LTS ์ถœ์‹œ! ๋ฌด์—‡์ด ๋ฐ”๋€Œ์—ˆ์„๊นŒ?
Docker Compose ์šด์˜ ํŒจํ„ด๊ณผ ํ™˜๊ฒฝ๋ณ„ ์„ค์ • ์ „๋žต
Docker Compose Specification์œผ๋กœ ๋กœ์ปฌ ํ™˜๊ฒฝ ๊ตฌ์„ฑํ•˜๊ธฐ
Docker Compose๋ž€ ๋ฌด์—‡์ผ๊นŒ?
์นดํ”„์นด ์Šคํ‚ค๋งˆ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ž€? ๊ทธ๋ฆฌ๊ณ  ์™œ ํ•„์š”ํ• ๊นŒ?
์นดํ”„์นด ์ปจ์Šˆ๋จธ ๋ฆฌ๋ฐธ๋Ÿฐ์‹ฑ์€ ์™œ ๋ฐœ์ƒํ• ๊นŒ?
์นดํ”„์นด(Kafka) ํŒŒํ‹ฐ์…˜์€ ๋ช‡ ๊ฐœ๊ฐ€ ์ ๋‹นํ• ๊นŒ? ์ปจ์Šˆ๋จธ๋ฅผ ๋Š˜๋ ค๋„ ๋นจ๋ผ์ง€์ง€ ์•Š๋Š” ์ด์œ 
Kafka ํ† ํ”ฝ ์„ค์ •๊ฐ’ ์ •๋ฆฌ
์ž๋ฐ” sealed class vs abstract class vs interface: ์–ธ์ œ ๋ฌด์—‡์„ ์จ์•ผ ํ• ๊นŒ
Kafka ์ปจ์Šˆ๋จธ ์žฌ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•๋“ค
2022 (11)
ChatGPT: ์ธ๊ณต์ง€๋Šฅ์ด ๊ฐœ๋ฐœ์ž๋ฅผ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์„๊นŒ?
gem ๊ถŒํ•œ ์—๋Ÿฌ ํ•ด๊ฒฐํ•˜๊ธฐ(Gem::FilePermissionError)
์Šคํ”„๋ง ๋ฐฐ์น˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ” ์ž๋™ ์ƒ์„ฑ ์„ค์ •
์ž๋ฐ”์—์„œ ๋‚œ์ˆ˜๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ฃผ์˜ํ•  ์ 
๋งฅ๋ถ ์ถฉ์ „๊ธฐ ์—ฐ๊ฒฐ์Œ ๋„๊ธฐ
์Šคํ”„๋ง @Value ์–ด๋…ธํ…Œ์ด์…˜์— ๊ธฐ๋ณธ๊ฐ’ ์„ค์ •
jar ํŒŒ์ผ๋กœ ์‹คํ–‰ํ•  ๋•Œ FileNotFoundException
MacOS ์—…๊ทธ๋ ˆ์ด๋“œ ํ›„ xcrun: invalid active developer path ์˜ค๋ฅ˜ ํ•ด๊ฒฐ
์ธํ…”๋ฆฌ์ œ์ด์—์„œ JUnit5 @DisplayName ์–ด๋…ธํ…Œ์ด์…˜์ด ๋™์ž‘ํ•˜์ง€ ์•Š์„ ๋•Œ ํ•ด๊ฒฐํ•˜๊ธฐ
์ธํ…”๋ฆฌ์ œ์ด์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ„์„ํ•˜๊ธฐ
MapStruct ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๊ฐ์ฒด ๋งคํ•‘์„ ๊ฐ„ํŽธํ•˜๊ฒŒ!
2021 (17)
์ž๋ฐ” ThreadLocal: ์‚ฌ์šฉ๋ฒ•๊ณผ ์ฃผ์˜์‚ฌํ•ญ
์ž๋ฐ” 17์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๋“ค, 3๋…„ ๋งŒ์— LTS ๋ฒ„์ „ ๋ฆด๋ฆฌ์ฆˆ!
git push ์˜ค๋ฅ˜: Please use a personal access token instead
Spring Data JPA๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํ•„๋“œ ์ด๋ฆ„์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์˜ˆ์•ฝ์–ด์™€ ๊ฐ™์•„์„œ ๋ฌธ๋ฒ• ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด?
Spring JDBC๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์˜ SQL ๊ด€๋ฆฌ
์ž๋ฐ”์˜ effectively final
์ž๋ฐ” BigDecimal: ์ •ํ™•ํ•œ ์‹ค์ˆ˜์˜ ํ‘œํ˜„๊ณผ ๋ถ€๋™ ์†Œ์ˆ˜์ 
์ž๋ฐ” Optional: 5. Optional ํ†บ์•„๋ณด๊ธฐ
์ž๋ฐ” Optional: 4. Optional ์ข…๋‹จ ์ฒ˜๋ฆฌ ๋ฉ”์„œ๋“œ
์ž๋ฐ” Optional: 3. Optional ์ค‘๊ฐ„ ์ฒ˜๋ฆฌ ๋ฉ”์„œ๋“œ
์ž๋ฐ” Optional: 2. Optional ์†Œ๊ฐœ
์ž๋ฐ” Optional: 1. null์€ ๋ฌด์—‡์ธ๊ฐ€?
์ž๋ฐ” BigInteger: ๋งค์šฐ ํฐ ์ •์ˆ˜ ํ‘œํ˜„
Spring Cloud Config: Spring Boot 2.4 ๋ฒ„์ „์—์„œ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ
Querydsl: fetch join์œผ๋กœ JPA์˜ N+1 ๋ฌธ์ œ ํ•ด๊ฒฐํ•˜๊ธฐ
๊ฒฐํ•ฉ๋„์™€ ์‘์ง‘๋„๋Š” ๋ฌด์—‡์ผ๊นŒ?
Querydsl: ์†Œ๊ฐœ์™€ ์‚ฌ์šฉ๋ฒ•
2020 (33)
Spring Boot์—์„œ MongoDB์— _class ํ•„๋“œ๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•
์ž๋ฐ” ์•”ํ˜ธํ™”์™€ ๋ณตํ˜ธํ™”
MyBatis ์˜ค๋ฅ˜: Invalid bound statement (not found)
์Šคํ”„๋ง์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ DataSource๋ฅผ ๋“ฑ๋กํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„๊นŒ?
Code With Me: Intellij IDEA๋ฅผ ์ด์šฉํ•œ ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ(Pair Programming)
RestTemplate๊ณผ WebClient
์•”ํ˜ธ ๊ธฐ๋ฒ•: ์น˜ํ™˜ ์•”ํ˜ธ, ์ „์น˜ ์•”ํ˜ธ, ๋ธ”๋ก ์•”ํ˜ธ, ์ŠคํŠธ๋ฆผ ์•”ํ˜ธ
๋ฆฌ๋ˆ…์Šค chmod ๋ช…๋ น์–ด ์‚ฌ์šฉ๋ฒ•
์ž๋ฐ”์—์„œ ์ฝ”๋“œ ์‹คํ–‰ ์‹œ๊ฐ„์„ ์ธก์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•
์‹ฌ๋ณผ๋ฆญ ๋งํฌ(symbolic link)
Github ํ”„๋กœํ•„ ๊พธ๋ฏธ๊ธฐ
Intellij์—์„œ nodejs ํ”„๋กœ์ ํŠธ๊ฐ€ ์ธ์‹๋˜์ง€ ์•Š์„ ๋•Œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•
MyBatis์—์„œ ๋ฐ์ดํ„ฐ insert ํ›„์— auto_increment ํ‚ค๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ
์Šคํ”„๋ง ๋ถ€ํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๊ตฌ๋™๋  ๋•Œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•
์ž๋ฐ” 14 ๋ฒ„์ „์—์„œ๋Š” ์–ด๋–ค ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋์„๊นŒ?
DataBufferLimitException ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•
Java Scripting API: GraalVM ์ ์šฉํ•ด๋ณด๊ธฐ
crossdomain.xml ํŒŒ์ผ์€ ๋ฌด์—‡์ผ๊นŒ?
Java Scripting API: ๋ฐ”์ธ๋”ฉ๊ณผ ์Šคํฌ๋ฆฝํŠธ ์ปจํ…์ŠคํŠธ ๊ทธ๋ฆฌ๊ณ  ์‹คํ–‰ ์„ฑ๋Šฅ ๊ฐœ์„ 
Java Scripting API: ์ž๋ฐ”์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์„๊นŒ?
JSON Schema: ์ž๋ฐ” ์ฝ”๋“œ๋กœ Validator ๊ตฌํ˜„
JSON Schema: ์Šคํ‚ค๋งˆ ๊ฒฐํ•ฉ๊ณผ ์กฐ๊ฑด๋ถ€ ์Šคํ‚ค๋งˆ ๊ทธ๋ฆฌ๊ณ  ๋ฐ˜๋ณต์ ์ธ ์Šคํ‚ค๋งˆ์˜ ์žฌ์‚ฌ์šฉ
RSS๋ž€ ๋ฌด์—‡์ผ๊นŒ? RSS 2.0 ์ŠคํŽ™๊ณผ ํฌ๋งท
JSON Schema: ๊ธฐ๋ณธ์ ์ธ ์Šคํ‚ค๋งˆ ์„ ์–ธ๊ณผ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•
JSON Schema: JSON ์Šคํ‚ค๋งˆ๋ž€ ๋ฌด์—‡์ผ๊นŒ?
Spring Cloud Config: Git Webhook์„ ์ด์šฉํ•œ ์ž๋™ ๊ฐฑ์‹ 
์ž๋ฐ” String, StringBuilder ๊ทธ๋ฆฌ๊ณ  StringBuffer ์„ฑ๋Šฅ ์ฐจ์ด ๋น„๊ต
Spring Cloud Config: Spring Cloud Bus ์˜ˆ์ œ
Spring Cloud Config: ์†Œ๊ฐœ์™€ ์˜ˆ์ œ
Jekyll ๋ธ”๋กœ๊ทธ์— utterances๋กœ ๋Œ“๊ธ€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ํ•˜๊ธฐ
์Šคํ”„๋ง์—์„œ ๋นˆ์„ ์ƒ์„ฑํ•  ๋•Œ ํŒจํ‚ค์ง€ ์ด๋ฆ„๊นŒ์ง€ ์‹๋ณ„์ž๋กœ ํฌํ•จํ•  ์ˆ˜ ์žˆ์„๊นŒ?
์ƒ์„ฑ์ž ์ฃผ์ž…์„ @Autowired๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ•„๋“œ ์ฃผ์ž…๋ณด๋‹ค ๊ถŒ์žฅํ•˜๋Š” ํ•˜๋Š” ์ด์œ 
Java 9๋กœ ์Šคํ”„๋ง ๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ClassNotFoundException: JAXBException ์˜ค๋ฅ˜ ํ•ด๊ฒฐํ•˜๊ธฐ
2019 (114)
Stack Overflow, ๊ฐœ๋ฐœ์ž์˜ ์„ฑ์žฅ๊ณผ ๊ฒฝํ—˜ ํฌ์ธํŠธ
[Web on Reactive Stack] 6. Reactive Libraries
[Web on Reactive Stack] 5. RSocket: 5.4. MetadataExtractor
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 11. equals๋ฅผ ์žฌ์ •์˜ํ•˜๋ ค๊ฑฐ๋“  hashCode๋„ ์žฌ์ •์˜ํ•˜๋ผ
[Web on Reactive Stack] 5. RSocket: 5.3. Annotated Responders
[Web on Reactive Stack] 5. RSocket: 5.2. RSocketRequester
[Web on Reactive Stack] 5. RSocket: 5.1. Overview
[Web on Reactive Stack] 5. RSocket
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 76. ๊ฐ€๋Šฅํ•œ ํ•œ ์‹คํŒจ ์›์ž์ ์œผ๋กœ ๋งŒ๋“ค๋ผ
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 23. ํƒœ๊ทธ ๋‹ฌ๋ฆฐ ํด๋ž˜์Šค๋ณด๋‹ค๋Š” ํด๋ž˜์Šค ๊ณ„์ธต๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•˜๋ผ
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 24. ๋ฉค๋ฒ„ ํด๋ž˜์Šค๋Š” ๋˜๋„๋ก static์œผ๋กœ ๋งŒ๋“ค๋ผ
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 15. ํด๋ž˜์Šค์™€ ๋ฉค๋ฒ„์˜ ์ ‘๊ทผ ๊ถŒํ•œ์„ ์ตœ์†Œํ™”ํ•˜๋ผ
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 86. Serializable์„ ๊ตฌํ˜„ํ• ์ง€๋Š” ์‹ ์ค‘ํžˆ ๊ฒฐ์ •ํ•˜๋ผ
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 89. ์ธ์Šคํ„ด์Šค ์ˆ˜๋ฅผ ํ†ต์ œํ•ด์•ผ ํ•œ๋‹ค๋ฉด readResolve๋ณด๋‹ค๋Š” ์—ด๊ฑฐ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋ผ
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 90. ์ง๋ ฌํ™”๋œ ์ธ์Šคํ„ด์Šค ๋Œ€์‹  ์ง๋ ฌํ™” ํ”„๋ก์‹œ ์‚ฌ์šฉ์„ ๊ฒ€ํ† ํ•˜๋ผ
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 88. readObject ๋ฉ”์„œ๋“œ๋Š” ๋ฐฉ์–ด์ ์œผ๋กœ ์ž‘์„ฑํ•˜๋ผ
[Web on Reactive Stack] 4. Testing
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 87. ์ปค์Šคํ…€ ์ง๋ ฌํ™” ํ˜•ํƒœ๋ฅผ ๊ณ ๋ คํ•ด๋ณด๋ผ
[Web on Reactive Stack] 3. WebSockets: 3.2. ์›น์†Œ์ผ“ API(WebSocket API)
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 85. ์ž๋ฐ” ์ง๋ ฌํ™”์˜ ๋Œ€์•ˆ์„ ์ฐพ์œผ๋ผ
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] 12์žฅ. ์ง๋ ฌํ™”
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 81. wait์™€ notify๋ณด๋‹ค๋Š” ๋™์‹œ์„ฑ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์• ์šฉํ•˜๋ผ
[Web on Reactive Stack] 3. WebSockets: 3.1. Introduction to WebSocket
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 80. ์Šค๋ ˆ๋“œ๋ณด๋‹ค๋Š” ์‹คํ–‰์ž, ํƒœ์Šคํฌ, ์ŠคํŠธ๋ฆผ์„ ์• ์šฉํ•˜๋ผ
[Web on Reactive Stack] 3. WebSockets
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 79. ๊ณผ๋„ํ•œ ๋™๊ธฐํ™”๋Š” ํ”ผํ•˜๋ผ
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] 11์žฅ. ๋™์‹œ์„ฑ
[Web on Reactive Stack] 2. WebClient: 2.7. Testing
[Web on Reactive Stack] 2. WebClient: 2.6. Synchronous Use
[Web on Reactive Stack] 2. WebClient: 2.5. Client Filters
[Web on Reactive Stack] 2. WebClient: 2.4. Request Body
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 78. ๊ณต์œ  ์ค‘์ธ ๊ฐ€๋ณ€ ๋ฐ์ดํ„ฐ๋Š” ๋™๊ธฐํ™”ํ•ด ์‚ฌ์šฉํ•˜๋ผ
๊ตฌ๊ธ€์˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๊ฐ€์ด๋“œ: ๋ฆฌ๋ทฐ์–ด์˜ ์˜๊ฒฌ์„ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•
๊ตฌ๊ธ€์˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๊ฐ€์ด๋“œ: ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ž‘๊ฒŒ ๋‚˜๋ˆ„๊ธฐ
๊ตฌ๊ธ€์˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๊ฐ€์ด๋“œ: ์ข‹์€ CL ์„ค๋ช…์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•
๊ตฌ๊ธ€์˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๊ฐ€์ด๋“œ: ์ฝ”๋“œ ์ž‘์„ฑ์ž ํŽธ
๊ตฌ๊ธ€์˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๊ฐ€์ด๋“œ: ์ฝ”๋“œ ๋ฆฌ๋ทฐ์—์„œ ๋ฐ˜๋Œ€ ์˜๊ฒฌ์„ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•
๊ตฌ๊ธ€์˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๊ฐ€์ด๋“œ: ์ฝ”๋“œ ๋ฆฌ๋ทฐ์— ์˜๊ฒฌ์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•
๊ตฌ๊ธ€์˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๊ฐ€์ด๋“œ: ๊ธด๊ธ‰์ƒํ™ฉ
๊ตฌ๊ธ€์˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๊ฐ€์ด๋“œ: ์ฝ”๋“œ ๋ฆฌ๋ทฐ์˜ ์†๋„
๊ตฌ๊ธ€์˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๊ฐ€์ด๋“œ: ๋ฆฌ๋ทฐ์ค‘์ธ ์ฝ”๋“œ ๋ณ€๊ฒฝ์‚ฌํ•ญ ํƒ์ƒ‰
๊ตฌ๊ธ€์˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๊ฐ€์ด๋“œ: ์ฝ”๋“œ ๋ฆฌ๋ทฐ์—์„œ ๋ณด์•„์•ผ ํ•˜๋Š” ๊ฒƒ
๊ตฌ๊ธ€์˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๊ฐ€์ด๋“œ: ์ฝ”๋“œ ๋ฆฌ๋ทฐ์˜ ํ‘œ์ค€ ์›์น™
๊ตฌ๊ธ€์˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๊ฐ€์ด๋“œ: ๋ฆฌ๋ทฐ์–ด ํŽธ
๊ตฌ๊ธ€์˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๊ฐ€์ด๋“œ: ํ•œ๊ธ€ ๋ฒˆ์—ญ๋ณธ
[Web on Reactive Stack] 2. WebClient: 2.3. exchange()
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] 10์žฅ. ์˜ˆ์™ธ
[Web on Reactive Stack] 2. WebClient: 2.2. retrieve()
[Web on Reactive Stack] 2. WebClient: 2.1. Configuration
[Web on Reactive Stack] 2. WebClient
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 68. ์ผ๋ฐ˜์ ์œผ๋กœ ํ†ต์šฉ๋˜๋Š” ๋ช…๋ช… ๊ทœ์น™์„ ๋”ฐ๋ฅด๋ผ
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 62. ๋‹ค๋ฅธ ํƒ€์ž…์ด ์ ์ ˆํ•˜๋‹ค๋ฉด ๋ฌธ์ž์—ด ์‚ฌ์šฉ์„ ํ”ผํ•˜๋ผ
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] 9์žฅ. ์ผ๋ฐ˜์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์›์น™
[Web on Reactive Stack] 1. ์Šคํ”„๋ง ์›นํ”Œ๋Ÿญ์Šค: 1.12. HTTP/2
MyBatis์—์„œ ์ƒพ(#{})๊ณผ ๋‹ฌ๋Ÿฌ(${})์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ผ๊นŒ?
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] 8์žฅ. ๋ฉ”์„œ๋“œ
[Web on Reactive Stack] 1. ์Šคํ”„๋ง ์›นํ”Œ๋Ÿญ์Šค: 1.11. WebFlux Config
์ž๋ฐ” ์ง๋ ฌํ™”: readResolve์™€ writeReplace
[Web on Reactive Stack] 1. ์Šคํ”„๋ง ์›นํ”Œ๋Ÿญ์Šค: 1.10. HTTP Caching
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 44. ํ‘œ์ค€ ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ผ
์ž๋ฐ” ์ง๋ ฌํ™”: writeObject์™€ readObject
[Web on Reactive Stack] 1. ์Šคํ”„๋ง ์›นํ”Œ๋Ÿญ์Šค: 1.9. View Technologies
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] 7์žฅ. ๋žŒ๋‹ค์™€ ์ŠคํŠธ๋ฆผ
[Web on Reactive Stack] 1. ์Šคํ”„๋ง ์›นํ”Œ๋Ÿญ์Šค: 1.8. Web Security
[Web on Reactive Stack] 1. ์Šคํ”„๋ง ์›นํ”Œ๋Ÿญ์Šค: 1.7. CORS
[Web on Reactive Stack] 1. ์Šคํ”„๋ง ์›นํ”Œ๋Ÿญ์Šค: 1.6. URI Links
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 39. ๋ช…๋ช… ํŒจํ„ด๋ณด๋‹ค ์• ๋„ˆํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•˜๋ผ
[Web on Reactive Stack] 1. ์Šคํ”„๋ง ์›นํ”Œ๋Ÿญ์Šค: 1.5. Functional Endpoints
[Web on Reactive Stack] 1. ์Šคํ”„๋ง ์›นํ”Œ๋Ÿญ์Šค: 1.4. Annotated Controllers
[Web on Reactive Stack] 1. ์Šคํ”„๋ง ์›นํ”Œ๋Ÿญ์Šค: 1.3. DispatcherHandler
[Web on Reactive Stack] 1. ์Šคํ”„๋ง ์›นํ”Œ๋Ÿญ์Šค: 1.2. Reactive Core
[Web on Reactive Stack] 1. ์Šคํ”„๋ง ์›นํ”Œ๋Ÿญ์Šค: 1.1. Overview
[Web on Reactive Stack] 1. ์Šคํ”„๋ง ์›นํ”Œ๋Ÿญ์Šค
[Web on Reactive Stack] ๋ ˆํผ๋Ÿฐ์Šค ํ•œ๊ธ€ ๋ฒˆ์—ญ
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] 6์žฅ. ์—ด๊ฑฐ ํƒ€์ž…๊ณผ ์• ๋„ˆํ…Œ์ด์…˜
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] 5์žฅ. ์ œ๋„ค๋ฆญ
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] 4์žฅ. ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค
MySQL ๋ฌธ์ž์—ด varchar ์ปฌ๋Ÿผ ์ •๋ ฌํ•˜๊ธฐ
์Šคํ”„๋ง ๋ถ€ํŠธ์—์„œ JSONP๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•, CORS ์ด์Šˆ ํ•ด๊ฒฐํ•˜๊ธฐ
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] 3์žฅ. ๋ชจ๋“  ๊ฐ์ฒด์˜ ๊ณตํ†ต ๋ฉ”์„œ๋“œ
์ž๋ฐ” map ๋ฉ”์„œ๋“œ์™€ flatMap ๋ฉ”์„œ๋“œ์˜ ์ฐจ์ด
git rebase๋กœ ์ปค๋ฐ‹ ํ•ฉ์น˜๊ธฐ
์ž๋ฐ” ์ง๋ ฌํ™”: ์ž๋ฐ” ์ง๋ ฌํ™”๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๊ณ ๋ฏผํ•˜๊ณ  ์ฃผ์˜ํ•  ์ 
์ธํ…”๋ฆฌ์ œ์ด(Intellij) ํ”Œ๋Ÿฌ๊ทธ์ธ ๋งŒ๋“ค๊ธฐ: 3. ๋นŒ๋“œ & ๋ฐฐํฌํ•˜๊ธฐ
์ธํ…”๋ฆฌ์ œ์ด(Intellij) ํ”Œ๋Ÿฌ๊ทธ์ธ ๋งŒ๋“ค๊ธฐ: 2. Action ์ •์˜
์ธํ…”๋ฆฌ์ œ์ด(Intellij) ํ”Œ๋Ÿฌ๊ทธ์ธ ๋งŒ๋“ค๊ธฐ: 1. ํ™˜๊ฒฝ ๊ตฌ์„ฑ
์™œ Vuex๊ฐ€ ํ•„์š”ํ• ๊นŒ?
jEnv๋กœ ์—ฌ๋Ÿฌ ๋ฒ„์ „์˜ Java ์‚ฌ์šฉํ•˜๊ธฐ(JDK ๋ฒ„์ „ ๊ด€๋ฆฌ)
์ธํ…”๋ฆฌ์ œ์ด source release 8 requires target release 1.8 ์˜ค๋ฅ˜ ํ•ด๊ฒฐํ•˜๊ธฐ
ValidationEventHandler๋ฅผ ์ด์šฉํ•˜์—ฌ JAXB ํŒŒ์‹ฑ ์—๋Ÿฌ ํƒ์ง€ํ•˜๊ธฐ
JAXB marshal, unmarshal(๋งˆ์ƒฌ, ์–ธ๋งˆ์ƒฌ)
FTP Active์™€ Passive ์ฐจ์ด
์ž๋ฐ” ์˜ˆ์™ธ ๊ตฌ๋ถ„: Checked Exception, Unchecked Exception
์ž๋ฐ” ์œ ๋ฃŒํ™”? OpenJDK์™€ Oracle JDK ์ฐจ์ด
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] 2์žฅ. ๊ฐ์ฒด ์ƒ์„ฑ๊ณผ ํŒŒ๊ดด
์ž๋ฐ” ์ŠคํŠธ๋ฆผ ์ •๋ฆฌ: 5. ์ŠคํŠธ๋ฆผ์„ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•  ์ 
์ž๋ฐ” ์ŠคํŠธ๋ฆผ ์ •๋ฆฌ: 4. ์ž๋ฐ” ์ŠคํŠธ๋ฆผ ์˜ˆ์ œ
Intellij์—์„œ Spring MVC + Maven ํ”„๋กœ์ ํŠธ ์„ค์ •ํ•˜๊ธฐ
์ž๋ฐ” ์ŠคํŠธ๋ฆผ ์ •๋ฆฌ: 3. ์ŠคํŠธ๋ฆผ ๊ฒฐ๊ณผ ๊ตฌํ•˜๊ธฐ
์ž๋ฐ” ์ŠคํŠธ๋ฆผ ์ •๋ฆฌ: 2. ์ŠคํŠธ๋ฆผ์˜ ์ค‘๊ฐ„ ์—ฐ์‚ฐ
์ž๋ฐ” ์ŠคํŠธ๋ฆผ ์ •๋ฆฌ: 1. API ์†Œ๊ฐœ์™€ ์ŠคํŠธ๋ฆผ ์ƒ์„ฑ ์—ฐ์‚ฐ
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 17. ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ์„ฑ์„ ์ตœ์†Œํ™”ํ•˜๋ผ
์ž๋ฐ”์˜ final ํ‚ค์›Œ๋“œ
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 82. ์Šค๋ ˆ๋“œ ์•ˆ์ „์„ฑ ์ˆ˜์ค€์„ ๋ฌธ์„œํ™”ํ•˜๋ผ
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 74. ๋ฉ”์„œ๋“œ๊ฐ€ ๋˜์ง€๋Š” ๋ชจ๋“  ์˜ˆ์™ธ๋ฅผ ๋ฌธ์„œํ™”ํ•˜๋ผ
์ž๋ฐ”์˜ ์ˆซ์ž ํ‘œํ˜„๊ณผ ์–ธ๋”์Šค์ฝ”์–ด(_)
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 66. ๋„ค์ดํ‹ฐ๋ธŒ ๋ฉ”์„œ๋“œ๋Š” ์‹ ์ค‘ํžˆ ์‚ฌ์šฉํ•˜๋ผ
static ๋ณ€์ˆ˜์— autowired ์„ค์ •ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ?
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 58. ์ „ํ†ต์ ์ธ for ๋ฌธ๋ณด๋‹ค๋Š” for-each ๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ผ
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 8. FINALIZER์™€ CLEANER ์‚ฌ์šฉ์„ ํ”ผํ•˜๋ผ
ํ†ฐ์บฃ ๋ฉ€ํ‹ฐ ์ธ์Šคํ„ด์Šค(Multiple Tomcat Instances)
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 31. ํ•œ์ •์  ์™€์ผ๋“œ์นด๋“œ๋ฅผ ์‚ฌ์šฉํ•ด API ์œ ์—ฐ์„ฑ์„ ๋†’์ด๋ผ
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 50. ์ ์‹œ์— ๋ฐฉ์–ด์  ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ค๋ผ
Node.js ์„ค์น˜์™€ ์˜ˆ์ œ
2018 (97)
์ฒ˜์Œ ์ ‘ํ•˜๋Š” Node.js
์ž๋ฐ” ์ง๋ ฌํ™”: SerialVersionUID๋Š” ๋ฌด์—‡์ผ๊นŒ?
์ž๋ฐ” ์ง๋ ฌํ™”: ์ง๋ ฌํ™”(Serialize)๋ž€ ๋ฌด์—‡์ผ๊นŒ?
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 42. ์ต๋ช… ํด๋ž˜์Šค๋ณด๋‹ค๋Š” ๋žŒ๋‹ค๋ฅผ ์‚ฌ์šฉํ•˜๋ผ
์ž๋ฐ”์—์„œ ์ œ๋„ค๋ฆญ์˜ ์žฅ์ ๊ณผ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•  ์ 
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 4. ์ธ์Šคํ„ด์Šคํ™”๋ฅผ ๋ง‰์œผ๋ ค๊ฑฐ๋“  private ์ƒ์„ฑ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ผ
์ž๋ฐ” ์ œ๋„ค๋ฆญ(Java Generic)
Java 8 ๋‚ ์งœ์™€ ์‹œ๊ฐ„ ๊ณ„์‚ฐ
Java Date์™€ Time ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋˜๋Š” ์ด์œ 
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 28. ๋ฐฐ์—ด๋ณด๋‹ค๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ผ
var, let, const ๋ณ€์ˆ˜์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ผ๊นŒ?
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 34. INT ์ƒ์ˆ˜ ๋Œ€์‹  ์—ด๊ฑฐ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋ผ
์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง๊ณผ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง
ํŒŒ์ด์ฌ switch
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 18. ์ƒ์†๋ณด๋‹ค๋Š” ์ปดํฌ์ง€์…˜์„ ์‚ฌ์šฉํ•˜๋ผ
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 26. ๋กœ ํƒ€์ž…์€ ์‚ฌ์šฉํ•˜์ง€ ๋ง๋ผ
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 10. equals๋Š” ์ผ๋ฐ˜ ๊ทœ์•ฝ์„ ์ง€์ผœ ์žฌ์ •์˜ํ•˜๋ผ
ํŒŒ์ด์ฌ URL ํŒŒ์‹ฑ, ํ˜ธ์ถœ(urllib)
ํŒŒ์ด์ฌ ํ•œ๊ธ€ ์ฃผ์„ ์ž…๋ ฅํ•˜๊ธฐ(SyntaxError: Non-ASCII character)
[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 2. ์ƒ์„ฑ์ž์— ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๋งŽ๋‹ค๋ฉด ๋นŒ๋”๋ฅผ ๊ณ ๋ คํ•˜๋ผ
ํŒŒ์ด์ฌ if __name__ == "__main__" ์˜๋ฏธ
์ „๋‹ฌ์ธ์ž(argument)์™€ ๋งค๊ฐœ๋ณ€์ˆ˜(parameter)
๋„์ปค(Docker): ๋„์ปค ์„ค์น˜์™€ ๋ช…๋ น์–ด ๋”ฐ๋ผํ•˜๊ธฐ
log4j, logback ๊ทธ๋ฆฌ๊ณ  log4j2
Java Kafka Producer, Consumer configs ์„ค์ •
Java Kafka Producer, Consumer ์˜ˆ์ œ ๊ตฌํ˜„
Windows 10 Jekyll ์„ค์น˜ ๋ฐ github blog ๋งŒ๋“ค๊ธฐ
ํฌ๋ก  ํ‘œํ˜„์‹(Cron Expressions)
Gradle ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ์™€ Gradle Wrapper
Gradle์ด๋ž€ ๋ฌด์—‡์ผ๊นŒ?
์ž๋ฐ” ์—…์บ์ŠคํŒ… ๋‹ค์šด์บ์ŠคํŒ…
Spring Boot์—์„œ Log4j2 ์„ค์ •ํ•˜๊ธฐ
Intellij์—์„œ Spring Boot ํ”„๋กœ์ ํŠธ ์„ค์ •ํ•˜๊ธฐ
grep ์˜ˆ์ œ์™€ ์˜ต์…˜
์ž๋ฐ”์™€ ํ–‰์œ„ ๋งค๊ฐœ๋ณ€์ˆ˜ํ™”(Behavior Parameterization)
git commit author ๋ณ€๊ฒฝ (์ปค๋ฐ‹ ์ž‘์„ฑ์ž ๋ณ€๊ฒฝํ•˜๊ธฐ)
ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ ์ฐจ์ด
๋„ค์ด๋ฒ„ ๋ฉด์ ‘ ํ›„๊ธฐ(SW๊ฐœ๋ฐœ, ์ „ํ™”๋ฉด์ ‘, ๊ธฐ์ˆ ๋ฉด์ ‘)
NHN Technology Services ํ•„๊ธฐ์ „ํ˜• ํ›„๊ธฐ(SW๊ฐœ๋ฐœ, NTS pretest)
์†Œํ”„ํŠธ์›จ์–ด ๋งˆ์—์ŠคํŠธ๋กœ ๋ฉด์ ‘ ํ›„๊ธฐ(์ง‘๋‹จํ† ์˜ํ‰๊ฐ€, ์ฝ”๋”ฉํ…Œ์ŠคํŠธ)
์Šคํ”„๋ง ๋นˆ ์ƒ๋ช…์ฃผ๊ธฐ(Bean Lifecycle) ๋ฉ”์„œ๋“œ์™€ ์‹คํ–‰ ์ˆœ์„œ
์ปดํˆฌ์Šค ๋ฉด์ ‘ ํ›„๊ธฐ(ํ”Œ๋žซํผ๊ฐœ๋ฐœ)
ํ•œ๊ตญ์ „๋ ฅ ๋ฉด์ ‘ ํ›„๊ธฐ(IT ์ •๋ณดํ†ต์‹ )
์ž๋ฐ” ์˜ค๋ฒ„๋ผ์ด๋”ฉ๊ณผ ์˜ค๋ฒ„๋กœ๋”ฉ
๋ผ์ธํ”Œ๋Ÿฌ์Šค ๋ฉด์ ‘ ํ›„๊ธฐ(SW๊ฐœ๋ฐœ, ๊ธฐ์ˆ ๋ฉด์ ‘)
LeetCode 344. Reverse String
๋กฏ๋ฐ์ •๋ณดํ†ต์‹  ์ŠคํŽ™ํƒœํด ์˜ค๋””์…˜ ํ›„๊ธฐ
์ž๋ฐ”์˜ String ๊ฐ์ฒด์™€ String ๋ฆฌํ„ฐ๋Ÿด
์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ: ์ž๋ฐ” ์–ธ์–ด๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ
์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ: ์ด๋ก ๊ณผ ์†Œ๊ฐœ
์˜ต์ €๋ฒ„ ํŒจํ„ด(Observer Pattern)
์ž๋ฐ” ์ปฌ๋ ‰์…˜๊ณผ ๋™๊ธฐํ™”(Java Collection Synchronization)
LeetCode 2. Add Two Numbers
LeetCode 3. Longest Substring Without Repeating Characters
์ž๋ฐ” ๋ ˆํผ๋Ÿฐ์Šค์™€ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜(Java Reference & Garbage Collection)
์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ ์ •๋ฆฌ: ํ…Œ์ŠคํŠธ
์ž๋ฐ” ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜(Java Garbage Collection)
ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ ์ •๋ฆฌ: ์ œ์–ด์˜ ์—ญ์ „
์ปดํ“จํ„ฐ๋Š” ์™œ 2์ง„์ˆ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ• ๊นŒ?
์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ ์ •๋ฆฌ: ๋””์ž์ธ ํŒจํ„ด
Java์˜ ๋ฌธ์ž์—ด replaceAll ๋ฉ”์„œ๋“œ $(dollar sign) ์ด์Šˆ
์ „๋žต ํŒจํ„ด(Strategy Pattern)
์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด๋กœ ๋น ๋ฅด๊ฒŒ ์†Œ์ˆ˜ ๊ตฌํ•˜๊ธฐ
์‹ฑ๊ธ€ํ†ค ํŒจํ„ด(Singleton Pattern)
์ž๋ฐ”์˜ ์ธํ„ฐํŽ˜์ด์Šค(Java Interface)
์ž๋ฐ” ๋ฆฌํ”Œ๋ ‰์…˜(Java Reflection)๊ณผ ๋™์  ๋กœ๋”ฉ
MacOS High Sierra์—์„œ Jekyll ์‹คํ–‰ ์˜ค๋ฅ˜ ํ•ด๊ฒฐํ•˜๊ธฐ
Mac OS์—์„œ MySQL root ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ ์˜ค๋ฅ˜ ํ•ด๊ฒฐํ•˜๊ธฐ
ํŽธ์ง‘๊ฑฐ๋ฆฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ Levenshtein Distance(Edit Distance Algorithm)
OSI 7๊ณ„์ธต (OSI 7 Layer)
์‹œ๊ฐ„๋ณต์žก๋„์™€ ๊ณต๊ฐ„๋ณต์žก๋„(Time Complexity Space Complexity)
์ž๋ฐ”์˜ this ํ‚ค์›Œ๋“œ
TCP์™€ UDP ์ฐจ์ด ๊ทธ๋ฆฌ๊ณ  TCP/IP
์ž๋ฐ” ํŒŒ์ผ ์••์ถ•๊ณผ ์••์ถ• ํ•ด์ œ(ZipInputStream, ZipOutputStream)
์ž๋ฐ” ์‹คํ–‰ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ
์ž๋ฐ”์˜ ์ถ”์ƒ ํด๋ž˜์Šค์™€ ์ถ”์ƒ ๋ฉ”์„œ๋“œ
์ž๋ฐ” ์ ‘๊ทผ ์ง€์ •์ž(Java Access Modifier)
์ž๋ฐ” ์ƒ์†(Java Inheritance)
์ž๋ฐ”์˜ ๋ฉ”์ธ ๋ฉ”์„œ๋“œ๋Š” ์™œ public static์„ ์‚ฌ์šฉํ• ๊นŒ?
NTFS์™€ FAT32 ๊ทธ๋ฆฌ๊ณ  exFAT ๋ฐฉ์‹
LeetCode 412. Fizz Buzz
LeetCode 292. Nim Game
๋น… ์—”๋””์•ˆ๊ณผ ๋ฆฌํ‹€ ์—”๋””์•ˆ(Big Endian & Little Endian)
scp์™€ rsync(secure Copy & remote synchronization)
LeetCode 1. Two Sum
๋ฉ”์ด๋ธ ํ†ฐ์บฃ 404 ์—๋Ÿฌ ํ•ด๊ฒฐํ•˜๊ธฐ(Maven Tomcat 404 Error)
์„ ํƒ ์ •๋ ฌ(Selection Sort)
ํ€ต ์ •๋ ฌ(Quick Sort)
ํ•ฉ๋ณ‘ ์ •๋ ฌ(Merge Sort)
์•„ํŒŒ์น˜ ํ†ฐ์บฃ ์—ฐ๋™ํ•˜๊ธฐ(apache, tomcat, mod_jk)
jQuery Sortable (๋“œ๋ž˜๊ทธ์•ค๋“œ๋กญ์œผ๋กœ ์ •๋ ฌ ๊ตฌํ˜„ํ•˜๊ธฐ)
์ž๋ฐ” ์†Œ๋ฉธ์ž finalize
Java Swing ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊พธ๋ฏธ๊ธฐ(LookAndFeel ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ)
์ž๋ฐ”์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…
์ž๋ฐ”(Java) ์–ธ์–ด์˜ ํŠน์ง•
์Šคํƒ์„ ์ด์šฉํ•œ ๊ด„ํ˜ธ ์ง ๊ฒ€์‚ฌ(Java ์ฝ”๋“œ)
GitHub ๋ธ”๋กœ๊ทธ๋กœ ์ด์ „
2018๋…„ 1์›” 1์ผ
๋ธ”๋กœ๊ทธ ์‹œ์ž‘
2014๋…„ 6์›” 18์ผ๋ถ€ํ„ฐ