Study Decks

์Šคํ„ฐ๋”” ์ž๋ฃŒ

์ฃผ์ œ๋ณ„ ์Šฌ๋ผ์ด๋“œ ๋ฑ ๋ชจ์Œ โ€” ์นด๋“œ๋ฅผ ํด๋ฆญํ•˜๋ฉด ์Šฌ๋ผ์ด๋“œ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

CKA โ€” Kubernetes ๊ด€๋ฆฌ์ž ์‹œํ—˜ ๋Œ€๋น„

์ปค๋ฆฌํ˜๋Ÿผ 5๊ฐœ ๋„๋ฉ”์ธ์„ "๋ฌด์—‡์ด ์‹ค์ œ๋กœ ์ผ์–ด๋‚˜๋Š”๊ฐ€"๋กœ ๊ด€ํ†ตํ•˜๋Š” Kubernetes ์ •๋ฆฌ โ€” ๊ฐœ๋…ยท๋ช…๋ นยทํ•จ์ •ยท์‹œํ—˜ ํฌ์ธํŠธ

0. ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ยท 1. CKA ์‹œํ—˜ ํ•ด๋ถ€ ยท 2. ํด๋Ÿฌ์Šคํ„ฐ ์•„ํ‚คํ…์ฒ˜ +18

๋ชฉ์ฐจ
โ–ธ 0. ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— 8
  1. 3์ด ๋ฑ์ด ํ•˜๋ ค๋Š” ๊ฒƒ
  2. 4๋Œ€์ƒ ๋…์ž
  3. 5๋ฑ์˜ ๊ตฌ์„ฑ โ€” ์ปค๋ฆฌํ˜๋Ÿผ ๋„๋ฉ”์ธ์— ๋งž์ถฐ ์ •๋ ฌํ–ˆ๋‹ค
  4. 6์ด ๋ฑ ์ „์ฒด๋ฅผ ๊ด€ํ†ตํ•˜๋Š” ํ•œ ๋ฌธ์žฅ
  5. 7ํ‘œ๊ธฐ ์•ฝ์†
  6. 8์‹ค์Šต ํ™˜๊ฒฝ์€ ๋”ฐ๋กœ ์ค€๋น„ํ•˜์ž
  7. 9์ด ๋ฑ์˜ ์ •๋ณด ๊ธฐ์ค€ ์‹œ์ 
  8. 100์žฅ ์š”์•ฝ
โ–ธ 1. CKA ์‹œํ—˜ ํ•ด๋ถ€ 13
  1. 12CKA๋Š” ์–ด๋–ค ์‹œํ—˜์ธ๊ฐ€
  2. 13๋„๋ฉ”์ธ๊ณผ ๋ฐฐ์ 
  3. 14๋„๋ฉ”์ธ๋ณ„ ์‹ค์ œ ์ถœ์ œ ํ•ญ๋ชฉ (์ปค๋ฆฌํ˜๋Ÿผ ์›๋ฌธ ์ •๋ฆฌ)
  4. 15์ปค๋ฆฌํ˜๋Ÿผ์—์„œ ์ฝ์–ด์•ผ ํ•  ์‹ ํ˜ธ
  5. 16์‹œํ—˜ ํ™˜๊ฒฝ์— ์ด๋ฏธ ์ค€๋น„๋œ ๊ฒƒ๋“ค
  6. 17ํ„ฐ๋ฏธ๋„์—์„œ ์•Œ์•„๋‘˜ ์กฐ์ž‘
  7. 18vim ์ตœ์†Œ ์„ธํŠธ
  8. 19์—ด์–ด๋†“์„ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์„œ
  9. 20๊ณต์‹ ๋ฌธ์„œ์—์„œ ์ž์ฃผ ํผ์˜ค๋Š” ํŽ˜์ด์ง€
  10. 21์ฑ„์ ์€ ๊ฒฐ๊ณผ๋งŒ ๋ณธ๋‹ค
  11. 22์‹œ๊ฐ„ ๋ฐฐ๋ถ„์ด ์ง„์งœ ์‹œํ—˜์ด๋‹ค
  12. 23์ค€๋น„ ๋กœ๋“œ๋งต
  13. 241์žฅ ์š”์•ฝ
โ–ธ 2. ํด๋Ÿฌ์Šคํ„ฐ ์•„ํ‚คํ…์ฒ˜ 21
  1. 26ํด๋Ÿฌ์Šคํ„ฐ๋Š” ๋‘ ์ธต์œผ๋กœ ๋˜์–ด ์žˆ๋‹ค
  2. 27์ „์ฒด ๊ทธ๋ฆผ
  3. 28kube-apiserver โ€” ์œ ์ผํ•œ ๊ด€๋ฌธ
  4. 29etcd โ€” ์œ ์ผํ•œ ์ €์žฅ์†Œ
  5. 30kube-scheduler โ€” ์ž๋ฆฌ๋ฅผ ์ •ํ•  ๋ฟ์ด๋‹ค
  6. 31kube-controller-manager โ€” ๋ฃจํ”„๋“ค์˜ ๋ชจ์Œ
  7. 32kubelet โ€” ๋…ธ๋“œ์˜ ๋Œ€๋ฆฌ์ธ
  8. 33kube-proxy โ€” Service๋ฅผ ๋…ธ๋“œ์˜ ๊ทœ์น™์œผ๋กœ ๋ฒˆ์—ญํ•œ๋‹ค
  9. 34์ปจํ…Œ์ด๋„ˆ ๋Ÿฐํƒ€์ž„ (CRI)
  10. 35์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์€ ์–ด๋–ป๊ฒŒ ๋–  ์žˆ๋‚˜ โ€” ์Šคํƒœํ‹ฑ Pod
  11. 36์Šคํƒœํ‹ฑ Pod์˜ ํŠน์ง•
  12. 37์š”์ฒญ ํ•˜๋‚˜๊ฐ€ ์ง€๋‚˜๊ฐ€๋Š” ๊ธธ
  13. 38์ €์žฅ๋œ ๋‹ค์Œ โ€” ์ปจํŠธ๋กค๋Ÿฌ๋“ค์˜ ๋ฆด๋ ˆ์ด
  14. 39์˜ค๋ธŒ์ ํŠธ์˜ ๊ณตํ†ต ๊ตฌ์กฐ
  15. 40API ๊ทธ๋ฃน๊ณผ ๋ฆฌ์†Œ์Šค ํƒ์ƒ‰
  16. 41๋„ค์ž„์ŠคํŽ˜์ด์Šค
  17. 42๋ผ๋ฒจ๊ณผ ์…€๋ ‰ํ„ฐ โ€” ์—ฐ๊ฒฐ์˜ ์ ‘์ฐฉ์ œ
  18. 43ํ•„๋“œ ์…€๋ ‰ํ„ฐ์™€ ์†Œ์œ  ๊ด€๊ณ„
  19. 44๋…ธ๋“œ ์‚ดํŽด๋ณด๊ธฐ
  20. 45ํŒŒ์ผ์ด ์–ด๋”” ์žˆ๋Š”์ง€ โ€” ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…์˜ ์ง€๋„
  21. 462์žฅ ์š”์•ฝ
โ–ธ 3. kubectl โ€” ์† ์†๋„๊ฐ€ ์ ์ˆ˜๋‹ค 16
  1. 48kubectl์€ ๋ฌด์—‡์ธ๊ฐ€
  2. 49kubeconfig ๊ตฌ์กฐ โ€” ์„ธ ๋ฉ์–ด๋ฆฌ + ์กฐํ•ฉ
  3. 50์ปจํ…์ŠคํŠธ ๋‹ค๋ฃจ๊ธฐ
  4. 51์ถœ๋ ฅ์„ ๋‹ค๋ฃจ๋Š” ๋ฒ•
  5. 52์ •๋ ฌ๊ณผ ํ•„๋“œ ์ถ”์ถœ
  6. 53describe vs get -o yaml
  7. 54๋ช…๋ นํ˜• vs ์„ ์–ธํ˜•
  8. 55์ƒ์„ฑ๊ธฐ(generator) โ€” ์‹œํ—˜์˜ ํ•ต์‹ฌ ๋ฌด๊ธฐ
  9. 56dry-run โ€” ๋ช…๋ นํ˜•์œผ๋กœ YAML์„ ๋ฝ‘๋Š”๋‹ค
  10. 57์ˆ˜์ •ํ•˜๋Š” ๋„ค ๊ฐ€์ง€ ๋ฐฉ๋ฒ•
  11. 58apply๊ฐ€ ํ•˜๋Š” ์ผ โ€” 3-way merge
  12. 59์‚ญ์ œ
  13. 60๋กœ๊ทธ โ€” ์ปค๋ฆฌํ˜๋Ÿผ์˜ "์ปจํ…Œ์ด๋„ˆ ์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ"
  14. 61exec ยท cp ยท port-forward
  15. 62์ด๋ฒคํŠธ โ€” ์‹œ๊ฐ„์ˆœ์œผ๋กœ ๋ณด๋Š” ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ผ๊ธฐ
  16. 633์žฅ ์š”์•ฝ
โ–ธ 4. Pod โ€” ๋ฐฐํฌ์˜ ์ตœ์†Œ ๋‹จ์œ„ 22
  1. 65Pod์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€
  2. 66Pod ์•ˆ์—์„œ ๊ณต์œ ๋˜๋Š” ๊ฒƒ
  3. 67pause ์ปจํ…Œ์ด๋„ˆ โ€” ๋ณด์ด์ง€ ์•Š๋Š” ์„ธ ๋ฒˆ์งธ ์ปจํ…Œ์ด๋„ˆ
  4. 68Pod ๋งค๋‹ˆํŽ˜์ŠคํŠธ
  5. 69command์™€ args โ€” Dockerfile๊ณผ์˜ ๋Œ€์‘
  6. 70๋ฉ€ํ‹ฐ ์ปจํ…Œ์ด๋„ˆ ํŒจํ„ด
  7. 71initContainers โ€” ์•ฑ๋ณด๋‹ค ๋จผ์ € ๋๋‚˜์•ผ ํ•˜๋Š” ์ผ
  8. 72๋„ค์ดํ‹ฐ๋ธŒ ์‚ฌ์ด๋“œ์นด (Kubernetes v1.33 GA)
  9. 73Pod์˜ phase
  10. 74์ปจํ…Œ์ด๋„ˆ ์ƒํƒœ โ€” ์ง„์งœ ์ •๋ณด๋Š” ์—ฌ๊ธฐ ์žˆ๋‹ค
  11. 75restartPolicy
  12. 76CrashLoopBackOff์˜ ์ •์ฒด
  13. 77ํ”„๋กœ๋ธŒ(probe) โ€” kubelet์ด ๋˜์ง€๋Š” ์งˆ๋ฌธ
  14. 78ํ”„๋กœ๋ธŒ์˜ ๋„ค ๊ฐ€์ง€ ๋ฐฉ์‹
  15. 79ํ”„๋กœ๋ธŒ ํŒŒ๋ผ๋ฏธํ„ฐ ์ฝ๋Š” ๋ฒ•
  16. 80์ข…๋ฃŒ ํ๋ฆ„ โ€” Pod์ด ์ฃฝ์„ ๋•Œ ๋ฒŒ์–ด์ง€๋Š” ์ผ
  17. 81lifecycle ํ›…
  18. 82ํ™˜๊ฒฝ๋ณ€์ˆ˜ โ€” ๊ฐ’์„ ๋„ฃ๋Š” ์—ฌ๋Ÿฌ ๊ฒฝ๋กœ
  19. 83securityContext
  20. 84์Šคํƒœํ‹ฑ Pod ๋งŒ๋“ค๊ธฐ โ€” ์‹œํ—˜ ๋‹จ๊ณจ
  21. 85๋ฆฌ์†Œ์Šค in-place ๋ณ€๊ฒฝ (Kubernetes v1.35 GA)
  22. 864์žฅ ์š”์•ฝ
โ–ธ 5. ์›Œํฌ๋กœ๋“œ ์ปจํŠธ๋กค๋Ÿฌ 23
  1. 88์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ํ•„์š”ํ•œ ์ด์œ 
  2. 89์–ด๋–ค ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์“ธ ๊ฒƒ์ธ๊ฐ€
  3. 90ReplicaSet โ€” ๊ฐœ์ˆ˜๋ฅผ ๋งž์ถ”๋Š” ๋ฃจํ”„
  4. 91ReplicaSet์˜ ๋ฌด์„œ์šด ์„ฑ์งˆ
  5. 92Deployment โ€” ReplicaSet ์œ„์˜ ๋กค์•„์›ƒ ๊ด€๋ฆฌ์ž
  6. 93Deployment ๋งŒ๋“ค๊ธฐ
  7. 94๋กค๋ง ์—…๋ฐ์ดํŠธ์˜ ๋‘ ์†์žก์ด
  8. 95๋กค์•„์›ƒ ๋‹ค๋ฃจ๊ธฐ
  9. 96๋ฆฌ๋น„์ „๊ณผ change-cause
  10. 97์Šค์ผ€์ผ๋ง
  11. 98DaemonSet โ€” ๋…ธ๋“œ๋งˆ๋‹ค ํ•˜๋‚˜์”ฉ
  12. 99DaemonSet์˜ ๋ฐฐ์น˜ ์ œ์–ด
  13. 100StatefulSet โ€” ์‹ ์›์ด ์žˆ๋Š” Pod
  14. 101StatefulSet์ด ์ฃผ๋Š” ์„ธ ๊ฐ€์ง€ ๋ณด์žฅ
  15. 102headless Service์™€ ์•ˆ์ •์ ์ธ DNS
  16. 103StatefulSet ์—…๋ฐ์ดํŠธ์™€ ์Šค์ผ€์ผ
  17. 104Job โ€” ๋๋‚˜๋Š” ์ž‘์—…
  18. 105Job ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์‹ค์ œ๋กœ ๋œปํ•˜๋Š” ๊ฒƒ
  19. 106CronJob โ€” ์ผ์ •์— ๋”ฐ๋ผ Job์„ ๋งŒ๋“ ๋‹ค
  20. 107CronJob์—์„œ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๊ฒƒ๋“ค
  21. 108PodDisruptionBudget โ€” ์ž๋ฐœ์  ์ค‘๋‹จ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธ
  22. 109์ž๊ฐ€์น˜์œ ๋Š” ์–ด๋””๊นŒ์ง€ ๋˜๋‚˜
  23. 1105์žฅ ์š”์•ฝ
