๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

ํ›„๊ธฐ๐Ÿ”ฅ/ํ”„๋กœ์ ํŠธ5

Spring Boot ๋กœ๋”ฉ ์‹œ๊ฐ„ ๋ฐ ๋นŒ๋“œ ์‹œ๊ฐ„ ๋‹จ์ถ•ํ•˜๊ธฐ ๊ฐœ์š”ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“ˆ ์ˆ˜์™€ ์ฝ”๋“œ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ๋กœ์ปฌ์—์„œ Spring Boot ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์™„์ „ํžˆ ๊ตฌ๋™ํ•˜๋Š” ๋ฐ ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„์ด ์ง€์†์ ์œผ๋กœ ๊ธธ์–ด์กŒ๋‹ค. ์ด๋กœ ์ธํ•ด ๋กœ์ปฌ์—์„œ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ๋‹ค์‹œ ๊ตฌ๋™ํ•˜์—ฌ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ถˆํ•„์š”ํ•œ ์‹œ๊ฐ„์ด ๋Š˜์–ด๋‚ฌ๊ณ , ๋นŒ๋“œ ์‹œ๊ฐ„๋„ ์ฆ๊ฐ€ํ•˜๋ฉด์„œ CI ์ˆ˜ํ–‰์‹œ๊ฐ„์ด ๊ธธ์–ด์ ธ ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์ด ๊ณ„์† ์ €ํ•˜๋˜์—ˆ๋‹ค. ์ด๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ๋”ฉ ์‹œ๊ฐ„๊ณผ ๋นŒ๋“œ ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ณด๊ณ  ์ ์šฉํ•ด ๋ณด์•˜๋‹ค.(Spring Boot v3.2.7, Gradle v8.5 ์‚ฌ์šฉ ์ค‘)1. ๋ถˆํ•„์š”ํ•œ ์ปดํฌ๋„ŒํŠธ ์Šค์บ” ๋ฒ”์œ„ ์ถ•์†Œ ๋ฐ ์ง€์—ฐ ์ดˆ๊ธฐํ™”(lazy initialization) ์„ค์ • ์ ์šฉ ์ดํ›„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ๋”ฉ ์‹œ๊ฐ„ 47% ๋‹จ์ถ•Mac(M4 Pro): 53์ดˆ → 22์ดˆWindows(ASUS gu6.. 2025. 4. 16.
์›น ๊ธฐ๋ฐ˜์˜ DB ํ˜•์ƒ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ๊ตฌ์ถ•๊ธฐ(feat. Flyway) ํ”„๋กœ์ ํŠธ ๋ฐฐ๊ฒฝํ˜„์žฌ ๋‚ด๊ฐ€ ์†ํ•œ ํŒ€์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šค์ฟผ๋“œ๋กœ ๋‚˜๋‰˜์–ด ์šด์˜๋˜๊ณ  ์žˆ๋‹ค. ์Šค์ฟผ๋“œ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๊ฝค๋‚˜ ๋งŽ์€๋ฐ ์ด ์ค‘ 4๊ฐœ ์ด์ƒ์˜ ์Šค์ฟผ๋“œ๊ฐ€ ๋™์ผํ•œ ๊ณตํ†ต ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ณต์œ ํ•ด์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐฐํฌํ™˜๊ฒฝ๋„ ์ผ๋ฐ˜์ ์ธ ํšŒ์‚ฌ๋“ค๊ณผ ๋น„์Šทํ•˜๊ฒŒ ์—ฌ๋Ÿฌ ํ™˜๊ฒฝ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋‹ค.๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด Git์„ ํ†ตํ•ด ํ˜•์ƒ๊ด€๋ฆฌ๋˜๊ณ  ์žˆ๋Š”๋ฐ, ๊ฐ ์Šค์ฟผ๋“œ๋Š” ์Šคํ”„๋ฆฐํŠธ ๋‹จ์œ„๋กœ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ํ•„์š”ํ•œ SQL ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ์ด๋ฅผ ํ”„๋กœ์ ํŠธ์˜ changelog ํด๋”์—์„œ ๋ฒ„์ „๋ณ„๋กœ ๊ด€๋ฆฌํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ƒ์œ„ ํ™˜๊ฒฝ์œผ๋กœ ๋ฐฐํฌํ•  ๋•Œ๋Š” ํ•ด๋‹น ๋ฒ„์ „์— ํฌํ•จ๋œ ์ฟผ๋ฆฌ๋“ค์„ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ˆ˜๋™์œผ๋กœ ์‹คํ–‰ํ•˜์—ฌ ๋ฐ˜์˜ํ•˜๊ณ  ์žˆ๋‹ค.sql/โ”œโ”€โ”€ changelog/โ”‚ โ”œโ”€โ”€ A/ # A ์Šค์ฟผ๋“œ โ”‚ โ”‚ โ”œโ”€โ”€ v5.7.1.. 2025. 1. 19.
์™ธ๋ถ€ API๋ฅผ ์—ฐ๋™ํ•  ๋•Œ ๊ณ ๋ คํ•˜๋ฉด ์ข‹์€ ์ ๋“ค ๊ฐœ์š”์ตœ๊ทผ ํ”„๋กœ์ ํŠธ์—์„œ ์™ธ๋ถ€ API๋ฅผ ์—ฐ๋™ํ•˜๋Š” ์ผ์ด ๊ต‰์žฅํžˆ ๋งŽ์•˜์—ˆ๋Š”๋ฐ, ์ž‘์—…ํ•˜๋ฉด์„œ ์–ป์€ ๋‹ค์–‘ํ•œ ๊ฒฝํ—˜๊ณผ ์ง€์‹์„ ๊ณต์œ ํ•˜๊ณ ์ž ์ž‘์„ฑํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ”ผ๋“œ๋ฐฑ์€ ์–ธ์ œ๋“  ํ™˜์˜์ด๋ฉฐ ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. 1. I/O์™€ ํŠธ๋žœ์žญ์…˜์„ ๋ถ„๋ฆฌํ•ด๋ผํŠธ๋žœ์žญ์…˜์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด ์ปค๋„ฅ์…˜์„ ํ•„์š”๋กœ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ด ์ปค๋„ฅ์…˜์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐ๋Š” ๊ฝค ๋งŽ์€ ๋น„์šฉ์ด ๋“ค๋ฉฐ, ๋Œ€๋ถ€๋ถ„ ์ด๋ฅผ ์ ˆ์•ฝํ•˜๊ธฐ ์œ„ํ•ด ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„(WAS)๋Š” ์‹คํ–‰ ์‹œ ๋ฏธ๋ฆฌ ์ผ์ • ์ˆ˜์˜ ์ปค๋„ฅ์…˜ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด ํ’€์— ์ €์žฅํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์ด ๋ฐœ์ƒํ•˜๋ฉด ์ด ํ’€์—์„œ ์ด๋ฏธ ์ƒ์„ฑ๋˜์–ด ์žˆ๋Š” ์ปค๋„ฅ์…˜ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ์ด์šฉํ•œ๋‹ค.๊ทธ๋Ÿฌ๋‚˜ ์ปค๋„ฅ์…˜ ํ’€์˜ ํฌ๊ธฐ๋Š” ์ œํ•œ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋™์‹œ์— ์ˆ˜๋งŽ์€ ์š”์ฒญ๋“ค์ด ์ปค๋„ฅ์…˜ ํ’€์˜ ๊ฐœ์ˆ˜ ์ด์ƒ์œผ๋กœ ์˜ค๊ฒŒ ๋œ๋‹ค๋ฉด, ์ปค๋„ฅ์…˜์„ ํš๋“ํ•˜์ง€ ๋ชป.. 2024. 2. 24.
[๋žญํ‚น ์•Œ๊ณ ๋ฆฌ์ฆ˜] - Hacker News Algorithm ๊ฐœ์š”๊ณต๊ฐœ๋œ Ranking Algorithm์—๋Š” ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ๊ฒŒ์‹œ๊ธ€์„ ์„ ๋ณ„ํ•˜๊ฑฐ๋‚˜, ์ถ”์ฒœ์ˆ˜๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ˆœ์œ„๋ฅผ ๋งค๊ธฐ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜, ํ‰์ ์— ๋”ฐ๋ผ ์ˆœ์œ„๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์˜ ๋žญํ‚น ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ด ์ค‘์—์„œ๋„ Hacker News Ranking Algorithm, Reddit Ranking Algorithm, ๊ทธ๋ฆฌ๊ณ  Highly Rated๊ฐ€ ๋Œ€ํ‘œ์ ์ธ๋ฐ, ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ด๋“ค ์ค‘์—์„œ๋„ ์กฐํšŒ์ˆ˜๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ฐ„ํŽธํ•˜๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Hacker News Algorithm์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Hacker News Algorithm์ด๋ž€?Hacker News Algorithm์€ Y Combinator๊ฐ€ ์šด์˜ํ•˜๋Š” ๋‰ด์Šค ๊ณต์œ  ์‚ฌ์ดํŠธ์ธ Hacker News์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋žญํ‚น ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค... 2024. 1. 16.
๊ธฐ์—… ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ๋ฐฉ๋ฒ• ๊ณต๊ณต API ์กฐ์‚ฌ๋จผ์ € ๋‹ค๋ฅธ ์ฑ„์šฉ ํ”Œ๋žซํผ๋“ค์€ ์–ด๋–ค ๋ฐฉ๋ฒ•์œผ๋กœ ๊ธฐ์—… ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ์žˆ๋Š”์ง€ ์กฐ์‚ฌ๋ฅผ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ํ”Œ๋žซํผ๋“ค์ด ๋ฐ์ดํ„ฐ์˜ ์ถœ์ฒ˜๋ฅผ ๋ช…์‹œํ•ด ๋†“์•„ ์กฐ์‚ฌํ•˜๊ธฐ๋Š” ์ˆ˜์›”ํ–ˆ๋Š”๋ฐ, ์•ฝ 6๊ฐœ์˜ ํ”Œ๋žซํผ์„ ์‚ดํŽด๋ณธ ๊ฒฐ๊ณผ ๋Œ€ํ‘œ์ ์œผ๋กœ ๋‚˜์ด์Šค(NICE), ๊ธˆ์œต๊ฐ๋…์›(FSS), ๊ธˆ์œต์œ„์›ํšŒ(FSC), ๊ทธ๋ฆฌ๊ณ  ๊ตญ๋ฏผ์—ฐ๊ธˆ๊ณต๋‹จ(NPS) ๋“ฑ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณต๋ฐ›๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋” ๋‚˜์•„๊ฐ€ ์ค‘์†Œ๋ฒค์ฒ˜ 24, ์•Œ๋ฆฌ์˜ค, ํด๋ฆฐ์•„์ด ๋“ฑ์—์„œ๋„ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.๊ฐ ๋ฐ์ดํ„ฐ ์ถœ์ฒ˜์˜ ์›น์‚ฌ์ดํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.๋‚˜์ด์Šค(NICE): https://www.niceinfo.co.kr/main.nice๊ธˆ์œต๊ฐ๋…์›(FSS): https://opendart.fss.or.kr/guide/main.do?apiGrpCd.. 2023. 12. 28.