All Articles

2021๋…„ ํšŒ๊ณ 

์š”์ฆ˜์€ ์ด ๋ธ”๋กœ๊ทธ์— ๊ธ€์„ ์ž˜ ์“ฐ์ง€ ์•Š์ง€๋งŒ ๊ทธ๋ž˜๋„ ํšŒ๊ณ ๋Š” ๋‚จ๊ฒจ์•ผ ํ•  ๊ฒƒ ๊ฐ™์•„์„œ ์˜ค๋žœ๋งŒ์— ์—๋””ํ„ฐ๋ฅผ ์ผฐ๋‹ค.

์ด์ง ์ด์•ผ๊ธฐ

์˜ฌ 5์›”์— ๋„ค์ด๋ฒ„๋ฅผ ํ‡ด์‚ฌํ•˜๊ณ  ์ฟ ํŒก์— ์ž…์‚ฌํ–ˆ๋‹ค.

์™œ / ์–ด๋–ป๊ฒŒ ์ด์ง์„ ํ–ˆ๋ƒ๋ฅผ ์“ฐ๋ ค๋ฉด ๋„ˆ๋ฌด ๊ธธ๊ฒ ์ง€๋งŒ, ๊ทธ๋ž˜๋„ ์–ด๋Š ์ •๋„ ์‹œ๊ฐ„์ด ์ง€๋‚˜์„œ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ๋งˆํฌ์—…์€ ์•ˆํ•˜๋ฉด์„œ ๋ฆฌ์•กํŠธ๋ž‘ ๋…ธ๋“œ๋Š” ์ž˜ ์•Œ์•„์•ผ ๋˜๊ณ , ์Šคํ”„๋ง๋„ ์ข€ ์“ฐ๊ณ  (๊ทผ๋ฐ WebFlux, Kotlin ์•ˆ ์“ฐ๋‹ˆ๊นŒ ์˜›๋‚  ์‚ฌ๋žŒ ๊ฐ™๊ณ ), ๋ฌด๊ฑฐ์šด ๋ฐฐ์น˜๋Š” ์ŠคํŒŒํฌ๋กœ ์งœ๋Š” ๋“ฑ๋“ฑ ์„œ๋น„์Šค ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์š”๊ตฌ๋˜๋Š” ๊ฒƒ์ด ๋„ˆ๋ฌด ๋งŽ์€ ๋ฐ˜๋ฉด์— ์ด๋ ‡๊ฒŒ ์ด๊ณณ ์ €๊ณณ์— ์Šคํƒฏ์„ ์ฐ๋Š” ๊ฒƒ์ด ๋งž๋‚˜ ์‹ถ์—ˆ๋˜ ๊ฒƒ์ด ์ œ์ผ ์ปธ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ๋ฌผ๋ก  ์ œ๋„ˆ๋Ÿดํ•œ SWE๋ฉด ๋‹ค ์–ด๋Š ์ •๋„ ํ•  ์ค„ ์•Œ์•„์•ผ ํ•˜๋Š” ๊ฒƒ์ด ๋งž์ง€๋งŒ, ๋งˆํฌ์—…์„ ๋ชปํ•˜๋Š” ํ’€์Šคํƒ์€ ์˜๋ฏธ๊ฐ€ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๊ณ  ์ง€๊ธˆ ์ƒํƒœ์—์„œ ๋งˆํฌ์—…์„ ๋” ๋ฐฐ์šฐ๊ธฐ๋ณด๋‹ค๋Š” ์ข€ ๋” ๋ฐฑ์—”๋“œ ์ชฝ์œผ๋กœ ์ง‘์ค‘ํ•ด์„œ ๊ฒฝํ—˜์„ ์Œ“๊ณ  ์‹ถ์—ˆ๋‹ค. ์‚ฌ์‹ค ์—ฌ๊ธฐ๊นŒ์ง€๋งŒ ๋†“๊ณ  ๋ณด๋ฉด ํšŒ์‚ฌ ์•ˆ์—์„œ ํŒ€์„ ์˜ฎ๊ฒจ๋„ ์ถฉ๋ถ„ํ–ˆ๊ธฐ๋Š” ํ•˜์ง€๋งŒ ๊ธฐ์™• ํŒ€์„ ์˜ฎ๊ธฐ๋Š” ๊น€์— ๋‹ค๋ฅธ ํšŒ์‚ฌ ๋ฌธํ™”๋„ ์ข€ ๊ฒฝํ—˜ํ•ด๋ณด๊ณ  ์‹ถ์—ˆ๋˜ ๋งˆ์Œ์ด ์ปธ๋‹ค.