โ–ธ 6. ์„ค์ •๊ณผ ๋ฆฌ์†Œ์Šค 16
  1. 112์„ค์ •์„ ์ด๋ฏธ์ง€์—์„œ ๋ถ„๋ฆฌํ•˜๋Š” ์ด์œ 
  2. 113ConfigMap ๋งŒ๋“ค๊ธฐ
  3. 114ConfigMap ๋งค๋‹ˆํŽ˜์ŠคํŠธ
  4. 115์ฃผ์ž… ๋ฐฉ์‹ 1 โ€” ๊ฐœ๋ณ„ ํ™˜๊ฒฝ๋ณ€์ˆ˜
  5. 116์ฃผ์ž… ๋ฐฉ์‹ 2 โ€” ์ „๋ถ€ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋กœ
  6. 117์ฃผ์ž… ๋ฐฉ์‹ 3 โ€” ๋ณผ๋ฅจ์œผ๋กœ ๋งˆ์šดํŠธ
  7. 118subPath โ€” ํŒŒ์ผ ํ•˜๋‚˜๋งŒ ์–น๊ธฐ
  8. 119Secret โ€” ConfigMap๊ณผ ๋ฌด์—‡์ด ๋‹ค๋ฅธ๊ฐ€
  9. 120base64๋Š” ์•”ํ˜ธํ™”๊ฐ€ ์•„๋‹ˆ๋‹ค
  10. 121imagePullSecrets
  11. 122requests์™€ limits
  12. 123CPU์™€ ๋ฉ”๋ชจ๋ฆฌ์˜ ๋‹จ์œ„
  13. 124QoS ํด๋ž˜์Šค โ€” ๋ˆ„๊ฐ€ ๋จผ์ € ์ซ“๊ฒจ๋‚˜๋Š”๊ฐ€
  14. 125LimitRange โ€” ๋„ค์ž„์ŠคํŽ˜์ด์Šค์˜ ๊ธฐ๋ณธ๊ฐ’๊ณผ ์ƒํ•œ
  15. 126ResourceQuota โ€” ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์ด๋Ÿ‰ ์ œํ•œ
  16. 1276์žฅ ์š”์•ฝ
โ–ธ 7. ์Šค์ผ€์ค„๋ง 17
  1. 129์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ํ•˜๋Š” ์ผ โ€” ๋‹ค์‹œ
  2. 130๋ฐฐ์น˜๋ฅผ ์ œ์–ดํ•˜๋Š” ๋„๊ตฌ๋“ค
  3. 131nodeName โ€” ์Šค์ผ€์ค„๋Ÿฌ ๊ฑด๋„ˆ๋›ฐ๊ธฐ
  4. 132nodeSelector โ€” ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ๋ฐฉ๋ฒ•
  5. 133nodeAffinity โ€” ํ‘œํ˜„๋ ฅ ์žˆ๋Š” ๋ฒ„์ „
  6. 134๊ธด ์ด๋ฆ„ ์ฝ๋Š” ๋ฒ•๊ณผ ์—ฐ์‚ฐ์ž
  7. 135podAffinity / podAntiAffinity
  8. 136taint โ€” ๋…ธ๋“œ๊ฐ€ Pod์„ ๋ฐ€์–ด๋‚ธ๋‹ค
  9. 137toleration
  10. 138์‹œ์Šคํ…œ์ด ์ž๋™์œผ๋กœ ๋ถ™์ด๋Š” taint
  11. 139cordon ยท drain ยท uncordon
  12. 140topologySpreadConstraints โ€” ๊ท ๋“ฑ ๋ถ„์‚ฐ
  13. 141PriorityClass์™€ ์„ ์ (preemption)
  14. 142์—ฌ๋Ÿฌ ์Šค์ผ€์ค„๋Ÿฌ ์“ฐ๊ธฐ
  15. 143Pod admission โ€” Pod Security Admission
  16. 144์Šค์ผ€์ค„๋ง ์‹คํŒจ ์ง„๋‹จ ์ˆœ์„œ
  17. 1457์žฅ ์š”์•ฝ
โ–ธ 8. ์˜คํ† ์Šค์ผ€์ผ๋ง 11
  1. 147์„ธ ๊ฐ€์ง€ ์˜คํ† ์Šค์ผ€์ผ๋ง
  2. 148metrics-server๊ฐ€ ๋จผ์ €๋‹ค
  3. 149๋ฉ”ํŠธ๋ฆญ์€ ์–ด๋””์„œ ์˜ค๋Š”๊ฐ€
  4. 150HPA ๋งŒ๋“ค๊ธฐ
  5. 151HPA๊ฐ€ ๊ฐœ์ˆ˜๋ฅผ ์ •ํ•˜๋Š” ๋ฐฉ์‹
  6. 152HPA ์ƒํƒœ ์ฝ๊ธฐ
  7. 153์—ฌ๋Ÿฌ ๋ฉ”ํŠธ๋ฆญ ์“ฐ๊ธฐ
  8. 154behavior โ€” ํ™•์žฅยท์ถ•์†Œ ์†๋„ ์ œ์–ด
  9. 155VPA์™€ Cluster Autoscaler
  10. 156HPA์—์„œ ์ž์ฃผ ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ๋“ค
  11. 1578์žฅ ์š”์•ฝ
โ–ธ 9. Service 17
  1. 159Service๊ฐ€ ํ•„์š”ํ•œ ์ด์œ 
  2. 160Service์˜ ์ •์ฒด โ€” ๊ฐ€์ƒ IP์™€ ์ปค๋„ ๊ทœ์น™
  3. 161Service ํƒ€์ž… ๋„ค ๊ฐ€์ง€
  4. 162ClusterIP
  5. 163targetPort๋Š” ์ด๋ฆ„์œผ๋กœ๋„ ์“ธ ์ˆ˜ ์žˆ๋‹ค
  6. 164์…€๋ ‰ํ„ฐ์™€ ์—”๋“œํฌ์ธํŠธ โ€” ์‹ค์ œ ์—ฐ๊ฒฐ์˜ ์‹ค์ฒด
  7. 165EndpointSlice โ€” Endpoints์˜ ํ›„๊ณ„์ž
  8. 166NodePort
  9. 167LoadBalancer์™€ ExternalName
  10. 168์…€๋ ‰ํ„ฐ ์—†๋Š” Service โ€” ์™ธ๋ถ€๋ฅผ ํด๋Ÿฌ์Šคํ„ฐ ์ด๋ฆ„์œผ๋กœ
  11. 169headless Service
  12. 170kube-proxy ๋ชจ๋“œ
  13. 171sessionAffinity์™€ externalTrafficPolicy
  14. 172์—ฌ๋Ÿฌ ํฌํŠธ๋ฅผ ๊ฐ€์ง„ Service
  15. 173Service ์ง„๋‹จ ์ ˆ์ฐจ
  16. 174์–ด๋””์„œ ๋Š๊ฒผ๋Š”์ง€ ํŒ๋ณ„ํ•˜๊ธฐ
  17. 1759์žฅ ์š”์•ฝ
โ–ธ 10. ํด๋Ÿฌ์Šคํ„ฐ DNS 9
  1. 177CoreDNS๋Š” ์–ด๋””์— ์žˆ๋‚˜
  2. 178์ด๋ฆ„ ๊ทœ์น™
  3. 179Pod ์•ˆ์˜ resolv.conf
  4. 180dnsPolicy์™€ dnsConfig
  5. 181Corefile โ€” CoreDNS ์„ค์ •
  6. 182ํŠน์ • ๋„๋ฉ”์ธ์„ ๋‹ค๋ฅธ ๊ณณ์œผ๋กœ ๋ณด๋‚ด๊ธฐ
  7. 183DNS ์ง„๋‹จ
  8. 184DNS ์ฆ์ƒ๋ณ„ ์›์ธ
  9. 18510์žฅ ์š”์•ฝ
โ–ธ 11. Ingress์™€ Gateway API 17
  1. 187Service๋งŒ์œผ๋กœ๋Š” ๋ถ€์กฑํ•œ ์ด์œ 
  2. 188Ingress = ๋ฆฌ์†Œ์Šค + ์ปจํŠธ๋กค๋Ÿฌ
  3. 189Ingress ๋ฆฌ์†Œ์Šค
  4. 190pathType โ€” ์„ธ ๊ฐ€์ง€
  5. 191IngressClass โ€” ์–ด๋А ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ฒ˜๋ฆฌํ•˜๋‚˜
  6. 192Ingress TLS
  7. 193๊ธฐ๋ณธ ๋ฐฑ์—”๋“œ์™€ ์• ๋…ธํ…Œ์ด์…˜
  8. 194Gateway API โ€” Ingress์˜ ํ›„์†
  9. 195์„ธ ๊ฐœ์˜ ๋ฆฌ์†Œ์Šค์™€ ์„ธ ๊ฐœ์˜ ์—ญํ• 
  10. 196Gateway
  11. 197HTTPRoute
  12. 198๊ฐ€์ค‘์น˜ ๋ถ„๋ฐฐ์™€ ํ•„ํ„ฐ โ€” ์• ๋…ธํ…Œ์ด์…˜ ์—†์ด
  13. 199๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ๋„˜์„ ๋•Œ โ€” ReferenceGrant
  14. 200Route ์ข…๋ฅ˜๋“ค
  15. 201Ingress์—์„œ Gateway API๋กœ
  16. 202์ง„๋‹จ
  17. 20311์žฅ ์š”์•ฝ
โ–ธ 12. NetworkPolicy์™€ CNI 12
  1. 205๊ธฐ๋ณธ๊ฐ’์€ "์ „๋ถ€ ํ—ˆ์šฉ"์ด๋‹ค
  2. 206CNI โ€” ๋ˆ„๊ฐ€ ๋„คํŠธ์›Œํฌ๋ฅผ ๋งŒ๋“œ๋Š”๊ฐ€
  3. 207NetworkPolicy ๊ตฌ์กฐ
  4. 208์„ธ ๊ฐ€์ง€ ๊ทœ์น™์„ ๋จผ์ € ์™ธ์šฐ์ž
  5. 209์ „๋ถ€ ์ฐจ๋‹จํ•˜๊ธฐ
  6. 210์ถœ๋ฐœ์ง€๋ฅผ ์ง€์ •ํ•˜๋Š” ์„ธ ๊ฐ€์ง€
  7. 211๊ฐ€์žฅ ๋งŽ์ด ํ‹€๋ฆฌ๋Š” ๊ฒƒ โ€” AND์™€ OR
  8. 212egress์™€ DNS
  9. 213ํฌํŠธ ์ง€์ •๊ณผ ์ฃผ์˜์ 
  10. 214์‹ค์ „ ์˜ˆ์ œ โ€” 3๊ณ„์ธต ์•ฑ
  11. 215์ง„๋‹จ
  12. 21612์žฅ ์š”์•ฝ
โ–ธ 13. ์Šคํ† ๋ฆฌ์ง€ 20
  1. 218๋ณผ๋ฅจ์ด ํ•„์š”ํ•œ ์ด์œ 
  2. 219emptyDir โ€” Pod๊ณผ ํ•จ๊ป˜ ์‚ฌ๋Š” ์ž„์‹œ ๊ณต๊ฐ„
  3. 220hostPath โ€” ๋…ธ๋“œ์˜ ๋””๋ ‰ํ„ฐ๋ฆฌ
  4. 221PV์™€ PVC โ€” ์™œ ๋‚˜๋ˆด๋‚˜
  5. 222PersistentVolume
  6. 223PersistentVolumeClaim
  7. 224๋ฐ”์ธ๋”ฉ ๊ทœ์น™
  8. 225accessModes
  9. 226reclaimPolicy โ€” PVC๋ฅผ ์ง€์šฐ๋ฉด ๋ฐ์ดํ„ฐ๋Š”?
  10. 227PV์˜ ์ƒํƒœ
  11. 228StorageClass โ€” ๋™์  ํ”„๋กœ๋น„์ €๋‹
  12. 229volumeBindingMode โ€” ์–ธ์ œ ๋ฌถ์„ ๊ฒƒ์ธ๊ฐ€
  13. 230๋ณผ๋ฅจ ํ™•์žฅ
  14. 231StatefulSet๊ณผ volumeClaimTemplates
  15. 232CSI โ€” ์Šคํ† ๋ฆฌ์ง€ ํ™•์žฅ ์ธํ„ฐํŽ˜์ด์Šค
  16. 233์„ค์ •์„ ๋‹ด๋Š” ๋ณผ๋ฅจ๋“ค
  17. 234์ง„๋‹จ ์ ˆ์ฐจ
  18. 235RWO ๋ณผ๋ฅจ + Deployment์˜ ํ•จ์ •
  19. 236์ •์  ํ”„๋กœ๋น„์ €๋‹ ์‹ค์Šต ํ๋ฆ„
  20. 23713์žฅ ์š”์•ฝ
โ–ธ 14. ์ธ์ฆ ยท ์ธ๊ฐ€ ยท RBAC 20
  1. 239์š”์ฒญ์ด ํ†ต๊ณผํ•ด์•ผ ํ•˜๋Š” ์„ธ ๊ด€๋ฌธ
  2. 240์ธ์ฆ ๋ฐฉ์‹๋“ค
  3. 241์‚ฌ์šฉ์ž ์ธ์ฆ์„œ ๋งŒ๋“ค๊ธฐ (CSR API)
  4. 242kubeconfig์— ๋“ฑ๋กํ•˜๊ธฐ
  5. 243ServiceAccount โ€” Pod์˜ ์‹ ์›
  6. 244SA ํ† ํฐ์˜ ํ˜„์žฌ ๋ฐฉ์‹
  7. 245RBAC์˜ ๋„ค ๋ฆฌ์†Œ์Šค
  8. 246Role
  9. 247verbs์™€ apiGroups
  10. 248ํ•˜์œ„ ๋ฆฌ์†Œ์Šค๋ฅผ ์žŠ์ง€ ๋ง ๊ฒƒ
  11. 249RoleBinding
  12. 250ClusterRole๊ณผ ClusterRoleBinding
  13. 251์กฐํ•ฉ โ€” ์ด ํ‘œ๊ฐ€ ์ „๋ถ€๋‹ค
  14. 252๋‚ด์žฅ ClusterRole
  15. 253์ง‘๊ณ„ ClusterRole
  16. 254๊ถŒํ•œ ํ™•์ธํ•˜๊ธฐ
  17. 255์‹ค์ œ๋กœ ์‹คํ–‰ํ•ด๋ณด๊ธฐ
  18. 256admission ์ปจํŠธ๋กค๋Ÿฌ
  19. 257RBAC ์ง„๋‹จ ์ˆœ์„œ
  20. 25814์žฅ ์š”์•ฝ
