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

๐Ÿ‘ป ์ „์ฒด ์นดํ…Œ๊ณ ๋ฆฌ25

[Spring] JPA ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ ์ดํ•ดํ•˜๊ธฐ ๐Ÿค” ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ๋ž€? JPA ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ (Persistence Context) ๋ž€ ์—”ํ‹ฐํ‹ฐ๋ฅผ ์˜๊ตฌ ์ €์žฅํ•˜๋Š” ํ™˜๊ฒฝ์ด๋ผ๋Š” ๋œป์œผ๋กœ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์ด์—์„œ ์—”ํ‹ฐํ‹ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋…ผ๋ฆฌ์ ์ธ ์˜์—ญ์ž…๋‹ˆ๋‹ค. EntityManager ๋กœ ์—”ํ‹ฐํ‹ฐ๋ฅผ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ์กฐํšŒํ•˜๋ฉด EntityManager ๋Š” ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์— ์—”ํ‹ฐํ‹ฐ๋ฅผ ๋ณด๊ด€ํ•˜๊ณ  ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ’ซ ์—”ํ‹ฐํ‹ฐ์˜ ์ƒ๋ช…์ฃผ๊ธฐ ์—”ํ‹ฐํ‹ฐ์˜ ์ƒ๋ช…์ฃผ๊ธฐ ์—”ํ‹ฐํ‹ฐ์—๋Š” 4๊ฐ€์ง€ ์ƒํƒœ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋น„์˜์†(new/transient) : ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์™€ ์ „ํ˜€ ๊ด€๊ณ„๊ฐ€ ์—†๋Š” ์ƒํƒœ ์˜์†(managed) : ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์— ์ €์žฅ๋œ ์ƒํƒœ (์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์— ์˜ํ•ด ๊ด€๋ฆฌ๋œ๋‹ค๋Š” ๋œป) ์ค€์˜์†(detached) : ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์— ์ €์žฅ๋˜์—ˆ๋‹ค๊ฐ€ ๋ถ„๋ฆฌ๋œ ์ƒํƒœ ์‚ญ์ œ(removed) : ์‚ญ์ œ๋œ ์ƒํƒœ ๐Ÿซง ๋น„์˜์†.. 2023. 6. 27.
[Spring] ํ˜ผ๋™๋˜๋Š” JPA ๊ฐœ๋… ์ •๋ฆฌ (Hibernate, Spring Data JPA) ๐Ÿ˜ฑ ์ด ๊ธ€์„ ์“ฐ๋Š” ์ด์œ  ์ทจ์—… ์ค€๋น„๋ฅผ ํ•˜๋ฉฐ ๋ฉด์ ‘์„ ๋ณด๋‹ค๋ณด๋ฉด JPA ์˜ ๊ฐœ๋…์€ ๋งค๋ฒˆ ๋‚˜์˜ฌ๋งŒํผ ๋‹จ๊ณจ ์งˆ๋ฌธ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ๋งค๋ฒˆ Hibernate ๋Š” JPA ์˜ ๊ตฌํ˜„์ฒด์ž…๋‹ˆ๋‹ค! ๋ผ๋Š” ๋Œ€๋‹ต๋งŒ ํ•ด์™”๊ณ , ์†”์งํžˆ ์ฐจ์ด๋ฅผ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์žˆ์ง€ ์•Š๋‹ค๊ณ  ๋А๊ผˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฒˆ ๊ธฐํšŒ์— JPA, Hibernate, Spring Data JPA ์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๊ณ  ์ •๋ฆฌํ•ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ˜Ž ๐Ÿค” JPA ๋ž€? JPA ๋Š” Java Persistence API ์˜ ์•ฝ์ž๋กœ, ์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์ด์˜ ๋ฐ์ดํ„ฐ ์˜์†์„ฑ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํ‘œ์ค€ํ™”๋œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. JPA ๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ„์˜ ๋ถˆ์ผ์น˜๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ์ฒด์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋งคํ•‘ํ•˜๋Š” .. 2023. 6. 27.
[Spring] ๋ฉ€ํ‹ฐ ๋ชจ๋“ˆ ํ”„๋กœ์ ํŠธ ์ ์šฉ ๐Ÿ˜Ž ๋ฉ€ํ‹ฐ ๋ชจ๋“ˆ์„ ๋„์ž…ํ•œ ์ด์œ  ๋ฉ€ํ‹ฐ ๋ชจ๋“ˆ ์ ์šฉ ์ „ ์œ„ ์ด๋ฏธ์ง€๋Š” ์ง„ํ–‰์ค‘์ธ ํ•˜์šฐ์Šค ํ”„๋กœ์ ํŠธ์—์„œ ๋ฉ€ํ‹ฐ ๋ชจ๋“ˆ์„ ์ ์šฉํ•˜๊ธฐ ์ „์˜ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ๊ธฐ์กด์—๋Š” ์„œ๋น„์Šค์˜ ๋ชจ๋“  ์ฝ”๋“œ๋“ค์ด ๋‹จ์ผ ๋ชจ๋“ˆ์— ํฌํ•จ๋œ ์ƒํƒœ์˜€์Šต๋‹ˆ๋‹ค. ํ•˜์šฐ์Šค ํ”„๋กœ์ ํŠธ๋Š” ํ‘ธ์‹œ ์•Œ๋ฆผ ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ํ‘ธ์‹œ ์•Œ๋ฆผ์„ ์ „์†กํ•˜๋Š” ์„œ๋ฒ„๋ฅผ ๋ถ„๋ฆฌํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์šฐ์Šค ์„œ๋ฒ„ → ํ•˜์šฐ์Šค API ์„œ๋ฒ„, ํ•˜์šฐ์Šค ์•Œ๋ฆผ ์„œ๋ฒ„ ์ด ๋•Œ, API ์„œ๋ฒ„์™€ ์•Œ๋ฆผ ์„œ๋ฒ„ ๋ชจ๋‘ domain ํŒจํ‚ค์ง€์˜ ์ฝ”๋“œ, external.client ํŒจํ‚ค์ง€์˜ ์ฝ”๋“œ, common ํŒจํ‚ค์ง€์˜ ์ฝ”๋“œ๋ฅผ ๊ทธ๋Œ€๋กœ ์žฌ์‚ฌ์šฉํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์œ ์ง€ ๋ณด์ˆ˜ ์ธก๋ฉด์—์„œ ๋ฐ”๋ผ๋ดค์„ ๋•Œ, ์„œ๋ฒ„๊ฐ€ ๋‘˜๋กœ ๋ถ„๋ฆฌ๋˜๋ฉด์„œ ๊ณตํ†ต๋œ ํŒจํ‚ค์ง€์˜ ๋‚ด์šฉ์ด ์ˆ˜์ •๋˜๋ฉด ๋งค๋ฒˆ API ์„œ๋ฒ„์™€ ์•Œ๋ฆผ ์„œ๋ฒ„์˜ ์ฝ”๋“œ๋ฅผ ํ•จ๊ป˜ ์ˆ˜์ •ํ•ด์ค˜์•ผ ํ•˜๋Š” ๋ถˆํŽธํ•จ์ด ๋ฐœ์ƒํ•  ์ˆ˜ .. 2023. 6. 26.
Kafka ๊ฐœ๋… ์ •๋ฆฌ (Pub/Sub ๋ชจ๋ธ, Zookeeper, Broker, Topic, Partition, Offset, Producer, Consumer) ๐Ÿค” Kafka ๊ฐ€ ๋ญ”๋ฐ? Kafka ๋Š” LinkedIn ์—์„œ ๊ฐœ๋ฐœ๋œ ์˜คํ”ˆ ์†Œ์Šค ๋ฉ”์‹œ์ง• ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ๋Š” Apache Software Foundation ์—์„œ ๊ด€๋ฆฌ๋˜๋Š” Apache Kafka ํ”„๋กœ์ ํŠธ๋กœ ๋ฐœ์ „ํ•˜์˜€์Šต๋‹ˆ๋‹ค. Kafka ๋„์ž… ์ „ Kafka ๊ฐ€ ๋„์ž…๋˜๊ธฐ ์ „์—๋Š” ์œ„์™€ ๊ฐ™์ด end-to-end ์—ฐ๊ฒฐ ๋ฐฉ์‹์œผ๋กœ ์—ฌ๋Ÿฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋“ค์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์„œ๋น„์Šค๊ฐ€ ์ปค์ง€๋ฉด์„œ ๋ณต์žก๋„๊ฐ€ ์ฆ๊ฐ€ํ–ˆ๊ณ  ํ™•์žฅ์ด ์–ด๋ ค์›Œ์ง€๊ณ  ์žฅ์•  ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ์ด ์ปค์ง€๋Š” ๋ฌธ์ œ์ ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. Kafka ๋„์ž… ํ›„ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ๋“ค์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Kafka ๊ฐ€ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Kafka ๋ฅผ ๋„์ž…ํ•œ ๊ฒฐ๊ณผ ๋ฐœ์ƒ๋˜๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ์™€ ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„์„ ์ค‘์•™์—์„œ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์„œ๋น„์Šค์˜ ํŠน์ • ๋ถ€๋ถ„์—์„œ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๋”๋ผ๋„ Ka.. 2023. 6. 22.
Java 11 ์ฃผ์š” ๋ณ€๊ฒฝ์  ๐Ÿ”ฎ ๋“ค์–ด๊ฐ€๋ฉฐ Java 11 ์€ Java 8 ์ดํ›„๋กœ ๋‚˜์˜จ ์ค‘์š”ํ•œ ๋ฆด๋ฆฌ์ฆˆ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Java 11 ์˜ ์ฃผ์š” ๋ณ€๊ฒฝ์ ์— ๋Œ€ํ•ด ๋‹ค๋ค„๋ณด๋ คํ•ฉ๋‹ˆ๋‹ค. 1๏ธโƒฃ String ๊ด€๋ จ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ Java 8 ์—์„œ ๋ถ€์กฑํ–ˆ๋˜ ๋ฌธ์ž์—ด ๊ด€๋ จ ๋ฉ”์„œ๋“œ๋“ค์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. isBlank() ๋ฌธ์ž์—ด์ด ๋น„์–ด์žˆ๊ฑฐ๋‚˜, ๋นˆ ๊ณต๋ฐฑ์œผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉด true ๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” ๋ฉ”์„œ๋“œ lines() ๋ฌธ์ž์—ด์„ ์ค„ ๋‹จ์œ„๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ Stream ํ˜•ํƒœ๋กœ ๋ฆฌํ„ดํ•˜๋Š” ๋ฉ”์„œ๋“œ strip(), stripLeading(), stripTrailing() ๋ฌธ์ž์—ด์˜ ์•ž๋’ค, ์•ž์ชฝ, ๋’ค์ชฝ ๊ณต๋ฐฑ์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฉ”์„œ๋“œ repeat(int count) ๋ฌธ์ž์—ด์„ ์ฃผ์–ด์ง„ ํšŸ์ˆ˜(count)๋งŒํผ ๋ฐ˜๋ณตํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•˜๋Š” ๋ฉ”์„œ๋“œ 2๏ธโƒฃ ์ƒˆ๋กœ์šด ํ‘œ์ค€ HTTP ํด๋ผ์ด์–ธํŠธ A.. 2023. 6. 19.
[Spring] JPA ๋น„๊ด€์  ๋ฝ ์ ์šฉ์œผ๋กœ ๋™์‹œ์„ฑ ๋ฌธ์ œ ํ•ด๊ฒฐํ•˜๊ธฐ ๐Ÿค” ๋ฌธ์ œ ์ƒํ™ฉ ์ง„ํ–‰์ค‘์ธ ๋ธ”๋ผ์ธ ํ”„๋กœ์ ํŠธ์—์„œ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ์กฐํšŒ ํšŸ์ˆ˜๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ๋กœ์ง์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋™์‹œ์„ฑ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋กœ ๊ฝƒ A, B, C ๊ฐ€ ์กฐํšŒ๋˜๋ฉด A, B, C ์˜ ์กฐํšŒ ํšŸ์ˆ˜๋ฅผ ๊ฐ๊ฐ 1์”ฉ ์ฆ๊ฐ€์‹œ์ผœ์•ผ ํ–ˆ๋Š”๋ฐ, ๋งŒ์•ฝ A ์˜ ํ˜„์žฌ ์กฐํšŒ ํšŸ์ˆ˜๊ฐ€ 1์ผ ๋•Œ, ๋™์‹œ์— 3๋ฒˆ ์กฐํšŒ๋œ๋‹ค๋ฉด ๊ฒฐ๊ณผ๋Š” 4ํšŒ๊ฐ€ ๋˜์–ด์•ผ ํ•˜์ง€๋งŒ, 2ํšŒ๊ฐ€ ๋˜๋Š” ์ƒํ™ฉ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์›ํ•˜๋Š” ๋ฐฉ์‹๋Œ€๋กœ ๋™์ž‘์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋น„๊ด€์  ๋ฝ์„ ์ ์šฉํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ‘ป JPA ๋™์‹œ์„ฑ ์ œ์–ด ๋ฐฉ์‹ JPA ๋Š” ์—”ํ‹ฐํ‹ฐ์— ๋Œ€ํ•œ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋™์‹œ์„ฑ ์ œ์–ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ง€์›ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์—๋Š” ๋‚™๊ด€์  ๋ฝ๊ณผ ๋น„๊ด€์  ๋ฝ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. โ›“๏ธ ๋‚™๊ด€์  ๋ฝ (Optimistic Lock) ๋‚™๊ด€์  ๋ฝ์€ DB ๊ฐ€ .. 2023. 6. 15.
Github Actions + AWS S3 + AWS CodeDeploy + Nginx ๋ฅผ ํ™œ์šฉํ•œ ๋ธ”๋ฃจ/๊ทธ๋ฆฐ(Blue/Green) ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ - Spring Boot CI/CD ํ•ด๋‹น ๊ธ€์—์„œ๋Š” ์„ธ๋ถ€์ ์ธ AWS ์„ค์ •์— ๋Œ€ํ•ด ๋‹ค๋ฃจ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๐Ÿซฃ ๊ตฌ์ฒด์ ์ธ ์„ค์ •์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ค์Œ ๊ธ€๋“ค์„ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”! Github Actions, AWS CodeDeploy๋ฅผ ํ™œ์šฉํ•œ CI/CD - Node.js(1) ๐Ÿค” CI/CD๋ž€? โญ๏ธ CI CI๋Š” Continuous Integration์˜ ์•ฝ์ž๋กœ ์ง€์†์ ์ธ ํ†ตํ•ฉ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด ๋นŒ๋“œ/ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ๊ณผ์ •์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, CI๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ๊ตฌํ˜„ํ•  ๊ฒฝ์šฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ www.devjoon.com Github Actions, AWS CodeDeploy๋ฅผ ํ™œ์šฉํ•œ CI/CD - Node.js(2) AWS CodeDeploy๋ฅผ ํ™œ์šฉํ•ด์„œ ์ž๋™ ๋ฐฐํฌ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” AWS์—์„œ ๊ด€๋ จ ์„ค์ •๋“ค์„ ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿš€ AWS S3 ๋ฒ„ํ‚ท ์ƒ์„ฑ Github A.. 2023. 5. 14.
[Spring] MySQL๊ณผ mongoDB ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค 2๊ฐœ ์—ฐ๋™ํ•˜๊ธฐ ๐Ÿง ์ƒํ™ฉ ํ˜„์žฌ ์šด์˜์ค‘์ธ Hous- (ํ•˜์šฐ์Šค) ๊ณต๋™์ƒํ™œ ๋„์šฐ๋ฏธ ์„œ๋น„์Šค์—์„œ ๊ธฐ์กด์—๋Š” MySQL๋งŒ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์Œ“์ด๋Š” ์˜ค๋ž˜๋œ ์•Œ๋ฆผ ๋ฐ์ดํ„ฐ๋ฅผ ์ง€์šฐ๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์„ ๊ณ ๋ฏผํ•ด์•ผํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€๋‚œํ•œ ๋Œ€ํ•™์ƒ์ด๊ธฐ ๋•Œ๋ฌธ์—.. ์‚ฌ์šฉ์ž๊ฐ€ ์•ฝ 200๋ช… ์ •๋„์— ๋ถˆ๊ณผํ•œ๋ฐ ์ž˜ ๋ณด์ง€๋„ ์•Š๋Š” ์•Œ๋ฆผ ๋ฐ์ดํ„ฐ๊ฐ€ 10,000๊ฐœ ์ด์ƒ ์Œ“์ด๋‹ˆ.. ์ด๋ ‡๊ฒŒ ๊ณ„์† ํ•„์š”์—†๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์Œ“์ด๋‹ค ๋ณด๋ฉด AWS ํ”„๋ฆฌํ‹ฐ์–ด ๊ธฐ์ค€์„ ์ดˆ๊ณผํ• ๊นŒ๋ด ๊ฒ์ด๋‚ฌ๊ฑฐ๋“ ์š” ๐Ÿฅฒ ์„œ๋ฒ„ ํŒŒํŠธ ํŒ€์›๊ณผ ๋…ผ์˜๋ฅผ ํ†ตํ•ด Spring Batch๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ์Šค์ผ€์ค„๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•ด ์˜ค๋ž˜๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ง€์šฐ๋Š” ๋ฐฉ๋ฒ• ๊ทธ๋ฆฌ๊ณ  mongoDB๋ฅผ ๋„์ž…ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ณ ๋ฏผํ–ˆ์Šต๋‹ˆ๋‹ค. mongoDB์—์„œ๋Š” TTL index๋ฅผ ์ง€์›ํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ์œ ํšจ๊ธฐ๊ฐ„์„ ์„ค์ •ํ•ด์„œ ์˜ค๋ž˜๋œ ๋ฐ์ดํ„ฐ๋Š” ๋ณ„๋„์˜ ์ฒ˜๋ฆฌ ์—†์ด ์ž๋™์œผ๋กœ ์ง€.. 2023. 5. 10.
2023 SSG.COM Tech Rookie : ์ฒซ๋ฒˆ์งธ ์ธํ„ด์‹ญ ์ตœ์ข… ํ•ฉ๊ฒฉ ํ›„๊ธฐ (Backend Engineer) ๋‚˜์˜ ์ฒซ๋ฒˆ์งธ ์ธํ„ด์ด์—ˆ๋˜ SSG.COM ์ดํ•˜ ์“ฑ๋‹ท์ปด์˜ ์ฑ„์šฉ๊ณผ์ • + ์ธํ„ด ์ง„ํ–‰ ๊ณผ์ •์— ๋Œ€ํ•œ ํ›„๊ธฐ๋ฅผ ๋‚จ๊ฒจ๋ณธ๋‹ค! ๐Ÿ“„ ์„œ๋ฅ˜ ์„œ๋ฅ˜๋Š” ์ตœ๋Œ€ 1,000์ž ํ•ญ๋ชฉ 2๊ฐœ, ์ตœ๋Œ€ 2,000์ž ํ•ญ๋ชฉ 1๊ฐœ๋กœ ๋‹ค๋ฅธ ๊ธฐ์—…๋“ค์— ๋น„ํ•ด ์กฐ๊ธˆ ๊ธด ํŽธ์ด์—ˆ๋‹ค. SSG DNA์— ์–ผ๋งˆ๋‚˜ ์ž˜ ๋ถ€ํ•ฉํ•˜๋Š” ์‚ฌ๋žŒ์ธ์ง€ ํ‘œํ˜„ํ•˜๋Š” ํ•ญ๋ชฉ์ด์—ˆ๋‹ค. (์ตœ๋Œ€ 1,000์ž) ๊ธฐํš, ๊ฐœ๋ฐœ ํŠธ๋ž™๋ณ„๋กœ ์งˆ๋ฌธ์ด ๋‚˜๋ˆ„์–ด์กŒ๋Š”๋ฐ, ๊ฐœ๋ฐœ ํŠธ๋ž™์˜ ๊ฒฝ์šฐ ๋‹ค๋ค„๋ณธ ์–ธ์–ด, ํ”„๋กœ์ ํŠธ ๋“ฑ์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•˜๋Š” ํ•ญ๋ชฉ์ด์—ˆ๋‹ค. (์ตœ๋Œ€ 1,000์ž) ์ง€์›๋™๊ธฐ + SSG.COM ์‚ฌ์šฉ ๊ฒฝํ—˜์— ๋Œ€ํ•œ ํ•ญ๋ชฉ์ด์—ˆ๋‹ค. (์ตœ๋Œ€ 2,000์ž) ๊ฐœ์ธ์ ์œผ๋กœ๋Š” 3๋ฒˆ ํ•ญ๋ชฉ์ด ์ž‘์„ฑํ•˜๊ธฐ ๊ฐ€์žฅ ๊นŒ๋‹ค๋กœ์› ๋‹ค. SSG.COM ์„ ์‚ฌ์šฉํ•ด๋ณธ ๊ฒฝํ—˜์ด ๋งŽ์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ด์—ˆ๋Š”๋ฐ, ์„œ๋ฅ˜๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•ด ํšŒ์›๊ฐ€์ž…ํ•œ ํ›„์— ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ์ง์ ‘ ์จ๋ณด๋ฉด์„œ ์ข‹์€ .. 2023. 5. 10.