[k8s] GKE์—์„œ ArgoCD ์„ค์น˜ ๋ฐ Github Repository ์—ฐ๊ฒฐ
ยท
Kubernetes
ArgoCD๋ž€?ArgoCD๋Š” Kubernetes๋ฅผ ์œ„ํ•œ ์„ ์–ธ์ ์ธ GitOps ์ง€์†์  ๋ฐฐํฌ ๋„๊ตฌ์ด๋‹ค.  ArgoCD๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ์•„ํ‚คํ…์ฒ˜๋กœ ๋™์ž‘ํ•œ๋‹ค.ArgoCD๋Š” ์‹คํ–‰ ์ค‘์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ง€์†์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ํ˜„์žฌ live state๋ฅผ ์›ํ•˜๋Š” ๋Œ€์ƒ ์ƒํƒœ์™€ ๋น„๊ตํ•˜๋Š” Kubernetes ์ปจํŠธ๋กค๋Ÿฌ๋กœ ๊ตฌํ˜„๋œ๋‹ค. live์ƒํƒœ๊ฐ€ ๋Œ€์ƒ state์—์„œ ๋ฒ—์–ด๋‚˜ ๋ฐฐํฌ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ OutOfSync๋กœ ๊ฐ„์ฃผ๋œ๋‹ค. ArgoCD๋Š” ์ฐจ์ด์ ์„ ๋ณด๊ณ ํ•˜๊ณ  ์‹œ๊ฐํ™”ํ•˜๋Š” ๋™์‹œ์— live ์ƒํƒœ๋ฅผ ์›ํ•˜๋Š” ๋Œ€์ƒ ์ƒํƒœ๋กœ ์ž๋™ ๋˜๋Š” ์ˆ˜๋™์œผ๋กœ ๋™๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. Git repo์—์„œ ์›ํ•˜๋Š” ๋Œ€์ƒ ์ƒํƒœ์— ๋Œ€ํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์€ ์ž๋™์œผ๋กœ ์ ์šฉ๋˜์–ด ์ง€์ •๋œ ๋Œ€์ƒ ํ™˜๊ฒฝ์— ๋ฐ˜์˜๋  ์ˆ˜ ์žˆ๋‹ค.ArgoCD ํŠน์ง•์ง€์ •๋œ ๋Œ€์ƒ ํ™˜๊ฒฝ์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ž๋™์œผ๋กœ ..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] [1์ฐจ]์บ์‹œ/Python - Lv.2
ยท
Coding Test/Algorithms
โ“๋ฌธ์ œhttps://school.programmers.co.kr/learn/courses/30/lessons/17680?language=python3 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr์„ฑ๋Šฅ ์š”์•ฝ๋ฉ”๋ชจ๋ฆฌ: 17.5 MB, ์‹œ๊ฐ„: 64.21 ms  ๋ฌธ์ œ ์„ค๋ช… ์ง€๋„๊ฐœ๋ฐœํŒ€์—์„œ ๊ทผ๋ฌดํ•˜๋Š” ์ œ์ด์ง€๋Š” ์ง€๋„์—์„œ ๋„์‹œ ์ด๋ฆ„์„ ๊ฒ€์ƒ‰ํ•˜๋ฉด ํ•ด๋‹น ๋„์‹œ์™€ ๊ด€๋ จ๋œ ๋ง›์ง‘ ๊ฒŒ์‹œ๋ฌผ๋“ค์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ฝ์–ด ๋ณด์—ฌ์ฃผ๋Š” ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ๋‹ค.์ด ํ”„๋กœ๊ทธ๋žจ์˜ ํ…Œ์ŠคํŒ… ์—…๋ฌด๋ฅผ ๋‹ด๋‹นํ•˜๊ณ  ์žˆ๋Š” ์–ดํ”ผ์น˜๋Š” ์„œ๋น„์Šค๋ฅผ ์˜คํ”ˆํ•˜๊ธฐ ์ „ ๊ฐ ๋กœ์ง์— ๋Œ€ํ•œ ์„ฑ๋Šฅ ์ธก์ •์„ ์ˆ˜ํ–‰ํ•˜์˜€๋Š”๋ฐ, ์ œ์ด์ง€๊ฐ€ ์ž‘์„ฑํ•œ ๋ถ€๋ถ„ ์ค‘ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๊ฒŒ์‹œ๋ฌผ์„ ๊ฐ€์ ธ์˜ค๋Š” ๋ถ€๋ถ„์˜ ์‹คํ–‰์‹œ๊ฐ„์ด..
[๋ฐฑ์ค€] 18870. ์ขŒํ‘œ ์••์ถ•/Python - Silver2
ยท
Coding Test/Algorithms
โ“๋ฌธ์ œhttps://www.acmicpc.net/problem/18870์„ฑ๋Šฅ ์š”์•ฝ๋ฉ”๋ชจ๋ฆฌ: 149248 KB, ์‹œ๊ฐ„: 1824 ms๋ถ„๋ฅ˜๊ฐ’ / ์ขŒํ‘œ ์••์ถ•, ์ •๋ ฌ ๋ฌธ์ œ ์„ค๋ช…์ˆ˜์ง์„  ์œ„์— N๊ฐœ์˜ ์ขŒํ‘œ X1, X2, ..., XN์ด ์žˆ๋‹ค. ์ด ์ขŒํ‘œ์— ์ขŒํ‘œ ์••์ถ•์„ ์ ์šฉํ•˜๋ ค๊ณ  ํ•œ๋‹ค.Xi๋ฅผ ์ขŒํ‘œ ์••์ถ•ํ•œ ๊ฒฐ๊ณผ X'i์˜ ๊ฐ’์€ Xi > Xj๋ฅผ ๋งŒ์กฑํ•˜๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์ขŒํ‘œ Xj์˜ ๊ฐœ์ˆ˜์™€ ๊ฐ™์•„์•ผ ํ•œ๋‹ค.X1, X2, ..., XN์— ์ขŒํ‘œ ์••์ถ•์„ ์ ์šฉํ•œ ๊ฒฐ๊ณผ X'1, X'2, ..., X'N๋ฅผ ์ถœ๋ ฅํ•ด๋ณด์ž.โœ๐Ÿปํ’€์ด๋ฌธ์ œ๋ฅผ ์ฝ์–ด๋ณด๋ฉด Xi > Xj๋ฅผ ๋งŒ์กฑํ•˜๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์ขŒํ‘œ Xj์˜ ๊ฐœ์ˆ˜๊ฐ€ Xi'๊ณผ ๊ฐ™๋‹ค๊ณ  ํ•œ๋‹ค. ์ •๋ง ๋‹จ์ˆœํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๋ฉด ์ด์ค‘๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ํ’€ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๊ฒฝ์šฐ ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ ์ตœ์•…์˜ ๊ฒฝ์šฐ O(N²)์œผ๋กœ N์ด ์ตœ๋Œ€ 1,000,..
[GCP] Service Account ์ƒ์„ฑ
ยท
GCP
๊ฐ„๋‹จํ•˜๊ฒŒ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ terraform์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธํ”„๋ผ๋ฅผ ์ฝ”๋“œ๋กœ ๊ด€๋ฆฌํ•  ๊ฒƒ์ด๋‹ค. ๋‹ค๋งŒ ์ด ๋•Œ, ์„œ๋น„์Šค ๊ณ„์ •์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ์ด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ฒ ๋‹ค. ์šฐ์„  Service Account๋Š” ๋ฌด์—‡์ผ๊นŒ?Service Account๋ž€?Service Account๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ์•„๋‹Œ Compute Engine ์ธ์Šคํ„ด์Šค์™€ ๊ฐ™์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋˜๋Š” ์ปดํ“จํŒ… ์›Œํฌ๋กœ๋“œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํŠน๋ณ„ํ•œ ์œ ํ˜•์˜ ๊ณ„์ •์ด๋‹ค. ์„œ๋น„์Šค ๊ณ„์ •์€ ๊ณ„์ • ๊ณ ์œ ์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋กœ ์‹๋ณ„๋œ๋‹ค.์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์„œ๋น„์Šค ๊ณ„์ •์„ ์‚ฌ์šฉํ•ด ์ธ์ฆ๋œ API ํ˜ธ์ถœ์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ, ์ด ์ธ์ฆ์€ ์„œ๋น„์Šค ๊ณ„์ • ์ž์ฒด๋กœ ์ด๋ฃจ์–ด์ง€๊ฑฐ๋‚˜  Google Workspace ๋˜๋Š” ๋„๋ฉ”์ธ ์ „์ฒด ์œ„์ž„์„ ํ†ตํ•ด Cloud ID ์‚ฌ์šฉ์ž๋กœ์„œ ์ด๋ฃจ์–ด์ง„๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์„œ๋น„์Šค ๊ณ„์ •์œผ๋กœ ์ธ์ฆ๋˜๋ฉด ์„œ๋น„์Šค ..
[CS] Framing
ยท
Computer Science/Network
Framing์ด๋ž€?ํ”„๋ ˆ์ž„์€ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ์™€ ํ†ต์‹ ์—์„œ ๋””์ง€ํ„ธ ์ „์†ก ๋‹จ์œ„์ด๋‹ค. ํ”„๋ ˆ์ž„์€ ์‹œ๋ถ„ํ•  ๋‹ค์ค‘ํ™” ํ”„๋กœ์„ธ์Šค์—์„œ ์ง€์†์ ์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.ํ”„๋ ˆ์ด๋ฐ์€ ๋‘ ์ปดํ“จํ„ฐ ๋˜๋Š” ์žฅ์น˜ ๊ฐ„์˜ ์ง€์  ๊ฐ„ ์—ฐ๊ฒฐ๋กœ, ๋ฐ์ดํ„ฐ๊ฐ€ ๋น„ํŠธ ์ŠคํŠธ๋ฆผ์œผ๋กœ ์ „์†ก๋˜๋Š” ์™€์ด์–ด๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ๋น„ํŠธ๋Š” ์‹๋ณ„ ๊ฐ€๋Šฅํ•œ ์ •๋ณด ๋ธ”๋ก์œผ๋กœ ํ”„๋ ˆ์ด๋ฐ๋˜์–ด์•ผ ํ•œ๋‹ค. ํ”„๋ ˆ์ด๋ฐ์€ ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต์˜ ๊ธฐ๋Šฅ์ด๋‹ค. ์†ก์‹ ์ž๊ฐ€ ์ˆ˜์‹ ์ž์—๊ฒŒ ์˜๋ฏธ ์žˆ๋Š” ๋น„ํŠธ ์„ธํŠธ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค. ์ด๋”๋„ท, ํ† ํฐ ๋ง, ํ”„๋ ˆ์ž„ ๋ฆด๋ ˆ์ด ๋ฐ ๊ธฐํƒ€ ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต ๊ธฐ์ˆ ์—๋Š” ๊ณ ์œ ํ•œ ํ”„๋ ˆ์ž„ ๊ตฌ์กฐ๊ฐ€ ์žˆ๋‹ค. ํ”„๋ ˆ์ž„์—๋Š” ์˜ค๋ฅ˜ ๊ฒ€์‚ฌ ์ฝ”๋“œ์™€ ๊ฐ™์€ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ํ—ค๋”๊ฐ€ ์žˆ๋‹ค.๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต์—์„œ๋Š” ์†ก์‹ ์ž๋กœ๋ถ€ํ„ฐ ๋ฉ”์‹œ์ง€๋ฅผ ์ถ”์ถœํ•˜์—ฌ ์†ก์‹ ์ž์™€ ์ˆ˜์‹ ์ž์˜ ์ฃผ์†Œ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์ˆ˜์‹ ์ž์—๊ฒŒ ์ œ๊ณตํ•œ๋‹ค. ํ”„๋ ˆ์ž„์„ ์‚ฌ์šฉํ•˜..
[Github] Notion API์™€ Github Actions๋ฅผ ์ด์šฉํ•ด Github์— ์˜ฌ๋ฆฌ๊ธฐ
ยท
ETC
๋‚˜๋Š” ์ฃผ๋กœ ๋ญ”๊ฐ€๋ฅผ ์ •๋ฆฌํ•  ๋•Œ๋Š” ๋…ธ์…˜์„ ์ด์šฉํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด๊ฑธ ๋งค๋ฒˆ ์ผ์ผํžˆ ๋งˆํฌ๋‹ค์šด์œผ๋กœ ๋‹ค์šด๋ฐ›์•„์„œ Github์— ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์€ ๋งค์šฐ ๋ฒˆ๊ฑฐ๋กญ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ๋‹ค์šด๋ฐ›์„ ๋•Œ ํŒŒ์ผ๋ช…์ด ๊นจ์ ธ์„œ ๋ฐ›์•„์ง„๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๊ทธ๊ฑธ ๋˜ ์ผ์ผํžˆ ๋ฐ”๊ฟ”์•ผ ํ•˜๋Š”๋ฐ..๋‚˜๋Š” ์ƒ๋‹นํžˆ ๋น„ํšจ์œจ์ ์ธ ๊ฒƒ์„ ์‹ซ์–ดํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ณด์•˜๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์˜ค๋Š˜์€ Github Acitons๋ฅผ ์ด์šฉํ•ด์„œ Github์— ์˜ฌ๋ฆฌ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ฒ ๋‹ค.1. Notion API๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ Integration ์ƒ์„ฑ.https://developers.notion.com/ Notion API developers.notion.com๋จผ์ €, Notion API ํŽ˜์ด์ง€์—์„œ ์ƒˆ Integration์„ ์ƒ์„ฑํ•œ๋‹ค. ๋‚˜๋Š” ํ”„๋ผ์ด๋น—์œผ๋กœ ์„ค์ •ํ•˜์˜€๋‹ค. ์ €์žฅํ•˜๋ฉด ํ† ํฐ์ด ์ƒ๊ธธ ๊ฒƒ์ด๋‹ค. ํ•ด๋‹น ํ† ..