mynghn.blog
๐Ÿ’ป Profile
profile_image
mynghn
Software Engineer
๐Ÿ”Ž Search
๐Ÿ“‚ All Posts
๐Ÿ“Š data
์ „์‚ฌ๊ฐ€ ๊ณต์œ ํ•˜๋Š” ๋ฐ์ดํ„ฐ ์ปจํ…์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋ฌธ์„œ ์ž‘์„ฑํ•˜๊ธฐ

์ „์‚ฌ๊ฐ€ ๊ณต์œ ํ•˜๋Š” ๋ฐ์ดํ„ฐ ์ปจํ…์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋ฌธ์„œ ์ž‘์„ฑํ•˜๊ธฐ

2024๋…„ 1์›” 6์ผ

์†Œ๊ทœ๋ชจ ๋ฐ์ดํ„ฐํŒ€์ด ์‹ ๊ทœ ์„œ๋น„์Šค์˜ ๋ฐ์ดํ„ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ์ฒด๊ณ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ์‚ฌ๋‚ด ํ™œ์šฉ๋ฅ ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•œ ์ด์•ผ๊ธฐ

Data Analytics
๐Ÿ’ป dev

๊ฐ์ฒด์ง€ํ–ฅ ์šฉ์–ด์ง‘

2023๋…„ 4์›” 30์ผ

<์˜ค๋ธŒ์ ํŠธ>๋ฅผ ์ฝ๊ณ  ๊ฐ์ฒด์ง€ํ–ฅ ํŒจ๋Ÿฌ๋‹ค์ž„์—์„œ ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” ์—ญํ• , ์ฑ…์ž„ ๋“ฑ ์šฉ์–ด๋“ค ์‚ฌ์ด์˜ ๋ฏธ๋ฌ˜ํ•œ ์ฐจ์ด๋ฅผ ์ •๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด ๋ณธ ๊ฐœ์ธ์ ์ธ ์šฉ์–ด์ง‘

OOP
๐Ÿ’ป dev
private static ๋ฉ”์†Œ๋“œ์— ๋Œ€ํ•œ ChatGPT์™€์˜ ๋Œ€๋‹ด

private static ๋ฉ”์†Œ๋“œ์— ๋Œ€ํ•œ ChatGPT์™€์˜ ๋Œ€๋‹ด

2023๋…„ 4์›” 19์ผ

private static์„ ์™œ ์“ฐ๋Š”์ง€ ChatGPT์—๊ฒŒ ๋ฌผ์–ด๋ดค๋‹ค.

Java
๐Ÿ’ป dev

Vue.js ๊ฐ„๋‹จ ์ •๋ฆฌ

2023๋…„ 4์›” 2์ผ

ํ’€์Šคํƒ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ์ผ์ด ์ƒ๊ฒจ์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋ณธ Vue.js์˜ ํ•ต์‹ฌ ๊ฐœ๋…

Vue.js
Front-end
Web
๐Ÿ’ป dev

@Autowired ์‹คํ—˜ ์ผ์ง€

2023๋…„ 3์›” 18์ผ

์Šคํ”„๋ง์˜ @Autowired ์• ๋…ธํ…Œ์ด์…˜ ๋™์ž‘์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ์‹คํ—˜ ๊ธฐ๋ก

Spring
Back-end
๐Ÿ’ป dev

<์Šคํ”„๋ง MVC 1ํŽธ - ๋ฐฑ์—”๋“œ ์›น ๊ฐœ๋ฐœ ํ•ต์‹ฌ ๊ธฐ์ˆ > ์ •๋ฆฌ

2023๋…„ 3์›” 18์ผ

์ธํ”„๋Ÿฐ ๊ฐ•์˜ <์Šคํ”„๋ง MVC 1ํŽธ - ๋ฐฑ์—”๋“œ ์›น ๊ฐœ๋ฐœ ํ•ต์‹ฌ ๊ธฐ์ˆ >์„ ๋“ฃ๊ณ  ์ •๋ฆฌํ•œ ๋‚ด์šฉ

Spring
Back-end
Web
๐Ÿ’ป dev