โ–ธ 15. ํด๋Ÿฌ์Šคํ„ฐ ๋ผ์ดํ”„์‚ฌ์ดํด 22
  1. 260์ด ์žฅ์ด ์‹œํ—˜์˜ ์Šน๋ถ€์ฒ˜๋‹ค
  2. 261๋…ธ๋“œ ์ค€๋น„ โ€” kubeadm ์ด์ „์— ํ•ด์•ผ ํ•  ๊ฒƒ
  3. 262์ปจํ…Œ์ด๋„ˆ ๋Ÿฐํƒ€์ž„๊ณผ kubeadm ์„ค์น˜
  4. 263kubeadm init
  5. 264CNI ์„ค์น˜ โ€” ์ด๊ฑธ ์•ˆ ํ•˜๋ฉด ๋…ธ๋“œ๊ฐ€ NotReady
  6. 265์›Œ์ปค ๋…ธ๋“œ ์กฐ์ธ
  7. 266๋ฒ„์ „ ์Šคํ ๊ทœ์น™ โ€” ์—…๊ทธ๋ ˆ์ด๋“œ ์ˆœ์„œ์˜ ๊ทผ๊ฑฐ
  8. 267์—…๊ทธ๋ ˆ์ด๋“œ โ€” ์ฒซ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ ๋…ธ๋“œ
  9. 268์—…๊ทธ๋ ˆ์ด๋“œ โ€” kubelet๊ณผ kubectl
  10. 269์—…๊ทธ๋ ˆ์ด๋“œ โ€” ๋‚˜๋จธ์ง€ ๋…ธ๋“œ
  11. 270์—…๊ทธ๋ ˆ์ด๋“œ ์ˆœ์„œ ์š”์•ฝ โ€” ์ด๊ฒƒ๋งŒ ์™ธ์šฐ๋ฉด ๋œ๋‹ค
  12. 271์ธ์ฆ์„œ ๊ด€๋ฆฌ
  13. 272etcd ์ ‘๊ทผ ์ค€๋น„
  14. 273etcd ๋ฐฑ์—…
  15. 274etcd ๋ณต๊ตฌ
  16. 275๋ณต๊ตฌ์—์„œ ์ž์ฃผ ํ‹€๋ฆฌ๋Š” ์ง€์ 
  17. 276HA ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ โ€” ๋‘ ๊ฐ€์ง€ ํ† ํด๋กœ์ง€
  18. 277etcd ๋ฉค๋ฒ„ ๊ด€๋ฆฌ
  19. 278๋…ธ๋“œ ์ถ”๊ฐ€์™€ ์ œ๊ฑฐ
  20. 279kubelet ์„ค์ • ๋ฐ”๊พธ๊ธฐ
  21. 280ํด๋Ÿฌ์Šคํ„ฐ ๊ฑด๊ฐ• ์ ๊ฒ€ ๋ฃจํ‹ด
  22. 28115์žฅ ์š”์•ฝ
โ–ธ 16. Helm๊ณผ Kustomize 12
  1. 283์™œ ์ปค๋ฆฌํ˜๋Ÿผ์— ์žˆ๋‚˜
  2. 284Helm์˜ ๊ตฌ์„ฑ ์š”์†Œ
  3. 285Helm ๊ธฐ๋ณธ ๋ช…๋ น
  4. 286๊ฐ’ ์˜ค๋ฒ„๋ผ์ด๋“œ โ€” ์‹ค๋ฌด์˜ ํ•ต์‹ฌ
  5. 287์—…๊ทธ๋ ˆ์ด๋“œ์™€ ๋กค๋ฐฑ
  6. 288Kustomize โ€” ํ…œํ”Œ๋ฆฟ ์—†๋Š” ์ปค์Šคํ„ฐ๋งˆ์ด์ง•
  7. 289์˜ค๋ฒ„๋ ˆ์ด โ€” ์ด๋ฆ„ยท๋„ค์ž„์ŠคํŽ˜์ด์Šคยท์ด๋ฏธ์ง€ ๋ฐ”๊พธ๊ธฐ
  8. 290์˜ค๋ฒ„๋ ˆ์ด โ€” generator์™€ patch
  9. 291Kustomize ์‹คํ–‰
  10. 292generator์˜ ํ•ด์‹œ ์ ‘๋ฏธ์‚ฌ
  11. 293์–ธ์ œ ๋ฌด์—‡์„ ์“ฐ๋‚˜
  12. 29416์žฅ ์š”์•ฝ
โ–ธ 17. ํ™•์žฅ ์ธํ„ฐํŽ˜์ด์Šค์™€ ์˜คํผ๋ ˆ์ดํ„ฐ 11
  1. 296Kubernetes๋Š” ๊ป๋ฐ๊ธฐ๋‹ค
  2. 297CRI โ€” ์ปจํ…Œ์ด๋„ˆ ๋Ÿฐํƒ€์ž„
  3. 298CNI โ€” Pod ๋„คํŠธ์›Œํฌ
  4. 299CSI โ€” ์Šคํ† ๋ฆฌ์ง€
  5. 300CRD โ€” ์ƒˆ๋กœ์šด ๋ฆฌ์†Œ์Šค ๋งŒ๋“ค๊ธฐ
  6. 301CRD๋ฅผ ๋งŒ๋“ค๋ฉด ๋ฌด์Šจ ์ผ์ด ์ƒ๊ธฐ๋‚˜
  7. 302์˜คํผ๋ ˆ์ดํ„ฐ โ€” CRD + ์ปจํŠธ๋กค๋Ÿฌ
  8. 303์˜คํผ๋ ˆ์ดํ„ฐ ์„ค์น˜์™€ ํ™•์ธ
  9. 304CRD ๋‹ค๋ฃฐ ๋•Œ ์ฃผ์˜์ 
  10. 305๊ทธ ๋ฐ–์˜ ํ™•์žฅ ์ง€์ 
  11. 30617์žฅ ์š”์•ฝ
โ–ธ 18. ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… 26
  1. 308์ง„๋‹จ์˜ ์›์น™
  2. 309์ธต์„ ๊ฐ€๋ฅด๋Š” ์„ธ ๊ฐ€์ง€ ์งˆ๋ฌธ
  3. 310๋„๊ตฌ ์ง€๋„
  4. 311Pod ์ƒํƒœ๋ณ„ ์ง„๋‹จ โ€” ์ „์ฒด ์ง€๋„
  5. 312Pending
  6. 313ImagePullBackOff
  7. 314CrashLoopBackOff
  8. 315OOMKilled
  9. 316ContainerCreating์—์„œ ๋ฉˆ์ถค
  10. 317Running์ธ๋ฐ Ready๊ฐ€ ์•„๋‹ˆ๋‹ค (0/1)
  11. 318Terminating์ด ๋๋‚˜์ง€ ์•Š๋Š”๋‹ค
  12. 319๋กœ๊ทธ ๋‹ค๋ฃจ๊ธฐ โ€” ์ปค๋ฆฌํ˜๋Ÿผ์˜ "์ปจํ…Œ์ด๋„ˆ ์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ"
  13. 320๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ๋Ÿ‰ ๋ชจ๋‹ˆํ„ฐ๋ง
  14. 321๋…ธ๋“œ๊ฐ€ NotReady
  15. 322kubelet์ด ์•ˆ ๋œฌ๋‹ค โ€” ์ฒดํฌ๋ฆฌ์ŠคํŠธ
  16. 323kubectl์ด ์•„์˜ˆ ์•ˆ ๋œ๋‹ค
  17. 324API ์„œ๋ฒ„๊ฐ€ ์•ˆ ๋œจ๋Š” ์ „ํ˜•์  ์›์ธ
  18. 325์Šค์ผ€์ค„๋Ÿฌ ยท ์ปจํŠธ๋กค๋Ÿฌ ๋งค๋‹ˆ์ €๊ฐ€ ์ฃฝ์—ˆ์„ ๋•Œ
  19. 326etcd ๋ฌธ์ œ
  20. 327๋„คํŠธ์›Œํ‚น ์ง„๋‹จ โ€” ์•ˆ์—์„œ ๋ฐ–์œผ๋กœ
  21. 328๋„คํŠธ์›Œํ‚น ์ฆ์ƒ โ†’ ์›์ธ ํ‘œ
  22. 329์ธ์ฆ์„œ ๋ฌธ์ œ
  23. 330๋…ธ๋“œ ์••๋ฐ•(pressure)๊ณผ ์ถ•์ถœ
  24. 331์ข…ํ•ฉ ์‹œ๋‚˜๋ฆฌ์˜ค โ€” ์ž์ฃผ ๋‚˜์˜ค๋Š” ์œ ํ˜•
  25. 332๊ณ ์น˜๊ณ  ๋‚˜์„œ ๋ฐ˜๋“œ์‹œ ํ™•์ธํ•  ๊ฒƒ
  26. 33318์žฅ ์š”์•ฝ
โ–ธ 19. ์‹œํ—˜ ์ „๋žต๊ณผ ์น˜ํŠธ์‹œํŠธ 17
  1. 335์‹œํ—˜ ์‹œ์ž‘ 30์ดˆ ๋ฃจํ‹ด
  2. 336๋ฌธ์ œ๋งˆ๋‹ค ๋ฐ˜๋ณตํ•˜๋Š” 3๋‹จ๊ณ„
  3. 337์ƒ์„ฑ ์น˜ํŠธ์‹œํŠธ โ€” ์›Œํฌ๋กœ๋“œ
  4. 338์ƒ์„ฑ ์น˜ํŠธ์‹œํŠธ โ€” ๋„คํŠธ์›Œํฌ ยท ์„ค์ •
  5. 339์ƒ์„ฑ ์น˜ํŠธ์‹œํŠธ โ€” RBAC
  6. 340์กฐํšŒ ์น˜ํŠธ์‹œํŠธ
  7. 341์ง„๋‹จ ์น˜ํŠธ์‹œํŠธ
  8. 342ํด๋Ÿฌ์Šคํ„ฐ ์šด์˜ ์น˜ํŠธ์‹œํŠธ
  9. 343etcd ๋ฐฑ์—…ยท๋ณต๊ตฌ โ€” ํ†ต์งธ๋กœ ์™ธ์šธ ๊ฒƒ
  10. 344YAML์„ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค๊ณ  ๊ณ ์น˜๋Š” ๋ฒ•
  11. 345์ž์ฃผ ๋‚˜์˜ค๋Š” ๋ฌธ์ œ ์œ ํ˜•
  12. 346์‹œ๊ฐ„ ๊ด€๋ฆฌ
  13. 347๊ฐ€์žฅ ๋น„์‹ผ ์‹ค์ˆ˜๋“ค
  14. 348๊ฒ€์‚ฐ ์Šต๊ด€
  15. 349๊ณต์‹ ๋ฌธ์„œ์—์„œ ๋ฐ”๋กœ ๊ฐ€์ ธ์˜ฌ ๊ฒƒ๋“ค
  16. 350์‹œํ—˜ ์ „ 2์ฃผ ๊ณ„ํš
  17. 35119์žฅ ์š”์•ฝ
โ–ธ 20. ๋งˆ๋ฌด๋ฆฌ 6
  1. 353์ „์ฒด ์ง€๋„
  2. 354์žฅ๋ณ„๋กœ ๋‚จ๊ธธ ํ•œ ์ค„
  3. 355๋ฐ˜๋ณตํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ โ€” ๋”ฑ ๋‹ค์„ฏ ๊ฐ€์ง€
  4. 356์ž์ฃผ ๋˜๋Œ์•„์˜ฌ ์Šฌ๋ผ์ด๋“œ
  5. 357์‹œํ—˜ ์ดํ›„ โ€” ์‹ค๋ฌด๋กœ ๊ฐ€๋Š” ๊ธธ
  6. 358๋งˆ์ง€๋ง‰์œผ๋กœ
358 slides

ํ”„๋ก ํŠธ์—”๋“œ ์‹ค์ „ ์Šคํƒ

Next.js ยท Tailwind CSS ยท shadcn/ui โ€” ๊ฐ๊ฐ์ด ๋ฌด์—‡์„ ํ‘ธ๋Š”์ง€, ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž์‚ฐ์ด ๋˜๋Š”์ง€, ๋””์ž์ธ ์‹œ์Šคํ…œ์„ ์–ด๋–ป๊ฒŒ ์–น๋Š”์ง€

0. ์˜ค๋ฆฌ์—”ํ…Œ์ด์…˜ ยท 1. ์ง€ํ˜•๋„ ยท 2. Next.js์˜ ์‹ค์ฒด +19

๋ชฉ์ฐจ
โ–ธ 0. ์˜ค๋ฆฌ์—”ํ…Œ์ด์…˜ 8
  1. 3์ด ๋ฑ์€ ๋ˆ„๊ตฌ๋ฅผ ์œ„ํ•œ ๊ฒƒ์ธ๊ฐ€
  2. 4์ด ๋ฑ์˜ ํ•œ ๊ฐ€์ง€ ์•ฝ์†
  3. 5๋‹ค๋ฃจ๋Š” ๊ฒƒ๊ณผ ๋‹ค๋ฃจ์ง€ ์•Š๋Š” ๊ฒƒ
  4. 6์ „์ฒด ๋กœ๋“œ๋งต
  5. 7๋ฏธ๋ฆฌ ์žก์•„๋‘๋ฉด ์ข‹์€ ๋ฉ˜ํƒˆ ๋ชจ๋ธ 3๊ฐ€์ง€
  6. 8์‹ค์Šต ํ™˜๊ฒฝ ์ค€๋น„๋ฌผ
  7. 92026๋…„ 8์›” ๊ธฐ์ค€ โ€” ๋ฐ”๋€ ๊ฒƒ๋“ค
  8. 10์ž์ฃผ ๋‚˜์˜ฌ ์šฉ์–ด ๋ฏธ๋ฆฌ๋ณด๊ธฐ
