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

๐Ÿš€ Backend16

[Spring Basic] IoC์™€ DI IoC - ์ œ์–ด์˜ ์—ญ์ „ ๊ธฐ์กด ํ”„๋กœ๊ทธ๋žจ๋“ค์€ ๊ฐœ๋ฐœ์ž์˜ ์˜์ง€์— ๋”ฐ๋ผ ๊ตฌํ˜„ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์—ฐ๊ฒฐํ•˜๊ณ  ์‹คํ–‰ํ–ˆ๋‹ค. ์ฆ‰ ํ”„๋กœ๊ทธ๋žจ์˜ ์ œ์–ด ํ๋ฆ„์„ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์กฐ์ข…ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์Šคํ”„๋ง์—์„  ํ•ด๋‹น ๊ฐ์ฒด์˜ ์ƒ์„ฑ๊ณผ ์—ฐ๊ฒฐ, ์‹คํ–‰์„ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹Œ ์Šคํ”„๋ง์ด ๋‹ด๋‹นํ•œ๋‹ค. ํ”„๋ ˆ์ž„ ์›Œํฌ vs ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ์ œ์–ดํ•˜๊ณ , ๋Œ€์‹  ์‹คํ–‰ํ•˜๋ฉด ํ”„๋ ˆ์ž„์›Œํฌ ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์ œ์–ด์˜ ํ๋ฆ„์„ ์ œ์–ดํ•˜๋ฉด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์œ„์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๋‚˜์˜ ๋น„์ฆˆ๋‹ˆ์Šค ์˜ค๋ธŒ์ ํŠธ(๋‚ด๊ฐ€ ๊ตฌํ˜„ํ•œ ๊ฐ์ฒด)์™€ Configuration ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์Šคํ”„๋ง ์ด๋ฆฌ์ €๋ฆฌ ์งฌ๋ฝ•ํ•ด์„œ ์Šคํ”„๋ง ์„œ๋ฒ„๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. DI - ์˜์กด๊ด€๊ณ„ ์ฃผ์ž… ์Šคํ”„๋ง์ด DI๋ฅผ ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ๋„ค ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. โญ๏ธ ์ƒ์„ฑ์ž ์ฃผ์ž… โญ๏ธ Setter ์ฃผ์ž… ํ•„๋“œ ์ฃผ์ž… ์ผ๋ฐ˜ ๋ฉ”์„œ๋“œ ์ฃผ์ž… ์ƒ์„ฑ์ž ์ฃผ์ž… ์ƒ์„ฑ.. 2024. 1. 18.
[Spring Basic] ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„์™€ ์Šคํ”„๋ง ์Šคํ”„๋ง์ด๋ž€? ์ž๋ฐ” ์–ธ์–ด ๊ธฐ๋ฐ˜์˜ ํ”„๋ ˆ์ž„์›Œํฌ -> ๊ฐ์ฒด ์ง€ํ–ฅ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด๊ฐ€ ๊ฐ€์ง„ ๊ฐ•๋ ฅํ•œ ํŠน์ง•์„ ์‚ด๋ ค๋‚ด๋Š” ํ”„๋ ˆ์ž„์›Œํฌ "์ข‹์€" ๊ฐ์ฒด ์ง€ํ–ฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ํ”„๋ ˆ์ž„ ์›Œํฌ ์Šคํ”„๋ง DI ์ปจํ…Œ์ด๋„ˆ, AOP, ์ด๋ฒคํŠธ, MVC, WebFlux, ํŠธ๋ž™์žญ์…˜, JDBC, ORM ์ง€์› ... ๋“ฑ๋“ฑ ์ •๋ง ๋‹ค ์žˆ๋‹ค ํ”ํžˆ ๋งํ•˜๋Š” "์ข‹์€" ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ถ”์ƒํ™” ์บก์Šํ™” ์ƒ์† ๋‹คํ˜•์„ฑ ์—ญํ• ๊ณผ ๊ตฌํ˜„์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์„ธ์ƒ์„ ๋ฐ”๋ผ๋ณด๊ณ  ๋˜ ์ฝ”๋”ฉํ•˜๋ฉด ๋‹จ์ˆœํ•ด์ง€๊ณ , ์œ ์—ฐํ•ด์ง€๊ณ , ๋ณ€๊ฒฝ๋„ ํŽธ๋ฆฌํ•ด์ง„๋‹ค. ์—ญํ• (์ธํ„ฐํŽ˜์ด์Šค) - ๊ตฌํ˜„(์ธ์Šคํ„ด์Šค, ๊ตฌํ˜„ ํด๋ž˜์Šค)์„ ์œ ์—ฐํ•˜๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋ฉด ์ฝ”๋“œ๊ฐ€ ์œ ์—ฐํ•ด์ง„๋‹ค. ์Šคํ”„๋ง๊ณผ ๊ฐ์ฒด ์ง€ํ–ฅ ๋‹คํ˜•์„ฑ์ด ๊ฐ€์žฅ ์ค‘์š”ํ•˜๋‹ค. ์Šคํ”„๋ง์€ ๋‹คํ˜•์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•ด์„œ ์ด์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ค€๋‹ค. ์ œ์–ด์˜ ์—ญ์ „(IoC), ์˜.. 2024. 1. 18.
CKA ํ•ฉ๊ฒฉ ํ›„๊ธฐ ์ž‘๋…„๋ถ€ํ„ฐ ๊ณ„์† ์‹œ๋„๋Š” ํ•ด์™”๋˜ CKA ์ž๊ฒฉ์ฆ์„ ๊ฒฐ๊ตญ ๋•ƒ๋‹ค. ์กฐ๊ธˆ์”ฉ ํ•˜๋‹ค๊ฐ€ ํฌ๊ธฐํ–ˆ๋Š”๋ฐ ์˜์ง€๋กœ ์Šต๊ด€์„ ์œ ์ง€ํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ, ์Šต๊ด€์ด ์˜์ง€๋ฅผ ๋งŒ๋“ ๋‹ค๋Š” ์ƒ๊ฐ์œผ๋กœ ํ•˜๋ฃจ์— ์ •ํ•ด์ง„ ํšŒ์ฐจ๋ฅผ ์–ด๋–ค ์ผ์ด ์žˆ์–ด๋„ ๋ฐ˜๋“œ์‹œ ๋๋ƒˆ๋‹ค. 2023. 7. 30.
k8s - CKA ์‹œํ—˜ ๋“ฑ๋ก (์‚ฌ์ด๋ฒ„ ๋จผ๋ฐ์ด) ์ฃผ๋ง์— ์ž๊ธฐ ์ „์— ์ด๋ฉ”์ผ ํ™•์ธ์„ ํ–ˆ๋Š” ๋ฐ ํŽญ๊ท„ ๋…€์„์ด ์˜ค๋Š˜์ด ๋งˆ์ง€๋ง‰ ๋น… ์„ธ์ผ์ด๋ผ๊ณ  ํ™๋ณด ๋ฉ”์ผ์„ ๋ณด๋ƒˆ๋‹ค. ๋งˆ์ง€๋ง‰ ์ตœ๋Œ€ ํ• ์ธ์œจ์„ 35%๋กœ ๋ดค๊ธฐ์— ๋„์ €ํžˆ ์ฐธ์„ ์ˆ˜ ์—†์—ˆ๊ณ  ํ•ฉ๊ฒฉ ํ›„๊ธฐ๋กœ ๋Œ์•„์˜ค๊ธธ...๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ 2022. 12. 4.
k8s - CKA ์˜ˆ์ œ ๋ฌธ์ œ Etcd backup & Restore ๋Œ€ํ‘œ์ ์ธ ๋ฌธ์ œ๋กœ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ๋ชจ์—ฌ ์žˆ๋Š” etcd๋ฅผ ๋ฐฑ์—…ํ•˜๊ณ  ์ „์— ๋ฐฑ์—…ํ•œ ๋ฐ์ดํ„ฐ๋กœ ๋˜๋Œ๋ฆฌ๋Š” ์ž‘์—…์ด๋‹ค. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฌธ์„œ https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/#backing-up-an-etcd-cluster Operating etcd clusters for Kubernetes etcd is a consistent and highly-available key value store used as Kubernetes' backing store for all cluster data. If your Kubernetes cluster uses etcd as its backing store, make sure .. 2022. 8. 22.
k8s - Udemy Voting-app-worker m1 ์—๋Ÿฌ ์—ญ์‹œ ์‹ค์Šต์šฉ์œผ๋กœ M1์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ, ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๋Š” ์–ด๋Š ์ •๋„ ์˜ˆ์ƒํ•˜๊ณ  ๋“ฃ๋Š” ๊ฒƒ์ด ํŽธํ•˜๋‹ค. ์œ„ ํ™”๋ฉด์˜ ์ปจํ…Œ์ด๋„ˆ๋“ค๊ณผ ์„œ๋น„์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ์‹ค์Šต์ธ๋ฐ, Woker Pod(conatainer)๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ, ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. M1 ์œผ๋กœ ์ธํ•œ tensorflow, pyqt, jupyter, python ๋ฒ„์ „ ๋“ฑ ๊ณ ํ†ต์„ ๋ฐ›์•„๋ณธ ๋‚˜๋Š” exception ์ด๋ฆ„์— System์ด ๋“ค์–ด์žˆ๋Š” ๊ฒƒ์„ ๋ณด๊ณ  M1 Arm64 ํ˜ธํ™˜๋ฌธ์ œ์ž„์„ ์ง๊ฐ ํ–ˆ๋‹ค.๐Ÿ˜‚๐Ÿ˜‚๐Ÿ˜‚ ์ผ๋‹จ QnA์— ์˜ฌ๋ ธ์ง€๋งŒ, ๊ธฐ๋‹ค๋ฆผ์˜ ๋ฏธ๋•์ด ์—†๋Š” ํ•œ๊ตญ์ธ๐Ÿ‡ฐ๐Ÿ‡ท ์ง์ ‘ ํ•ด๊ฒฐํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. docker hub๋กœ ๋“ค์–ด๊ฐ€ ์ด๋ฏธ์ง€ ๋ฒ„์ „์„ ํ™•์ธํ•ด๋ณด๋ฉด ๋ฌด๋ ค ์ตœ๊ทผ commit(?)์ด 2๋…„ ์ „ arm64๊ฐ€ ๋ ๋ฆฌ๊ฐ€ ์—†๋‹ค ํ˜น์‹œ๋‚˜ ์‹ถ์–ด ์ˆ˜์—…์— ์‚ฌ์šฉํ•œ v1 ๋ง๊ณ  v2, latest๋กœ ์‚ฌ์šฉํ•ด๋ดค์ง€๋งŒ ๋™์ผํ•˜๊ฒŒ ๋ฌธ์ œ.. 2022. 8. 15.