# 2024.01.31 ๊ธฐ๋ก

๋ชฉ์ฐจ

Spring Security

๐Ÿ’ก ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ

#์Šคํ”„๋ง #GitHub #๋กœ๊ทธ์ธ

โœ”๏ธ ์˜ค๋Š˜์˜ Todo List

  • ์ˆ™๋ จ์ฃผ์ฐจ 2์ฃผ์ฐจ ๊ฐ•์˜

  • ์Šคํ”„๋ง ์‹ค์Šต


โœ๏ธ์˜ค๋Š˜์˜ ๊ธฐ๋ก

  1. ์˜ค๋Š˜๋„ SpringSecurity์™€ JWT๋ฅผ ๊ณต๋ถ€ํ–ˆ๋‹ค.

  2. ์ฝ”๋“œ๋ฅผ ๋‚ด ๊ฒƒ์œผ๋กœ ๋งŒ๋“œ๋ ค๊ณ  ์‹ค์Šต์„ ํ–ˆ๋Š”๋ฐ ๋งŒ๋“œ๋Š” ์ˆœ์„œ๋ฅผ ์ •ํ•ด๋†“๋Š”๊ฒŒ ์ค‘์š”ํ•  ๊ฒƒ ๊ฐ™๋‹ค.

  3. 2์ฃผ์ฐจ ๊ฐ•์˜๋Š” 1์ฃผ์ฐจ๋ณด๋‹ค ๋‹คํ–‰ํžˆ ์ข€ ๋” ์‰ฝ๋‹ค

๋‹ค์Œ: 2024.02.06 ๊ฐœ์ธ๊ณผ์ œ
My avatar

๋ธ”๋กœ๊ทธ์— ๋ฐฉ๋ฌธํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์˜๊ฐ€ ์žˆ์œผ์‹œ๋ฉด thunderbizlab@gmail.com๋กœ ์—ฐ๋ฝ์ฃผ์„ธ์š”.


๋Œ“๊ธ€

๊ณผ๊ฑฐ Hashnode ์‹œ๋ฆฌ์ฆˆ

# 1.MySQL DBeaver ์„ค์น˜

Java ํ•™์Šต์— ๋“ค์–ด๊ฐ€๊ธฐ์ „ MySQL์„ ํ•™์Šต์ค‘์ž…๋‹ˆ๋‹ค. https://dbeaver.io/download/ ์„ค์น˜ํ•˜๋ ค๋ฉด ์ด ๋งํฌ๋ฅผ ๋ฐฉ๋ฌธํ•˜์—ฌ ์‚ฌ์šฉ ์ค‘์ธ ์šด์˜์ฒด์ œ์— ๋งž๋Š” ํŒŒ์ผ์„ ์„ ํƒํ•˜์„ธ์š”. ์ œ ์šด์˜์ฒด์ œ๋Š” ๋งฅ(Mac)์ž…๋‹ˆ๋‹ค. ๋งฅ์—์„œ๋Š” brew ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Brew Cask (brew install --caskโ€ฆ

๋”๋ณด๊ธฐ

# 1.Java - ์‹œ์ž‘

์ž๋ฐ” ๊ธฐ์ดˆ๋ฅผ ๊ณต๋ถ€ํ•˜๋Š”๋ฐ ์—ฐ์‚ฐ์ž๋‚˜ ์กฐ๊ฑด๋ฌธ ๋ฐ˜๋ณต๋ฌธ์„ ์ด๋ฏธ ๋‹ค๋ฅธ ์–ธ์–ด์—์„œ ์ˆ™์ง€ํ•˜๊ณ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์ดˆ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋กœ ๋” ๋น ๋ฅด๊ฒŒ ๋ฌธ๋ฒ•์„ ์ตํžˆ๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ๋ฐฑ์ค€ ๋ฌธ์ œ ํ•œ๊ฐœ๋ฅผ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค. 2163๋ฒˆ ์ดˆ์ฝœ๋ฆฟ ์ž๋ฅด๊ธฐ https://www.acmicpc.net/problem/2163 ์š” ๋ฌธ์ œ๋ฅผ ํ’€๊ฒ๋‹ˆ๋‹ค. ์ •ํ™”๋Š” Nร—M ํฌ๊ธฐ์˜ ์ดˆ์ฝœ๋ฆฟ์„ ํ•˜๋‚˜ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ดˆ์ฝœ๋ฆฟ์€โ€ฆ

๋”๋ณด๊ธฐ

# 1.Java ์‹œ์ž‘

์ž๋ฐ” ๊ธฐ์ดˆ๋ฅผ ๊ณต๋ถ€ํ•˜๋Š”๋ฐ ์—ฐ์‚ฐ์ž๋‚˜ ์กฐ๊ฑด๋ฌธ ๋ฐ˜๋ณต๋ฌธ์„ ์ด๋ฏธ ๋‹ค๋ฅธ ์–ธ์–ด์—์„œ ์ˆ™์ง€ํ•˜๊ณ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์ดˆ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋กœ ๋” ๋น ๋ฅด๊ฒŒ ๋ฌธ๋ฒ•์„ ์ตํžˆ๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ๋ฐฑ์ค€ ๋ฌธ์ œ ํ•œ๊ฐœ๋ฅผ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค. 2163๋ฒˆ ์ดˆ์ฝœ๋ฆฟ ์ž๋ฅด๊ธฐ https://www.acmicpc.net/problem/2163 ์š” ๋ฌธ์ œ๋ฅผ ํ’€๊ฒ๋‹ˆ๋‹ค. ์ •ํ™”๋Š” Nร—M ํฌ๊ธฐ์˜ ์ดˆ์ฝœ๋ฆฟ์„ ํ•˜๋‚˜ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ดˆ์ฝœ๋ฆฟ์€โ€ฆ

๋”๋ณด๊ธฐ

# 2.MySQL ๊ธฐ๋ณธ๊ตฌ์กฐ/๋ฐ์ดํ„ฐ ์กฐํšŒ

SELECT: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ณธ ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ชจ๋“  ์ฟผ๋ฆฌ(Query)์— ์ด ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. FROM: ์กฐํšŒํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ํ…Œ์ด๋ธ”์„ ์ง€์ •ํ•˜๋Š” ๊ตฌ๋ฌธ์ž…๋‹ˆ๋‹ค. *: ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ์ปฌ๋Ÿผ(์—ด)์„ ์„ ํƒํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. select * from food_orders ์œ„์˜ ์ฟผ๋ฆฌ๋Š” food_orders ํ…Œ์ด๋ธ”์—โ€ฆ

๋”๋ณด๊ธฐ

# 3.MySQL ๋ฐ์ดํ„ฐ ์กฐํšŒ์™€ ์—‘์…€ ํ•จ์ˆ˜ ์ ์šฉ์„ ํ•œ ๋ฒˆ์— ๋๋‚ด๊ธฐ (SUM, AVG, COUNT, MIN, MAX)

์ˆซ์ž ์—ฐ์‚ฐ ์ข…๋ฅ˜ ์—ฐ์‚ฐ์ž์„ค๋ช…+๋”ํ•˜๊ธฐ-๋นผ๊ธฐ*๊ณฑํ•˜๊ธฐ/๋‚˜๋ˆ„๊ธฐ SQL ์—์„œ๋Š” ๊ณ„์‚ฐ์˜ ํŽธ์˜๋ฅผ ์œ„ํ•ด ํ•จ์ˆ˜๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ๋ฐฉ๋ฒ•์€ ์—‘์…€๊ณผ ์œ ์‚ฌํ•˜๊ณ , ์œ ์ผํ•˜๊ฒŒ ๋‹ค๋ฅธ ์ ์€ ๋ฐ์ดํ„ฐ์˜ ๋ฒ”์œ„๊ฐ€ ์•„๋‹Œ ๊ณ„์‚ฐํ•  โ€˜์ปฌ๋Ÿผโ€™์„ ์ ์–ด์ค€๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•จ์ˆ˜ ์ข…๋ฅ˜ํ•ฉ๊ณ„ : SUM(์ปฌ๋Ÿผ) ํ‰๊ท  : AVG(์ปฌ๋Ÿผ) ์ „์ฒด ๋ฐ์ดํ„ฐ์˜ ๊ฐฏ์ˆ˜ ๊ตฌํ•˜๊ธฐ ํ•จ์ˆ˜ ์ข…๋ฅ˜ ๋ฐ์ดํ„ฐ ๊ฐฏ์ˆ˜ : COUNT(์ปฌ๋Ÿผ) ์ปฌ๋Ÿผ๋ช…โ€ฆ

๋”๋ณด๊ธฐ

# 4.MySQL - ์—…๋ฌด ํ•„์š”ํ•œ ๋ฌธ์ž ํฌ๋งท์ด ๋‹ค๋ฅผ ๋•Œ, SQL ๋กœ ๊ฐ€๊ณตํ•˜๊ธฐ (REPLACE, SUBSTRING, CONCAT)

SQL ์—์„œ๋Š” ํŠน์ • ๋ฌธ์ž๋ฅผ ๋‹ค๋ฅธ ๊ฒƒ์œผ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค ํ•จ์ˆ˜๋ช… : replace ์‚ฌ์šฉ ๋ฐฉ๋ฒ• SQL replace(๋ฐ”๊ฟ€ ์ปฌ๋Ÿผ, ํ˜„์žฌ ๊ฐ’, ๋ฐ”๊ฟ€ ๊ฐ’) ์˜ˆ์ „์— โ€˜๋ฌธ๊ณก๋ฆฌโ€™ ๋ผ๋Š” ์ง€๋ช…์ด โ€˜๋ฌธ๊ฐ€๋ฆฌโ€™ ๋กœ ๋ฐ”๋€Œ์—ˆ์–ด์š” (์ฃผ์†Œ์˜ โ€˜๋ฌธ๊ณก๋ฆฌโ€™ ๋ฅผ โ€˜๋ฌธ๊ฐ€๋ฆฌโ€™ ๋กœ ๋ฐ”๊พธ๊ธฐ) select addr, REPLACE (addr, "๋ฌธ๊ณก๋ฆฌ","๋ฌธ๊ฐ€๋ฆฌ") FROmโ€ฆ

๋”๋ณด๊ธฐ

# 2.Java ๋ณ€์ˆ˜