โ–ธ 1. ์ง€ํ˜•๋„ 12
  1. 12๋จผ์ €: ์ด ์…‹์€ ๊ฒฝ์Ÿํ•˜์ง€ ์•Š๋Š”๋‹ค
  2. 13ํ•œ ๋ฌธ์žฅ์”ฉ
  3. 14๊ฐ๊ฐ์ด ์—†๋˜ ์‹œ์ ˆ์˜ ๊ณ ํ†ต (1) โ€” Next.js ์ด์ „
  4. 15๊ฐ๊ฐ์ด ์—†๋˜ ์‹œ์ ˆ์˜ ๊ณ ํ†ต (2) โ€” Tailwind ์ด์ „
  5. 16๊ฐ๊ฐ์ด ์—†๋˜ ์‹œ์ ˆ์˜ ๊ณ ํ†ต (3) โ€” shadcn/ui ์ด์ „
  6. 17์™œ ํ•˜ํ•„ ์ด ์กฐํ•ฉ์ธ๊ฐ€
  7. 18์ด ์กฐํ•ฉ์ด ์ •๋‹ต์ด ์•„๋‹Œ ๊ฒฝ์šฐ
  8. 19๋Œ€์•ˆ ์ง€๋„
  9. 20์‹คํ–‰ ์œ„์น˜๋ผ๋Š” ์ถ•
  10. 21์™„์„ฑ๋œ ํ™”๋ฉด ๋ฏธ๋ฆฌ๋ณด๊ธฐ
  11. 22๊ฐ™์€ ํ™”๋ฉด, ๋‹ค๋ฅธ ๋””์ž์ธ ์‹œ์Šคํ…œ
  12. 231์žฅ ์š”์•ฝ
โ–ธ 2. Next.js์˜ ์‹ค์ฒด 14
  1. 25Next.js๋ฅผ ํ•œ ๋ฌธ์žฅ์œผ๋กœ
  2. 26๊ธฐ์กด React ์•ฑ์—์„œ ๋ฒŒ์–ด์ง€๋˜ ์ผ
  3. 27์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ฐ”๊พธ๋Š” ๊ฒƒ
  4. 28์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ = ๊ธฐ๋ณธ๊ฐ’
  5. 29ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ๋Š” ๋ช…์‹œ์ ์œผ๋กœ
  6. 30use client๋Š” "๊ฒฝ๊ณ„"์ง€ "์Šค์œ„์น˜"๊ฐ€ ์•„๋‹ˆ๋‹ค
  7. 31๋ฒˆ๋“ค์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ
  8. 32๊ทœ์น™: ๊ฒฝ๊ณ„๋ฅผ ์žŽ์‚ฌ๊ท€๋กœ ๋ฐ€์–ด๋ผ
  9. 33์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฐ์Œ€ ์ˆ˜ ์žˆ๋‹ค
  10. 34์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ ๋„˜๊ธธ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ
  11. 35์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ ๊ฐ€๋Š” ๊ฒƒ์˜ ์ •์ฒด โ€” RSC ํŽ˜์ด๋กœ๋“œ
  12. 36ํ•˜์ด๋“œ๋ ˆ์ด์…˜์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€
  13. 37์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ์—์„œ ๋ชป ํ•˜๋Š” ๊ฒƒ
  14. 382์žฅ ์š”์•ฝ
โ–ธ 3. App Router 13
  1. 40ํŒŒ์ผ ๊ทœ์•ฝ์ด๋ผ๋Š” ์•„์ด๋””์–ด
  2. 41ํŠน์ˆ˜ ํŒŒ์ผ ์ „์ฒด ๋ชฉ๋ก
  3. 42layout์€ ๋ฆฌ๋ Œ๋”๋˜์ง€ ์•Š๋Š”๋‹ค
  4. 43๋™์  ์„ธ๊ทธ๋จผํŠธ
  5. 44searchParams๋„ Promise๋‹ค
  6. 45๋ผ์šฐํŠธ ๊ทธ๋ฃน โ€” ๊ด„ํ˜ธ ํด๋”
  7. 46๋ณ‘๋ ฌ ๋ผ์šฐํŠธ์™€ ์ธํ„ฐ์…‰ํŠธ
  8. 47Route Handler โ€” ์ง„์งœ API๊ฐ€ ํ•„์š”ํ•  ๋•Œ
  9. 48๋งํฌ์™€ ๋‚ด๋น„๊ฒŒ์ด์…˜
  10. 49๋กœ๋”ฉ๊ณผ ์—๋Ÿฌ โ€” ํŒŒ์ผ๋งŒ ๋‘๋ฉด ๋œ๋‹ค
  11. 50proxy.ts โ€” ์˜ˆ์ „์˜ middleware.ts
  12. 51proxy๋ฅผ ์ธ์ฆ ๊ฒŒ์ดํŠธ๋กœ ๋ฏฟ์ง€ ๋ง ๊ฒƒ
  13. 523์žฅ ์š”์•ฝ
โ–ธ 4. ๊ฒฝ๊ณ„ ์„ค๊ณ„ 12
  1. 54์ด ์žฅ์—์„œ ๋‹ตํ•  ์งˆ๋ฌธ
  2. 55์ƒํ™ฉ 1: Provider๊ฐ€ ํ•„์š”ํ•˜๋‹ค
  3. 56๋„๋„› ํŒจํ„ด
  4. 57์ƒํ™ฉ 2: ์„œ๋“œํŒŒํ‹ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— use client๊ฐ€ ์—†๋‹ค
  5. 58์ƒํ™ฉ 3: ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ์— ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•˜๋‹ค
  6. 59์ƒํ™ฉ 4: Context๋ฅผ ์“ฐ๊ณ  ์‹ถ๋‹ค
  7. 60์ƒํƒœ๋ฅผ URL๋กœ ์˜ฌ๋ฆฌ๊ธฐ
  8. 61์ƒํ™ฉ 5: ์„œ๋ฒ„ ์ „์šฉ ์ฝ”๋“œ๋ฅผ ์ง€ํ‚ค๊ณ  ์‹ถ๋‹ค
  9. 62๊ฒฐ์ • ํŠธ๋ฆฌ
  10. 63์ž์ฃผ ํ•˜๋Š” ์‹ค์ˆ˜ ๋ชจ์Œ
  11. 64ํŒŒ์ผ ๊ตฌ์กฐ ๊ด€๋ก€
  12. 654์žฅ ์š”์•ฝ
โ–ธ 5. ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ 12
  1. 67๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ํ˜•ํƒœ
  2. 68์–ด๋””์„œ ์กฐํšŒํ•  ๊ฒƒ์ธ๊ฐ€
  3. 69์ˆœ์ฐจ vs ๋ณ‘๋ ฌ โ€” ์‹ค์ œ๋กœ ์–ผ๋งˆ๋‚˜ ์ฐจ์ด ๋‚˜๋Š”๊ฐ€
  4. 70์ค‘๋ณต ์กฐํšŒ๋Š” React.cache()๋กœ
  5. 71fetch๋„ ์ž๋™์œผ๋กœ ์ค‘๋ณต ์ œ๊ฑฐ๋œ๋‹ค
  6. 72Suspense๋กœ ์ŠคํŠธ๋ฆฌ๋ฐ
  7. 73์ŠคํŠธ๋ฆฌ๋ฐ์˜ ์‹ค์ œ ๋ชจ์Šต
  8. 74์–ด๋””์— Suspense๋ฅผ ๊ฑธ ๊ฒƒ์ธ๊ฐ€
  9. 75์Šค์ผˆ๋ ˆํ†ค์€ ์ง„์งœ ๋ ˆ์ด์•„์›ƒ์„ ํ‰๋‚ด๋‚ด์•ผ ํ•œ๋‹ค
  10. 76์™ธ๋ถ€ API๋ฅผ ์“ธ ๋•Œ
  11. 77ํด๋ผ์ด์–ธํŠธ์—์„œ ์กฐํšŒํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ
  12. 785์žฅ ์š”์•ฝ
โ–ธ 6. ์บ์‹ฑ 17
  1. 80์™œ ์ด ์žฅ์ด ํ•„์š”ํ•œ๊ฐ€
  2. 81์ผœ๊ธฐ
  3. 82use cache โ€” ๋‘ ๊ฐ€์ง€ ์ธต์œ„
  4. 83cacheLife โ€” ์ˆ˜๋ช…์„ ์ •ํ•œ๋‹ค
  5. 84cacheTag + revalidateTag โ€” ์˜จ๋””๋งจ๋“œ ๋ฌดํšจํ™”
  6. 85์บ์‹œํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ๋Š” Suspense๋กœ
  7. 86๋Ÿฐํƒ€์ž„ API๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋‹ค
  8. 87์ •์  ๊ป๋ฐ๊ธฐ๋ฅผ ์ตœ๋Œ€ํ•œ ํ‚ค์šฐ๊ธฐ
  9. 88์„ธ ๊ฐ€์ง€๊ฐ€ ํ•œ ํŽ˜์ด์ง€์— ๊ณต์กดํ•œ๋‹ค
  10. 89use cache: private โ€” ์‚ฌ์šฉ์ž๋ณ„ ์บ์‹œ
  11. 90use cache: remote โ€” ์ธ์Šคํ„ด์Šค ๊ฐ„ ๊ณต์œ  ์บ์‹œ
  12. 91์ €์žฅ ์œ„์น˜ ์ •๋ฆฌ
  13. 92๋ฌด์ž‘์œ„ ๊ฐ’๊ณผ ํ˜„์žฌ ์‹œ๊ฐ
  14. 93๋Ÿฐํƒ€์ž„ ํ”„๋ฆฌํŽ˜์นญ
  15. 94๋ด‡๊ณผ ํฌ๋กค๋Ÿฌ๋Š” ๋‹ค๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ๋œ๋‹ค
  16. 95์˜ˆ์ „ ๋ชจ๋ธ๊ณผ์˜ ๋Œ€์‘ํ‘œ
  17. 966์žฅ ์š”์•ฝ
โ–ธ 7. ๋ฐ์ดํ„ฐ ๋ฐ”๊พธ๊ธฐ 13
  1. 98์ฝ๊ธฐ๊ฐ€ ์„œ๋ฒ„๋กœ ๊ฐ”๋‹ค๋ฉด, ์“ฐ๊ธฐ๋Š”?
  2. 99๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ํ˜•ํƒœ
  3. 100์—ฌ๊ธฐ์„œ ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๋Š”๊ฐ€
  4. 101์ ์ง„์  ํ–ฅ์ƒ (progressive enhancement)
  5. 102๋กœ๋”ฉยท์—๋Ÿฌ ์ƒํƒœ: useActionState
  6. 103์‹ค์ œ๋กœ ๋ณด์ด๋Š” ๋ชจ์Šต
  7. 104๋‚™๊ด€์  ์—…๋ฐ์ดํŠธ: useOptimistic
  8. 105Server Function์€ ๊ณต๊ฐœ ์—”๋“œํฌ์ธํŠธ๋‹ค
  9. 106์•ˆ์ „ํ•œ Server Function ํ…œํ”Œ๋ฆฟ
  10. 107๋ฐ˜๋ณต์„ ์ค„์ด๋Š” ๋ฐฉ๋ฒ•
  11. 108๋ณ€๊ฒฝ ํ›„ ํ™”๋ฉด ๊ฐฑ์‹ ํ•˜๋Š” ๋„ค ๊ฐ€์ง€ ๋ฐฉ๋ฒ•
  12. 109Server Function vs Route Handler
  13. 1107์žฅ ์š”์•ฝ
โ–ธ 8. ์„ฑ๋Šฅ 11
  1. 112์‚ฌ์šฉ์ž๊ฐ€ ์‹ค์ œ๋กœ ๋А๋ผ๋Š” ์„ธ ๊ฐ€์ง€
  2. 113๋ ˆ์ด์•„์›ƒ ์‹œํ”„ํŠธ๊ฐ€ ์ผ์–ด๋‚˜๋Š” ์ˆœ๊ฐ„
  3. 114next/image๊ฐ€ ๋Œ€์‹  ํ•ด์ฃผ๋Š” ์ผ
  4. 115next/font โ€” ํฐํŠธ ๋•Œ๋ฌธ์— ํŠ€์ง€ ์•Š๊ฒŒ
  5. 116๋ฒˆ๋“ค ์ค„์ด๊ธฐ โ€” ๋ฌด๊ฑฐ์šด ๊ฒƒ์€ ์ž˜๋ผ๋‚ธ๋‹ค
  6. 117๋ฌด์—‡์ด ๋ฒˆ๋“ค์„ ํ‚ค์šฐ๋Š”๊ฐ€
  7. 118์ธก์ • ๋„๊ตฌ
  8. 119React Compiler
  9. 120Turbopack
  10. 121์„ฑ๋Šฅ ๊ฐœ์„ ์˜ ์šฐ์„ ์ˆœ์œ„
  11. 1228์žฅ ์š”์•ฝ
โ–ธ 9. CSS์˜ ๋ฌธ์ œ 13
  1. 124Tailwind๋ฅผ ๋ฐฐ์šฐ๊ธฐ ์ „์—
  2. 125CSS์˜ ๊ทผ๋ณธ ๋ฌธ์ œ ์„ธ ๊ฐ€์ง€
  3. 126ํ•ด๊ฒฐ ์‹œ๋„์˜ ์—ญ์‚ฌ
  4. 127BEM โ€” ๊ทœ์œจ๋กœ ํ•ด๊ฒฐํ•˜๊ธฐ
  5. 128CSS-in-JS โ€” ์ฝ”๋กœ์ผ€์ด์…˜์œผ๋กœ ํ•ด๊ฒฐํ•˜๊ธฐ
  6. 129Tailwind์˜ ์ œ์•ˆ
  7. 130๊ฐ™์€ ๊ฒƒ์„ ์„ธ ๊ฐ€์ง€ ๋ฐฉ์‹์œผ๋กœ
  8. 131"๊ด€์‹ฌ์‚ฌ์˜ ๋ถ„๋ฆฌ"๋ผ๋Š” ๋ฐ˜๋ก 
  9. 132๋‚จ๋Š” ์ง„์งœ ๋ฌธ์ œ: ๋ฐ˜๋ณต
  10. 133์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์‹ค์ œ๋กœ ๋งŒ๋“œ๋Š” CSS
  11. 134CSS ํฌ๊ธฐ ๋น„๊ต
  12. 135Tailwind๊ฐ€ ์•ˆ ๋งž๋Š” ๊ฒฝ์šฐ
  13. 1369์žฅ ์š”์•ฝ