<์Šคํ”„๋ง ํ•ต์‹ฌ ์›๋ฆฌ ๊ธฐ๋ณธํŽธ> ์ •๋ฆฌ

2023๋…„ 3์›” 13์ผ

์ธํ”„๋Ÿฐ ๊ฐ•์˜ <์Šคํ”„๋ง ํ•ต์‹ฌ ์›๋ฆฌ ๊ธฐ๋ณธํŽธ>์„ ๋“ฃ๊ณ  ์ •๋ฆฌํ•œ ๋‚ด์šฉ

Spring
Back-end
๐Ÿ’ป dev

@GeneratedValue ์ „๋žต์ด IDENTITY์ผ ๋•Œ ์ƒˆ๋กœ์šด ์—”ํ‹ฐํ‹ฐ save ์‹œ ํŠธ๋žœ์žญ์…˜ ์ปค๋ฐ‹ ์ „์— SQL์ด ๋ฐ”๋กœ ๋‚˜๊ฐ„๋‹ค.

2023๋…„ 1์›” 29์ผ

JPA auto flush ๊ด€๋ จ ๋””๋ฒ„๊น… ๊ธฐ๋ก

Back-end
JPA
๐Ÿ’ป dev
๋™๊ธฐ vs. ๋น„๋™๊ธฐ / ๋ธ”๋กœํ‚น vs. ๋…ผ๋ธ”๋กœํ‚น

๋™๊ธฐ vs. ๋น„๋™๊ธฐ / ๋ธ”๋กœํ‚น vs. ๋…ผ๋ธ”๋กœํ‚น

2023๋…„ 1์›” 26์ผ

๋น„์Šทํ•˜๊ณ  ํ—ท๊ฐˆ๋ฆฌ๋Š” ๊ฐœ๋…์ธ ๋™๊ธฐ์™€ ๋น„๋™๊ธฐ ๊ทธ๋ฆฌ๊ณ  ๋ธ”๋กœํ‚น๊ณผ ๋…ผ๋ธ”๋กœํ‚น์„ ๊ตฌ๋ถ„ํ•ด๋ดค๋‹ค.

Async
Non-blocking
๐Ÿ’ป dev
์ด์ฒด ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฐ๋“œ๋ฝ ํ•ด๊ฒฐํ•˜๊ธฐ

์ด์ฒด ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฐ๋“œ๋ฝ ํ•ด๊ฒฐํ•˜๊ธฐ

2023๋…„ 1์›” 24์ผ

์ธํ„ด ๊ธฐ๊ฐ„ ๊ณผ์ œ๋ฅผ ํ†ตํ•ด ๊ฒฝํ—˜ํ•œ ๋ฐ๋“œ๋ฝ ์ด์Šˆ์™€ ๊ทธ์— ๋Œ€ํ•œ ๊ณ ์ฐฐ

Deadlock
๐Ÿ’ป dev

์ด์ฒด ํŠธ๋žœ์žญ์…˜ ์‹คํŒจ ์‹œ ๋กค๋ฐฑ์€ ํ•˜๋˜ ๊ธฐ๋ก๋„ ํ•˜๊ณ  ์‹ถ๋‹ค

2023๋…„ 1์›” 23์ผ

๋‚ด๋ถ€ ์ด์ฒด ์ฒ˜๋ฆฌ ํŠธ๋žœ์žญ์…˜ ๋ฉ”์„œ๋“œ์—์„œ ๋ฐœ์ƒํ•œ ์˜ˆ์™ธ๋ฅผ ์™ธ๋ถ€ ๋ฉ”์„œ๋“œ์—์„œ ์žก์•„ ์ž‘์—… ์‹คํŒจ๋ฅผ DB์— ๊ธฐ๋กํ•˜๊ธฐ ์œ„ํ•œ ๋””๋ฒ„๊น… ๊ธฐ๋ก

Back-end
Spring
Transaction
๐Ÿ’ป dev

ํŠธ๋žœ์žญ์…˜๊ณผ ๋ฝ์„ ํ™œ์šฉํ•ด ์ด์ฒด ๋กœ์ง ์„ค๊ณ„ํ•˜๊ธฐ