์ž๋ฐ” ๋ณ€์ˆ˜์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌ๋ฅผ ํ•ด๋ดค์Šต๋‹ˆ๋‹ค. ์ •์ˆ˜ ์‹ค์ˆ˜ ๋ฌธ์ž์—ด์— ๋Œ€ํ•ด์„œ ์จ๋ดค์Šต๋‹ˆ๋‹ค. public class Hello { public static void main(String[] args) { //์ •์ˆ˜ int a = 1; //์‹ค์ˆ˜ float b = 1.2f; double bb = 1.2; /* float๊ณผ double์˜ ์ฐจ์ด : ...

๋”๋ณด๊ธฐ

# 5.MySQL - IF๋ฌธ๊ณผ CASE๋ฌธ

IF ๋ฌธ์€ ์›ํ•˜๋Š” ์กฐ๊ฑด์— ์ถฉ์กฑํ•  ๋•Œ ์ ์šฉํ•  ๋ฐฉ๋ฒ•๊ณผ ์•„๋‹Œ ๋ฐฉ๋ฒ•์„ ์ง€์ •ํ•ด ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ์˜ˆ์‹œ) ์Œ์‹ ํƒ€์ž…์„ โ€˜Koreanโ€™ ์ผ ๋•Œ๋Š” โ€˜ํ•œ์‹โ€™, โ€˜Koreanโ€™ ์ด ์•„๋‹Œ ๊ฒฝ์šฐ์—๋Š” โ€˜๊ธฐํƒ€โ€™ ๋ผ๊ณ  ์ง€์ •ํ•˜๊ณ  ์‹ถ์–ด์š” ํ•จ์ˆ˜๋ช… : if ์‚ฌ์šฉ ๋ฐฉ๋ฒ• if(์กฐ๊ฑด, ์กฐ๊ฑด์„ ์ถฉ์กฑํ•  ๋•Œ, ์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜์ง€ ๋ชปํ•  ๋•Œ) Case ๋ฌธ์€ ๊ฐ ์กฐ๊ฑด๋ณ„๋กœ ์ ์šฉ ํ•  ๊ฐ’์„ ์ง€์ •ํ•ด ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.โ€ฆ

๋”๋ณด๊ธฐ

# 1.๋‚ด์ผ๋ฐฐ์›€์บ ํ”„

์˜ค๋Š˜์€ ๋‚ด๋ฐฐ์บ  Java๊ณผ์ • ์ฒซ๋‚ ์ž…๋‹ˆ๋‹ค. 12์‹œ๊ฐ„์ค‘ ์ ์‹ฌ ์ €๋…์‹œ๊ฐ„ ๋นผ๊ณ ๋Š” 3์กฐ์ธ ์ €ํฌ ํŒ€์›๋“ค๊ณผ ์ด๊ฒƒ์ €๊ฒƒ ํ•˜๊ธฐ ๋ฐ”๋น ์„œ 9-9์‹œ ์˜จ์ „ํžˆ ๋ชฐ์ž…์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. GitHub ์•„์ด๋””๋ฅผ ๋‚ด๋ฐฐ์บ  ์ „์šฉ์œผ๋กœ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด์„œ VsCode์—์„œ push๋ฅผ ํ•˜๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ํž˜๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Ÿฐ ๊ฒฝํ—˜์„ ํ†ตํ•ด์„œ ๊นƒํ—ˆ๋ธŒ ์•„์ด๋””๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ์ผ๋•Œ ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ•˜๋Š”์ง€๋ฅผ ๋ฐฐ์šธ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜๊ณ  ์˜ค๋Š˜โ€ฆ

๋”๋ณด๊ธฐ

# 4.Java ์กฐ๊ฑด๋ฌธ

public class Hello { public static void main(String[] args) { String a = "Hello"; String b = new String("Hello"); //boolean ๋ฌธ์ž์—ด์„ ๋น„๊ตํ• ๋•Œ๋Š” equals๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. //์ด์œ ๋Š” ๋‚˜์ค‘์— ์ƒ์„ฑ์ž๋ฅผ ์‚ฌ์šฉํ• ๋•Œ๋ฅผ ๋Œ€๋น„ํ•ด์„œ๋ผ๋Š”๋ฐ.. ์ผ๋‹จ์„ ์ด๋ ‡๊ฒŒ ์•Œ์•„๋‘๋ผ๊ณ  ํ•˜์‹ฌ -โ€ฆ

๋”๋ณด๊ธฐ

# 5.Java ๋ฐ˜๋ณต๋ฌธ

import java.util.Scanner; public class Hello { public static void main(String[] args) { String a = "Hello"; String b = new String("Hello"); //boolean ๋ฌธ์ž์—ด์„ ๋น„๊ตํ• ๋•Œ๋Š” equals๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. //์ด์œ ๋Š” ๋‚˜์ค‘์— ์ƒ์„ฑ์ž๋ฅผ ์‚ฌ์šฉํ• ๋•Œ๋ฅผโ€ฆ

๋”๋ณด๊ธฐ

# 6.Java ๊ณ„์‚ฐ๊ธฐ ๋งŒ๋“ค๊ธฐ

๊ฐ€์žฅ ํ›Œ๋ฅญํ•œ ํ•™์Šต๋ฐฉ๋ฒ•์€ ์ง์ ‘ ์‹ค์Šต์œผ๋กœ ์ž‘์€ ํ”„๋กœ์ ํŠธ๋ถ€ํ„ฐ ๋งŒ๋“œ๋Š”๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ฐ„๋‹จํ•œ ์‚ฌ์น™์—ฐ์‚ฐ์„ ํ• ์ˆ˜์žˆ๋Š” ๊ณ„์‚ฐ๊ธฐ๋ฅผ ์ž‘์„ฑํ•ด๋ดค์Šต๋‹ˆ๋‹ค. import java.util.Scanner; class Calculator{ public static int add(int a, int b){ return a+b; } public static intโ€ฆ

๋”๋ณด๊ธฐ

# 7.Java ๊ธฐ๋ณธ ํƒ€์ž…

๊ธฐ๋ณธ ํƒ€์ž… ์ž๋ฐ”๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋ณธ ํƒ€์ž…์€ 8๊ฐœ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ •์ˆ˜ ํƒ€์ž…์‹ค์ˆ˜ ํƒ€์ž…๋…ผ๋ฆฌ ํƒ€์ž… int , byte, char , long , shortfloat, doubleboolean ํƒ€์ž…๋ฉ”๋ชจ๋ฆฌ์‚ฌ์šฉํฌ๊ธฐ์ €์žฅ๋˜๋Š” ๊ฐ’์˜ ํ—ˆ์šฉ ๋ฒ”์œ„ byte1byte/8bit-2^7 ~ (2^7-1) / -128 ~ 127 short2byte/16bit-2^15 ~ (2^15-1) /โ€ฆ

๋”๋ณด๊ธฐ

# 8.Java ์ฐธ์กฐ ํƒ€์ž…

์ฐธ์กฐ ํƒ€์ž… ์˜ˆ์‹œ Java์—์„œ๋Š” ์ƒ์ž์ฒ˜๋Ÿผ ์ž‘๋™ํ•˜๋Š” '์ฐธ์กฐ ํƒ€์ž… ๋ณ€์ˆ˜'๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ƒ์ž์—๋Š” ์ง„์งœ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด ์žˆ๋Š” ๋‹ค๋ฅธ ํฐ ์ƒ์ž๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” '์ง€๋„'๊ฐ€ ๋“ค์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํฐ ์ƒ์ž๋Š” 'ํž™'์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๊ณณ์— ์žˆ์–ด์š”. ์ž‘์€ ์ƒ์ž๋Š” '์Šคํƒ'์ด๋ผ๋Š” ๊ณณ์— ์žˆ๊ณ , ์—ฌ๊ธฐ์—๋Š” ์ง€๋„๋งŒ ๋“ค์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ๋งŒ๋“ค ๋•Œ, Java๋Š” ํฐ ์ƒ์ž(ํž™)์— ์ง„์งœโ€ฆ

๋”๋ณด๊ธฐ

# 2023.12.26 Java๊ธฐ์ดˆ ํ•™์Šต/Linux์„ค์น˜

์˜ค๋Š˜์€ ํŒ€๋ณ„๊ณผ์ œ๋ฅผ ๊ฑฐ์˜ ๋‹ค ์™„์„ฑํ•ด์„œ ์ƒˆ๋กœ์šด ์˜ค๋Š˜์˜ ๋ชฉํ‘œ๋ฅผ ์„ธ์›Œ๋ดค์Šต๋‹ˆ๋‹ค. 1.Arch Linux๊ฐ€ ์„ค์น˜๋œ ๋…ธํŠธ๋ถ Ubuntuํ™˜๊ฒฝ์œผ๋กœ ์žฌ์„ค์น˜ํ•˜๊ธฐ 2.Java์˜ ๊ธฐ์ดˆ๋ฅผ ํ•™์Šตํ•˜๊ธฐ 1๋ฒˆ ๋ชฉํ‘œ) arch linux์˜ ๊ทน์•… ๋‚œ์ด๋„ ์„ค์น˜๋ฅผ ๊ฒช์–ด๋ดค๊ธฐ ๋•Œ๋ฌธ์— ubuntu ์„ค์น˜๋Š” ๋ณ„๋กœ ์–ด๋ ต์ง€๊ฐ€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. rafus๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์„ค์น˜ usb๋ฅผ ๋งŒ๋“  ํ›„ ์•„์ฃผ ์นœ์ ˆํ•˜๊ฒŒ ํ•˜๋ผ๋Š”โ€ฆ

๋”๋ณด๊ธฐ

# 2023.12.27 ๊นƒํ—ˆ๋ธŒ ํ•™์Šต/Java ์ฝ”๋”ฉ ์‹ค์Šต

์˜ค๋Š˜์˜ ๋งˆ์Œ๊ฐ€์ง TIL์„ ์ข€ ๋” ์ด์˜๊ฒŒ ์จ์•ผํ•˜๊ฒ ๋‹ค ์–ด์ œ ์ž๊ธฐ ์ „์— ๋“  ์ƒ๊ฐ?? ๊นƒ์„ ์ข€ ๋” ์ž˜ ํ™œ์šฉํ•˜์ž! ๊ทธ๋ƒฅ ํ•™์Šต ๋ง๊ณ  ์ง„์งœ ํ•™์Šต! ์ด์™•์ด๋ฉด ์žฌ๋ฐŒ๊ฒŒ! cs ์ง€์‹๋„ ๊ณต๋ถ€๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค. ์‹œ๊ฐ„ํ‘œ๋ฅผ ๋” ์•Œ์ฐจ๊ฒŒ ์งœ์•ผ๊ฒ ๋‹ค. ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ #Java #๊ธฐ์ดˆ๋ฌธ๋ฒ• #์ฐจ๊ทผ์ฐจ๊ทผ #๋ฐ˜๋ณต๋ฌธ ์˜ค๋Š˜์˜ ๋ชฉํ‘œ ๊ฐ•์˜๋งŒ ๋ณด์ง€ ๋ง๊ณ  ์ง์ ‘ ์ฝ”๋”ฉ (๋ฌธ๋ฒ• ์ˆ™๋‹ฌํ•  ๋•Œ๊นŒ์ง€ ๋งค์ผ) GitHubโ€ฆ

๋”๋ณด๊ธฐ

# 2023.12.28 Class&GitHub ๊ณต๋ถ€/์ฒซ ํŒ€ ํ”„๋กœ์ ํŠธ ๋งˆ๋ฌด๋ฆฌ

์˜ค๋Š˜์˜ ๋งˆ์Œ๊ฐ€์ง TIL์„ ์ข€ ๋” ์ด์˜๊ฒŒ ์จ์•ผํ•˜๊ฒ ๋‹ค. ์–ด์ œ ์ž๊ธฐ์ „์— ๋“  ์ƒ๊ฐ ๐Ÿค” 1. ์˜ค๋Š˜์€ ์ถ”์ƒํ™”์— ๋Œ€ํ•ด ์ดํ•ดํ•ด๋ณด์ž 2. ์˜ค๋Š˜๋„ ๋ณด๋Š”๊ฒƒ๋ณด๋‹ค๋Š” ํ–‰๋™์œผ๋กœ 3. ์ด์™•์ด๋ฉด ์žฌ๋ฐŒ๊ฒŒ ๋งŒ๋“ค์ž! cs์ง€์‹๋„ ๊ณต๋ถ€๋ฅผ ํ•ด์•ผํ•œ๋‹ค.(๋งค์ผ) ์‹œ๊ฐ„ํ‘œ๋ฅผ ๋” ์•Œ์ฐจ๊ฒŒ ์งœ์•ผ๊ฒ ๋‹ค.(๋งค์ผ) ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ #Java #๊ธฐ์ดˆ๋ฌธ๋ฒ• #์ฐจ๊ทผ์ฐจ๊ทผ #ํด๋ž˜์Šค #์ƒ์„ฑ์ž #์ถ”์ƒํ™” ์˜ค๋Š˜์˜ ๋ชฉํ‘œ classโ€ฆ

๋”๋ณด๊ธฐ

# 9.Java ๊ตฌ๊ตฌ๋‹จ ๊ณ„์‚ฐ๊ธฐ

๊ตฌ๊ตฌ๋‹จ Java ๊ฐ•์˜๋ฅผ ์‹œ์ฒญํ•˜๋ฉฐ ๋‹จ์ˆœํžˆ ์ฝ”๋“œ๋ฅผ ๋”ฐ๋ผ ์น˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ,์‹ค์ „ ๊ฐ™์€ ํ™˜๊ฒฝ์—์„œ ๋น ๋ฅด๊ฒŒ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ์‚ผ์•˜์Šต๋‹ˆ๋‹ค. ๋งˆ์นจ for๋ฌธ์„ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ์–ด์„œ, ๊ตฌ๊ตฌ๋‹จ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ๋ณด๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋Š” ์–ธ์ œ๋‚˜ ๋ฌด์–ธ๊ฐ€ ๋ถ€์กฑํ•จ์„ ๋А๊ผˆ๊ธฐ์—, ๊ธฐ๋ณธ์ ์ธ ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉด์„œ๋„ ๋ˆˆ์— ๋„๋Š” ๊ฒฐ๊ณผ๋ฌผ์„ ๋‚จ๊ธฐ๊ณ ์ž ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ฐ˜๋ณต๋ฌธ๊ณผโ€ฆ

๋”๋ณด๊ธฐ

# 10.Java ์ถ”์ƒํ™”

์ถ”์ƒํ™”๋ž€? ๋ณต์žกํ•œ ๊ฒƒ๋“ค์„ ์ผ๋ฐ˜์ ์ธ ํ˜•ํƒœ๋กœ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์ด ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿค” ์š”์•ฝ์„ ํ•ด๋„ ์ €๋Š” ์ž˜ ์ดํ•ด๊ฐ€ ์•ˆ ๊ฐ€์„œ์š”.. ์ œ๊ฐ€ ์ด๊ฒƒ์ €๊ฒƒ ์ฐพ์•„๋ณธ ์ž๋ฃŒ๋ฅผ ํ•œ๋ฒˆ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ‰์†Œ์— ์ž์ฃผ ์“ฐ๋Š” ๋ฐ˜๋ณต๋ฌธ๋„ ์ถ”์ƒํ™”๋‹ค!? ์šฐ๋ฆฌ๊ฐ€ ํ‰์†Œ์— ์ž์ฃผ์“ฐ๋Š” ๋ฐ˜๋ณต๋ฌธ(for, while)๋„ ์ถ”์ƒํ™”๋ฅผ ํ•œ ๊ฒƒ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ ์ปดํ“จํ„ฐ์—๊ฒŒ "์—ฌ๋Ÿฌ ๋ฒˆ ๊ฐ™์€ ์ž‘์—…์„โ€ฆ

๋”๋ณด๊ธฐ

# 11.Java ๋น„ํŠธ ์—ฐ์‚ฐ์ž

๋น„ํŠธ ์—ฐ์‚ฐ์ž๋ž€? ๋น„ํŠธ ์—ฐ์‚ฐ์ž๋Š” ์ˆซ์ž๋ฅผ ์ด์ง„์ˆ˜ ํ˜•ํƒœ๋กœ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, ๊ฐ ๋น„ํŠธ๋ณ„๋กœ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ด๋‚˜ ์ด๋™ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์—ฐ์‚ฐ์ž ์ž…๋‹ˆ๋‹ค. ๋น„ํŠธ ์—ฐ์‚ฐ์ž์˜ ์ข…๋ฅ˜ 1. AND (`&`): ๋‘ ๋น„ํŠธ ๋ชจ๋‘ 1์ผ ๊ฒฝ์šฐ์—๋งŒ ๊ฒฐ๊ณผ๊ฐ€ 1์ด ๋ฉ๋‹ˆ๋‹ค. 2. OR (`|`): ๋‘ ๋น„ํŠธ ์ค‘ ํ•˜๋‚˜๋ผ๋„ 1์ด๋ฉด ๊ฒฐ๊ณผ๊ฐ€ 1์ด ๋ฉ๋‹ˆ๋‹ค. 3. XOR (`^`): ๋‘ ๋น„ํŠธ๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅผ ๋•Œ๋งŒ ๊ฒฐ๊ณผ๊ฐ€โ€ฆ

๋”๋ณด๊ธฐ

# 2024.01.02 Class๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ณผ์ •

์˜ค๋Š˜์˜ ๋งˆ์Œ๊ฐ€์ง ์ดํ•ดํ•˜์ง€ ๋ชปํ•ด๋„ ๊ฐ•์˜ ๋๊นŒ์ง€ ์ˆ˜๊ฐ•ํ•˜๊ธฐ ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ #Java #๊ธฐ์ดˆ๋ฌธ๋ฒ• #์ฐจ๊ทผ์ฐจ๊ทผ #ํด๋ž˜์Šค ์˜ค๋Š˜์˜ ๋ชฉํ‘œ ๊ฐ•์˜๋งŒ ๋ณด์ง€๋ง๊ณ  ์ง์ ‘์ฝ”๋”ฉ (๋ฌธ๋ฒ• ๋งˆ์Šคํ„ฐ ํ• ๋•Œ๊นŒ์ง€ ๋งค์ผ) ๊ณ„์‚ฐ๊ธฐ ์ˆ™์ œ ๋ชฉํ‘œ๋‹ฌ์„ฑ ํ›„๊ธฐ ์˜ค๋Š˜์˜ ๋ชฉํ‘œ 1,2 ํ›„๊ธฐ ๋ชฉํ‘œ 1 ๋‹ฌ์„ฑ! 4์‹œ๊ฐ„์ •๋„ ์ฝ”๋“œ๋ž‘ ์”จ๋ฆ„.. ๊ณ„์‚ฐ๊ธฐ๋ฅผ ์™„์„ฑ์€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜์˜ ํšŒ๊ณ  3์ฃผ์ฐจ ํด๋ž˜์Šค ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  4์ฃผ์ฐจ๋กœโ€ฆ

๋”๋ณด๊ธฐ

# 12.Java Collection

Java Collection Javaํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—์„œ๋Š” ๋ฐฐ์—ด์„ ๋” ๊ณ ๋„ํ™” ์‹œ์ผœ์„œ ์ปฌ๋ ‰์…˜ ์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์ฐธ์กฐํ˜• ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ปฌ๋ ‰์…˜์€ ์ฐธ์กฐํ˜• ๋ณ€์ˆ˜๋งŒ ์ €์žฅํ•จ์œผ๋กœ์จ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ๋งŽ์ด ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Collection์˜ ์ข…๋ฅ˜ List - ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ (๋ฐ์ดํ„ฐ ์ค‘๋ณต ํ—ˆ์šฉ) ์ฃผ์š” ๊ตฌํ˜„์ฒด : ArrayList, LinkedList,โ€ฆ

๋”๋ณด๊ธฐ

# 2024.01.03 ๊ณ„์‚ฐ๊ธฐ ๋งŒ๋“ค๊ธฐ / ํ‚ค์˜ค์Šคํฌ ์ˆ™์ œ ์‹œ์ž‘

๊ณ„์‚ฐ๊ธฐ : GitHub ๋งํฌ ์˜ค๋Š˜์˜ ๋งˆ์Œ๊ฐ€์ง ์ดํ•ดํ•˜์ง€ ๋ชปํ•ด๋„ ๊ฐ•์˜ ๋๊นŒ์ง€ ์ˆ˜๊ฐ•ํ•˜๊ธฐ ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ#Java #๊ธฐ์ดˆ๋ฌธ๋ฒ• #์ฐจ๊ทผ์ฐจ๊ทผ #ํด๋ž˜์Šค์˜ค๋Š˜์˜ ๋ชฉํ‘œ ๊ฐ•์˜๋งŒ ๋ณด์ง€๋ง๊ณ  ์ง์ ‘์ฝ”๋”ฉ (๋ฌธ๋ฒ• ๋งˆ์Šคํ„ฐ ํ• ๋•Œ๊นŒ์ง€ ๋งค์ผ) 4์ฃผ์ฐจ ๊ฐ•์˜ ์™„๊ฐ• ๊ณ„์‚ฐ๊ธฐ ์ˆ™์ œ ํ‚ค์˜ค์Šคํฌ ๊ฐœ์ธ๊ณผ์ œ ์‹œ์ž‘ ๋ชฉํ‘œ๋‹ฌ์„ฑ ํ›„๊ธฐ ์˜ค๋Š˜์˜ ๋ชฉํ‘œ 1,2 ํ›„๊ธฐ ๋ชฉํ‘œ 1,2,3,4 ๋‹ฌ์„ฑ ํ‚ค์˜ค์Šคํฌ ์‹œ์ž‘์€ ํ–ˆ์ง€๋งŒ...โ€ฆ

๋”๋ณด๊ธฐ

# 13.Java ๊ธฐ์ดˆ ์ •๋ฆฌ

์ ‘๊ทผ ์ œ์–ด์ž ์ˆ˜์ •์ž ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์† ๋‹คํ˜•์„ฑ ์ถ”์ƒ ํด๋ž˜์Šค ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ œ๋„ค๋ฆญ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ํŒจํ‚ค์ง€ ์ ‘๊ทผ ์ œ์–ด์ž public(๊ณต๊ฐœ) - public์œผ๋กœ ์„ ์–ธ๋œ ํด๋ž˜์Šค,๋ฉ”์†Œ๋“œ,๋ณ€์ˆ˜๋Š” ์–ด๋–ค ํด๋ž˜์Šค์—์„œ๋“ ์ง€ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. private(๋น„๊ณต๊ฐœ) - private๋กœ ์„ ์–ธ๋œ ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„(๋ณ€์ˆ˜,๋ฉ”์†Œ๋“œ)๋Š” ํ•ด๋‹น ํด๋ž˜์Šค ๋‚ด๋ถ€์—์„œ๋งŒ ์ ‘๊ทผํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.๋‹ค๋ฅธ ํด๋ž˜์Šค์—์„œ๋Š”โ€ฆ

๋”๋ณด๊ธฐ

# 2024.01.04 ํ‚ค์˜ค์Šคํฌ ์ˆ™์ œ ing..

์˜ค๋Š˜์˜ ๋งˆ์Œ๊ฐ€์ง ํ‚ค์˜ค์Šคํฌ๋ฅผ ๋งŒ๋“ค์ž์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ#Java #๊ธฐ์ดˆ๋ฌธ๋ฒ• #์ฐจ๊ทผ์ฐจ๊ทผ #ํด๋ž˜์Šค์˜ค๋Š˜์˜ ๋ชฉํ‘œ ๊ฐ•์˜๋งŒ ๋ณด์ง€๋ง๊ณ  ์ง์ ‘์ฝ”๋”ฉ (๋ฌธ๋ฒ• ๋งˆ์Šคํ„ฐ ํ• ๋•Œ๊นŒ์ง€ ๋งค์ผ) ํ‚ค์˜ค์Šคํฌ ๋งŒ๋“ค๊ธฐ ๋ชฉํ‘œ๋‹ฌ์„ฑ ํ›„๊ธฐ ์˜ค๋Š˜์˜ ๋ชฉํ‘œ 1,2 ํ›„๊ธฐ ํ‚ค์˜ค์Šคํฌ ๊ฐœ์ธ๊ณผ์ œ ๋•๋ถ„์— ์ •์‹ ์ด ์—†์Šต๋‹ˆ๋‹ค.. ์˜ค๋Š˜์˜ ํšŒ๊ณ  ํ‚ค์˜ค์Šคํฌ ๊ณผ์ œ๋ฅผ ํ•˜๋‹ค๊ฐ€ ๊ฑฐ์˜ ๋‹ค ๋งŒ๋“ค์—ˆ๋Š”๋ฐ ๋‹ค ์‚ญ์ œํ–ˆ์Šต๋‹ˆ๋‹ค.์ด๊ฒŒ ๋งž๋Š”๊ฑธ๊นŒ? ๋” ๋‚˜์€โ€ฆ

๋”๋ณด๊ธฐ

# 2024.01.05 ํ‚ค์˜ค์Šคํฌ ์™„์„ฑ

GitHub ๋งํฌ ์˜ค๋Š˜์˜ ๋งˆ์Œ๊ฐ€์ง ํ‚ค์˜ค์Šคํฌ๋ฅผ ๋งŒ๋“ค์ž ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ #Java #๊ธฐ์ดˆ๋ฌธ๋ฒ• #์ฐจ๊ทผ์ฐจ๊ทผ #ํด๋ž˜์Šค ์˜ค๋Š˜์˜ ๋ชฉํ‘œ ๊ฐ•์˜๋งŒ ๋ณด์ง€๋ง๊ณ  ์ง์ ‘์ฝ”๋”ฉ (๋ฌธ๋ฒ• ๋งˆ์Šคํ„ฐ ํ• ๋•Œ๊นŒ์ง€ ๋งค์ผ) ํ‚ค์˜ค์Šคํฌ ๋งŒ๋“ค๊ธฐ ๋ชฉํ‘œ๋‹ฌ์„ฑ ํ›„๊ธฐ ์˜ค๋Š˜์˜ ๋ชฉํ‘œ 1,2 ํ›„๊ธฐ ํ‚ค์˜ค์Šคํฌ๋ฅผ ์™„์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜์˜ ํšŒ๊ณ  ์–ด์ œ๋งŒ ํ•ด๋„ ํ‚ค์˜ค์Šคํฌ๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ์‹œ๊ฐ„์„ ๋‹ค ์ผ๋Š”๋ฐ ์˜ค๋Š˜ ๋‹ค์‹œ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋งŒ๋“œ๋‹ˆ๊นโ€ฆ

๋”๋ณด๊ธฐ

# 14.Java ํ‚ค์˜ค์Šคํฌ ๋งŒ๋“ค๊ธฐ

https://github.com/pie0902/kiosk GitHub - pie0902/kiosk Kiosk Project ๊ฐ„๋‹จ ์„ค๋ช… ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋Š” ํ‚ค์˜ค์Šคํฌ๋ฅผ ์ž๋ฐ” ์ฝ”๋“œ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„ํ•˜๋Š” ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.ํ‚ค์˜ค์Šคํฌ ํ”„๋กœ์ ํŠธ๋Š” ์ŠคํŒŒ๋ฅดํƒ€ ์ฝ”๋”ฉํด๋Ÿฝ ๋‚ด์ผ ๋ฐฐ์›€ ์บ ํ”„์— ํ•ฉ๋ฅ˜ํ•œ ์ดํ›„ ์ฒซ ๊ฐœ์ธ๊ณผ์ œ์ž…๋‹ˆ๋‹ค.์ฝ˜์†”์ฐฝ์— ์•„๋ž˜์™€ ๊ฐ™์ด ์ถœ๋ ฅ์ด ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•„์ˆ˜โ€ฆ

๋”๋ณด๊ธฐ

# 2024.01.08 Java๊ธฐ์ดˆ๋ฌธ๋ฒ•/Thread ๊ฐœ๋… ๊ณต๋ถ€

Thread๋ฅผ ์‚ฌ์šฉํ•œ ํƒ€์ด๋จธ GitHub ๋งํฌ ์˜ค๋Š˜์˜ ๋งˆ์Œ๊ฐ€์ง ์–ด๋ ค์šด ๊ฐœ๋…๋„ ์ดํ•ด๋ ๋•Œ๊นŒ์ง€ ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ #Java #๊ธฐ์ดˆ๋ฌธ๋ฒ• #๊ฐœ์ธ๊ณผ์ œ#์Šค๋ ˆ๋“œ ์˜ค๋Š˜์˜ ๋ชฉํ‘œ ๊ฐ•์˜๋งŒ ๋ณด์ง€ ๋ง๊ณ  ์ง์ ‘์ฝ”๋”ฉ (๋ฌธ๋ฒ• ๋งˆ์Šคํ„ฐ ํ•  ๋•Œ๊นŒ์ง€ ๋งค์ผ) ์ž๋ฐ”๊ธฐ์ดˆ๋ฌธ๋ฒ• ์™„๊ฐ•ํ•˜๊ธฐ Thread ๊ณต๋ถ€ํ•˜๊ธฐ ๊ฐœ์ธ๊ณผ์ œ ์ œ์ถœ๋ชฉํ‘œ๋‹ฌ์„ฑ ํ›„๊ธฐ ์˜ค๋Š˜์˜ ๋ชฉํ‘œ ํ›„๊ธฐ ์ธ๊ฐ•์œผ๋กœ ๋‘๋ฃจ๋ญ‰์‹คํ•˜๊ฒŒ ์ดํ•ด๋˜๋˜ ๊ฒƒ๋“ค์ด ์‹ค์Šต์„ ํ•˜๋ฉดโ€ฆ

๋”๋ณด๊ธฐ

# 2024.01.09 Stream/์˜ˆ์™ธ์ฒ˜๋ฆฌ ํ•™์Šต

GitHub Link ์˜ค๋Š˜์˜ ๋งˆ์Œ๊ฐ€์ง ํ•ด์•ผ ํ•  ๊ฑด ๋งŽ์ง€๋งŒ.. ๊ธ์ •์ ์œผ๋กœ! ๐Ÿ˜„๐Ÿ˜„๐Ÿ˜„๐Ÿ˜„๐Ÿ˜„ ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ #Java #๊ธฐ์ดˆ๋ฌธ๋ฒ• #๊ฐœ์ธ๊ณผ์ œ#์ŠคํŠธ๋ฆผ#stream ์˜ค๋Š˜์˜ ๋ชฉํ‘œ ๊ฐ•์˜๋งŒ ๋ณด์ง€ ๋ง๊ณ  ์ง์ ‘ ์ฝ”๋”ฉ (๋ฌธ๋ฒ• ๋งˆ์Šคํ„ฐํ•  ๋•Œ๊นŒ์ง€ ๋งค์ผ) ์ž๋ฐ”๊ธฐ์ดˆ๋ฌธ๋ฒ• ์™„๊ฐ• ์ˆ™์ œํ•˜๊ธฐ Stream/์˜ˆ์™ธ์ฒ˜๋ฆฌ/์Šค๋ ˆ๋“œ ๊ณต๋ถ€ํ•˜๊ธฐ ์˜ค๋Š˜์˜ ๋ชฉํ‘œ ํ›„๊ธฐ ๐Ÿ“Œ์ธ๊ฐ•์œผ๋กœ ๋‘๋ฆฌ๋ญ‰์‹คํ•˜๊ฒŒ ์ดํ•ด๋˜๋˜โ€ฆ

๋”๋ณด๊ธฐ

# 2024.01.10 Java ๊ธฐ์ดˆ ๋ฌธ๋ฒ• ๋ณต์Šต

์˜ค๋Š˜์˜ ๋งˆ์Œ๊ฐ€์ง ๊ธฐ๋ณธ Java ๋ฌธ๋ฒ•์„ ๋” ๋ณด๊ฐ•ํ•˜์ž! ๐Ÿ˜„๐Ÿ˜„๐Ÿ˜„๐Ÿ˜„๐Ÿ˜„ ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ #Java #๊ธฐ์ดˆ๋ฌธ๋ฒ• #๊ฐœ์ธ๊ณผ์ œ 2์ฐจ ์ œ์ถœ#๊ฐœ์ธ์—ฐ์Šต ์˜ค๋Š˜์˜ ๋ชฉํ‘œ ๊ฐ•์˜๋งŒ ๋ณด์ง€ ๋ง๊ณ  ์ง์ ‘ ์ฝ”๋”ฉ (๋ฌธ๋ฒ• ๋งˆ์Šคํ„ฐํ•  ๋•Œ๊นŒ์ง€ ๋งค์ผ) ์ž๋ฐ”๊ธฐ์ดˆ๋ฌธ๋ฒ• ๋ณด๊ฐ• ์˜ค๋Š˜์˜ ๋ชฉํ‘œ ํ›„๊ธฐ ๐Ÿ“Œ์ธ๊ฐ•์œผ๋กœ ๋‘๋ฆฌ๋ญ‰์‹คํ•˜๊ฒŒ ์ดํ•ด๋˜๋˜ ๊ฒƒ๋“ค์ด ์‹ค์Šต์„ ํ•˜๋ฉด ๋” ๋น ๋ฅด๊ฒŒ ์ดํ•ด๊ฐ€ ๋ผ์„œ ์ง์ ‘ ์ฝ”๋”ฉ์„ ํ•˜๋Š” ๊ฒƒ์€ ์ •๋งโ€ฆ

๋”๋ณด๊ธฐ

# 2024.01.11 ํŒ€ ํ”„๋กœ์ ํŠธ / ํ•™์ƒ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ์‹œ์ž‘

์˜ค๋Š˜์˜ ๋งˆ์Œ๊ฐ€์ง ํŒ€๊ณผ์ œ! ํŒŒ์ดํŒ…! ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ #Java #ํŒ€๊ณผ์ œ #ํ•™์ƒ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ์˜ค๋Š˜์˜ ๋ชฉํ‘œ ๊ฐ•์˜๋งŒ ๋ณด์ง€ ๋ง๊ณ  ์ง์ ‘ ์ฝ”๋”ฉ (๋ฌธ๋ฒ• ๋งˆ์Šคํ„ฐํ•  ๋•Œ๊นŒ์ง€ ๋งค์ผ) ํŒ€๊ณผ์ œ ํšŒ์˜/ ํ˜‘์—… ์˜ค๋Š˜์˜ ๋ชฉํ‘œ ํ›„๊ธฐ ๐Ÿ“Œ์ธ๊ฐ•์œผ๋กœ ๋‘๋ฆฌ๋ญ‰์‹คํ•˜๊ฒŒ ์ดํ•ด๋˜๋˜ ๊ฒƒ๋“ค์ด ์‹ค์Šต์„ ํ•˜๋ฉด ๋” ๋น ๋ฅด๊ฒŒ ์ดํ•ด๊ฐ€ ๋ผ์„œ ์ง์ ‘ ์ฝ”๋”ฉ์„ ํ•˜๋Š” ๊ฒƒ์€ ์ •๋ง ๋งค์ผ ์‹ค์ฒœํ•ด์•ผ๊ฒ ์Šต๋‹ˆ๋‹ค. ๋„ˆ๋ฌด ๋ฐ”์ฉ๋‹ˆ๋‹ค.. ์˜ค๋Š˜์˜โ€ฆ

๋”๋ณด๊ธฐ

# 2024.01.12 ํŒ€๊ณผ์ œ ing...

์˜ค๋Š˜์˜ ๋งˆ์Œ๊ฐ€์ง ํŒ€๊ณผ์ œ๋Š” ํ˜‘์—…์Šคํ‚ฌ์˜ ์ค‘์š”์„ฑ์„ ์ƒ๊ธฐ์‹œ์ผœ ์ค€๋‹ค. ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ #Java #ํŒ€๊ณผ์ œ #ํ•™์ƒ๊ด€๋ฆฌ ์‹œ์Šคํ…œ #ํ˜‘์—… ์˜ค๋Š˜์˜ ๋ชฉํ‘œ ๊ฐ•์˜๋งŒ ๋ณด์ง€ ๋ง๊ณ  ์ง์ ‘ ์ฝ”๋”ฉ (๋ฌธ๋ฒ• ๋งˆ์Šคํ„ฐํ•  ๋•Œ๊นŒ์ง€ ๋งค์ผ) ํŒ€๊ณผ์ œ ํšŒ์˜/ GitHub ํ™œ์šฉ ์˜ค๋Š˜์˜ ๋ชฉํ‘œ ํ›„๊ธฐ ๐Ÿ“Œ์ธ๊ฐ•์œผ๋กœ ๋‘๋ฆฌ๋ญ‰์‹คํ•˜๊ฒŒ ์ดํ•ด๋˜๋˜ ๊ฒƒ๋“ค์ด ์‹ค์Šต์„ ํ•˜๋ฉด ๋” ๋น ๋ฅด๊ฒŒ ์ดํ•ด๊ฐ€ ๋ผ์„œ ์ง์ ‘ ์ฝ”๋”ฉ์„ ํ•˜๋Š” ๊ฒƒ์€ ์ •๋ง ๋งค์ผโ€ฆ

๋”๋ณด๊ธฐ

# 2024.01.15 ํŒ€ ํ”„๋กœ์ ํŠธ / ํ•™์ƒ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ์™„์„ฑ

ํŒ€๊ณผ์ œ GitHub Link ํ˜ผ์ž์„œ ๋งŒ๋“  ํŒ€๊ณผ์ œ GitHub Link ์˜ค๋Š˜์˜ ๋งˆ์Œ๊ฐ€์ง ํŒ€๊ณผ์ œ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ๋งˆ๋ฌด๋ฆฌํ•˜์ž ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ #Java #ํŒ€๊ณผ์ œ #ํ•™์ƒ๊ด€๋ฆฌ ์‹œ์Šคํ…œ #ํ˜‘์—… ์˜ค๋Š˜์˜ ๋ชฉํ‘œ ๊ฐ•์˜๋งŒ ๋ณด์ง€ ๋ง๊ณ  ์ง์ ‘ ์ฝ”๋”ฉ (๋ฌธ๋ฒ• ๋งˆ์Šคํ„ฐํ•  ๋•Œ๊นŒ์ง€ ๋งค์ผ) ํŒ€๊ณผ์ œ ๋งˆ๋ฌด๋ฆฌ ์˜ค๋Š˜์˜ ๋ชฉํ‘œ ํ›„๊ธฐ ๐Ÿ“Œ์ธ๊ฐ•์œผ๋กœ ๋‘๋ฆฌ๋ญ‰์‹คํ•˜๊ฒŒ ์ดํ•ด๋˜๋˜ ๊ฒƒ๋“ค์ด ์‹ค์Šต์„ ํ•˜๋ฉด ๋” ๋น ๋ฅด๊ฒŒ ์ดํ•ด๊ฐ€โ€ฆ

๋”๋ณด๊ธฐ

# 2024.01.17 Spring ๊ฐ•์˜ ์ˆ˜๊ฐ•

์˜ค๋Š˜์˜ ๋งˆ์Œ๊ฐ€์ง ๐Ÿ’ก ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ #์Šคํ”„๋ง #GitHub #Servlet โœ”๏ธ ์˜ค๋Š˜์˜ Todo List ์Šคํ”„๋ง ๊ฐ•์˜ ์ˆ˜๊ฐ• ๊ณ„ํš์„ ๋‹ค์‹œ ์„ธ์šฐ๊ธฐ ๋ธ”๋กœ๊ทธ ํ…œํ”Œ๋ฆฟ ์•Œ์•„๋ณด๊ธฐ ~ ๐Ÿค” ์˜ค๋Š˜์˜ ํšŒ๊ณ  ์˜ค๋Š˜์€ ์Šคํ”„๋ง ๊ฐ•์˜๋ฅผ ์ง€๊ธ‰๋ฐ›์•˜๋‹ค.1๊ฐ•์„ ์‹œ์ž‘ํ•˜๊ณ  ์ž ๊น ์žˆ๋‹ค๊ฐ€ "์ง€๊ธˆ ๋ฐ”๋กœ ์Šคํ”„๋ง ๊ฐ•์˜๋ฅผ ๋“ค์–ด๋„ ๊ดœ์ฐฎ์„๊นŒ?"๋ผ๋Š” ์ƒ๊ฐ์ด ๋ฌธ๋“ ๋“ค์—ˆ๋‹ค. "๊ฒ๋จน์ง€ ๋ง์ž!" ์ƒ๊ฐํ•˜๊ณ โ€ฆ

๋”๋ณด๊ธฐ

# 2024.01.18 ๋˜๋Œ์•„๋ณด๋Š” ์‹œ๊ฐ„

์˜ค๋Š˜์˜ ๋งˆ์Œ๊ฐ€์ง ๐Ÿ’ก ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ #์Šคํ”„๋ง #GitHub #Controller โœ”๏ธ ์˜ค๋Š˜์˜ Todo List ์Šคํ”„๋ง ๊ฐ•์˜ ์ˆ˜๊ฐ• ๊ฐ•์˜ ๋“ค์€๊ฑฐ ์‹ค์Šต ๐Ÿค” ์˜ค๋Š˜์˜ ํšŒ๊ณ  ์Šคํ”„๋ง ๊ฐ•์˜๋ฅผ ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์งœ๋ฉด์„œ ํฅ๋ฏธ๋ฅผ ๋А๊ผˆ๋‹ค. ๊ฐ•์˜๊ฐ€ ์ž˜ ๋งž๋Š”๊ฑด๊ฐ€? ๋ธ”๋กœ๊ทธ๋ฅผ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ์ด ๋ณดํ†ต์ผ์ด ์•„๋‹ˆ๋‹ค. Gatsby๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋ก ํŠธ์—”๋“œ๊นŒ์ง€ ๊ณต๋ถ€๊ฐ€ ๋  ๊ฒƒ ๊ฐ™๊ธด ํ•˜๋‹ค. ์‚ฌ์‹ค ์˜ค๋Š˜์€โ€ฆ

๋”๋ณด๊ธฐ

# 2024.01.19 TIL (Spring)

์˜ค๋Š˜์˜ ๋งˆ์Œ๊ฐ€์ง ๐Ÿ’ก ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ #์Šคํ”„๋ง #GitHub โœ”๏ธ ์˜ค๋Š˜์˜ Todo List ์Šคํ”„๋ง ๊ฐ•์˜ ์ˆ˜๊ฐ• ์Šคํ”„๋ง ์‹ค์Šต TIL ๋ฆฌ๋‰ด์–ผ 1์ฃผ ์ฐจ ์ˆ˜์—… ๋‚ด ๊ฑฐ๋กœ ๋งŒ๋“ค๊ธฐ โœ๏ธ์˜ค๋Š˜์˜ ๊ธฐ๋ก Spring ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ build.gradle๋กœ ๊ฐ„ํŽธํ•˜๊ฒŒ ์„ค์ • ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Œ ์˜ค๋Š˜ ์•Œ๊ฒŒ ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ spring-boot-starter-web : Springโ€ฆ

๋”๋ณด๊ธฐ

# 2024.01.22 TIL(JdbcTemplate)

์˜ค๋Š˜์˜ ๋งˆ์Œ๊ฐ€์ง ๐Ÿ’ก ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ #์Šคํ”„๋ง #MySQL โœ”๏ธ ์˜ค๋Š˜์˜ Todo List ์Šคํ”„๋ง ๊ฐ•์˜ ์ˆ˜๊ฐ• ์Šคํ”„๋ง ์‹ค์Šต ๊ณผ์ œ ์‹œ์ž‘ โœ๏ธ์˜ค๋Š˜์˜ ๊ธฐ๋ก JdbcTemplate ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณต JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); // ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ์„ค์ • //โ€ฆ

๋”๋ณด๊ธฐ

# 2024.01.23 ๋‚˜๋งŒ์˜ ์ผ์ • ๊ด€๋ฆฌ ์•ฑ ์„œ๋ฒ„ ๋งŒ๋“ค๊ธฐ

๐Ÿ“‹ ๊ฐœ์ธ๊ณผ์ œ ์š”๊ตฌ์‚ฌํ•ญ ์„ค๋ช… ๐Ÿ Goal: "๋‚˜๋งŒ์˜ ์ผ์ • ๊ด€๋ฆฌ ์•ฑ ์„œ๋ฒ„ ๋งŒ๋“ค๊ธฐ" - ํ•™์Šต ๊ณผ์ œ๋ฅผ ๋๋‚ด๊ณ  ๋‚˜๋ฉด ํ•  ์ˆ˜ ์žˆ์–ด์š”! 1. ๊ตฌํ˜„ํ•˜๊ณ ์ž ํ•˜๋Š” ์„œ๋น„์Šค์˜ ์ „์ฒด์ ์ธ ํ๋ฆ„์„ ํŒŒ์•…ํ•˜๊ณ  ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1. Use Case Diagram, API ๋ช…์„ธ์„œ, ERD๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2. Spring Boot๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœโ€ฆ

๋”๋ณด๊ธฐ

# 2024.01.24 Til ์˜์กด์„ฑ

๐Ÿ’ก ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ #์Šคํ”„๋ง #JUSTDOIT โœ”๏ธ ์˜ค๋Š˜์˜ Todo List ์Šคํ”„๋ง ๊ฐ•์˜ ์ˆ˜๊ฐ• ์Šคํ”„๋ง ๊ฐ•์˜ ๋ณต์Šต โœ๏ธ์˜ค๋Š˜์˜ ๊ธฐ๋ก ์˜์กด์„ฑ ์ฃผ์ž…๊ณผ ์ž๋™ ์˜์กด๊ด€๊ณ„ ์ƒ์„ฑ ์˜์กด์„ฑ ์ฃผ์ž…์ด๋ž€? - ์Šคํ”„๋ง์˜ ํ•ต์‹ฌ ๊ฐœ๋… ์ค‘ ํ•˜๋‚˜๋กœ, ๊ฐ์ฒด ๊ฐ„์˜ ์˜์กด์„ฑ์„ ์™ธ๋ถ€์—์„œ ์ฃผ์ž…ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. - DI๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด ๊ฐ„์˜ ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถ”๊ณ  ์œ ์—ฐํ•˜๊ณ  ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜โ€ฆ

๋”๋ณด๊ธฐ

# 2024.01.25 Todo List

๐Ÿ’ก ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ #์Šคํ”„๋ง #JUSTDOIT โœ”๏ธ ์˜ค๋Š˜์˜ Todo List ์Šคํ”„๋ง CRUD ๊ตฌํ˜„ ์Šคํ”„๋ง ๊ฐ•์˜ ๋ณต์Šต ๊ฐœ์ธ๊ณผ์ œ ๋ฆฌํŒฉํ† ๋ง โœ๏ธ์˜ค๋Š˜์˜ ๊ธฐ๋ก CRUD๋ฅผ ํ˜ผ์ž ํž˜์œผ๋กœ ๊ตฌํ˜„ํ•ด ๋ณด์ž ์˜ค๋Š˜ ์ƒ๊ธด ๋ฌธ์ œ : ์Šคํ”„๋ง์„ ์‚ฌ์šฉํ•ด์„œ ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€? https://github.com/pie0902/todo ์ด ๊ณณ์„ ๋ณด๋ฉด ๋œ๋‹ค... ๊ทธ์•ผ๋ง๋กœโ€ฆ

๋”๋ณด๊ธฐ

# 2024.01.26 TIL (crud)

๐Ÿ’ก ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ #์Šคํ”„๋ง #JUSTDOIT โœ”๏ธ ์˜ค๋Š˜์˜ Todo List ์Šคํ”„๋ง CRUD ๊ตฌํ˜„ ์Šคํ”„๋ง ๊ฐ•์˜ ๋ณต์Šต ๊ฐœ์ธ๊ณผ์ œ ๋ฆฌํŒฉํ† ๋ง โœ๏ธ์˜ค๋Š˜์˜ ๊ธฐ๋ก CRUD๋ฅผ ํ˜ผ์ž ํž˜์œผ๋กœ ๊ตฌํ˜„ํ•ด ๋ณด์ž ์˜ค๋Š˜ ์ƒ๊ธด ๋ฌธ์ œ : ์Šคํ”„๋ง์„ ์‚ฌ์šฉํ•ด์„œ ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€? https://github.com/pie0902/todo ์ด ๊ณณ์„ ๋ณด๋ฉด ๋œ๋‹ค... ๊ทธ์•ผ๋ง๋กœโ€ฆ

๋”๋ณด๊ธฐ

# 2024.01.29 TIL(jwt)

๐Ÿ’ก ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ #์Šคํ”„๋ง #JUSTDOIT โœ”๏ธ ์˜ค๋Š˜์˜ Todo List ์Šคํ”„๋ง ๊ฐ•์˜ ๋ณต์Šต JWT ๊ณต๋ถ€ โœ๏ธ์˜ค๋Š˜์˜ ๊ธฐ๋ก JWT๋ฅผ ๋” ๊ณต๋ถ€ํ–ˆ๋‹ค. ์ฃผ๋ง์— ๊ณต๋ถ€๋ฅผ ํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ์ฃผ๋ง์—๋Š” ์˜คํžˆ๋ ค ๋ณต์Šต์œ„์ฃผ๋กœ ๊ณต๋ถ€๋ฅผ ํ–ˆ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งจ๋‚  ๋น„์Šทํ•œ ๋ฐฉ์‹์œผ๋กœ ํ‘ธ๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ์ข€ ๋” ์ฒด๊ณ„์ ์œผ๋กœ ๊ณต๋ถ€๋ฅผ ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ์˜ค๋Š˜ ์ƒ๊ธด ๋ฌธ์ œ : JWT๋ฅผ ์ฝ”๋“œ๋ฅผ ๋”ฐ๋ผ์ณ์„œโ€ฆ

๋”๋ณด๊ธฐ

# 2024.01.30 TIL(spring security)

Spring Security ๐Ÿ’ก ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ #์Šคํ”„๋ง #GitHub โœ”๏ธ ์˜ค๋Š˜์˜ Todo List JWT SpringSecurity ์ธ์ฆ๊ณผ ์ธ 1. Spring Securiy ํ”„๋ ˆ์ž„์›Œํฌ๋Š” Spring ์„œ๋ฒ„์— ํ•„์š”ํ•œ ์ธ์ฆ ๋ฐ ์ธ๊ฐ€๋ฅผ ์œ„ํ•ด ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ด ์คŒ์œผ๋กœ์จ ๊ฐœ๋ฐœ์˜ ์ˆ˜๊ณ ๋ฅผ ๋œ์–ด ์ค€๋‹ค. build.gradle์— Spring Securityโ€ฆ

๋”๋ณด๊ธฐ

# 2024.01.31 ๊ธฐ๋ก

Spring Security ๐Ÿ’ก ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ #์Šคํ”„๋ง #GitHub #๋กœ๊ทธ์ธ โœ”๏ธ ์˜ค๋Š˜์˜ Todo List ์ˆ™๋ จ์ฃผ์ฐจ 2์ฃผ์ฐจ ๊ฐ•์˜ ์Šคํ”„๋ง ์‹ค์Šต โœ๏ธ์˜ค๋Š˜์˜ ๊ธฐ๋ก ์˜ค๋Š˜๋„ SpringSecurity์™€ JWT๋ฅผ ๊ณต๋ถ€ํ–ˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ๋‚ด ๊ฒƒ์œผ๋กœ ๋งŒ๋“œ๋ ค๊ณ  ์‹ค์Šต์„ ํ–ˆ๋Š”๋ฐ ๋งŒ๋“œ๋Š” ์ˆœ์„œ๋ฅผ ์ •ํ•ด๋†“๋Š”๊ฒŒ ์ค‘์š”ํ•  ๊ฒƒ ๊ฐ™๋‹ค. 2์ฃผ์ฐจ ๊ฐ•์˜๋Š” 1์ฃผ์ฐจ๋ณด๋‹ค ๋‹คํ–‰ํžˆ ์ข€ ๋” ์‰ฝ๋‹ค

๊ณ„์† ์ฝ๊ธฐ

# 2024.02.06 ๊ฐœ์ธ๊ณผ์ œ

GitHub Link Spring Security ๐Ÿ’ก ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ #๊ฐœ์ธ๊ณผ์ œ #์™„์„ฑ์„ ๋ชฉํ‘œ๋กœ โœ”๏ธ ์˜ค๋Š˜์˜ Todo List ๊ฐœ์ธ๊ณผ์ œ ์™„์„ฑํ•˜๊ธฐ README ์ž‘์„ฑ โœ๏ธ์˜ค๋Š˜์˜ ๊ธฐ๋ก ๊ฐœ์ธ๊ณผ์ œ๋ฅผ ์™„์„ฑํ–ˆ๋‹ค. api ๋ช…์„ธ์„œ๋ฅผ ์ข€ ๋” ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•ด์•ผํ•˜๋Š”๋ฐ ์‹œํ๋ฆฌํ‹ฐ๋•Œ๋ฌธ์— ์กฐ๊ธˆ ๋ง‰ํ˜”๋‹ค.

๋”๋ณด๊ธฐ

# 2024.02.15 RoomRoomBnB ํŒ€ ํ”„๋กœ์ ํŠธ

RoomRoomBnB ํŒ€ ํ”„๋กœ์ ํŠธ ๐Ÿ’ก ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ #๊ณผ์ œ๋ฐœํ‘œ โœ”๏ธ ์˜ค๋Š˜์˜ Todo List ํŒ€ ๊ณผ์ œ ๋ฐœํ‘œํ•˜๊ธฐ โœ๏ธ์˜ค๋Š˜์˜ ๊ธฐ๋ก ๊ทธ๋™์•ˆ ํŒ€ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•œ๋‹ค๋Š” ํ•‘๊ณ„๋กœ TIL์„ ์“ฐ์ง€ ์•Š์•˜๋‹ค. ๋‹ค์‹œ ์—ด์‹ฌํžˆ ์จ์•ผ๊ฒ ๋‹ค. ์ผ๊ธฐ ํ˜•์‹ ๋ง๊ณ !!!! ํŒ€ ๊ณผ์ œ ๋ฐœํ‘œ๋ฅผ ๋‚ด๊ฐ€ ํ–ˆ๋‹ค. ๋ณ„๋กœ ์ž˜ํ•˜์ง„ ์•Š์€ ๊ฒƒ ๊ฐ™๋‹ค. ๋‚˜๋Š” ํšŒ์›๊ฐ€์ž…/๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ๋Š”๋ฐ ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ์€โ€ฆ

๋”๋ณด๊ธฐ

# 2024.02.28 Room/ํŒ€ ํ”„๋กœ์ ํŠธ

๋ฒŒ์จ 3๋ฒˆ์งธ ํŒ€ ํ”„๋กœ์ ํŠธ๋‹ค. GitHub Link ๊ฒŒ์‹œ๊ธ€ CRUD๋ฅผ ๋งก์•„์„œ ๊ฐœ๋ฐœํ–ˆ๊ณ  ํŒ€ ํ”„๋กœ์ ํŠธ๋Š” ํ•˜๊ณ ๋‚˜๋ฉด ๋ญ”๊ฐ€ ํž˜๋“ค์ง€๋งŒ ์žฌ๋ฐŒ๋‹ค. ๋А๋‚€์  : ๋” ๋ฐฐ๋ คํ•˜๋Š” ํ‘œํ˜„์œผ๋กœ ํŒ€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜์ž!

๋”๋ณด๊ธฐ

# 2024.03.25 ํŠธ๋ ๋กœ ๊ตฌํ˜„ / ํŒ€ ํ”„๋กœ์ ํŠธ

ํŒ€ ํ”„๋กœ์ ํŠธ GitHub Link ํŠธ๋ ๋กœ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ ํ–ˆ๋‹ค. ์ค‘๊ฐ„์— ํ‹ˆํ‹ˆํžˆ ๊ณต๋ถ€๋„ ํ–ˆ์ง€๋งŒ TIL์„ ์ž‘์„ฑ ํ•  ์ˆ˜ ์—†์—ˆ๋‹ค.. ์™œ๋ƒํ•˜๋ฉด ๋„ˆ๋ฌด ๋ฐ”๋นด๊ธฐ ๋•Œ๋ฌธ .. ํ•˜์ง€๋งŒ GitHub์— ๋งŽ์ด ์ต์ˆ™ํ•ด์กŒ๊ณ  ํ˜‘์—…์Šคํ‚ฌ์ด ์ข‹์•„์ง€๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ์ด์˜๊ฒŒ ๋งํ•˜๊ธฐ ์ƒ๋Œ€๋ฐฉ์˜ ์ฝ”๋“œ๋ฅผ ์กด์ค‘ํ•˜๋ฉด์„œ ์˜๊ฒฌ ์ œ์‹œํ•˜๊ธฐ ํŒ€์›๋“ค์ด ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋„ ์ดํ•ดํ•˜๊ธฐ ๋А๋‚€์ ์€ ๋งŽ์ง€๋งŒ ์†Œํ†ต์„ ๋”โ€ฆ

๋”๋ณด๊ธฐ

# 2023.03.27 ์ตœ์ข… ํ”„๋กœ์ ํŠธ Api ๋ช…์„ธ์„œ ์ž‘์„ฑํ•˜๊ธฐ

์˜ค๋Š˜์˜ ๋ชฉํ‘œ ํŒ€ ํ”„๋กœ์ ํŠธ API ๋ช…์„ธ์„œ ์ž‘์„ฑํ•˜๊ธฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€๊ธฐ ํŒ€ ํ”„๋กœ์ ํŠธ Review ๋ถ€๋ถ„ CRUD ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ ํ•™์Šตํ•œ ๋‚ด์šฉ ์˜ค๋Š˜์€ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์— ๋Œ€ํ•ด์„œ ๋ฉด์ ‘๋Œ€๋น„ ๊ณต๋ถ€๋ฅผ ํ–ˆ๋‹ค. HTTP์— ๋Œ€ํ•ด์„œ ๋ณต์Šตํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ดค๋‹ค. ํšŒ๊ณ  1. ์˜ค๋Š˜์˜ ์„ฑ๊ณผ ์˜ค๋Š˜์€ ์–ด์ œ ์‹œ์ž‘ํ•œ ํŒ€ํ”„๋กœ์ ํŠธ์˜ CRUD๋ฅผ ํ•˜๋ฃจ๋งŒ์— ๊ตฌํ˜„ํ–ˆ๋‹ค. ์ฒ˜์Œ ๋‚ด๋ฐฐ์บ ์„ ์‹œ์ž‘ํ• ๋•Œ๋Š” ๊ทธ๋ ‡๊ฒŒ ์ดํ•ด๊ฐ€โ€ฆ

๋”๋ณด๊ธฐ

# 2024.03.28 ์ตœ์ข… ํ”„๋กœ์ ํŠธ crud ๊ฐœ์„ 

์˜ค๋Š˜์˜ ๋ชฉํ‘œ ํŒ€ ํ”„๋กœ์ ํŠธ Review ๋ถ€๋ถ„ CRUD ๊ฐœ์„  ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€๊ธฐ ๋„คํŠธ์›Œํฌ ์ด๋ก  ํ•™์Šต ํ•™์Šตํ•œ ๋‚ด์šฉ Spring MVC์— ๋Œ€ํ•œ ๋ชจ์˜๋ฉด์ ‘์„ ์ง„ํ–‰ํ–ˆ๋‹ค. 7๊ณ„์ธต ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ ๊ด€๋ จ ๋‚ด์šฉ์„ ์ฐพ์•„๋ดค๋‹ค. ํšŒ๊ณ  1. ์˜ค๋Š˜์˜ ์„ฑ๊ณผ ์–ด์ œ ์ž‘์„ฑํ•œ ๋ฆฌ๋ทฐ CRUD ์ฝ”๋“œ๋ฅผ ํ›จ์”ฌ ๋” ์ข‹๊ฒŒ ๊ฐœ์„ ํ–ˆ๋‹ค. 2. ๊ฐœ์„ ํ•  ์  ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์—ฐ์Šต์ด ๋”โ€ฆ

๋”๋ณด๊ธฐ

# 2024.03.29 ๋ ˆ๋””์Šค ๊ณต๋ถ€

์˜ค๋Š˜์˜ ๋ชฉํ‘œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€๊ธฐ ์บ์‹œ ๋ฝ ๊ณต๋ถ€ ๋ฉด์ ‘ ์งˆ๋ฌธ ์ค€๋น„ ํ•™์Šตํ•œ ๋‚ด์šฉ ์˜ค๋Š˜์€ ์–ด์ œ์˜ ๋‚ด์šฉ์„ ๋ณต์Šตํ•˜๊ณ  ์บ์‹œ์™€ ๋ฝ ๋ ˆ๋””์Šค์— ๋Œ€ํ•ด์„œ ๊ด€๋ จ ์ •๋ณด๋ฅผ ์ฐพ์•„๋ดค๋‹ค. ๋„คํŠธ์›Œํฌ ์ด๋ก ์„ ๊ณต๋ถ€ํ–ˆ๋‹ค. ์ฟผ๋ฆฌ๋ฅผ ๊ณต๋ถ€ํ–ˆ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋‹ค. ํšŒ๊ณ  1. ์˜ค๋Š˜์˜ ์„ฑ๊ณผ ์ „์— ์ž‘์„ฑํ•œ ์ฟผ๋ฆฌ๋“ค์„ ๋ณด๋ฉด์„œ ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ์ดํ•ด๋„๋ฅผ ํ‚ค์› ๋‹ค. 2. ๊ฐœ์„ ํ•  ์  ๋ฐ”๋กœ ์–ด์ œ HTTP์— ๋Œ€ํ•ด์„œโ€ฆ

๋”๋ณด๊ธฐ

# 2024.03.31 ๋ ˆ๋””์Šค ํ•™์Šต

์˜ค๋Š˜์˜ ๋ชฉํ‘œ ๋ ˆ๋””์Šค ๊ณต๋ถ€ ๊ธฐํƒ€ ์ด๋ก  ๊ณต๋ถ€ ํ•™์Šตํ•œ ๋‚ด์šฉ ๋ ˆ๋””์Šค ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋ณด๋ฉด์„œ ๋ ˆ๋””์Šค๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์‹คํ–‰ํ•ด ๋ดค๋‹ค. Object Mapper์— ๋Œ€ํ•ด์„œ ํ™•์‹คํ•˜๊ฒŒ ๋‹ค์‹œ ๋ณต์Šตํ–ˆ๋‹ค. ํšŒ๊ณ  1. ์˜ค๋Š˜์˜ ์„ฑ๊ณผ ๊ฐ•์˜๋ฅผ ๋ณด๊ธฐ๋งŒ ํ•˜๊ณ  ์‹ค์Šต์„ ์•ˆํ–ˆ์—ˆ๋Š”๋ฐ ์˜ค๋Š˜์€ ๋ ˆ๋””์Šค ์‹ค์Šต์„ ํ•˜๊ณ  Object Mapper๋กœ JSON ๋ฐ์ดํ„ฐ์˜ ์ง๋ ฌํ™”์™€ ์—ญ์ง๋ ฌํ™”๋ฅผ ์ง์ ‘ ๋‹ค์‹œ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•˜๋ฉด์„œ ์—ฐ์Šต์„โ€ฆ

๋”๋ณด๊ธฐ

# 2024.04.01 ๋ ˆ๋””์Šค๋ฅผ ์‚ฌ์šฉํ•œ ์บ์‹ฑ/๋™์‹œ์„ฑ ์ œ์–ด

์˜ค๋Š˜์˜ ๋ชฉํ‘œ ๋ ˆ๋””์Šค ๊ณต๋ถ€ ์บ์‹ฑ์„ ์ด์šฉํ•œ ์กฐํšŒ/๋™์‹œ์„ฑ ์ œ์–ด ํ…Œ์ŠคํŠธ ํ•™์Šตํ•œ ๋‚ด์šฉ ์บ์‹ฑ์„ ์ด์šฉํ•œ ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ ๊ธฐ๋Šฅ๊ณผ ์ข‹์•„์š” ์ฆ๊ฐ€ ๊ธฐ๋Šฅ์— ๋ฝ์„ ์‚ฌ์šฉํ•ด์„œ ๋™์‹œ์„ฑ์„ ์ œ์–ด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค. ํšŒ๊ณ  1. ์˜ค๋Š˜์˜ ์„ฑ๊ณผ ์‹ค์Šต์„ ํ•˜๋ฉด์„œ ๋”์šฑ ๋” ๋ ˆ๋””์Šค์™€ ์นœํ•ด์ง€๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค. 2. ๊ฐœ์„ ํ•  ์  ์˜ค๋ฅ˜ ๋ฐœ์ƒ์‹œ ๋ฌธ์ œ๋ฅผ ์ฐพ๋Š” ๋” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ์—ฐ๊ตฌํ•ด์•ผ๊ฒ ๋‹ค. 3. ๋‚ด์ผ์˜ ๋ชฉํ‘œโ€ฆ

๋”๋ณด๊ธฐ

# 2024.04.03 Til

์˜ค๋Š˜์˜ ๋ชฉํ‘œ ๋‹ค์–‘ํ•œ ๋ฝ์— ๋Œ€ํ•œ ์ด๋ก  ํ•™์Šต & ๋ ˆ๋””์Šจ ํด๋ผ์ด์–ธํŠธ ์‹ค์Šต ํ•™์Šตํ•œ ๋‚ด์šฉ ๋น„๊ด€์  ๋ฝ: ๋ฏธ๋ฆฌ ์ž ๊ธˆ์„ ์„ค์ •ํ•ด ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์˜ ์ ‘๊ทผ์„ ๋ง‰์Œ. ๋‚™๊ด€์  ๋ฝ: ์ ‘๊ทผ์„ ํ—ˆ์šฉํ•˜๋˜, ์ข…๋ฃŒ ์‹œ์ ์— ์ถฉ๋Œ ๊ฒ€์‚ฌ. ์ •๋Ÿ‰์  ๋ฝ: ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ํŠธ๋žœ์žญ์…˜ ์ˆ˜๋ฅผ ์ œํ•œํ•˜์—ฌ ๊ด€๋ฆฌ. ํšŒ๊ณ  1. ์˜ค๋Š˜์˜ ์„ฑ๊ณผ ๋น„๊ด€์  ๋ฝ์„ ์ ์šฉํ•ด๋ดค๋‹ค. ๋ ˆ๋””์Šจ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์‹ค์Šต ํ–ˆ๋‹ค. 2. ๊ฐœ์„ ํ•  ์ โ€ฆ

๋”๋ณด๊ธฐ

# 2024.04.05 TodayILearned

TIL: 2024-04-05 ๊ธˆ์š”์ผ ์˜ค๋Š˜์˜ ๋ชฉํ‘œ [x] ์ฃผ๋ฌธํ•˜๊ธฐ์— ๋น„๊ด€์  ๋ฝ ํ•™์Šตํ•œ ๋‚ด์šฉ ๋น„๊ด€์  ๋ฝ์„ ์ฃผ๋ฌธํ•˜๊ธฐ์— ์ ์šฉํ–ˆ๋‹ค. ํšŒ๊ณ  1. ์˜ค๋Š˜์˜ ์„ฑ๊ณผ ๋น„๊ด€์  ๋ฝ ์ ์šฉ 2. ๊ฐœ์„ ํ•  ์  ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์—์„œ ์ž˜ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธ 3. ๋‚ด์ผ์˜ ๋ชฉํ‘œ ์บ์‹ฑ&๋™์‹œ์„ฑ ์ˆ˜์ • ์ ์šฉํ•˜๊ธฐ

๋”๋ณด๊ธฐ

# Spring Data JPA๋ฅผ ํ™œ์šฉํ•œ ๋ฆฌ๋ทฐ ์ƒ์„ฑ ๋กœ์ง ๊ตฌํ˜„

๋ฆฌ๋ทฐ ์ƒ์„ฑ ์กฐ๊ฑด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ฃผ๋ฌธํ•œ ํšŸ์ˆ˜ ๋งŒํผ ๋ฆฌ๋ทฐ ์ž‘์„ฑ ์ œํ•œ ์‚ฌ์šฉ์ž๋Š” ํŠน์ • ์ƒํ’ˆ์„ ์ฃผ๋ฌธํ•œ ํšŸ์ˆ˜์™€ ๋™์ผํ•œ ์ˆ˜์˜ ๋ฆฌ๋ทฐ๋งŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ตฌํ˜„ ๋ฐฉ๋ฒ• ์ฃผ๋ฌธ ํšŸ์ˆ˜ ์กฐํšŒ ์‚ฌ์šฉ์ž ID์™€ ์ƒํ’ˆ ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•ด๋‹น ์‚ฌ์šฉ์ž์˜ ํŠน์ • ์ƒํ’ˆ์— ๋Œ€ํ•œ ์ฃผ๋ฌธ ํšŸ์ˆ˜๋ฅผ ์กฐํšŒํ•œ๋‹ค. long orderCount =โ€ฆ

๋”๋ณด๊ธฐ

# 2024.04.07 TodayILearned

TIL: 2024-04-07 ์ผ์š”์ผ ์˜ค๋Š˜์˜ ๋ชฉํ‘œ [x] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€๊ธฐ [x] ๋ฆฌ๋ˆ…์Šค ๊ณต๋ถ€ ํ•™์Šตํ•œ ๋‚ด์šฉ ์šฐ๋ถ„ํˆฌ ๋ฆฌ๋ˆ…์Šค ๋žฉํƒ‘ ๋‘ ๋Œ€๋กœ ํ•‘ ๋ณด๋‚ด๊ธฐ & ํŒŒ์ผ ๋ณด๋‚ด๊ธฐ ssh ํ†ต์‹  ๊ณต๋ถ€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€ ํšŒ๊ณ  1. ์˜ค๋Š˜์˜ ์„ฑ๊ณผ ๋„คํŠธ์›Œํฌ๋ฅผ ์ข€ ๋” ์ž˜ ์ดํ•ดํ–ˆ๋‹ค. 2. ๊ฐœ์„ ํ•  ์  ํŒ€ ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค์‹œ ์—ด์‹ฌํžˆ ์ง„ํ–‰ํ•ด๋ณด์ž .. 3. ๋‚ด์ผ์˜ ๋ชฉํ‘œ ์บ์‹ฑ & ๋™์‹œ์„ฑ ์ œ์–ด

๋”๋ณด๊ธฐ

# 1.Redis ์บ์‹ฑ์œผ๋กœ Spring Boot ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์†๋„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ

Redis๋ž€? _._ _.-``__ ''-._ Redis๋ž€ ์˜คํ”ˆ ์†Œ์Šค ์ธ๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์ €์žฅ์†Œ๋กœ, _.-`` `. `_. ''-._ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ง€์›ํ•˜๋Š” key-value ์Šคํ† ์–ด ์ด๋‹ค. .-`` .-```. ```/ _.,_ ''-._ ์ฃผ๋กœ ์บ์‹œ, ์„ธ์…˜ ๊ด€๋ฆฌ, ์‹ค์‹œ๊ฐ„ ๋ถ„์„, ๋ฉ”์‹œ์ง• ๋“ฑ์˜ ์šฉ๋„๋กœ ์‚ฌ์šฉ๋œ...

๋”๋ณด๊ธฐ

# 2.Redis๋ฅผ ์‚ฌ์šฉํ•œ ๋™์‹œ์„ฑ ์ œ์–ด

GitHub ๋งํฌ ๋™์‹œ์„ฑ ์ œ์–ด๋ž€? ๋™์‹œ์„ฑ ์ œ์–ด๋Š” ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž ๋˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์‹œ์— ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ๋•Œ ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ๊ณผ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ์ˆ ์ด๋‹ค. ๋ถ„์‚ฐ ๋ฝ์„ ์ด์šฉํ•œ ๋™์‹œ์„ฑ ์ œ์–ด ๊ฒŒ์‹œ๊ธ€ CRUD ๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„ํ•˜๊ณ  ๊ฒŒ์‹œ๊ธ€์— ์ข‹์•„์š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ parallel() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๋ฅผ ํ†ตํ•ด ์ข‹์•„์š” ๊ธฐ๋Šฅ ์ˆ˜ํ–‰. ๊ฐ ์ข‹์•„์š” ํด๋ฆญ ์ด๋ฒคํŠธ๊ฐ€โ€ฆ

๋”๋ณด๊ธฐ

# 3.๋™์‹œ์„ฑ ์ œ์–ด์—์„œ ๊ฒช์€ ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ณผ์ •

GitHub ๋งํฌ ๊ฐœ์š” ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋Š” ํŒ€ ํ”„๋กœ์ ํŠธ์—์„œ ๋ ˆ๋””์Šค(Redis)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์‹œ์„ฑ ์ œ์–ด๋ฅผ ์ ์šฉํ–ˆ๋‹ค.๋ฐฐํฌ ํ™˜๊ฒฝ์—์„œ์˜ ๋™์ž‘ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด JMeter๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค.๊ทธ ๊ณผ์ •์—์„œ ๋ ˆ๋””์Šค ๊ด€๋ จ ์‹ฌ๊ฐํ•œ ์ด์Šˆ๋ฅผ ๋งŒ๋‚ฌ์ง€๋งŒ, ๋‹คํ–‰ํžˆ๋„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.์ด๋ฒˆ ๊ฒฝํ—˜์„ ํ†ตํ•ด ๋ ˆ๋””์Šค๋ฅผ ํ™œ์šฉํ•œ ๋™์‹œ์„ฑ ์ œ์–ด ๊ตฌํ˜„์— ๋Œ€ํ•ด ๋งŽ์€ ๊ฒƒ์„ ๋ฐฐ์šธ ์ˆ˜โ€ฆ

๋”๋ณด๊ธฐ

# 5.๋™์‹œ์„ฑ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ์žฌ๊ณ  ๊ด€๋ฆฌ ์ „๋žต ์ˆ˜์ •

์œ„ ์ฝ”๋“œ๋กœ ์ง„ํ–‰ํ•  ๊ฒฝ์šฐ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ƒํ™ฉ ๋งŒ์•ฝ ์–ด๋–ค ์œ ์ €๊ฐ€ 100๊ฐœ์˜ ์ˆ˜๋Ÿ‰์ธ ์ƒํ’ˆ์„ 100๊ฐœ ์ฃผ๋ฌธํ•˜๊ธฐ๋ฅผ ๋ˆ„๋ฅด๊ณ  ๊ฒฐ์ œ๋ฅผ ์•ˆํ•˜๋Š” ๊ฒฝ์šฐ ํ•œ ์ œํ’ˆ์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ ์ฃผ๋ฌธ์ด ๋™์‹œ์— ๋“ค์–ด์˜ค๊ณ , ๊ทธ ์ค‘ ๋ช‡๋ช‡์ด ๊ฒฐ์ œ๋˜์ง€ ์•Š์œผ๋ฉด, ์‹ค์ œ๋กœ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์žฌ๊ณ ๊ฐ€ ๋‚จ์•„ ์žˆ๋Š”์ง€ ์ถ”์ ํ•˜๊ธฐ ์–ด๋ ค์›Œ์ง. ๊ฐœ์„ ๋œ ์ฝ”๋“œ ๊ฒฐ์ œ๊ฐ€ ์™„๋ฃŒ๋œ ์‹œ์ ์— ์ƒํ’ˆ ์ˆ˜๋Ÿ‰์„ ์—…๋ฐ์ดํŠธ ๊ฒฐ์ œ ์ค‘์— ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋” ๋น ๋ฅด๊ฒŒโ€ฆ

๋”๋ณด๊ธฐ

# 2024.04.13 Today I Learned

TIL: 2024-04-13 ํ† ์š”์ผ ์˜ค๋Š˜์˜ ๋ชฉํ‘œ [x] ์šด์˜์ฒด์ œ ์ฑ… ์ฝ๊ธฐ ํ•™์Šตํ•œ ๋‚ด์šฉ ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๋Š” ์ปดํ“จํ„ฐ๊ตฌ์กฐ + ์šด์˜์ฒด์ œ ์ฑ…์„ ์ฝ์—ˆ๋‹ค ํšŒ๊ณ  1. ์˜ค๋Š˜์˜ ์„ฑ๊ณผ ๊ธฐ๋ณธ์ ์ธ ์ปดํ“จํ„ฐ ๊ตฌ์กฐ ๋ณต์Šต 2. ๊ฐœ์„ ํ•  ์  ์ปดํ“จํ„ฐ์— ๋Œ€ํ•ด ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๋” ํƒ„ํƒ„ํ•˜๊ฒŒ 3. ๋‚ด์ผ์˜ ๋ชฉํ‘œ ํŒ€ ํ”„๋กœ์ ํŠธ ์ค‘๊ฐ„๋ฐœํ‘œ ๋Œ€๋น„ ๋‹ค๋“ฌ๊ธฐ

๋”๋ณด๊ธฐ

# 6.๋™์‹œ์„ฑ ์ œ์–ด์™€ ์Šค์ผ€์ค„๋ง์„ ํ†ตํ•œ ํšจ๊ณผ์ ์ธ ์ฃผ๋ฌธ ๋ฐ ์žฌ๊ณ  ๊ด€๋ฆฌ ์ „๋žต

GitHub ๋งํฌ ๋™์‹œ์„ฑ ์ œ์–ด๋ฅผ ์ ์šฉํ•œ ๋ถ€๋ถ„์—์„œ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. ์›๋ž˜์˜ ์ฃผ๋ฌธ ์ฒ˜๋ฆฌ ํ๋ฆ„์—์„œ์˜ ๋™์‹œ์„ฑ ์ œ์–ด ๋ฌธ์ œ์  ๋ฝ์„ ๊ฑธ์–ด๋†จ์ง€๋งŒ ๊ฒฐ์ œ๊ฐ€ ์™„๋ฃŒ๋œ ์‹œ์ ์—์„œ ์ˆ˜๋Ÿ‰์ด ์—…๋ฐ์ดํŠธ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜๋Ÿ‰์ด 1๊ฐœ๋ผ๊ณ  ํ•ด๋„ ์ฃผ๋ฌธ์„œ๊ฐ€ 100๊ฐœ๊ฐ€ ์ƒ๊ธธ ์ˆ˜๊ฐ€ ์žˆ๋‹ค. a์™€ b์˜ ์ฃผ๋ฌธ์„œ๊ฐ€ ์ƒ๊ธฐ๊ณ  a์™€ b ๋‘˜ ๋‹ค ๊ฒฐ์ œ์ฐฝ์— ์ง„์ž…ํ•œ๋‹ค. ๋‘˜ ๋‹ค ๊ฒฐ์ œ๊ฐ€ ์ง„ํ–‰ ๋œ ํ›„์— ์ˆ˜๋Ÿ‰์ด 1๊ฐœ๋งŒ ์ค„์–ด๋“คโ€ฆ

๋”๋ณด๊ธฐ

# 7.๋™์‹œ์„ฑ ์ œ์–ด์—์„œ ์ฃผ๋ฌธ ์ทจ์†Œ ํ†ต๋ณด: Amazon SES๋ฅผ ํ™œ์šฉํ•œ ๋ฉ”์ผ ์ „์†ก ์ „๋žต

Amazon SimpleEmailService๋ž€? AWS Simple Email Service (SES)๋Š” ์•„๋งˆ์กด ์›น ์„œ๋น„์Šค(AWS)๊ฐ€ ์ œ๊ณตํ•˜๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์ด๋ฉ”์ผ ์ „์†ก ์„œ๋น„์Šค๋‹ค. ์ด ์„œ๋น„์Šค๋Š” ๊ธฐ์—…์ด ๋งˆ์ผ€ํŒ…, ์•Œ๋ฆผ, ํŠธ๋žœ์žญ์…˜ ์ด๋ฉ”์ผ์„ ์†์‰ฝ๊ฒŒ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค. AWS SES๋Š” ๋†’์€ ์ „๋‹ฌ์„ฑ, ๊ฐ•๋ ฅํ•œ ์ธ์ฆ ๊ธฐ๋Šฅ, ๊ทธ๋ฆฌ๊ณ  ๊ด‘๋ฒ”์œ„ํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง์œผ๋กœ ์ด๋ฉ”์ผโ€ฆ

๋”๋ณด๊ธฐ

# 2024.04.16 Today I Learned

TIL: 2024-04-16 ํ™”์š”์ผ ์˜ค๋Š˜์˜ ๋ชฉํ‘œ [x] ํŒ€ ํ”„๋กœ์ ํŠธ ๋™์‹œ์„ฑ ๊ฐœ์„  [x] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€ ํ•™์Šตํ•œ ๋‚ด์šฉ ๋™์‹œ์„ฑ ์ œ์–ด์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฅธ ์ •๋ณด๋ฅผ ์ข€ ๋” ์ฐพ์•„๋ดค๋‹ค. ํšŒ๊ณ  1. ์˜ค๋Š˜์˜ ์„ฑ๊ณผ ๋™์‹œ์„ฑ ์ œ์–ด์— ๋Œ€ํ•ด์„œ ์กฐ๊ธˆ ๋” ์ž์„ธํžˆ ๋ดค๋‹ค. 2. ๊ฐœ์„ ํ•  ์  ๋™์‹œ์„ฑ์„ ์ œ์–ดํ•  ํƒ€์ด๋ฐ์„ ์ข€ ๋” ์ž˜ ์ƒ๊ฐํ•ด์•ผ๊ฒ ๋‹ค. 3. ๋‚ด์ผ์˜ ๋ชฉํ‘œ ๋ฌธ์„œํ™” & ๋™์‹œ์„ฑ ์ œ์–ด ๊ฐœ์„ 

๋”๋ณด๊ธฐ

# 2024.04.20 Today I Learned

TIL: 2024-04-20 ํ† ์š”์ผ ์˜ค๋Š˜์˜ ๋ชฉํ‘œ [x] ๋ฐœํ‘œ์ž๋ฃŒ ์ค€๋น„ [x] ppt ๋‹ค๋“ฌ๊ธฐ [x] ํ”„๋กœ์ ํŠธ ๋Œ์•„๋ณด๊ธฐ ํ•™์Šตํ•œ ๋‚ด์šฉ ๋ฐœํ‘œ์ž๋ฃŒ๋ฅผ ์ค€๋น„ํ•˜๊ณ  .. ์งˆ๋ฌธ๋“ค์— ๋Œ€๋น„ํ•ด์„œ ์ง€๊ธˆ๊นŒ์ง€์˜ ํŒ€ ํ”„๋กœ์ ํŠธ๋ฅผ ๋Œ์•„๋ดค๋‹ค. ํšŒ๊ณ  1. ์˜ค๋Š˜์˜ ์„ฑ๊ณผ ppt๋กœ ์ž๋ฃŒ๋ฅผ ์ •๋ฆฌํ–ˆ๋‹ค. ์ •๋ฆฌํ•˜๋ฉด์„œ ๋ณต์Šต์„ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. 2. ๊ฐœ์„ ํ•  ์  ๋ฐœํ‘œ ์‹œ๊ฐ„์„ ์ค„์—ฌ์•ผ ํ•œ๋‹ค. 3. ๋‚ด์ผ์˜ ๋ชฉํ‘œ ๋Œ€๋ณธโ€ฆ

๋”๋ณด๊ธฐ

# 2024.04.23 Today I Learned

TIL: 2024-04-23 ํ™”์š”์ผ ์˜ค๋Š˜์˜ ๋ชฉํ‘œ [x] MSAํ™˜๊ฒฝ์—์„œ feign ํ†ต์‹ ์œผ๋กœ ์ฝ”๋“œ ์ ์šฉํ•˜๊ธฐ ํ•™์Šตํ•œ ๋‚ด์šฉ msa๋Š” ๋„๋ฉ”์ธ๋ณ„๋กœ ์„œ๋ฒ„๋ฅผ ๋„์šฐ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ ์„œ๋ฒ„๋ณ„๋กœ feign์œผ๋กœ ํ†ต์‹ ํ•ด์•ผํ•œ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด product service์— ์žˆ๋Š” public ๋ฉ”์„œ๋“œ๋ฅผ order์—์„œ ์‚ฌ์šฉํ•˜๋ ค๋ฉด feign ํ†ต์‹ ์œผ๋กœ ๋ฐ›์•„์™€์•ผํ•œ๋‹ค. ํšŒ๊ณ  1. ์˜ค๋Š˜์˜ ์„ฑ๊ณผ feignโ€ฆ

๋”๋ณด๊ธฐ

# 2024.04.25 Today I Learned

TIL: 2024-04-25 ๋ชฉ์š”์ผ ์˜ค๋Š˜์˜ ๋ชฉํ‘œ [x] ํ”„๋ก ํŠธ์—”๋“œ ์ฝ”๋“œ ์ˆ˜์ • [x] ๋ฐœํ‘œ๋Œ€๋ณธ ์ˆ˜์ • ํ•™์Šตํ•œ ๋‚ด์šฉ ์ง€๊ธˆ ์ง„ํ–‰ํ•˜๋Š” ํŒ€ ํ”„๋กœ์ ํŠธ๋Š” javascript fetch๋กœ ๋ฐฑ์—”๋“œ์™€ ํ†ต์‹ ํ•œ๋‹ค. API gateway๋ฅผ ์ ์šฉํ•ด์„œ ์ข€ ๋” ์ง„ํ–‰์ด ์ˆ˜์›”ํ•ด์กŒ๋‹ค. ํšŒ๊ณ  1. ์˜ค๋Š˜์˜ ์„ฑ๊ณผ API gateway 2. ๊ฐœ์„ ํ•  ์  ๋Œ€๋ณธ์„ ์ข€ ๋” ์งง๊ฒŒ 3. ๋‚ด์ผ์˜ ๋ชฉํ‘œโ€ฆ

๋”๋ณด๊ธฐ

# ๋ฐฐ์น˜ ์กฐํšŒ ์ „๋žต ์„ ์‚ฌ์šฉํ•œ ์ฟผ๋ฆฌ ๊ฐœ์„ 

๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€์—์„œ ์ƒํ’ˆ๋งˆ๋‹ค ์ƒ๊ธด ์ฃผ๋ฌธ ์ƒ์„ธ๋ฅผ ์กฐํšŒ ํ•  ๋•Œ N+1 ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ ํ–ˆ๋‹ค.์ƒํ’ˆ์„ ๋ถˆ๋Ÿฌ์˜ค๊ณ  ์ฃผ๋ฌธ์„œ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ณ  ์ฃผ๋ฌธ ์ƒ์„ธ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ๋งˆ๋‹ค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋“ค์„ ๊ณ„์† ์กฐํšŒ ํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. productService ์—์„œ ๊ด€๋ฆฌ์ž์˜ ์ƒํ’ˆ ์กฐํšŒ ์ฝ”๋“œ productAdminDto @Getter public classโ€ฆ

๋”๋ณด๊ธฐ

# 1. creww ๊ธฐํš

๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•œ๋ฒˆ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋งŒ๋“ค๊ณ  ์‹ถ์–ด์„œ ์‹œ์ž‘ํ•˜๋Š” ํ”„๋กœ์ ํŠธ์ด๋‹ค. Creww๋ž€? Creww๋Š” ๊ฒŒ์‹œํŒ์„ ๋งŒ๋“ค๊ณ  ๊ธ€์„ ์“ฐ๊ณ , ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ์†Œํ†ตํ•  ์ˆ˜ ์žˆ๋Š” ์›น ์‚ฌ์ดํŠธ๋‹ค. ํšŒ์› ๊ฐ€์ž…ํ•˜๊ณ  ๋กœ๊ทธ์ธํ•˜๋ฉด ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™ˆํŽ˜์ด์ง€๋ฅผ ๊ตฌ์ƒํ•˜๊ณ  ์žˆ๋‹ค. ์ฃผ์š” ๊ธฐ๋Šฅ ํšŒ์› ๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ: ๊ฐ„๋‹จํ•˜๊ฒŒ ํšŒ์› ๊ฐ€์ž…, ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ. ๊ฒŒ์‹œํŒ ์ƒ์„ฑ: ๊ฒŒ์‹œํŒ์„โ€ฆ

๋”๋ณด๊ธฐ

# 2. creww ํ”„๋กœ์ ํŠธ ๊ธฐ์ˆ  ์Šคํƒ

์šฐ๋ฆฌ์ง‘์—๋Š” 2009๋…„์‚ฐ qnap nas๊ฐ€ ์žˆ๋‹ค. nas๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฐฐํฌ๋ฅผ ํ•˜๋ ค๋Š” ๋ชฉ์ ์€ ์„œ๋ฒ„ ์šด์˜๋น„ ์ ˆ์•ฝ ์ •๋ง ์ด ๋ชฉ์  ํ•œ๊ฐœ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ๊ณ„ํš์„ ์„ธ์› ๋‹ค. ๊ทธ๋ž˜์„œ ์•Œ์•„๋ดค๋Š”๋ฐ ์šฐ๋ฆฌ์ง‘ nas๋ฅผ qnap gui๋กœ ์‹คํ–‰์‹œํ‚ค๋ฉด ์Šคํ”„๋ง 8๋ฒ„์ „ ์ด์ƒ์€ ์ง€์›์„ ์•ˆํ•˜๊ณ  (cpu ํ˜ธํ™˜์ด ์•ˆ๋จ) ๋„์ปค๋„ ์‹คํ–‰์ด ์•ˆ๋œ๋‹ค. ๊ทธ๋ž˜์„œ ์•Œ์•„๋ณด๊ณ  ์•Œ์•„๋ณด๋‹ค๊ฐ€ openmediavalut๋ฅผโ€ฆ

๋”๋ณด๊ธฐ

# 3. creww ๊ฐ„๋‹จํ•œ CRUD ์™„์„ฑ

๊ฐ„๋‹จํ•œ ๊ธฐ๋Šฅ ์†Œ๊ฐœ ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ: ์‚ฌ์šฉ์ž๋Š” ํšŒ์›๊ฐ€์ž…์„ ํ†ตํ•ด ๊ณ„์ •์„ ์ƒ์„ฑํ•˜๊ณ  ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฒŒ์‹œํŒ ์ƒ์„ฑ: ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž๋Š” ์ƒˆ๋กœ์šด ๊ฒŒ์‹œํŒ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ์‚ฌ์šฉ์ž ์ดˆ๋Œ€: ์ƒ์„ฑ๋œ ๊ฒŒ์‹œํŒ์— ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋ฅผ ์ดˆ๋Œ€ํ•˜์—ฌ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ: ์ดˆ๋Œ€๋œ ์‚ฌ์šฉ์ž๋“ค์€ ๊ฒŒ์‹œํŒ์— ๊ฒŒ์‹œ๊ธ€์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ๋Œ“๊ธ€ ์ž‘์„ฑ: ๊ฒŒ์‹œ๊ธ€์— ๋Œ“๊ธ€์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.โ€ฆ

๋”๋ณด๊ธฐ

# 2024.05.25 Today I Learned

TIL: 2024-05-25 ํ† ์š”์ผ ์˜ค๋Š˜์˜ ๋ชฉํ‘œ Test Code์— ๋Œ€ํ•œ ๊ฒฝ๊ฐ์‹ฌ ํ•™์Šตํ•œ ๋‚ด์šฉ ์ด๋ฒˆ creww project์—์„œ๋Š” ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ 90% ์ด์ƒ์ด ๋ชฉํ‘œ๋‹ค. ๊ทธ๋ž˜์„œ mock์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ–ˆ๋‹ค. Mocking์ด๋ž€? Mocking์€ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์—์„œ ์˜์กด์„ฑ์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. ์‹ค์ œ ๊ฐ์ฒด ๋Œ€์‹  ๊ฐ€์งœ (Mock) ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋ฅผโ€ฆ

๋”๋ณด๊ธฐ

# 4. creww ์กฐํšŒ์ˆ˜ ๊ธฐ๋Šฅ

์ผ๋‹จ ์กฐํšŒ์ˆ˜ ๊ธฐ๋Šฅ์ด ์—†๋Š” ๊ฒƒ ๊ฐ™์•„์„œ postService์— ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ์ˆ˜๋ฅผ ํ‘œ์‹œํ•ด์ฃผ๋Š” ๋กœ์ง์„ ํ•œ๊ฐœ ๋” ์ถ”๊ฐ€ํ–ˆ๋‹ค. @Entity @Getter @NoArgsConstructor @Table(name = "post") public class Post extends BaseEntity { @Id @GeneratedValue(strategy =โ€ฆ

๋”๋ณด๊ธฐ

# 5. creww dockerfile ์ž‘์„ฑ

Dockerfile ์ž‘์„ฑ ๋ฐ ๋นŒ๋“œ: Dockerfile ์ž‘์„ฑ: Creww ํ”„๋กœ์ ํŠธ์˜ ๋ฐฐํฌ๋ฅผ ์œ„ํ•ด Dockerfile์„ ์ž‘์„ฑ. Dockerfile์—๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ™˜๊ฒฝ ์„ค์ • ๋ฐ ์˜์กด์„ฑ ์„ค์น˜ ๋ช…๋ น์–ด๋ฅผ ํฌํ•จํ•˜์—ฌ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ๋นŒ๋“œ: ์ž‘์„ฑ๋œ Dockerfile์„ ์‚ฌ์šฉํ•˜์—ฌ Docker ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ–ˆ๋‹ค. ๋นŒ๋“œ๋œ ์ด๋ฏธ์ง€๋ฅผ ํ†ตํ•ด ์ผ๊ด€๋œ ํ™˜๊ฒฝ์—์„œโ€ฆ

๋”๋ณด๊ธฐ

# 6. creww ๋ฐ๋น„์•ˆ ๋ฆฌ๋ˆ…์Šค๋กœ ๋ฐฐํฌํ•œ ์‚ฌ์ดํŠธ์— HTTPS ์ ์šฉ

์›น ์„œ๋ฒ„์— HTTPS๋ฅผ ์ ์šฉํ•˜๋Š” ์ž‘์—…์„ ํ–ˆ๋‹ค. ๋จผ์ € apt ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ , certbot๊ณผ certbot-nginx ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•œ๋‹ค. Copy codesudo apt update sudo apt install certbot sudo apt install python3-certbot-nginx ๊ทธ๋ฆฌ๊ณ  certbot ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‹คํ–‰ํ•ด์„œโ€ฆ

๋”๋ณด๊ธฐ

# 2024.05.30 Today I Learned

๋งจ๋‚  ๊นŒ๋จน์ง€๋งŒ ๊ฑฐ์˜ ๋งจ๋‚  ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด ./gradlew clean./gradlew test jacocoTestReport ์ด๋ฏธ์ง€ ๊ด€๋ จ ๋ช…๋ น์–ด docker images: ๋กœ์ปฌ์— ๋‹ค์šด๋กœ๋“œ๋œ ์ด๋ฏธ์ง€ ๋ชฉ๋ก ํ™•์ธ docker pull ์ด๋ฏธ์ง€๋ช…: ์›๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์—์„œ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ docker rmi ์ด๋ฏธ์ง€๋ช…: ๋กœ์ปฌ์—์„œ ์ด๋ฏธ์ง€ ์‚ญ์ œ ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ จ ๋ช…๋ น์–ดโ€ฆ

๋”๋ณด๊ธฐ

# 7. creww ๋งค์šฐ ๊ฐ„๋‹จํ•œ ์ˆ˜์ • ๊ธฐ๋ก

ssh ํ„ฐ๋ฏธ๋„๋กœ ๊ฐ€์ •์šฉ nas์™€ ํ†ต์‹ ํ•ด์„œ docker-compose up ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์‚ฌ์ดํŠธ๋ฅผ ์‹คํ–‰์‹œํ‚ค๋ ค๋Š”๋ฐ.. frontend ์ปจํ…Œ์ด๋„ˆ์™€ mysql ์ปจํ…Œ์ด๋„ˆ๋Š” ์ž˜ ์‹คํ–‰์ด ๋˜๋Š”๋ฐ backend ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ž๊พธ ๊บผ์ง€๋Š” ์—๋Ÿฌ๋ฅผ ๋งˆ์ฃผํ–ˆ๋‹ค. ๋กœ๊ทธ๋ฅผ ์‚ดํŽด๋ณด๊ณ  ์ด๊ฒƒ์ €๊ฒƒ ๊ตฌ๊ธ€๋ง์„ ํ•œ ๊ฒฐ๊ณผ.. ๋ฌธ์ œ์˜ ์›์ธ์„ ์ฐพ์•„๋ณด๋‹ˆ MySQL 8.0.27 ๋ฒ„์ „์˜ ์ปค๋„ฅํ„ฐ๊ฐ€ ์Šคํ”„๋งโ€ฆ

๋”๋ณด๊ธฐ

# testcode ์ •๋ฆฌ

ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋Š” ์ค‘์š”ํ•˜๋‹ค. ํ•˜์ง€๋งŒ ์–ด๋ ต๊ฒŒ ๋А๊ปด์งˆ ์ˆ˜ ์žˆ๋‹ค. ์ข€ ๋” ์‰ฝ๊ฒŒ ์ƒ๊ฐํ•˜๊ณ  ์ ‘๊ทผํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Add๋ผ๋Š” ํด๋ž˜์Šค์— addNumber๋ผ๋Š” ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด์ž. public class Add{ public int addNumber(int a, int b){ return a+b; } } ์œ„ ์ฝ”๋“œ์— ๋Œ€ํ•ด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์€โ€ฆ

๋”๋ณด๊ธฐ

# Http & Https ๋ฅผ ๊ณต๋ถ€ํ•˜์ž

HTTP๋ž€?(HyperText Transfer Protocol) ์ธํ„ฐ๋„ท์—์„œ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์ž์›์„ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ ์“ฐ๋Š” ํ†ต์‹  ๊ทœ์•ฝ์ด๋‹ค. HTTP์˜ ๊ตฌ์กฐ๋Š” ์š”์ฒญ/์‘๋‹ต (Request/Response) ๊ตฌ์กฐ๋กœ ๋˜์–ด์žˆ๋‹ค. HTTP ์š”์ฒญ (Requset) HTTP์˜ ๋ฉ”์†Œ๋“œ๋Š” ์›น ์„œ๋ฒ„์— ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ์š”์ฒญ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. HTTP์˜ ์ฃผ์š” ๋ฉ”์„œ๋“œ๋Š”โ€ฆ

๋”๋ณด๊ธฐ

# Https๋ฅผ ๊ณต๋ถ€ํ•˜์ž

HTTPS๋Š” HTTP์˜ ๋ณด์•ˆ ๋ฒ„์ „์œผ๋กœ, ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. HTTPS๋Š” ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”, ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ, ์ธ์ฆ์„ ํ†ตํ•ด ๋ณด์•ˆ์„ ์ œ๊ณตํ•œ๋‹ค. ์ฃผ์š” ์›๋ฆฌ SSL/TLS ํ”„๋กœํ† ์ฝœ ์‚ฌ์šฉ: HTTPS๋Š” SSL(Secure Sockets Layer) ๋˜๋Š” TLS(Transport Layer Security) ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌโ€ฆ

๋”๋ณด๊ธฐ

# Http ์ƒํƒœ ์ฝ”๋“œ ์š”์•ฝ

HTTP ์ƒํƒœ ์ฝ”๋“œ๋Š” ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ–ˆ๋Š”์ง€๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ์ฝ”๋“œ 1xx: ์ •๋ณด ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ์„ค๋ช… 100๊ณ„์† 101ํ”„๋กœํ† ์ฝœ ์ „ํ™˜ 2xx: ์„ฑ๊ณต ์ƒํƒœ ์ฝ”๋“œ์„ค๋ช… 200์š”์ฒญ ์„ฑ๊ณต 201์ƒ์„ฑ๋จ 202์ˆ˜๋ฝ๋จ 204์š”์ฒญ ์„ฑ๊ณต,๋‚ด์šฉ ์—†์Œ 3xx: ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์ƒํƒœ ์ฝ”๋“œ์„ค๋ช… 301์š”์ฒญ URL ์˜๊ตฌ ์ด๋™ 302์ฐพ์Œ (์ž„์‹œ ๋ฆฌ๋‹ค์ด๋ ‰์…˜) 304์š”์ฒญ URLโ€ฆ

๋”๋ณด๊ธฐ

# 2024.06.23: ์šด์˜์ฒด์ œ ์ฃผ์š” ๋‚ด์šฉ ๋ณต์Šต

๋‹ค์‹œ ์ด๋ก ์œผ๋กœ.. ๊ธฐ์ดˆ๋ถ€ํ„ฐ ๋‹ค์‹œ ์ฒ˜์Œ๋ถ€ํ„ฐ ์‹œ์ž‘! ํ•˜๋ฃจ์˜ ๊ณ„ํš [x] ๋ธ”๋กœ๊ทธ ์ •๋ฆฌ [x] ์ •๋ณด์ฒ˜๋ฆฌ ์‚ฐ์—…๊ธฐ์‚ฌ ๋ฌธ์ œํ’€์ด ์˜ค๋Š˜์˜ ์ •๋ฆฌ ์šด์˜์ฒด์ œ ๋ชฉ์  : ์‚ฌ์šฉ์ž ํŽธ๋ฆฌ์„ฑ ์ œ๊ณต ์ธํ„ฐํŽ˜์ด์Šค ๊ธฐ๋Šฅ ๋‹ด๋‹น ์Šค์ผ€์ค„๋ง ๋‹ด๋‹น, ์ž์› ๊ด€๋ฆฌ ์ œ์–ด ๊ธฐ๋Šฅ ์˜ค๋ฅ˜ ํšŒ๋ณต ์šด์˜์ฒด์ œ ์„ฑ๋Šฅ ํ‰๊ฐ€ ๊ธฐ์ค€ ๊ฒฝ๊ณผ ์‹œ๊ฐ„ ๊ฐ์†Œ ๋ฐ˜ํ™˜ ์‹œ๊ฐ„ ๊ฐ์†Œ ๋น ๋ฅธ ์‘๋‹ต ์‹œ๊ฐ„ ์‹ ๋ขฐ์„ฑ ํ–ฅ์ƒ ์ฒ˜๋ฆฌ๋Ÿ‰ ํ–ฅ์ƒ ์šด์˜์ฒด์ œ์˜ ์‹œ๊ฐ„๊ณผ ์ข…๋ฅ˜โ€ฆ

๋”๋ณด๊ธฐ

# 2024.06.24 Sql ๋ณต์Šต

์˜ค๋Š˜ ํ•ด์•ผํ•  ์ผ [x] ๋ธ”๋กœ๊ทธ ์ •๋ฆฌ [x] ์ •๋ณด์ฒ˜๋ฆฌ ์‚ฐ์—…๊ธฐ์‚ฌ ์ด๋ก  ์•”๊ธฐ [x] SQL ๋‹ค์‹œ ๋ณต์Šต SQL์„ ํ•œ๋™์•„ ์•ˆํ–ˆ๋”๋‹ˆ ์ข€ ๊ฐ€๋ฌผ๊ฐ€๋ฌผ ํ•˜๋‹ค... ๊ทธ๋ž˜์„œ ์˜ค๋Š˜์€ ๋ณต์Šต์„ ํ–ˆ๋‹ค. SQL์˜ WHERE ์ ˆ์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ•„ํ„ฐ๋งํ•˜์—ฌ ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ํ–‰๋งŒ์„ ์„ ํƒํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. WHERE ์ ˆ์€ SELECT, UPDATE, DELETE ๋ฐ INSERT INTO ๋ฌธ๊ณผโ€ฆ

๋”๋ณด๊ธฐ

# 2024.06.26 Osi ๋ณต์Šต

OSI 7๊ณ„์ธต ์‹ฌํ™” ๊ณ„์ธต์„ค๋ช…ํ”„๋กœํ† ์ฝœ์ „์†ก๋‹จ์œ„ 1. ๋ฌผ๋ฆฌ ๊ณ„์ธต (Physical Layer)์‹ค์ œ ์žฅ๋น„๋“ค์„ ์—ฐ๊ฒฐํ•˜๋Š” ์—ฐ๊ฒฐ ์žฅ์น˜RS-232C๋น„ํŠธ 2. ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต (Data Link Layer)์˜ค๋ฅ˜, ํ๋ฆ„์„ ์ œ์–ดํ•˜์—ฌ ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ „์†กHDLC,PPPํ”„๋ ˆ์ž„ 3. ๋„คํŠธ์›Œํฌ ๊ณ„์ธต (Network Layer)๋‹จ๋ง ๊ฐ„ ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์œ„ํ•œ ์ตœ์ ํ™”๋˜ ๊ฒฝ๋กœโ€ฆ

๋”๋ณด๊ธฐ

# 8. creww ์ง„ํ–‰ํ˜„ํ™ฉ

๊ธฐ๋Šฅ ์ถ”๊ฐ€ ์•Œ๋ฆผ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค. ๋ฐฉ์—์„œ ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค. ๋ฐฉ์žฅ์ด ๊ฒŒ์‹œํŒ์„ ๋งŒ๋“  ํ›„์—๋„ ์œ ์ €๋ฅผ ์ดˆ๋Œ€ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ 90% ์ด์ƒ ์œ ์ง€ํ•˜๊ธฐ ๋ฉ”์ธ ํŽ˜์ด์ง€ ์ด๋ฏธ์ง€ ๋งŒ๋“ค๊ธฐ ๋“ฑ ์‹ค์ œ Obsidian์— ์ž‘์„ฑํ•ด์„œ ์ง„ํ–‰์ค‘์ธ ๊ณ„ํšํ‘œ์ด๋‹ค. ๋” ์ƒ๊ฐํ•ด๋ณด๊ธฐ ์ผ๋‹จ ERD ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์ˆ˜์ •ํ•ด์•ผํ•œ๋‹ค.. ์•Œ๋ฆผ ํ…Œ์ด๋ธ”์ด ์ถ”๊ฐ€๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ ๊ด€๋ฆฌ์žโ€ฆ

๋”๋ณด๊ธฐ

# Osi 7๊ณ„์ธต ์•”๊ธฐํ•˜๋ ค๊ณ  ์ •๋ฆฌ

๋„คํŠธ์›Œํฌ ๋ชจ๋ธ 1. OSI 7๊ณ„์ธต ๋ฌผ๋ฆฌ ๊ณ„์ธต ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต ๋„คํŠธ์›Œํฌ ๊ณ„์ธต ์ „์†ก ๊ณ„์ธต ์„ธ์…˜ ๊ณ„์ธต ํ‘œํ˜„ ๊ณ„์ธต ์‘์šฉ ๊ณ„์ธต 2.OSI 7๊ณ„์ธต์˜ ์ฃผ์š” ๊ณ„์ธต ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต: ์‹ ๋ขฐ์„ฑ ์žˆ๊ณ  ํšจ์œจ์ ์ธ ์ •๋ณด ์ „์†ก์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์‹œ์Šคํ…œ ๊ฐ„ ์—ฐ๊ฒฐ ์„ค์ •๊ณผ ์œ ์ง€ ๋ฐ ์ข…๋ฃŒ๋ฅผ ๋‹ด๋‹นํ•จ ๋„คํŠธ์›Œํฌ ๊ณ„์ธต: ๊ฐœ๋ฐฉ ์‹œ์Šคํ…œ๋“ค ๊ฐ„์˜ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ๊ณผ ๋ฐ์ดํ„ฐ์˜ ๊ตํ™˜ ๋ฐ ์ค‘๊ณ„โ€ฆ

๋”๋ณด๊ธฐ

# 2024.06.27 Today I Learned

[x] ๋ธ”๋กœ๊ทธ ์ •๋ฆฌ [x] ์ •๋ณด์ฒ˜๋ฆฌ ์‚ฐ์—…๊ธฐ์‚ฌ ๋ฌธ์ œ [x] Java ๋ฌธ๋ฒ• ๋ณต์Šต [x] creww ํ”„๋ก ํŠธ์—”๋“œ ์ˆ˜์ • ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ทธ๋ ค์„œ ์˜ฌ๋ ค์•ผํ•˜๋Š”๋ฐ! ๋ชปํ–ˆ๋‹ค.. ์˜ค๋Š˜์€ Creww ์˜ ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ์‚ด์ง ์ˆ˜์ •ํ•˜๊ณ  ํ•™์Šต์ง€๋งŒ ๋ดค๋‹ค. ๊พธ์ค€ํ•จ์ด ๊ฒฐ๊ตญ์—” ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ์žฌ์‚ฐ์ด ๋ ๊ฒƒ์ด๋กœ๋‹ค!

๋”๋ณด๊ธฐ

# 15.Java HashMap ๋‹ค์‹œ ๋ณต์Šต

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€๋‹ค๊ฐ€ ๊ธฐ์ดˆ ๋ฌธ๋ฒ•์ด ๋ถ€์‹คํ•˜๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.์ด๋ก ์œผ๋กœ ์•Œ๊ณ ์žˆ๋Š” ๊ฒƒ๊ณผ ์†๊ฐ€๋ฝ์œผ๋กœ ๋‘๋“ค๊ฒจ๋ณธ ์ฝ”๋“œ๋Š” ๋‹ค๋ฅด๋‹ˆ.. ๊ทธ๋ž˜์„œ ๋ณต์Šต์„ ์ง„ํ–‰ํ–ˆ๋‹ค. 1. ๊ทธ๋ฃนํ™” ์• ๋„ˆ๊ทธ๋žจ ๊ทธ๋ฃนํ™”: ๋ฌธ์ž์—ด ๋ฐฐ์—ด strs๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์• ๋„ˆ๊ทธ๋žจ(๋ฌธ์ž๋ฅผ ์žฌ๋ฐฐ์—ดํ•˜์—ฌ ๋‹ค๋ฅธ ๋‹จ์–ด๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋‹จ์–ด)๋ผ๋ฆฌ ๊ทธ๋ฃนํ™”ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.HashMap์„ ์‚ฌ์šฉํ•˜์—ฌ ์• ๋„ˆ๊ทธ๋žจ ๊ทธ๋ฃน์„โ€ฆ

๋”๋ณด๊ธฐ

# IP(Internet Protocol)

๊ธฐ๋ก์„ ํ•˜๋Š”์ด์œ  ๊ทธ๊ฒƒ์€ ๋ฐ”๋กœ ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ ์Šต๊ด€์„ ๊ธฐ๋ฅด๋ฉด์„œ๋„ ์•”๊ธฐ๊นŒ์ง€ ๋˜๊ธฐ ๋•Œ๋ฌธ IP(Internet Protocol) IP ๊ฐœ๋… ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ์€ ์†ก์‹  ํ˜ธ์ŠคํŠธ์™€ ์ˆ˜์‹  ํ˜ธ์ŠคํŠธ๊ฐ€ ํŒจํ‚ท ๊ตํ™˜ ๋„คํŠธ์›Œํฌ์—์„œ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ •๋ณด ์œ„์ฃผ์˜ ๊ทœ์•ฝ์ด๋‹ค. OSI 3๊ณ„์ธต์ธ ๋„คํŠธ์›Œํฌ ๊ณ„์ธต/ํŒจํ‚ท ๋ถ„ํ•  ๋ฐ ์กฐ๋ฆฝ ๊ธฐ๋Šฅ ๋‹ด๋‹น IP์˜ ์ •๋ณด๋Š” ํŒจํ‚ท ํ˜น์€ ๋ฐ์ดํ„ฐ๊ทธ๋žจ์ด๋ผ๊ณ  ํ•˜๋Š”โ€ฆ

๋”๋ณด๊ธฐ

# 9. creww ์•ฝ๊ฐ„์˜ ์ •๋ฆฌ

Creww ์˜ค๋Š˜์€ creww์˜ ํ”„๋ก ํŠธ๋ฅผ ์ˆ˜์ •ํ–ˆ๋‹ค. CSS ํšจ๊ณผ๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ–ˆ๊ณ  ๊ทธ๋ƒฅ ๊น”๋”ํ•จ์„ ๋ชฉํ‘œ๋กœ ํ–ˆ๋‹ค. ๋””์ž์ธ์ด ์ฐธ ์–ด๋ ต๋‹ค. ๋‚ด์ผ์€ ์ฟผ๋ฆฌ๋ฅผ ๊ฐœ์„ ํ• ๊นŒ ํ•˜๋Š”๋ฐ.. ํ .. ์–ด๋””์— ๋ฌด์—‡์„ ์–ด๋–ป๊ฒŒ ์ ์šฉํ• ์ง€ ๊ณ ๋ฏผ์ข€ ํ•ด๋ด์•ผ๊ฒ ๋‹ค. ๋‚˜๊ฐ™์ด ๊ฐœ์ธ๋ชฉ์ ์œผ๋กœ ๋งŒ๋“  ๊ฒŒ์‹œํŒ์„ ๋ˆ„๊ตฐ๊ฐ€ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๋‚ด ์ง€์ธ์ด๋‚˜ ์นœ๊ตฌ ๋ง๊ณ ๋Š” ์—†์„ ๊ฒƒ์ด๋‹ค... ํ•˜์ง€๋งŒ ๊ณ„์† ๊ณ„์† ์‚ฌ์ดํŠธ๋ฅผ ์œ ์ง€๋ณด์ˆ˜ ํ•˜๋ฉด์„œโ€ฆ

๋”๋ณด๊ธฐ

# 10. creww ์ฟผ๋ฆฌ๊ฐœ์„ (1)

creww project ์ฟผ๋ฆฌ๊ฐœ์„  ์‹œ์ž‘ ๋งจ ์ฒ˜์Œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด์„œ N+1 ๋ฌธ์ œ๋“ค์„ ์ƒ๊ฐ ์•ˆํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค.๊ทธ๋ž˜์„œ ๋„๋ฉ”์ธ ์ˆœ์„œ๋Œ€๋กœ ์ฟผ๋ฆฌ๋ฅผ ๊ฐœ์„ ํ•ด์•ผํ• ์ง€..์–ด์ฐŒํ•˜์ง€?์ƒ๊ฐํ•˜๋‹ค๊ฐ€ ์ผ๋‹จ Postman์„ ์‹คํ–‰์‹œํ‚จ ๋’ค์— id๊ฐ€ 1์ธ ๋ณด๋“œ์— ์ „์ฒด ๊ฒŒ์‹œ๊ธ€ ์š”์ฒญ์„ ๋ณด๋ƒˆ๋‹ค.getPosts ๋ผ๋Š” ์„œ๋น„์Šค ๋ฉ”์„œ๋“œ๋ฅผ ๋จผ์ € ํ•ด๊ฒฐํ•˜๊ธฐ๋กœ.. ๋ฌธ์ œ์  ์ฟผ๋ฆฌ ๊ฐœ์„  ์ „ ์„œ๋น„์Šค ๋กœ์งโ€ฆ

๋”๋ณด๊ธฐ

# 11. creww Architecture Diagram

ํฌ๋ฃจ์˜ ์•„ํ‚คํ…์ฒ˜ ๋‹ค์ด์–ด๊ทธ๋žจ์„ ๋งŒ๋“ค์—ˆ๋‹ค. ๋ฏธ๋ฆฌ ๋งŒ๋“ค์—ˆ์–ด์•ผ ํ–ˆ๋Š”๋ฐ ์•„์ง ์ง„ํ–‰์ค‘์ธ ํ”„๋กœ์ ํŠธ๋ผ์„œ.. ๊ณ„์† ์ˆ˜์ •๋  ์˜ˆ์ •์ด๋‹ค. I have created an architecture diagram for Creww project. I should have made it earlier, but since it's an ongoing project... it'sโ€ฆ

๋”๋ณด๊ธฐ

# 2024.07.01 ์š”๊ตฌ์‚ฌํ•ญ ํ™•์ธ

์š”๊ตฌ์‚ฌํ•ญ ํ™•์ธ ์š”๊ตฌ๋ถ„์„ ๊ฐœ๋… ์š”๊ตฌ๋ถ„์„์€ ๋„์ถœ๋œ ์š”๊ตฌ์‚ฌํ•ญ ๊ฐ„ ์ƒ์ธต์„ ํ•ด๊ฒฐํ•˜๊ณ  ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ฒ”์œ„๋ฅผ ํŒŒ์•…ํ•˜์—ฌ ์™ธ๋ถ€ ํ™˜๊ฒฝ๊ณผ์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ๋ถ„์„ํ•˜๋Š” ๊ณผ์ • ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ์‚ฌํ•ญ ์ค‘ ๋ช…ํ™•ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋ชจํ˜ธํ•˜์—ฌ ์ดํ•ด๋˜์ง€ ์•Š๋Š” ๋ถ€๋ถ„์„ ๋ฐœ๊ฒฌํ•˜๊ณ  ๊ฑธ๋Ÿฌ๋‚ด๊ธฐ ์œ„ํ•œ ๊ณผ์ • ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„์— ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ ๋ชจ๋ธ๋ง ๊ธฐ๋ฒ• 1. ์ž๋ฃŒ ํ๋ฆ„๋„ ์ž๋ฃŒ ํ๋ฆ„๋„ ๊ฐœ๋… Data Flow Diagramโ€ฆ

๋”๋ณด๊ธฐ

# 2024.07.03 Uml ๊ฐœ๋…

UML UML ๊ฐœ๋… UML์€ ๊ฐ์ฒด ์ง€ํ–ฅ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ ์‚ฐ์ถœ๋ฌผ์„ ๋ช…์„ธํ™” ์‹œ๊ฐํ™” ๋ฌธ์„œํ™”ํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋ธ๋ง ๊ธฐ์ˆ ๊ณผ ๋ฐฉ๋ฒ•๋ก ์„ ํ†ตํ•ฉํ•ด์„œ ๋งŒ๋“  ํ‘œ์ค€ํ™”๋œ ๋ฒ”์šฉ ๋ชจ๋ธ๋ง ์–ธ์–ด UML ํŠน์ง• ๋ฐฉ๋ฒ•๋ก ์„ ํ†ตํ•ฉํ•œ ๊ฒƒ, ํ‘œ์ค€ํ™”๋œ ๋ชจ๋ธ๋ง ๊ธฐ๋ฒ• ์ œ๊ณต ๊ฐœ๋ฐœ์ž์™€ ๊ณ ๊ฐ ๋˜๋Š” ๊ฐœ๋ฐœ์ž ๊ฐ„ ๋“ฑ ๋‹ค์–‘ํ•œ ์ดํ•ด๊ด€๊ณ„์ž์™€์˜ ์˜์‚ฌ์†Œํ†ต์„ ์œ„ํ•œ ๋„๊ตฌ ํŠน์ง•์„ค๋ช… ๊ฐ€์‹œํ™” ์–ธ์–ด๊ฐœ๋… ๋ชจ๋ธ ์ž‘์„ฑ์‹œ ์˜ค๋ฅ˜๊ฐ€โ€ฆ

๋”๋ณด๊ธฐ

# 2024.07.05 Uml์˜ ์ƒ์„ธ

UML ์ƒ์„ธ 1. ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ ๊ฐœ๋… ๊ฐ์ฒด ์ง€ํ–ฅ ๋ชจ๋ธ๋ง ์‹œ ํด๋ž˜์Šค์˜ ์†์„ฑ ๋ฐ ์—ฐ์‚ฐ๊ณผ ํด๋ž˜์Šค๊ฐ„ ์ •์ ์ธ ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•œ ๋‹ค์ด์–ด๊ทธ๋žจ ํด๋ž˜์Šค์™€ ํด๋ž˜์Šค, ํด๋ž˜์Šค ์†์„ฑ ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค. ๊ตฌ์„ฑ์š”์†Œ ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ๊ตฌ์„ฑ์š”์†Œ๋Š” ํด๋ž˜์Šค ์ด๋ฆ„, ์†์„ฑ, ์—ฐ์‚ฐ, ์ ‘๊ทผ์ œ์–ด์ž๊ฐ€ ์žˆ๋‹ค. ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ Person (ํด๋ž˜์Šค ์ด๋ฆ„)-age: intโ€ฆ

๋”๋ณด๊ธฐ

# 2024.07.05 ๊ณตํ†ต๋ชจ๋“ˆ์„ค๊ณ„&์„ค๊ณ„๋ชจ๋ธ๋ง

๊ณตํ†ต ๋ชจ๋“ˆ ์„ค๊ณ„ ๋ชจ๋“ˆ์˜ ๊ฐœ๋… ๋ชจ๋“ˆ์€ ํฌ๊ฒŒ ๋…๋ฆฝ๋œ ํ•˜๋‚˜์˜ ์†Œํ”„ํŠธ์›จ์–ด ๋˜๋Š” ํ•˜๋“œ์›จ์–ด ๋‹จ์œ„๋ฅผ ์ง€์นญํ•˜๋Š” ์šฉ์–ด์ด๋‹ค. ๋ชจ๋“ˆํ™”๋ฅผ ํ†ตํ•ด ๋ถ„๋ฆฌ๋œ ์‹œ์Šคํ…œ์˜ ๊ธฐ๋Šฅ๋“ค๋กœ ์„œ๋ธŒํ”„๋กœ๊ทธ๋žจ, ์„œ๋ธŒ ๋ฃจํ‹ด, ์†Œํ”„ํŠธ์›จ์–ด ๋‚ด์˜ ๋‹จ์œ„ ํ”„๋กœ๊ทธ๋žจ, ์ž‘์—… ๋‹จ์œ„ ๋“ฑ๊ณผ ๊ฐ™์€ ์˜๋ฏธ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. ๋ชจ๋“ˆ์˜ ํŠน์ง• ๋…๋ฆฝ์„ฑ ๊ฐ๊ฐ์˜ ๋ชจ๋“ˆ์€ ์ƒ๋Œ€์ ์ธ ๋…๋ฆฝ์„ฑ์„ ๊ฐ€์ง„๋‹ค. ๋ชจ๋“ˆ์˜ ๋…๋ฆฝ์„ฑ์€ ๊ฒฐํ•ฉ๋„์™€ ์‘์ง‘๋„์— ์˜ํ•ด ์ธก์ •๋œ๋‹ค.โ€ฆ

๋”๋ณด๊ธฐ

# 2024.07.09 ์›น ์†Œ์ผ“

์›น ์†Œ์ผ“์ด๋ž€? ์›น ์†Œ์ผ“์€ ์›น ๋ธŒ๋ผ์šฐ์ €(ํด๋ผ์ด์–ธํŠธ)์™€ ์›น ์„œ๋ฒ„ ์‚ฌ์ด์— ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ธฐ์ˆ ์ด๋‹ค.์ „ํ™” ํ†ตํ™”์ฒ˜๋Ÿผ ํ•œ ๋ฒˆ ์—ฐ๊ฒฐ๋˜๋ฉด ๊ณ„์† ๋Œ€ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ์›น ์†Œ์ผ“์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ์‹ค์‹œ๊ฐ„ ์—…๋ฐ์ดํŠธ: ์ฑ„ํŒ…, ์‹ค์‹œ๊ฐ„ ์•Œ๋ฆผ, ๋ผ์ด๋ธŒ ์ ์ˆ˜ ์—…๋ฐ์ดํŠธ ๋“ฑ์— ์œ ์šฉ. ํšจ์œจ์„ฑ: ์„œ๋ฒ„์— ๊ณ„์† ๋ฌผ์–ด๋ณด์ง€ ์•Š์•„๋„ ์ƒˆ๋กœ์šด ์ •๋ณด๊ฐ€ ์žˆ์œผ๋ฉดโ€ฆ

๋”๋ณด๊ธฐ

# 2024.07.10 ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด

์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด ๊ฐœ๋… ์™ธ๋ถ€์—์„œ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋Š” ํŠน์„ฑ์ด ๋‹ด๊ธด ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ณจ๊ฒฉ์ด ๋˜๋Š” ๊ธฐ๋ณธ ๊ตฌ์กฐ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค๊ณ„ํ•  ๋•Œ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋Š” ์ „์ฒด์ ์ธ ํ•ด๊ฒฐ ๋ฐฉ์‹ ์ฃผ์–ด์ง„ ์ƒํ™ฉ์—์„œ์˜ ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜์—์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋“ค์— ๋Œ€ํ•œ ์ผ๋ฐ˜ํ™”๋˜๊ณ  ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์†”๋ฃจ์…˜ ํ•„์š”์„ฑ ์ƒํ™ฉ๋ณ„ ํŒจํ„ด์„ ์ˆ˜๋ฆฝ ์ ์šฉํ•˜์—ฌ, ๊ณ ๊ฐ๊ณผ ์˜์‚ฌ์†Œํ†ต์„ ํ†ตํ•ด ์š”๊ตฌ์‚ฌํ•ญ์„ ๋งŒ์กฑ์‹œํ‚ค๊ณ ,โ€ฆ

๋”๋ณด๊ธฐ

# 12. creww ์•Œ๋ฆผ ์ˆซ์ž ๊ตฌํ˜„ feat.SSE

์•Œ๋ฆผ ๋ฒ„ํŠผ ์˜†์— ์•Œ๋ฆผ์ด ๋ช‡๊ฐœ ์žˆ๋Š”์ง€ ์•Œ๋ ค์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๋ณดํ†ต ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‹œ ๊ตฌ๊ธ€๋ง์ด๋‚˜ GPT๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„ ๋ฐฉ์‹์„ ์•Œ์•„๋ณด๊ณ  ๊ฒฐ์ •ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Creww์˜ CRUD๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ณผ์ •์—์„œ, Notification ํด๋ž˜์Šค๋ฅผ ์ž‘์„ฑํ•  ๋•Œ๋Š” ๋ณ„ ์ƒ๊ฐ์—†์ด ๋‚˜๋งŒ์˜ ๋ฐฉ์‹์œผ๋กœ.. ์•Œ๋ฆผ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ๊ตฌํ˜„ ์ˆœ์„œ๋ฅผ ์ •๋ฆฌํ•˜์ž๋ฉด PostServiceโ€ฆ

๋”๋ณด๊ธฐ

# 2024.07.11 ๊ฐ์ฒด์ง€ํ–ฅ

๊ฐ์ฒด ์ง€ํ–ฅ ๊ฐœ๋… ๊ฐ์ฒด ์ง€ํ–ฅ์€ ์‹ค์„ธ๊ณ„์˜ ๊ฐœ์ฒด๋ฅผ ์†์„ฑ๊ณผ ๋ฉ”์„œ๋“œ๊ฐ€ ๊ฒฐํ•ฉํ•œ ํ˜•ํƒœ์˜ ๊ฐ์ฒด๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. ๊ฐ์ฒด ์ง€ํ–ฅ ๊ตฌ์„ฑ์š”์†Œ ํด๋ž˜์Šค ํŠน์ • ๊ฐ์ฒด ๋‚ด์— ์žˆ๋Š” ๋ณ€์ˆ˜์™€ ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•˜๋Š” ์ผ์ข…์˜ ํ‹€ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ƒํ™”ํ•˜๋Š” ๋‹จ์œ„ ํ•˜๋‚˜ ์ด์ƒ์˜ ์œ ์‚ฌํ•œ ๊ฐ์ฒด๋“ค์„ ๋ฌถ์–ด์„œ ํ•˜๋‚˜์˜ ๊ณตํ†ต๋œ ํŠน์„ฑ์„ ํ‘œํ˜„ ์†์„ฑ์€ ๋ณ€์ˆ˜์˜ ํ˜•ํƒœ๋กœ, ํ–‰์œ„๋Š” ๋ฉ”์„œ๋“œ ํ˜•ํƒœ๋กœ ์„ ์–ธ ๊ฐ์ฒดโ€ฆ

๋”๋ณด๊ธฐ

# 2024.07.12 ๊ฐ์ฒด์ง€ํ–ฅ ๋””์ž์ธ ํŒจํ„ด

๋””์ž์ธ ํŒจํ„ด ๊ฐœ๋… ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์˜ ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„์—์„œ ๊ณตํ†ต์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์— ๋Œ€ํ•ด ์ž์ฃผ ์“ฐ์ด๋Š” ์„ค๊ณ„ ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•œ ํŒจํ„ด ๋””์ž์ธ ํŒจํ„ด์„ ์ฐธ๊ณ ํ•˜์—ฌ ๊ฐœ๋ฐœํ•  ๊ฒฝ์šฐ ๊ฐœ๋ฐœ์˜ ํšจ์œจ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ, ์šด์šฉ์„ฑ ๋“ฑ์˜ ํ’ˆ์งˆ์ด ๋†’์•„์ง€๋ฉฐ, ํ”„๋กœ๊ทธ๋žจ์˜ ์ตœ์ ํ™”์— ๋„์›€์ด ๋œ๋‹ค. ๋””์ž์ธ ํŒจํ„ด ๊ตฌ์„ฑ์š”์†Œ ์ด๋ฆ„, ๋ฌธ์ œ ๋ฐ ๋ฐฐ๊ฒฝ, ์†”๋ฃจ์…˜, ์‚ฌ๋ก€, ๊ฒฐ๊ณผ, ์ƒ˜ํ”Œ ์ฝ”๋“œ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ๋””์ž์ธโ€ฆ

๋”๋ณด๊ธฐ

# 2024.07.13 ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ…Œ์ŠคํŠธ ์ˆ˜ํ–‰

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ…Œ์ŠคํŠธ ์ˆ˜ํ–‰ IDE ๋„๊ตฌ ๊ฐœ๋… IDE(Integrated Development Environment) ๋„๊ตฌ๋Š” ์ฝ”๋”ฉ, ๋””๋ฒ„๊ทธ, ์ปดํŒŒ์ผ, ๋ฐฐํฌ ๋“ฑ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ๊ณผ ๊ด€๋ จ๋œ ๋ชจ๋“  ์ž‘์—…์„ ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ ์•ˆ์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด์ด๋‹ค. ๊ธฐ์กด์—๋Š” ์ปดํŒŒ์ผ๋Ÿฌ, ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ, ๋””๋ฒ„๊ฑฐ๋ฅผ ๋”ฐ๋กœ ์‚ฌ์šฉํ–ˆ์œผ๋‚˜ ํ†ตํ•ฉ ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ ํ†ตํ•ด ํ•˜๋‚˜๋กœ ๋ฌถ์€ ๋Œ€ํ™”ํ˜•โ€ฆ

๋”๋ณด๊ธฐ

# 2024.07.14 ํ…Œ์ŠคํŠธ ์ง€์‹ ์ฒด๊ณ„

ํ…Œ์ŠคํŠธ ์ง€์‹ ์ฒด๊ณ„ 1. ์†Œํ”„ํŠธ์›จ์–ด ํ…Œ์ŠคํŠธ ์ข…๋ฅ˜ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์—ฌ๋ถ€ ํ…Œ์ŠคํŠธ ์ƒ์„ธ ๊ธฐ๋ฒ• ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ ์‹œ๊ฐ ํ…Œ์ŠคํŠธ์˜ ๋ชฉ์  ํ…Œ์ŠคํŠธ์˜ ์ข…๋ฅ˜ 2. ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์—ฌ๋ถ€์— ๋”ฐ๋ฅธ ๋ถ„๋ฅ˜ ๊ฒฝํ—˜๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŠธ๋„ ๋ธ”๋ž™๋ฐ•์Šค ํ…Œ์ŠคํŠธ์— ํฌํ•จ๋˜๊ธฐ๋„ ํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์ •์  ํ…Œ์ŠคํŠธ์™€ ๋™์  ํ…Œ์ŠคํŠธ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. ๋ถ„๋ฅ˜์„ค๋ช…์œ ํ˜• ์ •์  ํ…Œ์ŠคํŠธํ…Œ์ŠคํŠธ ๋Œ€์ƒ์„ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ๊ตฌ์กฐ๋ฅผโ€ฆ

๋”๋ณด๊ธฐ

# 2024.07.15 ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค

ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ๊ฐœ๋… ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ํŠน์ • ์š”๊ตฌ์‚ฌํ•ญ์— ์ค€์ˆ˜ํ•˜๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋œ ์ž…๋ ฅ ๊ฐ’, ์‹คํ–‰ ์กฐ๊ฑด, ์˜ˆ์ƒ๋œ ๊ฒฐ๊ณผ์˜ ์ง‘ํ•ฉ์ด๋‹ค. ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ๊ตฌ์„ฑ์š”์†Œ(ISO/IEC/IEEE 291190-3 ํ‘œ์ค€) ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ๊ตฌ์„ฑ์š”์†Œ์—๋Š” ์‹๋ณ„์ž, ํ…Œ์ŠคํŠธ ํ•ญ๋ชฉ, ์ž…๋ ฅ๋ช…์„ธ, ์ถœ๋ ฅ๋ช…์„ธ, ํ™˜๊ฒฝ์„ค์ •, ํŠน์ˆ˜์ ˆ์ฐจ์š”๊ตฌ, ์˜์กด์„ฑ ๊ธฐ์ˆ ์ด ์žˆ๋‹ค. ๊ตฌ์„ฑ์š”์†Œ๋‚ด์šฉโ€ฆ

๋”๋ณด๊ธฐ

# ๋ฉ”๋ชจ๋ฆฌ ๋‹จํŽธํ™”

๋ฉ”๋ชจ๋ฆฌ ๋‹จํŽธํ™” ๋ฉ”๋ชจ๋ฆฌ ๋‹จํŽธํ™”๋ž€ ๋ถ„ํ• ๋œ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ํ”„๋กœ์„ธ์Šค๋ฅผ ํ• ๋‹น, ๋ฐ˜๋‚ฉ ๊ณผ์ •์—์„œ ์‚ฌ์šฉ๋˜์ง€ ๋ชปํ•˜๊ณ  ๋‚ญ๋น„๋˜๋Š” ๊ธฐ์–ต์žฅ์น˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ์ด๋‹ค. ์œ ํ˜•์œผ๋กœ๋Š” ๋‚ด๋ถ€ ๋‹จํŽธํ™”์™€ ์™ธ๋ถ€ ๋‹จํŽธํ™”๊ฐ€ ์žˆ๋‹ค. ๋‚ด๋ถ€ ๋‹จํŽธํ™” ๋‚ด๋ถ€ ๋‹จํŽธํ™” ๊ฐœ๋… ๋‚ด๋ถ€ ๋‹จํŽธํ™”๋Š” ๋ถ„ํ• ๋œ ๊ณต๊ฐ„์— ํ”„๋กœ์„ธ์Šค๋ฅผ ์ ์žฌํ•œ ํ›„ ๋‚จ์€ ๊ณต๊ฐ„์ด๋‹ค. ๋‚ด๋ถ€ ๋‹จํŽธํ™”๋Š” ๊ณ ์ • ๋ถ„ํ•  ํ• ๋‹น ๋ฐฉ์‹ ๋˜๋Š” ํŽ˜์ด์ง• ๊ธฐ๋ฒ• ์‚ฌ์šฉ ์‹œ ๋ฐœ์ƒํ•˜๋Š”โ€ฆ

๋”๋ณด๊ธฐ

# 2024.07.23 ์ •์ฒ˜์‚ฐ๊ธฐ ํ•„๊ธฐ ํ•ฉ๊ฒฉ!

ํฌํŠธํด๋ฆฌ์˜ค ๋งŒ๋“œ๋А๋ผ, ์ด๋ ฅ์„œ ์ค€๋น„ํ•˜๋А๋ผ, ๋ญ ํ•˜๋А๋ผ, ๋ญ ํ•˜๋А๋ผ ๋ฐ”์˜๋‹ค๊ณ  ํ•˜๋ฃจ์— ์•„์ฃผ ์กฐ๊ธˆ์”ฉ 2๋‹ฌ๋™์•ˆ ์‹œ๊ฐ„๋‚ด์„œ ์ˆ˜์ œ๋น„ ๊ต์žฌ๋ฅผ ์ฝ์œผ๋ฉด์„œ ์ค€๋น„ํ•œ ์ •๋ณด ์ฒ˜๋ฆฌ ์‚ฐ์—…๊ธฐ์‚ฌ ํ•„๊ธฐ. ์‹ค๊ธฐ๋„ ์—ด์‹ฌํžˆ ์ค€๋น„ํ•ด์„œ ๊ผญ ๋ถ™์€๋‹ค์Œ ๋‚ด ๊ณ„ํš์— ์ฐจ์งˆ์—†๊ฒŒ ๋‹ค ์ด๋ค„์•ผ๊ฒ ๋‹ค.

๋”๋ณด๊ธฐ

# ๋„คํŠธ์›Œํฌ ๊ณ„์ธต

๋„คํŠธ์›Œํฌ ๊ณ„์ธต ๋„คํŠธ์›Œํฌ๋Š” ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ์›ํ•˜๋Š” ์ˆ˜์‹ ์ž ๋˜๋Š” ๊ธฐ๊ธฐ์— ์ •ํ™•ํ•˜๊ฒŒ ์ „์†กํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ฐ˜ ์ธํ”„๋ผ์ด๋‹ค. OSI 7๊ณ„์ธต (์ง€๊ฒน์ง€๋งŒ ๋ฐ˜๋ณต) OSI 7๊ณ„์ธต์€ ๊ตญ์ œ ํ‘œ์ค€ํ™” ๊ธฐ๊ตฌ์ธ ISO(International Standardization Organization)์—์„œ ๊ฐœ๋ฐœํ•œ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ ๋””์ž์ธ๊ณผ ํ†ต์‹ ์„ ๊ณ„์ธต์œผ๋กœ ๋‚˜๋ˆ„์–ด ์„ค๋ช…ํ•œ ๊ฐœ๋ฐฉํ˜• ์‹œ์Šคํ…œ ์ƒํ˜ธโ€ฆ

๋”๋ณด๊ธฐ

# ์„œ๋ธŒ๋„ท ์ดํ•ดํ•˜๊ธฐ

์„œ๋ธŒ๋„ท IPv4 IPv4๋กœ ๋ณด์ž๋ฉด ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐฉ์‹์€ ์œ ๋‹ˆ์บ์ŠคํŠธ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋ธŒ๋กœ๋“œ ์บ์ŠคํŠธ๋‹ค. 32bit ์ˆซ์ž๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ 4๊ฐœ์˜ 10์ง„์ˆ˜๋กœ ํ‘œํ˜„๋œ๋‹ค. ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐฉ์‹ ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐฉ์‹์„ค๋ช… ์œ ๋‹ˆ์บ์ŠคํŠธํ•œ ๋Œ€์˜ ์ปดํ“จํ„ฐ๊ฐ€ ๋‹ค๋ฅธ ํ•œ ๋Œ€์˜ ์ปดํ“จํ„ฐ์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธํ•œ ๋Œ€์˜ ์ปดใ…‚ํ“จํ„ฐ๊ฐ€ ํŠน์ • ๊ทธ๋ฃน์— ์†ํ•œ ์—ฌ๋Ÿฌ ์ปดํ“จํ„ฐ์—๊ฒŒ ใ„ท์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋Š”โ€ฆ

๋”๋ณด๊ธฐ