โ–ธ 10. Tailwind CSS v4 15
  1. 138์„ค์น˜ โ€” ์ด๊ฒŒ ์ „๋ถ€๋‹ค
  2. 139v3์—์„œ ์˜จ ์‚ฌ๋žŒ์ด ๊ฐ€์žฅ ๋จผ์ € ๋†€๋ผ๋Š” ๊ฒƒ
  3. 140@theme โ€” ๋””์ž์ธ ํ† ํฐ์ด ๊ณง ์œ ํ‹ธ๋ฆฌํ‹ฐ
  4. 141๋„ค์ž„์ŠคํŽ˜์ด์Šค๊ฐ€ ๊ณง ๊ทœ์น™
  5. 142๊ธฐ๋ณธ ์Šค์ผ€์ผ์„ ๋ˆˆ์œผ๋กœ
  6. 143ํƒ€์ดํฌ ์Šค์ผ€์ผ
  7. 144์ƒ‰ ํŒ”๋ ˆํŠธ
  8. 145๋ณ€ํ˜•(variant) โ€” ์กฐ๊ฑด๋ถ€ ์Šคํƒ€์ผ
  9. 146๋ฐ˜์‘ํ˜•์€ ๋ชจ๋ฐ”์ผ ์šฐ์„ 
  10. 147group๊ณผ peer
  11. 148์ž„์˜ ๊ฐ’ โ€” ์Šค์ผ€์ผ ๋ฐ–์œผ๋กœ ๋‚˜๊ฐ€์•ผ ํ•  ๋•Œ
  12. 149๋ฐ˜๋“œ์‹œ ์•Œ์•„์•ผ ํ•  ์ œ์•ฝ: ํด๋ž˜์Šค ์ด๋ฆ„์€ ์ •์ ์ด์–ด์•ผ ํ•œ๋‹ค
  13. 150๋‹คํฌ ๋ชจ๋“œ
  14. 151์œ ์šฉํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ช‡ ๊ฐ€์ง€
  15. 15210์žฅ ์š”์•ฝ
โ–ธ 11. Tailwind ์‹ค์ „ 14
  1. 154๊ธด ํด๋ž˜์Šค ๋ฌธ์ž์—ด ์ฝ๋Š” ๋ฒ•
  2. 155๊ทœ์น™ 1: ํด๋ž˜์Šค ์ •๋ ฌ์„ ์ž๋™ํ™”ํ•œ๋‹ค
  3. 156๊ทœ์น™ 2: cn() ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ๋งŒ๋“ ๋‹ค
  4. 157cn()์˜ ์ •์ฒด
  5. 158cn()์ด ์—ฌ๋Š” ๊ฒƒ: ์˜ค๋ฒ„๋ผ์ด๋“œ ๊ฐ€๋Šฅํ•œ ์ปดํฌ๋„ŒํŠธ
  6. 159๊ทœ์น™ 3: variant๋Š” cva๋กœ ๊ด€๋ฆฌํ•œ๋‹ค
  7. 160cva๋ฅผ ์ง์ ‘ ์›€์ง์—ฌ ๋ณด๊ธฐ
  8. 161compoundVariants โ€” ์กฐํ•ฉ์—๋งŒ ์ ์šฉ๋˜๋Š” ๊ทœ์น™
  9. 162๊ทœ์น™ 4: @apply๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค
  10. 163@apply๊ฐ€ ์ •๋‹นํ•œ ๋“œ๋ฌธ ๊ฒฝ์šฐ
  11. 164์ปค์Šคํ…€ ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ํ•„์š”ํ•˜๋ฉด @utility
  12. 165๊ทœ์น™ 5: ์–ธ์ œ ์ปดํฌ๋„ŒํŠธ๋กœ ๋ฝ‘์„ ๊ฒƒ์ธ๊ฐ€
  13. 166์ž์ฃผ ์“ฐ๋Š” ์กฐํ•ฉ ์น˜ํŠธ์‹œํŠธ
  14. 16711์žฅ ์š”์•ฝ
โ–ธ 12. ๋””์ž์ธ ํ† ํฐ 17
  1. 169์ด ์žฅ์ด ์ด ๋ฑ์˜ ์ค‘์‹ฌ์ด๋‹ค
  2. 170ํ† ํฐ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€
  3. 1713๋‹จ ๊ตฌ์กฐ
  4. 172์™œ ์˜๋ฏธ ์ธต์ด ํ•„์š”ํ•œ๊ฐ€
  5. 173shadcn/ui์˜ ํ† ํฐ ๋ชฉ๋ก
  6. 174-foreground ๊ทœ์น™์ด ํ•˜๋Š” ์ผ
  7. 175์‹ค์ œ CSS
  8. 176๋‹คํฌ ๋ชจ๋“œ๊ฐ€ ๊ณต์งœ์ธ ์ด์œ 
  9. 177@theme inline์œผ๋กœ Tailwind์— ์—ฐ๊ฒฐ
  10. 178๋‘ ์ธต์„ ๊ตฌ๋ถ„ํ•ด์„œ ๋ณด๊ธฐ
  11. 179radius๋Š” ํŒŒ์ƒ ์Šค์ผ€์ผ๋กœ
  12. 180์™œ oklch์ธ๊ฐ€
  13. 181ํ† ํฐ ์ถ”๊ฐ€ํ•˜๊ธฐ โ€” warning์„ ์˜ˆ๋กœ
  14. 182์ƒ‰ ์ด์™ธ์˜ ํ† ํฐ
  15. 183ํ† ํฐ ์•ˆํ‹ฐํŒจํ„ด
  16. 184Figma์™€ ์ด๋ฆ„ ๋งž์ถ”๊ธฐ
  17. 18512์žฅ ์š”์•ฝ
โ–ธ 13. shadcn/ui 12
  1. 187๊ณต์‹ ๋ฌธ์„œ์˜ ์ฒซ ๋ฌธ์žฅ
  2. 188๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๋Š”์ง€ ์ง์ ‘ ๋ณด๊ธฐ
  3. 189์ „ํ†ต์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€์˜ ๋น„๊ต
  4. 190"๋ณต๋ถ™์ด๋ž‘ ๋ญ๊ฐ€ ๋‹ค๋ฅธ๊ฐ€?"
  5. 191๋ฌด์—‡ ์œ„์— ์„œ ์žˆ๋Š”๊ฐ€
  6. 1922026๋…„ 7์›”: ๊ธฐ๋ณธ ๋ฒ ์ด์Šค๊ฐ€ Base UI๋กœ ๋ฐ”๋€Œ์—ˆ๋‹ค
  7. 193Radix โ†’ Base UI ์ฃผ์š” ์ฐจ์ด
  8. 194์–ด๋–ค ์ปดํฌ๋„ŒํŠธ๋“ค์ด ์žˆ๋‚˜
  9. 195์‹ค๋ฌผ๋กœ ๋ณด๊ธฐ
  10. 196ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๋ฅผ ์ •์งํ•˜๊ฒŒ
  11. 197์–ธ์ œ shadcn/ui๊ฐ€ ๋‹ต์ด ์•„๋‹Œ๊ฐ€
  12. 19813์žฅ ์š”์•ฝ
โ–ธ 14. ์„ค์น˜์™€ ๊ตฌ์กฐ 13
  1. 200์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€
  2. 201init์ด ํ•˜๋Š” ์ผ
  3. 202components.json ์ „์ฒด ๊ตฌ์กฐ
  4. 203ํ•„๋“œ๋ณ„ ์˜๋ฏธ
  5. 204cssVariables๋ฅผ ๋ฐ˜๋“œ์‹œ true๋กœ
  6. 205baseColor โ€” ์ค‘๋ฆฝ์ƒ‰ ๊ณ ๋ฅด๊ธฐ
  7. 206style โ€” ์—ฌ๋Ÿ ๊ฐ€์ง€ ์‹œ๊ฐ์  ์„ฑ๊ฒฉ
  8. 207CLI ๋ช…๋ น์–ด ์ „์ฒด
  9. 208์•Œ์•„๋‘๋ฉด ์ข‹์€ ํ”Œ๋ž˜๊ทธ
  10. 209์˜์กด์„ฑ์ด ์ž๋™์œผ๋กœ ๋”ฐ๋ผ์˜จ๋‹ค
  11. 210๋ชจ๋…ธ๋ ˆํฌ์—์„œ
  12. 211์„ค์น˜ ํ›„ ํŒŒ์ผ ์ง€๋„
  13. 21214์žฅ ์š”์•ฝ
โ–ธ 15. ์ปดํฌ๋„ŒํŠธ ํ•ด๋ถ€ 16
  1. 214์ด ์žฅ์˜ ๋ชฉ์ 
  2. 215์ „์ฒด ๊ณจ๊ฒฉ
  3. 216๋ฒ ์ด์Šค ํด๋ž˜์Šค โ€” ๋ชจ๋“  variant๊ฐ€ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ
  4. 217๋ˆˆ์—ฌ๊ฒจ๋ณผ ์„ธ ๊ฐ€์ง€
  5. 218aria-invalid ๋ฅผ ๋ˆˆ์œผ๋กœ
  6. 219variant ์ •์˜
  7. 220์—ฌ๊ธฐ์„œ ํ•˜๋‚˜๋„ ์›์‹œ ์ƒ‰์ด ์—†๋‹ค
  8. 221/90 ์€ ๋ฌด์—‡์ธ๊ฐ€
  9. 222ํ•จ์ˆ˜ ๋ณธ๋ฌธ
  10. 223forwardRef๊ฐ€ ์‚ฌ๋ผ์กŒ๋‹ค
  11. 224data-slot โ€” ๋ฐ”๊นฅ์—์„œ ์Šคํƒ€์ผ๋งํ•˜๋Š” ํ›…
  12. 225buttonVariants๋ฅผ exportํ•˜๋Š” ์ด์œ 
  13. 226ํ•ฉ์„ฑ ์ปดํฌ๋„ŒํŠธ โ€” Card๋ฅผ ์˜ˆ๋กœ
  14. 227ํ•ฉ์„ฑ์˜ ๊ฒฐ๊ณผ๋ฌผ
  15. 228render ํ”„๋กญ โ€” ํƒœ๊ทธ๋ฅผ ๋ฐ”๊พธ๊ธฐ
  16. 22915์žฅ ์š”์•ฝ
โ–ธ 16. ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ž์‚ฐ์ด ๋˜๋Š” ๋ฐฉ์‹ 19
  1. 231"์ž์‚ฐ"์ด ๋˜๋ ค๋ฉด ๋ฌด์—‡์ด ํ•„์š”ํ•œ๊ฐ€
  2. 232์„ธ ๊ฐœ์˜ ์ธต์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค
  3. 233์ธต๋ณ„ ๊ทœ์น™
  4. 234ui/๋ฅผ ์–ธ์ œ ๊ณ ์น˜๋Š”๊ฐ€
  5. 235์ˆ˜์ •์„ ์ถ”์  ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ
  6. 236--diff๊ฐ€ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ
  7. 237๊ฐ€์šด๋ฐ ์ธต์— ๋ฌด์—‡์ด ์Œ“์ด๋Š”๊ฐ€
  8. 238EmptyState ์˜ˆ์‹œ
  9. 239์—ฌ๊ธฐ๊นŒ์ง€๊ฐ€ ํ•œ ํ”„๋กœ์ ํŠธ์˜ ์ด์•ผ๊ธฐ๋‹ค
  10. 240์ž์ฒด ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ โ€” ์ „์ฒด ๊ทธ๋ฆผ
  11. 241registry.json
  12. 242registry-item.json ์ „์ฒด ํ•„๋“œ
  13. 243type์˜ ์ข…๋ฅ˜
  14. 244๋นŒ๋“œํ•˜๊ณ  ํ˜ธ์ŠคํŒ…ํ•˜๊ธฐ
  15. 245๋„ค์ž„์ŠคํŽ˜์ด์Šค ๋“ฑ๋ก
  16. 246์‚ฌ๋‚ด ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์ธ์ฆ ๋ถ™์ด๊ธฐ
  17. 247์„ฑ์ˆ™๋„ ๋‹จ๊ณ„
  18. 248์ž์‚ฐํ™”๋ฅผ ๋ฐฉํ•ดํ•˜๋Š” ๊ฒƒ๋“ค
  19. 24916์žฅ ์š”์•ฝ
โ–ธ 17. ๋””์ž์ธ ์‹œ์Šคํ…œ ์ ์šฉ 22
  1. 251๋จผ์ € ํ•ด๋ณด๊ณ  ์‹œ์ž‘ํ•˜์ž
  2. 252๋””์ž์ธ ์‹œ์Šคํ…œ์˜ ๋„ค ๊ตฌ์„ฑ์š”์†Œ
  3. 253์„ธ ๊ฐ€์ง€ ์‹œ๋‚˜๋ฆฌ์˜ค
  4. 254A. ๋ธŒ๋žœ๋“œ ์ƒ‰๋งŒ ์ž…ํžˆ๊ธฐ (30๋ถ„)
  5. 255B. Material Design 3 ์ฑ„ํƒ
  6. 256Material 3 ๋งคํ•‘ ๊ฒฐ๊ณผ
  7. 257ํ† ํฐ๋งŒ์œผ๋กœ ์•ˆ ๋˜๋Š” ๊ฒƒ
  8. 258๊ตฌ์กฐ์  ์ฐจ์ด๋ฅผ ๋ฐ˜์˜ํ•œ ๊ฒฐ๊ณผ
  9. 259B-2. Radix Colors ์ฑ„ํƒ
  10. 260Radix Colors๊ฐ€ ์ข‹์€ ์ด์œ 
  11. 261C. ์‚ฌ๋‚ด ๋””์ž์ธ ์‹œ์Šคํ…œ ๋งคํ•‘
  12. 2622๋‹จ๊ณ„ โ€” ๋งคํ•‘ ํ‘œ๋Š” ์ด๋ ‡๊ฒŒ ์ƒ๊ฒผ๋‹ค
  13. 2633๋‹จ๊ณ„ โ€” ๊ฐญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์„ธ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•
  14. 2644๋‹จ๊ณ„ โ€” ์ตœ์ข… ํŒŒ์ผ ํ˜•ํƒœ
  15. 2655๋‹จ๊ณ„ โ€” ์ปดํฌ๋„ŒํŠธ ์ฐจ์ด๋Š” ์ตœ์†Œ๋กœ
  16. 2666๋‹จ๊ณ„ โ€” ๊ฒ€์ฆ
  17. 267๊ฒ€์ฆ ํ™”๋ฉด ์˜ˆ์‹œ
  18. 268๋„๊ตฌ๋“ค
  19. 269ํ…Œ๋งˆ๋ฅผ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋กœ ๋ฐฐํฌํ•˜๊ธฐ
  20. 270๋ฉ€ํ‹ฐ ๋ธŒ๋žœ๋“œ โ€” ํ•œ ์•ฑ์—์„œ ์—ฌ๋Ÿฌ ํ…Œ๋งˆ
  21. 271์•ˆํ‹ฐํŒจํ„ด
  22. 27217์žฅ ์š”์•ฝ