2023๋…„ 1์›” 20์ผ

์ž์ฃผ ๊ฐ™์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฐœ๋…์ธ ํŠธ๋žœ์žญ์…˜๊ณผ ๋ฝ์˜ ๊ด€๊ณ„๋ฅผ ๋ช…ํ™•ํžˆ ํ•˜๊ณ  ์ด๋“ค์„ ํ™œ์šฉํ•ด ์ด์ฒด ํ”„๋กœ์„ธ์Šค๋ฅผ ๋””์ž์ธํ•˜๊ธฐ

Lock
Transaction
๐Ÿ’ป dev

JPA์˜ ๋ฝ

2023๋…„ 1์›” 19์ผ

<์ž๋ฐ” ORM ํ‘œ์ค€ JPA ํ”„๋กœ๊ทธ๋ž˜๋ฐ>์˜ ์„ค๋ช…์„ ๊ธฐ์ค€์œผ๋กœ JPA๊ฐ€ ๋ฝ์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜๊ณ  ๋„˜์–ด๊ฐ€๊ธฐ

JPA
Lock
๐Ÿ’ป dev

@RequestBody๋กœ HTTP ์š”์ฒญ body ๋ฐ”๋กœ DTO ๊ฐ์ฒด๋กœ ๋ฐ›๊ธฐ

2023๋…„ 1์›” 18์ผ

@RequestBody ์• ๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•ด HTTP ์š”์ฒญ ๋ณธ๋ฌธ์„ ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ๋ฐ”๋กœ ๋ฐ›๊ธฐ๊นŒ์ง€์˜ ๋””๋ฒ„๊น… ๊ธฐ๋ก

Web
Back-end
Spring
๐Ÿ’ป dev

ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€

2023๋…„ 1์›” 17์ผ

ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ์ •๋ฆฌ

Testing
๐Ÿ’ป dev

Pageable ํƒ€์ž… ํ™œ์šฉํ•ด์„œ ํŽ˜์ด์ง• ์š”์ฒญ ๋ฐ›๊ธฐ

2023๋…„ 1์›” 13์ผ

์Šคํ”„๋ง์ด ์–ด๋–ป๊ฒŒ HTTP ์š”์ฒญ์˜ ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์•Œ์•„์„œ Pageable ๊ฐ์ฒด๋กœ ๋งคํ•‘ํ•ด์ฃผ๋Š”์ง€ ๊ฐ„๋žตํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ก

Web
Back-end
Spring
๐Ÿ’ป dev

๋‹จ์œ„ ํ…Œ์ŠคํŠธ์™€ TDD/BDD

2023๋…„ 1์›” 13์ผ

๋™๋ฃŒ์™€์˜ ์›ํ™œํ•œ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์„ ์œ„ํ•ด ๋ง‰์—ฐํ•˜๊ฒŒ ๊ฐ–๊ณ  ์žˆ๋˜ ์†Œํ”„ํŠธ์›จ์–ด ํ…Œ์ŠคํŒ…์— ๋Œ€ํ•œ ์ „๋ฐ˜์ ์ธ ๊ฐœ๋… ์ •๋ฆฌ

Testing
๐Ÿ’ป dev
์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— Pagination์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•œ ๊ณ ๋ฏผ

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— Pagination์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•œ ๊ณ ๋ฏผ

2023๋…„ 1์›” 12์ผ

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ธ ๊ฐ€์ง€ ์ธต์œ„์—์„œ ํŽ˜์ด์ง€๋„ค์ด์…˜ ๊ตฌํ˜„์— ๋Œ€ํ•ด ์ƒ๊ฐํ•ด๋ณด๊ธฐ

Pagination
๐Ÿ’ป dev
์ปดํ“จํ„ฐ ์‹ค์ˆ˜ ์—ฐ์‚ฐ์˜ ํ•œ๊ณ„์™€ ํŒŒ์ด์ฌ์—์„œ์˜ ๋Œ€์ฒ˜๋ฒ•