๊ตฌ์ง ๊ณผ์ •์—์„œ ๋‚ด๊ฐ€ ๋งˆํฌ์—…์„ ์ž˜ ๋ชปํ•˜๋‹ˆ ๋ชจ์˜ค๋˜ํ•˜๊ฒŒ ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ํ•˜๋Š” ํšŒ์‚ฌ๋“ค์€ ์“ธ ์ƒ๊ฐ๋„ ์•ˆํ–ˆ๋‹ค. ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž(?)๋กœ ๋‹ค๋ฅธ ํšŒ์‚ฌ๋ฅผ ์•Œ์•„๋ณผ ์ˆ˜๋„ ์žˆ์—ˆ์„ ๊ฒƒ ๊ฐ™๊ธฐ๋Š” ํ•œ๋ฐ ํ˜„์žฌ ํŒ€/ํ˜„์žฌ ํฌ์ง€์…˜์— ๋Œ€ํ•ด์„œ๋Š” ์ง€์ธ ๋•ํƒ์— ์–ด๋Š ์ •๋„ ํŒŒ์•…์„ ํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ๋ฐ˜๋ฉด์— ๋‹ค๋ฅธ ํšŒ์‚ฌ์— ๋Œ€ํ•ด์„œ๋Š” ๊ทธ๋Ÿฌ์ง€ ๋ชปํ–ˆ์–ด์„œ ๊ทธ๋ƒฅ ์ง€๊ธˆ ํšŒ์‚ฌ๋งŒ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ง„ํ–‰ํ•ด์„œ ์ด์ง์„ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์ฟ ํŒก์— ๊ธฐ๋Œ€ํ–ˆ๋˜ ๊ฒƒ์€ ๋ฏธ๊ตญ๋ง› ์—”์ง€๋‹ˆ์–ด๋ง์ด์—ˆ๊ณ  ํ™•์‹คํžˆ ๋ฏธ๊ตญ๋ง›์ด ๋‚˜๊ธฐ๋Š” ํ•œ๋ฐ ์ „ ํšŒ์‚ฌ์— ๋น„ํ•ด์„œ ์žฅ/๋‹จ์ ์ด ๋™์‹œ์— ์กด์žฌํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

ํšŒ์‚ฌ์ผ ์ด์•ผ๊ธฐ

์ƒˆ๋กœ์šด ํŒ€์€ ๊ด‘๊ณ ์˜ ์—ฐ๊ด€์„ฑ์„ ๊ฐœ์„ ํ•˜๋Š” ๊ฒƒ์ด ์ฃผ ์—…๋ฌด์ด๋‹ค. ์˜ˆ์ „ ํŒ€์—์„œ๋Š” ๋‚ด๊ฐ€ ๊ด‘๊ณ  ์„œ๋ฒ„๋ฅผ ํ˜ธ์ถœํ–ˆ๋‹ค๋ฉด ์ด์ œ๋Š” ๊ด‘๊ณ  ์„œ๋ฒ„ ์•ˆ์—์„œ ranking funnel์„ ๊ณ„์†ํ•ด์„œ ๊ฐœ์„ ํ•ด๋‚˜๊ฐ€๋Š” ๊ฒƒ์ด ์ฃผ ์—…๋ฌด๊ฐ€ ๋˜์—ˆ๋‹ค. ์—ฐ๊ด€์„ฑ์ด๋ผ๋Š” ๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ๊ฐœ์„ ํ•ด์•ผ ์ข‹์€์ง€ ์•„์ง๋„ ์ž˜ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์ผ๋‹จ ์˜ฌํ•ด๋Š” ์ธก์ •์„ ๋•๋Š” ๋„๊ตฌ์—๋„ ์ข€ ๊ธฐ์—ฌํ•˜๊ณ , ์—ฐ๊ด€์„ฑ์„ ์ธก์ •ํ•˜๋Š” ๋ชจ๋ธ๋„ ๋งŒ๋“ค์–ด์„œ ๋„ฃ์–ด๋ณด๊ณ , ๋งค๋‰ด์–ผํ•œ ์„ค์ •๋„ ๋„ฃ์–ด๋ณด๊ณ  ์ด๊ฒƒ์ €๊ฒƒ ๋‹ค์–‘ํ•œ ์‹œ๋„๋ฅผ ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. UI๋ฅผ ๋งŒ๋“ค๊ณ  API๋ฅผ ๋งŒ๋“œ๋Š” ์ผ์€ ๊ทธ๋ž˜๋„ ์–ด๋Š์ •๋„ progress๊ฐ€ steadyํ–ˆ๋Š”๋ฐ ์ด์ชฝ์€ ๋ญ๊ฐ€ ์ข‹์€์ง€ ์‹คํ—˜ํ•ด๋ณด๊ธฐ ์ „์—๋Š” ์ž˜ ๋ชจ๋ฅด๋Š” ๊ฒƒ์ด ์ฐธ ์–ด๋ ค์šด ๊ฒƒ ๊ฐ™๋‹ค. ๋Œ€์‹ ์— ๋ญ”๊ฐ€ ์ž˜ ๋Œ์•„๊ฐˆ ๋•Œ ์ž„ํŒฉํŠธ๋Š” ๊ฝค ํฐ ๊ฒƒ ๊ฐ™์•„์„œ ๋‚˜๋ฆ„ ๋งค๋ ฅ์ด ์žˆ๋Š” ์ง๋ฌด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๋‹ค๋ฅธ ๋ถ„๋“ค์˜ ์„ฑ๊ณต์ ์ธ ์‹คํ—˜์„ ๋ณด๋ฉด ๋‚˜๋Š” ์ •๋ง ์ƒ๊ฐ์ง€๋„ ๋ชปํ•œ ์ง€์ ์—์„œ ๊ธฐํšŒ๋ฅผ ์žก์•„์„œ ์„ฑ๊ณผ๋ฅผ ๋‚ด์‹ ๋‹ค.