โ–ธ 18. ์ ‘๊ทผ์„ฑ 12
  1. 274์™œ ์ด ์žฅ์ด ํ•„์š”ํ•œ๊ฐ€
  2. 275ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ๊ฐ€ ํ•ด์ฃผ๋Š” ๊ฒƒ
  3. 276ํ‚ค๋ณด๋“œ๋งŒ์œผ๋กœ ์กฐ์ž‘ํ•˜๊ธฐ
  4. 277ํฌ์ปค์Šค ๋ง์„ ์ง€์šฐ์ง€ ๋ง ๊ฒƒ
  5. 278์ƒ‰๋งŒ์œผ๋กœ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜์ง€ ์•Š๊ธฐ
  6. 279ํผ ์ ‘๊ทผ์„ฑ โ€” ๋ผ๋ฒจ๊ณผ ์˜ค๋ฅ˜
  7. 280์•„์ด์ฝ˜ ๋ฒ„ํŠผ์—๋Š” ์ด๋ฆ„์„ ์ค€๋‹ค
  8. 281๋™์  ์ฝ˜ํ…์ธ  ์•Œ๋ฆฌ๊ธฐ
  9. 282๋ชจ์…˜ ์ค„์ด๊ธฐ
  10. 283์ ๊ฒ€ ๋ฐฉ๋ฒ•
  11. 284์‹ค์ˆ˜๋กœ ๊นจ๋œจ๋ฆฌ๋Š” ๊ฒƒ๋“ค
  12. 28518์žฅ ์š”์•ฝ
โ–ธ 19. ํผ๊ณผ ์ƒํƒœ 11
  1. 287์ƒํƒœ๋ฅผ ๋„ค ์ข…๋ฅ˜๋กœ ๋‚˜๋ˆˆ๋‹ค
  2. 288ํ”ํ•œ ์˜คํ•ด: ์ „๋ถ€ ์ „์—ญ์— ๋„ฃ๊ธฐ
  3. 289URL ์ƒํƒœ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฒ•
  4. 290ํผ: React Hook Form + zod
  5. 291์Šคํ‚ค๋งˆ๋ฅผ ์„œ๋ฒ„์™€ ๊ณต์œ ํ•œ๋‹ค
  6. 292ํผ ์ƒํƒœ๋ฅผ ๋ˆˆ์œผ๋กœ
  7. 293Server Function๊ณผ ํ•จ๊ป˜ ์“ฐ๊ธฐ
  8. 294์„œ๋ฒ„ ์ƒํƒœ๋ฅผ ํด๋ผ์ด์–ธํŠธ์—์„œ ๋‹ค๋ค„์•ผ ํ•  ๋•Œ
  9. 295์ „์—ญ ํด๋ผ์ด์–ธํŠธ ์ƒํƒœ๊ฐ€ ์ง„์งœ ํ•„์š”ํ•  ๋•Œ
  10. 296๊ฒฐ์ •ํ‘œ
  11. 29719์žฅ ์š”์•ฝ
โ–ธ 20. ์‹ค์ „ 13
  1. 299์ฒซ๋‚  ์ฒดํฌ๋ฆฌ์ŠคํŠธ
  2. 300์ฒซ ์ฃผ์— ์ •ํ•  ๊ฒƒ
  3. 301์ปดํฌ๋„ŒํŠธ ์นดํƒˆ๋กœ๊ทธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฐ€์žฅ ์‹ผ ๋ฐฉ๋ฒ•
  4. 302์‹ค์ „ ํŒจํ„ด 1: ๋ชฉ๋ก ํ™”๋ฉด
  5. 303์‹ค์ „ ํŒจํ„ด 2: ์‚ญ์ œ ํ™•์ธ
  6. 304์‹ค์ „ ํŒจํ„ด 3: ๋‚™๊ด€์  ์‚ญ์ œ
  7. 305์‹ค์ „ ํŒจํ„ด 4: ๋กœ๋”ฉ ์ƒํƒœ ์„ธ ๋‹จ๊ณ„
  8. 306์•ˆํ‹ฐํŒจํ„ด ๋ชจ์Œ (1) โ€” Next.js
  9. 307์•ˆํ‹ฐํŒจํ„ด ๋ชจ์Œ (2) โ€” Tailwind ยท shadcn
  10. 308์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ฒดํฌ๋ฆฌ์ŠคํŠธ
  11. 309ํŒ€์— ๋„์ž…ํ•  ๋•Œ์˜ ์ˆœ์„œ
  12. 310๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์‹œ ์ž์ฃผ ๋‚˜์˜ค๋Š” ์งˆ๋ฌธ
  13. 31120์žฅ ์š”์•ฝ
โ–ธ 21. ์ •๋ฆฌ 7
  1. 313์„ธ ๋„๊ตฌ๋ฅผ ํ•œ ์ค„๋กœ ๋‹ค์‹œ
  2. 314์ด ๋ฑ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์„ธ ์žฅ
  3. 315์ž์ฃผ ํ‹€๋ฆฌ๋Š” ๊ฒƒ ๋‹ค์„ฏ ๊ฐœ
  4. 3162026๋…„ 8์›” ๊ธฐ์ค€ ๋ฒ„์ „ ์ •๋ฆฌ
  5. 317๋‹ค์Œ์— ๋ณผ ๊ฒƒ
  6. 318๋งˆ์ง€๋ง‰์œผ๋กœ
  7. 319๋งˆ๋ฌด๋ฆฌ
319 slides

Supabase ์™„์ „ ์ •๋ณต

์™œ Supabase์ธ๊ฐ€๋ถ€ํ„ฐ Vercel๊ณผ์˜ ์—ญํ•  ๋ฐฐ๋ถ„, Auth/RLS/Realtime/Storage/Edge Functions ์‹ค์ „๊นŒ์ง€

0. ์˜ค๋ฆฌ์—”ํ…Œ์ด์…˜ ยท 1. ์™œ Supabase์ธ๊ฐ€ ยท 2. ์•„ํ‚คํ…์ฒ˜ ๋œฏ์–ด๋ณด๊ธฐ +15

๋ชฉ์ฐจ
โ–ธ 0. ์˜ค๋ฆฌ์—”ํ…Œ์ด์…˜ 6
  1. 3์ด ๋ฑ์€ ๋ˆ„๊ตฌ๋ฅผ ์œ„ํ•œ ๊ฒƒ์ธ๊ฐ€
  2. 4์ด ๋ฑ์—์„œ ๋‹ค๋ฃจ๋Š” ๊ฒƒ๊ณผ ๋‹ค๋ฃจ์ง€ ์•Š๋Š” ๊ฒƒ
  3. 5์ „์ฒด ๋กœ๋“œ๋งต
  4. 6๋ฏธ๋ฆฌ ์žก์•„๋‘๋ฉด ์ข‹์€ ๋ฉ˜ํƒˆ ๋ชจ๋ธ 3๊ฐ€์ง€
  5. 7์‹ค์Šต ํ™˜๊ฒฝ ์ค€๋น„๋ฌผ
  6. 8์ž์ฃผ ๋‚˜์˜ฌ ์šฉ์–ด ๋ฏธ๋ฆฌ๋ณด๊ธฐ
โ–ธ 1. ์™œ Supabase์ธ๊ฐ€ 19
  1. 10๋ฐฑ์—”๋“œ๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋งŒ๋“ค ๋•Œ ๋ฐ˜๋ณต๋˜๋Š” ์ผ๋“ค
  2. 11BaaS๋ผ๋Š” ์„ ํƒ์ง€
  3. 12Supabase์˜ ํ•œ ์ค„ ์ •์˜
  4. 13"๊ทธ๋ƒฅ Postgres๋‹ค"๊ฐ€ ์™œ ์ค‘์š”ํ•œ๊ฐ€
  5. 14Firebase์™€์˜ ๊ฒฐ์ •์  ์ฐจ์ด (1) ๋ฐ์ดํ„ฐ ๋ชจ๋ธ
  6. 15Firebase์™€์˜ ๊ฒฐ์ •์  ์ฐจ์ด (2) ์ฟผ๋ฆฌ
  7. 16Firebase์™€์˜ ๊ฒฐ์ •์  ์ฐจ์ด (3) ์ข…์†์„ฑ
  8. 17๋น„๊ตํ‘œ: Supabase vs Firebase vs ์ง์ ‘ ๊ตฌ์ถ•
  9. 18์ œํ’ˆ ๊ตฌ์„ฑ ํ•œ๋ˆˆ์— ๋ณด๊ธฐ
  10. 19๊ฐœ๋ฐœ ์†๋„๊ฐ€ ์‹ค์ œ๋กœ ๋นจ๋ผ์ง€๋Š” ์ง€์ 
  11. 20์˜คํ”ˆ์†Œ์Šค์™€ ์…€ํ”„ํ˜ธ์ŠคํŒ…์ด๋ผ๋Š” ํƒˆ์ถœ๊ตฌ
  12. 21Supabase๋ฅผ ์“ฐ๋ฉด ์ข‹์€ ๊ฒฝ์šฐ
  13. 22Supabase๋ฅผ ์“ฐ๋ฉด ์•ˆ ๋˜๋Š”(์‹ ์ค‘ํ•ด์•ผ ํ• ) ๊ฒฝ์šฐ
  14. 23์ž์ฃผ ๋‚˜์˜ค๋Š” ์˜คํ•ด (1) "SQL ๋ชฐ๋ผ๋„ ๋˜์ฃ ?"
  15. 24์ž์ฃผ ๋‚˜์˜ค๋Š” ์˜คํ•ด (2) "๋ฐฑ์—”๋“œ๊ฐ€ ์•„์˜ˆ ํ•„์š” ์—†๋‹ค"
  16. 25์ž์ฃผ ๋‚˜์˜ค๋Š” ์˜คํ•ด (3) "RLS๋งŒ ์ผœ๋ฉด ์•ˆ์ „ํ•˜๋‹ค"
  17. 26๋„์ž… ํŒ๋‹จ ์ฒดํฌ๋ฆฌ์ŠคํŠธ
  18. 27๋น„์šฉ ๊ฐ๊ฐ ๋ฏธ๋ฆฌ ์žก๊ธฐ
  19. 281์žฅ ์š”์•ฝ
โ–ธ 2. ์•„ํ‚คํ…์ฒ˜ ๋œฏ์–ด๋ณด๊ธฐ 16
  1. 30์ „์ฒด ์•„ํ‚คํ…์ฒ˜ ํ•œ ์žฅ
  2. 31์š”์ฒญ ํ•˜๋‚˜๊ฐ€ ์ง€๋‚˜๊ฐ€๋Š” ๊ธธ
  3. 32Envoy โ€” API ๊ฒŒ์ดํŠธ์›จ์ด
  4. 33PostgREST โ€” ํ…Œ์ด๋ธ”์„ REST๋กœ
  5. 34PostgREST๊ฐ€ ๋งŒ๋“œ๋Š” ์—”๋“œํฌ์ธํŠธ
  6. 35Auth (GoTrue) โ€” JWT ๋ฐœ๊ธ‰๊ธฐ
  7. 36Realtime โ€” WAL ๊ตฌ๋… + ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ
  8. 37Storage API โ€” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” Postgres์—
  9. 38Edge Functions โ€” Deno ๋Ÿฐํƒ€์ž„
  10. 39Supavisor โ€” ์ปค๋„ฅ์…˜ ํ’€๋Ÿฌ
  11. 40pg_meta์™€ Studio
  12. 41์Šคํ‚ค๋งˆ ์ง€๋„: ๋ฌด์—‡์ด ์–ด๋””์— ์žˆ๋‚˜
  13. 42API ํ‚ค์™€ Postgres ์—ญํ• ์˜ ์—ฐ๊ฒฐ
  14. 43์„ธ ๊ฐ€์ง€ ์ ‘๊ทผ ๊ฒฝ๋กœ ๋น„๊ต
  15. 44์ด ๊ตฌ์กฐ์—์„œ ๋‚˜์˜ค๋Š” ๊ฒฐ๋ก ๋“ค
  16. 452์žฅ ์š”์•ฝ
โ–ธ 3. ์‹œ์ž‘ํ•˜๊ธฐ 19
  1. 47๋‘ ๊ฐˆ๋ž˜ ์‹œ์ž‘ ๊ฒฝ๋กœ
  2. 48๋Œ€์‹œ๋ณด๋“œ๋กœ ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ
  3. 49๋Œ€์‹œ๋ณด๋“œ ๋‘˜๋Ÿฌ๋ณด๊ธฐ โ€” ์–ด๋””์— ๋ญ๊ฐ€ ์žˆ๋‚˜
  4. 50ํ”„๋กœ์ ํŠธ ์ž๊ฒฉ ์ฆ๋ช… ํ™•์ธํ•˜๊ธฐ
  5. 51์ฒซ ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ (SQL Editor)
  6. 52supabase-js ์„ค์น˜์™€ ํด๋ผ์ด์–ธํŠธ ์ƒ์„ฑ
  7. 53์ฒซ ์กฐํšŒ / ์‚ฝ์ž…
  8. 54์—ฌ๊ธฐ์„œ ๋ฉˆ์ถ”๋ฉด ์•ˆ ๋˜๋Š” ์ด์œ 
  9. 55CLI ์„ค์น˜
  10. 56supabase init โ€” ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ
  11. 57supabase start โ€” ๋กœ์ปฌ ์Šคํƒ
  12. 58๋กœ์ปฌ ์Šคํƒ ๊ตฌ์„ฑ ์š”์†Œ์™€ ํฌํŠธ
  13. 59์ฒซ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋งŒ๋“ค๊ธฐ
  14. 60supabase db reset โ€” ์žฌํ˜„ ๊ฐ€๋Šฅํ•œ DB
  15. 61seed.sql โ€” ๊ฐœ๋ฐœ์šฉ ๋ฐ์ดํ„ฐ
  16. 62์›๊ฒฉ ํ”„๋กœ์ ํŠธ์™€ ์—ฐ๊ฒฐํ•˜๊ธฐ
  17. 63ํƒ€์ž… ์ƒ์„ฑ โ€” ์—ฌ๊ธฐ์„œ ๊ฐœ๋ฐœ ๊ฒฝํ—˜์ด ๊ฐˆ๋ฆฐ๋‹ค
  18. 64config.toml ํ›‘์–ด๋ณด๊ธฐ
  19. 653์žฅ ์š”์•ฝ + ๊ถŒ์žฅ ์›Œํฌํ”Œ๋กœ