์ปดํ“จํ„ฐ ์‹ค์ˆ˜ ์—ฐ์‚ฐ์˜ ํ•œ๊ณ„์™€ ํŒŒ์ด์ฌ์—์„œ์˜ ๋Œ€์ฒ˜๋ฒ•

2022๋…„ 11์›” 18์ผ

์ปดํ“จํ„ฐ๊ฐ€ ์—ฐ์‚ฐ ์˜ค์ฐจ์— ์ทจ์•ฝํ•œ ์ด์œ ์™€ ์ด๋ฅผ ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•œ ํŒŒ์ด์ฌ์˜ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ decimal & fractions

Python
๐Ÿ’ป dev
DRF์˜ ์ œ๋„ค๋ฆญ ๋ทฐ(Generic views)๋ฅผ ์ด์šฉํ•ด API ๊ตฌ์ถ•ํ•˜๊ธฐ

DRF์˜ ์ œ๋„ค๋ฆญ ๋ทฐ(Generic views)๋ฅผ ์ด์šฉํ•ด API ๊ตฌ์ถ•ํ•˜๊ธฐ

2022๋…„ 10์›” 27์ผ

DRF์˜ ์ œ๋„ค๋ฆญ ๋ทฐ๋ฅผ ์“ธ ๋• ๋”ฑ 4๊ฐ€์ง€๋งŒ ์‹ ๊ฒฝ ์“ฐ๋ฉด ๋œ๋‹ค.

Web
Back-end
django
๐Ÿ’ป dev
๋งˆ์ด ์ž๋ฃŒ๊ตฌ์กฐ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋‹ค์ด์–ด๋ฆฌ

๋งˆ์ด ์ž๋ฃŒ๊ตฌ์กฐ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋‹ค์ด์–ด๋ฆฌ

2022๋…„ 10์›” 16์ผ

๐Ÿ’ก ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•ด๋ณด๊ณ  ๊นจ๋‹ฌ์€ ๊ฒƒ๋“ค์„ ๋‚ด ์–ธ์–ด๋กœ ์ •๋ฆฌํ•ด๋‘๋Š” ๊ณต๊ฐ„

์ž๋ฃŒ๊ตฌ์กฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜
๐Ÿ’ป dev

์™“์ฑ ํ”ผ๋””์•„ ํด๋ก  watchb ๊ฐœ๋ฐœ๊ธฐ: ์˜ํ™” ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ 2ํŽธ

2022๋…„ 10์›” 15์ผ

์ง€๋‚œ ํŽธ์— ์ด์–ด์„œ Open APIํ•œํ…Œ ๋ฐ›์€ ์˜ํ™” ๋ฐ์ดํ„ฐ๋ฅผ ์Ÿ๊ณ  ๋ชจ๋ธ๋กœ ์—ญ์ง๋ ฌํ™”ํ•˜๋Š” ์ด์•ผ๊ธฐ

Web
Back-end
django
Deserialization
๐Ÿ’ป dev

์™“์ฑ ํ”ผ๋””์•„ ํด๋ก  watchb ๊ฐœ๋ฐœ๊ธฐ: ์˜ํ™” ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ 1ํŽธ

2022๋…„ 10์›” 14์ผ

๋งŽ์€ ์‹œ๊ฐ„์„ ํ• ์• ํ•œ(์žก์•„๋จน์€๐Ÿฅฒ) ์˜ํ™” ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ํŒŒํŠธ์˜ ์ž‘์—…๊ธฐ

Web
Back-end
django
๐Ÿ’ป dev

์™“์ฑ ํ”ผ๋””์•„ ํด๋ก  watchb ๊ฐœ๋ฐœ๊ธฐ: ์œ ์ € ์ธ์ฆ 2ํŽธ

2022๋…„ 8์›” 12์ผ

JWT ์ธ์ฆ ๊ด€๋ จ API ๊ตฌํ˜„๊ณผ ์œ ์ € ์ธ์ฆ ํŒŒํŠธ ๋ฐฑ์—”๋“œ ๊ตฌํ˜„์˜ TODO์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ

Web
Back-end
django
Authentication
JWT
๐Ÿ’ป dev