์‚ฌ์‹ค ๋‚˜๋Š” ํ˜„์žฌ ๋ฆฌ์•กํŠธ/๋…ธ๋“œ ๊ฐœ๋ฐœ์ž๋ผ๊ณ  ํ•˜๊ธฐ๋„ ์• ๋งคํ•˜๊ณ , ๊ฒ€์ƒ‰ ๊ฐœ๋ฐœ์ž๋ผ๊ณ  ํ•˜๊ธฐ๋„ ์• ๋งคํ•œ ์ƒํƒœ์ธ๋ฐ ์ด๊ฑด ๋ถ„์•ผ๋ฅผ ์•ฝ๊ฐ„ ๋ฐ”๊ฟจ์œผ๋‹ˆ ์–ด์ฉ” ์ˆ˜ ์—†๋Š” ์ผ์ด๋‹ค. ํ”ํžˆ ์ด์ง์„ ํ•˜๋ฉด ๋‚ด๊ฐ€ ์—…๋ฌด๋ฅผ ์ž˜ํ–ˆ๋Š”์ง€ ๊ฐœ๋ฐœ์„ ์ž˜ํ–ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค๊ณ  ํ•˜๋Š”๋ฐ ์ •๋ง ๋งž๋Š” ๋ง์ด๋‹ค. ์ต์ˆ™ํ•˜๋˜ ์‚ฌ๋‚ด ์ธํ”„๋ผ/๋‹ด๋‹น์ž/์ฝ”๋“œ๋ฒ ์ด์Šค๊ฐ€ ์‹น ๋‚ ์•„๊ฐ„ ์ƒํƒœ์—์„œ ์ƒˆ๋กœ ์ผ์„ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜๋ฉด ๋‚ด๊ฐ€ ๋Ÿฌ๋‹ ์ปค๋ธŒ๊ฐ€ ์ข‹์€์ง€ / ์•ˆ ์ข‹์€์ง€ ์ž˜ ์•Œ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ ๋ถ„์•ผ๊นŒ์ง€ ์ข€ ๋ฐ”๊พธ๋ฉด ์ข€ ๋” ํ™•์‹คํ•˜๋‹ค^^. ์–ด์จŒ๋“  ์˜ฌํ•ด ์–ด๋Š์ •๋„ ์—…๋ฌด/์ฝ”๋“œ๋ฒ ์ด์Šค์— ์ต์ˆ™ํ•ด์กŒ์œผ๋‹ˆ ๋‚ด๋…„์—๋Š” ๋” ๋งŽ์€ ๊ธฐ์—ฌ๋ฅผ ํ•˜๊ณ , ๋‚ด๊ฐ€ ๋ญํ•˜๋Š” ๊ฐœ๋ฐœ์ž์ธ๊ฐ€?์— ๋Œ€ํ•ด์„œ ๋” ์ž์‹ ์žˆ๊ฒŒ ์–˜๊ธฐ๋ฅผ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค.