โ–ธ 4. Postgres ์ตœ์†Œ ์ง€์‹ 18
  1. 67์™œ Postgres๋ฅผ ๋”ฐ๋กœ ์งš๋Š”๊ฐ€
  2. 68์Šคํ‚ค๋งˆ ์„ค๊ณ„์˜ ์ถœ๋ฐœ์  โ€” auth.users
  3. 69profiles ํŒจํ„ด โ€” ๊ฐ€์žฅ ๋จผ์ € ๋งŒ๋“œ๋Š” ํ…Œ์ด๋ธ”
  4. 70profiles ํŒจํ„ด์ด ํ•„์š”ํ•œ ์ด์œ 
  5. 71์ž์ฃผ ์“ฐ๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…
  6. 72uuid vs bigint โ€” ๊ธฐ๋ณธ ํ‚ค ์„ ํƒ
  7. 73timestamptz๋ฅผ ๋ฐ˜๋“œ์‹œ ์จ์•ผ ํ•˜๋Š” ์ด์œ 
  8. 74๊ด€๊ณ„ ํ‘œํ˜„ (1) 1:N
  9. 75๊ด€๊ณ„ ํ‘œํ˜„ (2) N:M
  10. 76์ œ์•ฝ ์กฐ๊ฑด โ€” DB๊ฐ€ ๋Œ€์‹  ์ง€์ผœ์ฃผ๋Š” ๊ฒƒ
  11. 77enum vs check vs ์ฐธ์กฐ ํ…Œ์ด๋ธ”
  12. 78์ธ๋ฑ์Šค ๊ธฐ์ดˆ
  13. 79์ธ๋ฑ์Šค๋ฅผ ์–ธ์ œ ์–ด๋””์— ๋งŒ๋“œ๋‚˜
  14. 80๋ทฐ์™€ ๋จธํ‹ฐ๋ฆฌ์–ผ๋ผ์ด์ฆˆ๋“œ ๋ทฐ
  15. 81ํŠธ๋žœ์žญ์…˜๊ณผ ์›์ž์„ฑ
  16. 82๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ•จ์ˆ˜ (RPC) ๋ง›๋ณด๊ธฐ
  17. 83ํŠธ๋ฆฌ๊ฑฐ โ€” updated_at ์ž๋™ ๊ฐฑ์‹ 
  18. 844์žฅ ์š”์•ฝ
โ–ธ 5. Data API์™€ supabase-js 21
  1. 86Data API์˜ ์ •์ฒด
  2. 87ํด๋ผ์ด์–ธํŠธ ์ƒ์„ฑ ์˜ต์…˜
  3. 88select ๊ธฐ๋ณธ
  4. 89ํ•„ํ„ฐ ์—ฐ์‚ฐ์ž ์ด์ •๋ฆฌ
  5. 90๋ณตํ•ฉ ์กฐ๊ฑด โ€” or, and, not
  6. 91์ •๋ ฌ๊ณผ ํŽ˜์ด์ง€๋„ค์ด์…˜
  7. 92๊ฐœ์ˆ˜ ์„ธ๊ธฐ
  8. 93๋‹จ์ผ ํ–‰ โ€” single / maybeSingle
  9. 94๊ด€๊ณ„ ์กฐํšŒ (1) ๊ธฐ๋ณธ ์กฐ์ธ
  10. 95๊ด€๊ณ„ ์กฐํšŒ (2) ๋ณ„์นญ๊ณผ ๋‹ค์ค‘ ์™ธ๋ž˜ ํ‚ค
  11. 96๊ด€๊ณ„ ์กฐํšŒ (3) inner join๊ณผ ์ž์‹ ํ•„ํ„ฐ
  12. 97๊ด€๊ณ„ ์กฐํšŒ์˜ ํ•œ๊ณ„
  13. 98insert
  14. 99update / delete
  15. 100upsert
  16. 101RPC โ€” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ•จ์ˆ˜ ํ˜ธ์ถœ
  17. 102JSON ์ปฌ๋Ÿผ ๋‹ค๋ฃจ๊ธฐ
  18. 103์ „๋ฌธ ๊ฒ€์ƒ‰ (textSearch)
  19. 104์—๋Ÿฌ ์ฒ˜๋ฆฌ ํŒจํ„ด
  20. 105ํƒ€์ž… ์•ˆ์ „์„ฑ ํ™œ์šฉ
  21. 1065์žฅ ์š”์•ฝ + ์•ˆํ‹ฐํŒจํ„ด
โ–ธ 6. Auth 27
  1. 108Auth๊ฐ€ ํ•ด๊ฒฐํ•˜๋Š” ๋ฌธ์ œ
  2. 109์ธ์ฆ๊ณผ ์ธ๊ฐ€๋Š” ๋‹ค๋ฅด๋‹ค
  3. 110auth.users ํ…Œ์ด๋ธ” ๊ตฌ์กฐ
  4. 111JWT ๊ตฌ์กฐ ๋œฏ์–ด๋ณด๊ธฐ
  5. 112access token๊ณผ refresh token
  6. 113์„ธ์…˜ ์ƒ๋ช…์ฃผ๊ธฐ
  7. 114์ด๋ฉ”์ผ + ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ฐ€์ž…
  8. 115์ด๋ฉ”์ผ ํ™•์ธ ํ”Œ๋กœ์šฐ
  9. 116๋กœ๊ทธ์ธ๊ณผ ๋กœ๊ทธ์•„์›ƒ
  10. 117๋งค์ง ๋งํฌ / OTP
  11. 118์†Œ์…œ ๋กœ๊ทธ์ธ (OAuth) ์„ค์ •
  12. 119์†Œ์…œ ๋กœ๊ทธ์ธ ์ฝ”๋“œ์™€ ์ฝœ๋ฐฑ
  13. 120PKCE ํ”Œ๋กœ์šฐ
  14. 121์ต๋ช… ๋กœ๊ทธ์ธ
  15. 122์ „ํ™”๋ฒˆํ˜ธ ์ธ์ฆ
  16. 123SSO / SAML
  17. 124๋น„๋ฐ€๋ฒˆํ˜ธ ์žฌ์„ค์ •
  18. 125์‚ฌ์šฉ์ž ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ โ€” user vs app
  19. 126์ปค์Šคํ…€ ํด๋ ˆ์ž„๊ณผ RBAC
  20. 127์ปค์Šคํ…€ ํด๋ ˆ์ž„ ํ™œ์šฉ
  21. 128Auth Hooks
  22. 129MFA (๋‹ค์ค‘ ์ธ์ฆ)
  23. 130์„œ๋ช… ํ‚ค์™€ getClaims
  24. 131getClaims vs getUser vs getSession
  25. 132Admin API โ€” ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ
  26. 133ํ”ํ•œ Auth ํ•จ์ • ๋ชจ์Œ
  27. 1346์žฅ ์š”์•ฝ
โ–ธ 7. RLS โ€” Row Level Security 21
  1. 136RLS ํ•œ ๋ฌธ์žฅ ์ •์˜
  2. 137RLS๊ฐ€ ์—†์œผ๋ฉด ๋ฒŒ์–ด์ง€๋Š” ์ผ
  3. 138RLS ์ผœ๊ธฐ์™€ ๊ธฐ๋ณธ ๊ฑฐ๋ถ€
  4. 139๊ถŒํ•œ(GRANT)๊ณผ ์ •์ฑ…(POLICY)์€ ๋‹ค๋ฅธ ์ธต์ด๋‹ค
  5. 140์ •์ฑ… ๋ฌธ๋ฒ• ํ•ด๋ถ€
  6. 141using vs with check
  7. 142์—ฐ์‚ฐ๋ณ„ ์ •์ฑ… 4์ข… ์„ธํŠธ
  8. 143ํ—ฌํผ ํ•จ์ˆ˜ โ€” auth.uid(), auth.jwt()
  9. 144ํŒจํ„ด 1 โ€” ์†Œ์œ ์ž๋งŒ (๊ฐ€์žฅ ๊ธฐ๋ณธ)
  10. 145ํŒจํ„ด 2 โ€” ๊ณต๊ฐœ ์ฝ๊ธฐ + ์†Œ์œ ์ž ์“ฐ๊ธฐ
  11. 146ํŒจํ„ด 3 โ€” ํŒ€ / ์กฐ์ง ๋ฉค๋ฒ„์‹ญ
  12. 147ํŒจํ„ด 4 โ€” ์—ญํ•  ๊ธฐ๋ฐ˜ (RBAC)
  13. 148ํŒจํ„ด 5 โ€” ๊ฐ€์‹œ์„ฑ ๋ฒ”์œ„ (public / friends / private)
  14. 149permissive vs restrictive
  15. 150security definer ํ—ฌํผ ํ•จ์ˆ˜
  16. 151์„ฑ๋Šฅ (1) โ€” ํ•จ์ˆ˜๋ฅผ select๋กœ ๊ฐ์‹ธ๊ธฐ
  17. 152์„ฑ๋Šฅ (2) โ€” ์ธ๋ฑ์Šค์™€ ๋ช…์‹œ์  ํ•„ํ„ฐ
  18. 153์„ฑ๋Šฅ (3) โ€” ์—ญํ•  ์ง€์ •๊ณผ ์กฐ์ธ ํšŒํ”ผ
  19. 154RLS ์šฐํšŒ ๊ฒฝ๋กœ ์ ๊ฒ€
  20. 155RLS ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฒ•
  21. 1567์žฅ ์š”์•ฝ + ์ฒดํฌ๋ฆฌ์ŠคํŠธ
โ–ธ 8. Storage 13
  1. 158Storage์˜ ๊ตฌ์กฐ
  2. 159๋ฒ„ํ‚ท ๋งŒ๋“ค๊ธฐ โ€” public vs private
  3. 160์—…๋กœ๋“œ
  4. 161๋‹ค์šด๋กœ๋“œ์™€ URL 3์ข…
  5. 162Storage RLS ์ •์ฑ…
  6. 163ํด๋” ๊ตฌ์กฐ๋กœ ๊ถŒํ•œ ๋‚˜๋ˆ„๊ธฐ
  7. 164์ด๋ฏธ์ง€ ๋ณ€ํ™˜
  8. 165์žฌ๊ฐœ ๊ฐ€๋Šฅ ์—…๋กœ๋“œ (TUS)
  9. 166S3 ํ˜ธํ™˜ ์ ‘๊ทผ
  10. 167ํŒŒ์ผ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์•ฑ ํ…Œ์ด๋ธ”๊ณผ ์—ฐ๊ฒฐํ•˜๊ธฐ
  11. 168๋Œ€์šฉ๋Ÿ‰ ยท ๋ณด์•ˆ ์—…๋กœ๋“œ ํŒจํ„ด
  12. 169Storage ํ•จ์ • ๋ชจ์Œ
  13. 1708์žฅ ์š”์•ฝ
โ–ธ 9. Realtime 15
  1. 172Realtime์˜ ์„ธ ๊ฐ€์ง€ ๊ธฐ๋Šฅ
  2. 173์ฑ„๋„์ด๋ผ๋Š” ๊ณตํ†ต ์ถ”์ƒ
  3. 174Broadcast ๊ธฐ์ดˆ
  4. 175Broadcast โ€” self / ack / HTTP ์ „์†ก
  5. 176Presence
  6. 177Postgres Changes ์„ค์ •
  7. 178Postgres Changes ๊ตฌ๋…๊ณผ ํ•„ํ„ฐ
  8. 179Postgres Changes์™€ RLS
  9. 180Broadcast from Database โ€” ๋‘ ๋ฐฉ์‹์˜ ์žฅ์  ํ•ฉ์น˜๊ธฐ
  10. 181๋ฌด์—‡์„ ์–ธ์ œ ์“ฐ๋‚˜ โ€” ์„ ํƒ ๊ฐ€์ด๋“œ
  11. 182ํ™•์žฅ์„ฑ โ€” ๋ฐ˜๋“œ์‹œ ์•Œ์•„์•ผ ํ•  ์ฐจ์ด
  12. 183private ์ฑ„๋„๊ณผ ์ธ๊ฐ€
  13. 184์‹ค์ „ โ€” ๋‚™๊ด€์  UI์™€ ์žฌ์—ฐ๊ฒฐ
  14. 185Realtime ํ•จ์ • ๋ชจ์Œ
  15. 1869์žฅ ์š”์•ฝ
โ–ธ 10. Edge Functions 13
  1. 188Edge Functions๋ž€
  2. 189์ฒซ ํ•จ์ˆ˜ ๋งŒ๋“ค๊ธฐ
  3. 190๋กœ์ปฌ ์‹คํ–‰๊ณผ ๋ฐฐํฌ
  4. 191ํ˜ธ์ถœ ๋ฐฉ๋ฒ•
  5. 192์‹œํฌ๋ฆฟ(ํ™˜๊ฒฝ ๋ณ€์ˆ˜) ๊ด€๋ฆฌ
  6. 193ํ•จ์ˆ˜ ์•ˆ์—์„œ DB ์ ‘๊ทผ โ€” ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹
  7. 194JWT ๊ฒ€์ฆ๊ณผ ์ธ๊ฐ€
  8. 195์˜์กด์„ฑ ๊ด€๋ฆฌ
  9. 196CORS ์ฒ˜๋ฆฌ
  10. 197Database Webhooks์™€ ์—ฐ๋™
  11. 198์–ธ์ œ Edge Function์„ ์“ฐ๋‚˜
  12. 199์ œ์•ฝ๊ณผ ํ•จ์ •
  13. 20010์žฅ ์š”์•ฝ