์™“์ฑ ํ”ผ๋””์•„ ํด๋ก  watchb ๊ฐœ๋ฐœ๊ธฐ: ์œ ์ € ์ธ์ฆ 1ํŽธ

2022๋…„ 8์›” 11์ผ

๋ฐฑ์—”๋“œ๊ฐ€ ํ•„์š”ํ•œ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ watchb(a๋Œ€์‹  b...)๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ํ‰์†Œ ์• ์šฉํ•˜๋Š” ์„œ๋น„์Šค์ธ ์™“์ฑ ํ”ผ๋””์•„๋ฅผ ํด๋ก ํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค.

Web
Back-end
django
Authentication
๐Ÿ’ป dev
django์™€ ๋ฐฑ์—”๋“œ์— ๋Œ€ํ•œ ์ดํ•ด: ์›น ๊ฐœ๋ฐœ ์ž…๋ฌธ์ž์˜ ์ž…์žฅ์—์„œ

django์™€ ๋ฐฑ์—”๋“œ์— ๋Œ€ํ•œ ์ดํ•ด: ์›น ๊ฐœ๋ฐœ ์ž…๋ฌธ์ž์˜ ์ž…์žฅ์—์„œ

2022๋…„ 7์›” 6์ผ

์ž…๋ฌธ์ž์˜ ์ž…์žฅ์—์„œ, django์— ๋Œ€ํ•ด ํƒ‘๋‹ค์šด ์ •๋ฆฌ + ์›น ์„œ๋น„์Šค์—์„œ ๋ฐฑ์—”๋“œ์˜ ์—ญํ•  ์งš๊ณ  ๋„˜์–ด๊ฐ€๊ธฐ

Web
Back-end
django
๐Ÿ“‘ paper review

[Paper Review] Transferable Contextual Bandit

2021๋…„ 9์›” 21์ผ

<Transferable Contextual Bandit for Cross-Domain Recommendation> ๋…ผ๋ฌธ ๋ฆฌ๋ทฐ

RecSys
Bandit Problem
๐Ÿ“‘ paper review

[Paper Review] Open Bandit Dataset & Pipeline

2021๋…„ 9์›” 21์ผ

<A Large-scale Open Dataset for Bandit Algorithms> ๋…ผ๋ฌธ ๋ฆฌ๋ทฐ

RecSys
Bandit Problem
๐Ÿ“‘ paper review

[Paper Review] DDQN News RecSys (Microsoft Bing)

2021๋…„ 9์›” 21์ผ

<DRN: A Deep Reinforcement Learning Framework for News Recommendation> ๋…ผ๋ฌธ ๋ฆฌ๋ทฐ

RecSys
RL
๐Ÿ“‘ paper review

[Paper Review] Cross-Domain Recommendation Survey

2021๋…„ 9์›” 21์ผ

<Cross-Domain Recommendation: Challenges, Progress, and Prospects> ๋…ผ๋ฌธ ๋ฆฌ๋ทฐ

RecSys
๐Ÿ“‘ paper review

[Paper Review] REINFORCE + Off-Policy Correction RecSys (YouTube)

2021๋…„ 8์›” 29์ผ

<Top-๐พ Off-Policy Correction for a REINFORCE Recommender System> ๋…ผ๋ฌธ ๋ฆฌ๋ทฐ

RL
RecSys
๐Ÿ“‘ paper review

[Paper Review] Deep RL Cryptocurrency Portfolio Management

2021๋…„ 8์›” 8์ผ

<A Deep Reinforcement Learning Framework for the Financial Portfolio Management Problem> ๋…ผ๋ฌธ ๋ฆฌ๋ทฐ

RL
Quant
๐Ÿ“Š data

Apache Spark ๊ฐ„๋‹จ ์ •๋ฆฌ

2021๋…„ 5์›” 12์ผ

Apache Spark์˜ ์ฃผ์š” ๊ฐœ๋…์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ์ •๋ฆฌ

Apache Spark
Data Engineering
๐Ÿ’ป Profile
mynghn
Software Engineer
๐Ÿ’ฌ Contact
l.mynghn@gmail.com
GitHub
LinkedIn