๊ฐœ์ธ ๊ณต๋ถ€ ์ด์•ผ๊ธฐ

์˜ฌํ•ด๋Š” ๋ฆฌํŠธ์ฝ”๋“œ๋ฅผ ๋งŽ์ด ํ’€์ง€๋Š” ์•Š์•˜๊ณ , ๋Œ€์‹ ์— ๊ฒ€์ƒ‰/๋žญํ‚น์— ๋Œ€ํ•ด์„œ ํ‹ˆํ‹ˆ์ด ๊ณต๋ถ€๋ฅผ ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ์˜ˆ์ „์—๋Š” ๊ฒ€์ƒ‰ํ•˜๋ฉด ๊ทธ๋ƒฅ ES์— ๋˜์ง€๋ฉด ๋ญ๋ผ๋„ ๋‚˜์˜ค์ง€ ์•Š์„๊นŒ?ํ–ˆ์—ˆ๋Š”๋ฐ ์ด์ œ๋Š” ์งง์€ ์‹œ๊ฐ„ ์•ˆ์— query rewrite -> candidate generation -> ranking1 -> .. -> rankingN ๋“ฑ ๋‹ค์–‘ํ•œ ๋‹จ๊ณ„๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๊ณ , ๊ด€๋ จํ•ด์„œ ํŽ˜์ดํผ๋„ ๊ณ„์† ๋‚˜์™€์„œ ์ด๊ฑฐ๋Š” ์ง„์งœ ๋์ด ์—†๊ตฌ๋‚˜ ๋Š๊ผˆ๋‹ค. ์‚ฌ์‹ค ์–ด๋Š ์ •๋„ ์‚ฌ์ด์ฆˆ๊ฐ€ ๋˜๋ฉด ์„ฑ๋Šฅ์„ 0.1%๋งŒ ๊ฐœ์„ ํ•ด๋„ ๋ˆ์œผ๋กœ ์น˜๋ฉด ์ง„์งœ ์ปค๊ฐ€์ง€๊ณ  ์šฐ๋ฆฌ๋ณด๋‹ค ๋” ํฐ ํšŒ์‚ฌ๋“ค์€ ํˆฌ์ž์™€ ์—ฐ๊ตฌ๋ฅผ ๊ณ„์† ํ•˜๋Š” ๊ฒƒ์ด ์ •์ƒ์ด๋‹ค.