โ–ธ 11. ํ™•์žฅ์œผ๋กœ ๋„“ํžˆ๊ธฐ 13
  1. 202ํ™•์žฅ(extension)์ด๋ผ๋Š” ๊ฐœ๋…
  2. 203ํ™•์žฅ ์„ค์น˜ํ•˜๊ธฐ
  3. 204pgvector (1) โ€” ์ž„๋ฒ ๋”ฉ ๊ฒ€์ƒ‰์ด๋ž€
  4. 205pgvector (2) โ€” ์Šคํ‚ค๋งˆ์™€ ์ธ๋ฑ์Šค
  5. 206pgvector (3) โ€” ๊ฒ€์ƒ‰ ํ•จ์ˆ˜์™€ ํ˜ธ์ถœ
  6. 207pg_cron โ€” ์Šค์ผ€์ค„ ์ž‘์—…
  7. 208pg_net โ€” DB์—์„œ HTTP ํ˜ธ์ถœ
  8. 209pgmq โ€” ๋ฉ”์‹œ์ง€ ํ
  9. 210Foreign Data Wrappers
  10. 211Vault โ€” ์‹œํฌ๋ฆฟ ์ €์žฅ
  11. 212๊ธฐํƒ€ ์•Œ์•„๋‘˜ ํ™•์žฅ๋“ค
  12. 213์กฐํ•ฉ ํŒจํ„ด โ€” cron + queue + edge function
  13. 21411์žฅ ์š”์•ฝ
โ–ธ 12. Vercel๊ณผ์˜ ์—ญํ•  ๋ฐฐ๋ถ„ 22
  1. 216ํ”ํ•œ ์˜คํ•ด โ€” ๋‘˜์€ ๊ฒฝ์Ÿ ๊ด€๊ณ„์ธ๊ฐ€
  2. 217ํ•œ ๋ฌธ์žฅ ์—ญํ•  ๋ฐฐ๋ถ„
  3. 218Vercel์ด ์ž˜ํ•˜๋Š” ๊ฒƒ
  4. 219Supabase๊ฐ€ ์ž˜ํ•˜๋Š” ๊ฒƒ
  5. 220๊ฒน์น˜๋Š” ์˜์—ญ ์ง€๋„
  6. 221ํ‘œ์ค€ ์•„ํ‚คํ…์ฒ˜ ํ•œ ์žฅ
  7. 222์š”์ฒญ ํ๋ฆ„ 3์ข…
  8. 223ํŒ๋‹จ ๊ธฐ์ค€ (1) โ€” ์„œ๋ฒ„ ๋กœ์ง์„ ์–ด๋””์— ๋‘˜๊นŒ
  9. 224ํŒ๋‹จ ๊ธฐ์ค€ (2) โ€” ๋น„๊ตํ‘œ
  10. 225ํŒ๋‹จ ๊ธฐ์ค€ (3) โ€” ์‹ค์ œ ์‚ฌ๋ก€๋กœ ๋ฐฐ์น˜ํ•ด๋ณด๊ธฐ
  11. 226๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ฒฝ๋กœ ์„ ํƒ โ€” Data API vs ์ง์ ‘ ์—ฐ๊ฒฐ
  12. 227๋ฆฌ์ „ ๋ฐฐ์น˜ โ€” ์ง€์—ฐ ์‹œ๊ฐ„์˜ ํ•ต์‹ฌ
  13. 228์บ์‹ฑ ์—ญํ•  ๋ถ„๋‹ด
  14. 229ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋ฐฐ์น˜
  15. 230Vercel ํ†ตํ•ฉ โ€” ๋‘ ๊ฐ€์ง€ ์—ฐ๊ฒฐ ๋ฐฉ์‹
  16. 231ํ”„๋ฆฌ๋ทฐ ๋ฐฐํฌ์™€ Supabase ๋ธŒ๋žœ์น˜ ๋งคํ•‘
  17. 232Auth Redirect URL๊ณผ ํ”„๋ฆฌ๋ทฐ ๋ฌธ์ œ
  18. 233๋น„์šฉ ๊ด€์ ์˜ ์—ญํ•  ๋ฐฐ๋ถ„
  19. 234ํŒŒ์ผ ์—…๋กœ๋“œ ๊ฒฝ๋กœ ์„ค๊ณ„
  20. 235Vercel ์—†์ด Supabase๋ฅผ ์“ฐ๋Š” ๊ฒฝ์šฐ
  21. 236์•ˆํ‹ฐํŒจํ„ด ๋ชจ์Œ
  22. 23712์žฅ ์š”์•ฝ
โ–ธ 13. Next.js ์‹ค์ „ ํ†ตํ•ฉ 22
  1. 239์™œ ๋ณ„๋„ ํŒจํ‚ค์ง€๊ฐ€ ํ•„์š”ํ•œ๊ฐ€
  2. 240ํ™˜๊ฒฝ ๋ณ€์ˆ˜
  3. 241๋ธŒ๋ผ์šฐ์ € ํด๋ผ์ด์–ธํŠธ
  4. 242์„œ๋ฒ„ ํด๋ผ์ด์–ธํŠธ
  5. 243์ฟ ํ‚ค ์ฒ˜๋ฆฌ ๊ทœ์น™
  6. 244middleware.ts โ€” ์„ธ์…˜ ๊ฐฑ์‹ 
  7. 245middleware.ts โ€” ๋ผ์šฐํŠธ ๋ณดํ˜ธ๊นŒ์ง€
  8. 246middleware ์ฃผ์˜์‚ฌํ•ญ
  9. 247Server Component์—์„œ ๋ฐ์ดํ„ฐ ์กฐํšŒ
  10. 248๋ผ์šฐํŠธ ๋ณดํ˜ธ ํŒจํ„ด
  11. 249Server Action์œผ๋กœ ๋กœ๊ทธ์ธ
  12. 250Server Action์œผ๋กœ ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ
  13. 251Route Handler
  14. 252ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ์—์„œ ์กฐํšŒ
  15. 253Realtime์„ ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ์—์„œ
  16. 254์บ์‹ฑ๊ณผ ๋™์  ๋ Œ๋”๋ง
  17. 255๊ด€๋ฆฌ์ž ํด๋ผ์ด์–ธํŠธ ๋ถ„๋ฆฌ
  18. 256ํƒ€์ž… ๊ณต์œ  ๊ตฌ์กฐ
  19. 257๋กœ๊ทธ์•„์›ƒ๊ณผ ์„ธ์…˜ ์ •๋ฆฌ
  20. 258๋””๋ ‰ํ„ฐ๋ฆฌ ๊ตฌ์กฐ ์˜ˆ์‹œ
  21. 259Next.js ํ†ตํ•ฉ ํ•จ์ • ๋ชจ์Œ
  22. 26013์žฅ ์š”์•ฝ
โ–ธ 14. ์šด์˜ 19
  1. 262ํ™˜๊ฒฝ ๋ถ„๋ฆฌ ์ „๋žต
  2. 263๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์˜ ๊ทœ์น™
  3. 264๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ž‘์„ฑ ์š”๋ น
  4. 265ํŒŒ๊ดด์  ๋ณ€๊ฒฝ ๋‹ค๋ฃจ๊ธฐ
  5. 266๋ฌด์ค‘๋‹จ ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ ์ˆœ์„œ
  6. 267๋ธŒ๋žœ์นญ ๊ฐœ์š”
  7. 268๋ธŒ๋žœ์นญ ์›Œํฌํ”Œ๋กœ
  8. 269CI/CD ํŒŒ์ดํ”„๋ผ์ธ ์„ค๊ณ„
  9. 270GitHub Actions โ€” ๊ฒ€์ฆ
  10. 271GitHub Actions โ€” ๋ฐฐํฌ
  11. 272์‹œํฌ๋ฆฟ ๊ด€๋ฆฌ
  12. 273๋ฐฑ์—…๊ณผ ๋ณต๊ตฌ
  13. 274๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ๋กœ๊ทธ
  14. 275Advisors ํ™œ์šฉ
  15. 276ํ”„๋กœ๋•์…˜ ์ฒดํฌ๋ฆฌ์ŠคํŠธ โ€” ๋ณด์•ˆ
  16. 277ํ”„๋กœ๋•์…˜ ์ฒดํฌ๋ฆฌ์ŠคํŠธ โ€” ์•ˆ์ •์„ฑ
  17. 278์‚ฌ๊ณ  ๋Œ€์‘ ์‹œ๋‚˜๋ฆฌ์˜ค
  18. 279ํŒ€ ๊ทœ์น™์œผ๋กœ ๋งŒ๋“ค ๊ฒƒ๋“ค
  19. 28014์žฅ ์š”์•ฝ
โ–ธ 15. ์„ฑ๋Šฅ ยท ๋น„์šฉ ยท ํ•œ๊ณ„ 17
  1. 282์„ฑ๋Šฅ ๋ฌธ์ œ์˜ ์ง€๋„
  2. 283์ง„๋‹จ ๋„๊ตฌ โ€” EXPLAIN ANALYZE
  3. 284์ธ๋ฑ์Šค๋กœ ํ•ด๊ฒฐ๋˜๋Š” ๊ฒƒ๋“ค
  4. 285RLS ์„ฑ๋Šฅ ์žฌ์ ๊ฒ€
  5. 286N+1 ์ œ๊ฑฐ
  6. 287ํŽ˜์ด์ง€๋„ค์ด์…˜ ์ตœ์ ํ™”
  7. 288์ปค๋„ฅ์…˜ ๊ด€๋ฆฌ
  8. 289์ปดํ“จํŠธ ํฌ๊ธฐ์™€ ํ•œ๊ณ„
  9. 290์บ์‹ฑ ์ „๋žต
  10. 291๋น„์šฉ ๊ตฌ์กฐ ์ดํ•ด (1) โ€” ๋ฌด์—‡์— ๋ˆ์ด ๋‚˜๊ฐ€๋‚˜
  11. 292๋น„์šฉ ๊ตฌ์กฐ ์ดํ•ด (2) โ€” ๋Œ€์—ญํญ์ด ์กฐ์šฉํ•œ ํ‚ฌ๋Ÿฌ
  12. 293๋น„์šฉ ์ ˆ๊ฐ ์ฒดํฌ๋ฆฌ์ŠคํŠธ
  13. 294ํ™•์žฅ ํ•œ๊ณ„ โ€” ์–ธ์ œ ๋ฒฝ์— ๋ถ€๋”ชํžˆ๋‚˜
  14. 295์ฝ๊ธฐ ๋ถ€ํ•˜ ๋ถ„์‚ฐ
  15. 296์“ฐ๊ธฐ ๋ถ€ํ•˜ ๋Œ€์‘
  16. 297์–ธ์ œ Supabase๋ฅผ ๋ฒ—์–ด๋‚˜์•ผ ํ•˜๋‚˜
  17. 29815์žฅ ์š”์•ฝ
โ–ธ 16. ์‹ค์ „ ํŒจํ„ด๊ณผ ์•ˆํ‹ฐํŒจํ„ด 17
  1. 300์‹œ๋‚˜๋ฆฌ์˜ค 1 โ€” ๋ฉ€ํ‹ฐํ…Œ๋„ŒํŠธ SaaS (์Šคํ‚ค๋งˆ)
  2. 301์‹œ๋‚˜๋ฆฌ์˜ค 1 โ€” RLS ํ—ฌํผ ํ•จ์ˆ˜
  3. 302์‹œ๋‚˜๋ฆฌ์˜ค 1 โ€” ์ •์ฑ… ์ ์šฉ
  4. 303์‹œ๋‚˜๋ฆฌ์˜ค 1 โ€” ์ดˆ๋Œ€ ํ”Œ๋กœ์šฐ
  5. 304์‹œ๋‚˜๋ฆฌ์˜ค 2 โ€” ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… (์Šคํ‚ค๋งˆ์™€ ์ •์ฑ…)
  6. 305์‹œ๋‚˜๋ฆฌ์˜ค 2 โ€” ์ „์†ก๊ณผ ๊ตฌ๋…
  7. 306์‹œ๋‚˜๋ฆฌ์˜ค 3 โ€” ๊ฒฐ์ œ ์—ฐ๋™ (Stripe)
  8. 307์‹œ๋‚˜๋ฆฌ์˜ค 3 โ€” ์›นํ›… ์ฒ˜๋ฆฌ์™€ ๋ฉฑ๋“ฑ์„ฑ
  9. 308์‹œ๋‚˜๋ฆฌ์˜ค 4 โ€” ํŒŒ์ผ ๊ธฐ๋ฐ˜ ๋ฌธ์„œ ์•ฑ
  10. 309์‹œ๋‚˜๋ฆฌ์˜ค 5 โ€” AI ์ฑ—๋ด‡ (RAG)
  11. 310๊ฐ์‚ฌ ๋กœ๊ทธ ํŒจํ„ด (1) โ€” ํ…Œ์ด๋ธ”
  12. 311๊ฐ์‚ฌ ๋กœ๊ทธ ํŒจํ„ด (2) โ€” ํŠธ๋ฆฌ๊ฑฐ
  13. 312์†Œํ”„ํŠธ ์‚ญ์ œ ํŒจํ„ด
  14. 313์•Œ๋ฆผ ํŒจํ„ด
  15. 314์•ˆํ‹ฐํŒจํ„ด ์ด์ •๋ฆฌ (1) โ€” ๋ณด์•ˆ
  16. 315์•ˆํ‹ฐํŒจํ„ด ์ด์ •๋ฆฌ (2) โ€” ์„ค๊ณ„์™€ ์„ฑ๋Šฅ
  17. 31616์žฅ ์š”์•ฝ
โ–ธ 17. ์ •๋ฆฌ 7
  1. 318์ „์ฒด ๊ทธ๋ฆผ ๋˜์งš๊ธฐ
  2. 319๊ผญ ๊ธฐ์–ตํ•  10๊ฐ€์ง€
  3. 320์ฒซ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ ์ˆœ์„œ
  4. 321ํ•™์Šต ๋กœ๋“œ๋งต
  5. 322์ฐธ๊ณ  ์ž๋ฃŒ
  6. 323์ž์ฃผ ๋ฐ›๋Š” ์งˆ๋ฌธ
  7. 324๋งˆ๋ฌด๋ฆฌ
324 slides

์›น๊ฒŒ์ž„ ๊ฐœ๋ฐœ with Phaser 4

Phaser 4๋กœ ๋ธŒ๋ผ์šฐ์ € ๊ฒŒ์ž„ ๋งŒ๋“ค๊ธฐ โ€” ์”ฌ ๊ตฌ์กฐ, ๊ฒŒ์ž„ ๋ฃจํ”„, ์Šฌ๋ผ์ด๋“œ ์•ˆ ๋ผ์ด๋ธŒ ๋ฐ๋ชจ

์›น๊ฒŒ์ž„ ๊ฐœ๋ฐœ ยท ์™œ Phaser์ธ๊ฐ€ ยท Phaser 4 ํ•ต์‹ฌ ๊ตฌ์กฐ +3