์™„์ „ cutting-edge๋Š” ์•„๋‹ˆ์–ด๋„ ๊ทธ๋ž˜๋„ ๋‚จ๋“ค์€ ๋ญ˜ ํ•ด์„œ ์žฌ๋ฏธ๋ฅผ ๋ดค๋‹ค๋”๋ผ๋ฅผ ์ž˜ ํŒ”๋กœ์ž‰ํ•˜๊ณ  ํ˜„์žฌ ๋‚ด ์•ž์— ์žˆ๋Š” ์šฐ๋ฆฌ ํšŒ์‚ฌ ๋ฌธ์ œ์— ์ ์ ˆํžˆ ์ ์šฉ์„ ํ•ด์„œ ์„ฑ๊ณผ๋ฅผ ๋‚ด๋Š” ๊ฒƒ์ด ์ข‹์€ ์—”์ง€๋‹ˆ์–ด์˜ ๋•๋ชฉ์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๊ทธ๋ž˜๋„ ํŽ˜์ดํผ๋ฅผ ์ด๊ฒƒ ์ €๊ฒƒ ๋งŽ์ด ์ฝ์€ ๊ฒƒ ๊ฐ™์€๋ฐ ์ข‹์€ ๊ฒƒ์„ ์ง€๊ธˆ ์ถ”๋ฆฌ๋ ค๋‹ˆ ์ƒ๊ฐ์ด ๋‚˜์งˆ ์•Š๋Š”๋‹ค -_-;; (https://github.com/eugeneyan/applied-ml#searchโ€”ranking ๊ฒฐ๊ตญ ์ด๋Ÿฐ ๋ฆฌ์ŠคํŠธ๋ž‘ ๊ฒน์น˜๋Š” ๊ฒƒ์ด ๋งŽ๋‹ค). ๋‚ด๋…„์—๋Š” ๋ธ”๋กœ๊ทธ์— ์ข€ ์ •๋ฆฌ๋ฅผ ํ•ด๊ฐ€๋ฉด์„œ ์ฝ์–ด์•ผ ๊ฒ ๋‹ค. ์‚ฌ์‹ค ์ผ์—์„œ๋Š” ํ˜„์žฌ ๋Œ์•„๊ฐ€๋Š” ์‹œ์Šคํ…œ์„ ๊นŠ์ด ์ดํ•ดํ•˜๊ณ  ๊ด€์ฐฐํ•˜๋Š” ๊ฒƒ์ด ๋” ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ณ , ์ด๋Ÿฐ ๋‚จ๋“ค์ด ๋ญํ•˜๋‚˜๋Š” ๋”ฑ ๊ต์–‘ ์ •๋„ ์ธ ๊ฒƒ ๊ฐ™๋‹ค.

์ฑ…๋„ ๊ฐ€๋”์”ฉ ์ฝ์—ˆ๋Š”๋ฐ (๋ธ”๋กœ๊ทธ ์„œ์žฌ ์ฐธ๊ณ ) ๊ฐ€์žฅ ๊ดœ์ฐฎ์•˜๋˜ 3๊ถŒ์„ ๋ฝ‘์œผ๋ผ๋ฉด

  • ํฌ๋ž˜ํ”„ํ†ค ์›จ์ด
  • Bitcoin and Cryptocurrency Technologies
  • Machine Learning Design Patterns

๋ฅผ ๊ผฝ๊ฒ ๋‹ค.

๊ทธ๋ƒฅ ์‚ฌ๋Š” ์ด์•ผ๊ธฐ

  • ์˜ฌ ์ดˆ์— ๊ฐ‘์ƒ์„  ์ˆ˜์ˆ ์„ ํ–ˆ๋Š”๋ฐ ๋‹คํ–‰ํžˆ ๊ทธ ์ดํ›„๋กœ๋Š” ์ฒด๋ ฅ/์ฒด์ค‘ ๋ชจ๋‘ ์–ด๋–ค ์„ ์„ ์œ ์ง€ํ•˜๊ณ  ์žˆ๋‹ค. ๋ฌผ๋ก  ์ง€๊ธˆ ์ˆ˜์ค€์ด ์ด์ƒ์ ์ธ ๊ฒƒ์€ ์•„์ง€๋งŒ ๊ทธ๋ž˜๋„ ์˜ˆ์ „๋ณด๋‹ค ๋‚ด ํ†ต์ œ ์•„๋ž˜์— ๋“ค์–ด์˜จ ๊ฒƒ์€ ํ™•์‹คํ•˜๋‹ค. ํ™•์‹คํžˆ ํ•˜๋ฃจ์— 20~30๋ถ„ ์ •๋„๋Š” ์ˆจ์ด ์ฐจ์•ผ ๋‚˜๋จธ์ง€ ์‹œ๊ฐ„์— ์ง‘์ค‘์„ ์ž˜ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.
  • ํˆฌ์ž, ํŠนํžˆ ์ฝ”์ธ์— ์‹œ๊ฐ„์„ ๋งŽ์ด ์“ฐ๊ณ  ์žˆ๋Š”๋ฐ ๊ณต๋ถ€๋ฅผ ํ•ด๋„ ํ•ด๋„ ๋น„ํŠธ์ฝ”์ธ ๋ง๊ณ ๋Š” ์„ ๋œป (๋‚ด๊ฒŒ) ํฐ ๋ˆ์„ ๋„ฃ์ง€ ๋ชปํ•˜๊ณ  ์žˆ๋‹ค. ๊ณต๋ถ€๊ฐ€ ๋ถ€์กฑํ•œ ๊ฒƒ์ธ๊ฐ€ ๋‚ด๊ฐ€ ๋น„ํŠธ๋งฅ์‹œ์ธ ๊ฒƒ์ผ๊นŒ? ์ง„์งœ ๋น„ํŠธ๋งฅ์‹œ๋ฉด ์ด์ œ ์‹ ๊ฒฝ ๋„๊ณ  ๊ทธ๋ƒฅ ๊ฐœ๋ฐœ๋งŒ ์—ด์‹ฌํžˆ ํ•˜๋ฉด ๋ ๊นŒ.
Published 31 Dec 2021

If I keep marking the dots, someday they will ๐Ÿ”—๐Ÿ”—
Hyeungshik Jung on Twitter