2020๋…„ ํšŒ๊ณ 

2025. 1. 1. 23:35ยท ๐Ÿ˜† Daily/์žก๋‹ด

> Notion์— ์žˆ๋Š”๊ฑฐ ๋ณต์›์šฉ

 

์ž…์˜ ์—ฐ๊ธฐ

์›๋ž˜๋Š” 2020๋…„ 1์›”์— ์ž…์˜ํ•  ์˜ˆ์ •์ด์—ˆ์œผ๋‚˜ ํ•™์Šต์˜ ๋ฐฉํ–ฅ์„ฑ์ด ์žกํžˆ์ง€ ์•Š์€ ์ƒํƒœ์—์„œ ๊ตฐ๋Œ€์—์„œ ๊ทธ๋ƒฅ ๋ณด๋‚ด๋Š” ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ์•„๊น๋‹ค๊ณ  ์ƒ๊ฐ๋˜์–ด ๊ตฐ๋Œ€๋ฅผ 1๋…„ ๋ฏธ๋ฃจ๊ฒŒ ๋˜์—ˆ๋‹ค.

๋ธ”๋กœ๊น… ์‹œ์ž‘

tistory ๋ธ”๋กœ๊ทธ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค.

ํ•œํ•ด์˜ ๊ฐ์˜ค๋ฅผ ๋‹ค์ง€๊ธฐ ์œ„ํ•ด TID ๋ธ”๋กœ๊ทธ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค.

๊ณ„์ ˆํ•™๊ธฐ๋ฅผ ์ˆ˜๊ฐ•ํ•˜๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— 1์›” 14์ผ๊นŒ์ง€๋Š” ํฌ์ŠคํŒ…์ด ์—†์—ˆ๋‹ค

7์›”์ฏค ๋ถ€ํ„ฐ๋Š” velog๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํฌ์ŠคํŒ…ํ•˜๊ธฐ๋„ ํ–ˆ๋‹ค.

https://velog.io/@junho5336

BCSD Lab BackEnd ํŠธ๋ž™ ์ž…์„ฑ

๊ฒจ์šธ๋ฐฉํ•™์ด ์‹œ์ž‘๋˜๊ณ  Novice ๊ณผ์ •์ด ๋๋‚ฌ๋‹ค.

Novice ๊ณผ์ •์—์„œ ๊ธฐ๋ณธ์ ์ธ ์ปดํ“จํ„ฐ๊ณตํ•™ ์ง€์‹์„ ์ตํžˆ๊ณ  Backend ํŠธ๋ž™์„ ์„ ํƒํ–ˆ๋‹ค.

๋‹น์‹œ์—๋Š” BackEnd ํŠธ๋ž™์„ ์„ ํƒํ•˜๋Š”๋ฐ ํฐ ๋™๊ธฐ๊ฐ€ ์—†์—ˆ๋‹ค.

๊ทธ์ € ๊ฒ€์€ ์ฐฝ์— ํ•˜์–€ ๊ธ€์ž๊ฐ€ ์žˆ๋Š” CLI ์ฐฝ์ด ๋ฉ‹์žˆ์–ด ๋ณด์ธ๋‹ค๋Š” ๊ฒƒ์ด BackEnd๋ฅผ ์„ ํƒํ•œ ์ด์œ ์˜€๋‹ค. ๋˜ํ•œ 1ํ•™๋…„ 1ํ•™๊ธฐ ๋•Œ ์šฐ๋ถ„ํˆฌ ์ˆ˜์—…์„ ๊ฝค ํฅ๋ฏธ ์žˆ๊ฒŒ ์ˆ˜๊ฐ•ํ•œ ๊ฒƒ๋„ ํ•œ๋ชซํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

BackEnd ํŠธ๋ž™์— ๋“ค์–ด๊ฐ€๊ธฐ์— ์•ž์„œ Spring Framework๋ผ๋Š” ๊ฒƒ์„ ๋ฐฐ์šฐ๊ธฐ ์œ„ํ•ด Java์— ๋Œ€ํ•œ ์ง€์‹์ด ํ•„์š”ํ•  ๊ฒƒ ๊ฐ™์•„์„œ Java๋ฅผ ์•„์ฃผ ์•ฝ๊ฐ„ ๊ณต๋ถ€ํ•ด๋ดค๋‹ค.

https://everydayidid.tistory.com/18?category=834499

๋…ธํŠธ๋ถ๋„ ์•„์ฃผ ๋А๋ฆฌ๊ณ  BackEnd ํŠธ๋ž™์˜ ๊ต์œก๊ณผ์ •์„ ๋”ฐ๋ผ๊ฐ€๊ธฐ๋„ ๋ฒ…์ฐผ๊ธฐ ๋•Œ๋ฌธ์— Java๋ฅผ ๊นŠ์ด์žˆ๊ฒŒ ํ•™์Šตํ•˜์ง€ ๋ชปํ–ˆ์—ˆ๋‹ค.

ํ•™์Šต ์‹œ์ž‘

DB์˜ ๊ธฐ๋ณธ ๊ฐœ๋…, JDBC์™€ Maven์— ๋Œ€ํ•ด ํ•™์Šตํ•œ ํ›„ ๋ณธ๊ฒฉ์ ์œผ๋กœ Spring์— ๋Œ€ํ•ด ํ•™์Šตํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค.

๋‹น์‹œ์—๋Š” Hello World๋ฅผ ๋„์šฐ๋Š” ๋ฐ๋งŒ 2์ฃผ๊ฐ€ ๊ฑธ๋ฆด ์ •๋„๋กœ ์ดํ•ด๊ฐ€ ์•ˆ ๊ฐ€๊ณ  ๊ต‰์žฅํžˆ ์–ด๋ ค์› ๋‹ค. ๋‹น์‹œ ์‹ฌ์ •

IOC.. DI.. ์ดํ•ด๊ฐ€ ์•ˆ ๊ฐ€๋Š”๊ฒƒ ํˆฌ์„ฑ์ด์˜€๋‹ค. ๐Ÿ˜ข

์ค‘๊ฐ„์ค‘๊ฐ„ ์ด๋ค„์ง€๋Š” ์‹ค์Šต์€ ์ •๋ง ์ •์‹ ์ด ๋‚˜๊ฐˆ ๊ฒƒ ๊ฐ™์•˜์ง€๋งŒ ๊ทธ๋ž˜๋„ ์–ด์ฐŒ์ €์ฐŒํ•˜๊ธฐ๋Š” ํ–ˆ๋‹ค.

Mybatis, Security์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ํ•™์Šตํ–ˆ๋‹ค.

Security์—์„œ๋Š” ์ฟ ํ‚ค, ์„ธ์…˜, HTTPS, ์•”ํ˜ธํ™”(๋‹จ๋ฐฉํ–ฅ, ์–‘๋ฐฉํ–ฅ, bcrypt ๋“ฑ)์™€ ๊ฐ™์€ ๊ธฐ์ดˆ์ ์ธ ๋‚ด์šฉ์„ ํ•™์Šตํ–ˆ๋‹ค.

์ดํ›„ ๋ฐฐ์šด Spring Security๋Š” ์—ฌ์ „ํžˆ ์ง€๊ธˆ๊นŒ์ง€ ์ดํ•ด๊ฐ€ ์•ˆ ๋˜๋Š” ๋ถ€๋ถ„์ด๋‹ค. ์‚ฌ์šฉํ•ด๋ณด๋ ค๊ณ  ์—ฌ๋Ÿฌ ๋ฒˆ ์‹œ๋„ํ•ด๋ดค์ง€๋งŒ ๊ฒ‰ํ•ฅ๊ธฐ๋กœ ๋Œ€์ถฉ์€ ์“ธ ์ˆ˜ ์žˆ์–ด๋„ ํ™œ์šฉํ•ด์„œ ์ž˜ ์“ฐ๊ธฐ๊ฐ€ ์ •๋ง ์–ด๋ ค์šด ๋‚ด์šฉ์ด์—ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ์ง„ํ–‰

์ง€๊ธˆ๊นŒ์ง€ ๋ฐฐ์šด ๋‚ด์šฉ์„ ํ† ๋Œ€๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค.

์ฒ˜์Œ์—๋Š” ๊ฒŒ์‹œํŒ์„ ๋งŒ๋“ค์–ด๋ณผ๊นŒ ํ–ˆ๋Š”๋ฐ ๋„ˆ๋ฌด ๋ป”ํ•˜๋‹ค๋Š” ๋А๋‚Œ์ด ๋“ค์–ด์„œ ๋ญ”๊ฐ€ ์ƒ‰๋‹ค๋ฅธ๊ฑธ ํ•ด๋ณด๊ณ ์‹ถ์—ˆ๋‹ค

ํ‰์†Œ์— ํ•ด๋ณด๊ณ  ์‹ถ์—ˆ๋˜ ์นด์นด์˜คํ†ก ์ฑ—๋ด‡์„ ๋งŒ๋“ค์–ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค.

3์›” 20์ผ์— ์‹œ์ž‘ํ•ด์„œ ์•ฝ ํ•œ ๋‹ฌ ๋™์•ˆ ์ง„ํ–‰ํ–ˆ๋‹ค. ๊ฐœ๋ฐœ์ผ์ง€

์ฑ—๋ด‡์„ ๋งŒ๋“ค๋ฉด์„œ Spring 3 ์ด์™ธ์— ๋งŽ์€ ๊ฒƒ๋“ค์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ด๋ฅผ ์š”์•ฝํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • python์„ ์ด์šฉํ•˜์—ฌ ์›น ์ •๋ณด๋ฅผ ํฌ๋กค๋งํ•˜๋Š” ๋ฐฉ๋ฒ•
  • python์„ ์ด์šฉํ•˜์—ฌ DB์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ์นด์นด์˜ค ์ฑ„๋„ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ์นด์นด์˜ค ์˜คํ”ˆ๋นŒ๋”๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•
  • AWS EC2๋ฅผ ์ด์šฉํ•˜์—ฌ Spring Project ๋ฐฐํฌํ•˜๊ธฐ
  • Filezilla๋ฅผ ์ด์šฉํ•˜์—ฌ FTP๋กœ ํŒŒ์ผ ์ „์†กํ•˜๊ธฐ
  • Ubuntu์—์„œ Cron์œผ๋กœ ์Šค์ผ€์ค„๋งํ•˜๊ธฐ
  • JSON ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ ๊ฐ€๊ณตํ•˜๊ธฐ

๋“ฑ๋“ฑ...

๋ฌผ๋ก  ๊ฒŒ์‹œํŒ์„ ๋งŒ๋“ค์–ด์„œ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ์ˆ  ์Šคํƒ์„ ๋‹จ๋‹จํ•˜๊ฒŒ ๊ตณํžˆ๋Š” ๊ฒƒ๋„ ์ข‹๊ฒ ์ง€๋งŒ ๋‚˜๋Š” ์ฆ๊ฒ๊ฒŒ ํ•˜๊ณ  ์‹ถ์€๊ฑธ ํ•˜๋ฉด์„œ ๋งŽ์€ ๊ฒƒ์„ ๊ฒฝํ—˜ํ•˜๋Š” ๊ฒƒ์— ๋” ์ง‘์ค‘ํ–ˆ์—ˆ๋‹ค.

๊ทธ ๋•๋ถ„์ธ์ง€ ๋™์•„๋ฆฌ์—์„œ ์šด์˜ ์ค‘์ธ AWS๋ฅผ ์œ ์ง€๋ณด์ˆ˜ํ•˜๋ฉด์„œ ๊ฑฐ๋ถ€๊ฐ์—†์ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๊ฐ€์žฅ ์–ด๋ ค์› ๋˜ ๋ถ€๋ถ„์€ ์นด์นด์˜ค ์˜คํ”ˆ๋นŒ๋”์˜ ์‚ฌ์šฉ๋ฒ•์„ ์ตํžˆ๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ๋‚œ์ƒ ์ฒ˜์Œ ์ง„ํ–‰ํ•ด๋ณด๋Š” ํ”„๋กœ์ ํŠธ์ด๊ธฐ๋„ ํ•˜๊ณ  JSON ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•ด์•ผ ํ• ์ง€๋„ ๊ฐ์ด ์•ˆ ์žกํžˆ๊ณ .. ์—ฌ๋Ÿฌ๋ชจ๋กœ ์‚ฝ์งˆ์˜ ์—ฐ์†์ด์—ˆ๋‹ค.

์ธ์ˆ˜์ธ๊ณ„

๋™์•„๋ฆฌ์˜ ์ •๊ทœ์ธ์›์ด ๋˜๊ณ  BackEndํŠธ๋ž™์˜ ๊ธฐ๋ณธ ์ธํ”„๋ผ๋ฅผ ์ธ์ˆ˜์ธ๊ณ„๋ฐ›์•˜๋‹ค.

AWS, Nginx, Tomcat ๋“ฑ๋“ฑ ๋งŽ์€ ๋‚ด์šฉ์„ ์ธ์ˆ˜์ธ๊ณ„๋ฐ›์œผ๋ฉด์„œ ๊ธฐ์กด ์„ค์ •์„ ์ตํ˜”๋‹ค.

์ด๋•Œ ์‹ค์ œ ํˆฌ์ž… ์ธ์›์ด ๋ถ€์กฑํ•œ ํƒ“์— ๊ต์œก ๋‹ด๋‹น๋„ ๊ฐ™์ด ๋งก๊ฒŒ ๋˜์–ด์„œ ๋‹ค์Œ ๋ถ„๊ธฐ์˜ ๊ต์œก์„ ๋งก์œผ๋ฉด์„œ ์ธ์ˆ˜์ธ๊ณ„๋ฅผ ๋ฐ›์•˜๋‹ค.

๊ต์œก์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๊ธฐ์กด์— ๊ต์œก์ž๋ฃŒ๊ฐ€ ๋งˆ๋ จ๋˜์–ด์žˆ์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ต์œก์ž๋ฃŒ๋„ ๋งŒ๋“ค๊ฒŒ ๋˜์—ˆ๋‹ค.

์ด๋•Œ๊ฐ€ ๊ฝค ๋งŽ์ด ๋ฐ”๋นด๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

๋‹ค์Œ ๋ถ„๊ธฐ๊ฐ€ ์ •๊ทœ ๊ณผ์ •์œผ๋กœ ์˜ฌ๋ผ์˜ค๊ณ  ๋‚˜์„œ๋„ ์ธ์ˆ˜์ธ๊ณ„๋ฅผ ํ•ด์•ผ ํ–ˆ๊ณ , ์ด๋ฅผ ์œ„ํ•œ ๋ฌธ์„œ๋„ ์ž‘์„ฑํ•ด์•ผ ํ–ˆ๋‹ค.

AOP, Jenkins, Flyway, Redis, Nginx ๋“ฑ๋“ฑ ๊ต์œก์„ ๋ฐ›์„ ๋•Œ๋Š” ๋ฐฐ์šฐ์ง€ ์•Š์•˜๋˜ ์ƒ์†Œํ•œ ๊ธฐ์ˆ ๋“ค์ด ๋งŽ์•˜๊ณ  ์ด๋ฅผ ์ตํžˆ๋Š” ๊ณผ์ •์„ ๋ฌธ์„œ๋กœ ๋‚จ๊ฒจ๋‘์—ˆ๋‹ค.

๋ฒ„๊ทธ ๋ฆฌํฌํŠธ

๊ธฐ์กด์— ๋งŒ๋“ค์–ด์ ธ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์ •ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์šด์šฉ ์ค‘์ธ ์„œ๋ฒ„์—์„œ ๋ช‡๋ช‡ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์ด๋ฅผ ํŒŒ์•…ํ•˜๋Š”๋ฐ ๋งŽ์€ ์‹œ๊ฐ„์„ ๋“ค์˜€๋‹ค.

ํ‰๊ท ์ ์œผ๋กœ ์—๋Ÿฌ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ 2์‹œ๊ฐ„~4์‹œ๊ฐ„ ์ •๋„์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ๋‹ค. ์ด๋•Œ๋Š” ๋ฐค๋‚ฎ์ด ๋ฐ”๋€ ์ƒํ™œ์„ ํ•˜๊ณ  ์žˆ์„ ๋•Œ๋ผ์„œ ์ƒˆ๋ฒฝ์— ์˜ค๋ฅ˜๊ฐ€๋‚˜๋ฉด ์‹ค์‹œ๊ฐ„ ๋Œ€์‘์€ ๋‚˜๋ฐ–์— ํ• ์ˆ˜์—†์–ด์„œ ํž˜๋“ค๊ธฐ๋„ ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์˜ค๋ฅ˜๋ฅผ ๋งŽ์ด ๋ณด๋ฉด์„œ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€์™€ ์นœํ•ด์งˆ ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

ํ•ด๊ฒฐํ–ˆ๋˜ ๋ช‡๋ช‡ ์˜ค๋ฅ˜๋“ค์„ ์š”์•ฝํ•ด๋‘๊ณ ์ž ํ•œ๋‹ค.

  • ์‹œ๊ฐ„ํ‘œ๊ฐ€ ์—‘์…€ ํŒŒ์ผ๋กœ ์ฃผ์–ด์ง€๋Š”๋ฐ ๋งค ํ•™๊ธฐ๋งˆ๋‹ค ๋ฐ์ดํ„ฐ์˜ ํ˜•ํƒœ๊ฐ€ ์•ฝ๊ฐ„์”ฉ ๋ณ€๊ฒฝ๋˜์–ด Python ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •
  • NullPointerException ์ด ๋ฐœ์ƒํ•˜์—ฌ DB ๊ตฌ์กฐ๋ฅผ ๋‹ค์‹œ ์‚ดํŽด๋ณด๊ณ  Soft Delete๋กœ ๊ด€๋ฆฌ๋˜๋Š” ๋ฐ์ดํ„ฐ์ž„์„ ํ™•์ธํ•˜๊ฒŒ ๋จ. ์ดํ›„ DB์—์„œ ๊ฒŒ์‹œ๊ธ€์„ ๊ด€๋ฆฌํ•  ๋•Œ ์ฃผ์˜ํ•ด์•ผ ํ•จ์„ ์ธ์ง€ํ•จ
  • ์„œ๋ฒ„ ๋‹ค์šด
    1. ๊ทผ๋ณธ์ ์ธ ์›์ธ์„ ์ฐพ์ง€ ๋ชปํ•˜๊ณ  DDOS ๊ณต๊ฒฉ์ด๋ผ๊ณ  ์œ ์ถ”ํ•˜์—ฌ nginx ์ƒ์—์„œ DDOS ๊ณต๊ฒฉ์„ ์˜ˆ๋ฐฉํ•˜๋Š” ๊ตฌ๋ฌธ์„ ์ถ”๊ฐ€ํ•จ. (๋กœ๊ทธ์˜ ์ค‘์š”์„ฑ์„ ์•Œ์ง€ ๋ชปํ•จ.)
      1. AWS CloudWatch ๋ชจ๋‹ˆํ„ฐ๋ง ํ™•์ธ ๊ฒฐ๊ณผ CPU ์‚ฌ์šฉ๋Ÿ‰ ๊ธ‰์ฆ
      2. ์ ‘์† ๊ธฐ๋ก์„ ํ™•์ธํ•ด๋ณด๋‹ˆ VPN์„ ์‚ฌ์šฉํ•œ ๊ฒƒ ๊ฐ™์€ ํ•ด์™ธ ์ ‘๊ทผ๋“ค์ด ๋งŽ์Œ.
      3. ์ด๋Ÿฌํ•œ ์ ‘๊ทผ์— ๋Œ€ํ•œ ๋Œ€์‘์ด ์ฒ˜์Œ์ด๋ผ์„œ '~ํ•  ๊ฒƒ์ด๋‹ค' ๋ผ๋Š” ์œ ์ถ”๋กœ ๊ฒฐ๋ก ์ด๋‚จ.
    2. ๊ธฐ์กด๊ณผ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ๋กœ๊ทธ๋ฅผ ์‚ดํŽด๋ณด์•˜๊ณ , ์ •์ƒ์ ์ด์ง€ ์•Š์€ ์ ‘๊ทผ์„ ๋ฐœ๊ฒฌํ•จ.
      1. ์ด์ „๊ณผ ๋™์ผํ•˜๊ฒŒ CPU์‚ฌ์šฉ๋Ÿ‰์ด ๊ธ‰์ฆํ•œ ์ฆ์ƒ์€ ๋™์ผํ–ˆ์Œ.
      2. ์ถ”ํ›„ ๋™์ผ ์ฆ์ƒ์— ๋Œ€ํ•œ ๋™ํ–ฅ ํŒŒ์•…์„ ์œ„ํ•ด CPU ์ ์œ ์œจ์— ๋Œ€ํ•œ ๋กœ๊น…์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜์—ฌ cron์„ ์ด์šฉํ•˜์—ฌ top ๋ช…๋ น์–ด๋ฅผ ์ˆ˜ํ–‰ํ•œ ๊ฒƒ์— ๋Œ€ํ•œ ๋กœ๊ทธ๋ฅผ ๋‚จ๊น€.
    3. ์ดํ›„ ๋™์ผํ•œ ํ˜„์ƒ์ด ๋ฐœ์ƒํ–ˆ์„ ๋•Œ java์˜ ๋ฉ”๋ชจ๋ฆฌ ์ ์œ ์œจ๋ณด๋‹ค ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ์–‘์ด ๋ถ€์กฑํ•˜์—ฌ CPU์— ๋ถ€ํ•˜๊ฐ€ ๊ฐ”๋‹ค๋Š” ๊ฒƒ์œผ๋กœ ํŒŒ์•…
      1. SWAP ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•จ.
      2. ์ดํ›„ 1๋‹ฌ์— 1๋ฒˆ๊ผด๋กœ ๋‹ค์šด๋˜๋˜ ์„œ๋ฒ„๊ฐ€ ๋‹ค์šด๋˜์ง€ ์•Š์Œ.
      3. ๊ทธ๊ฐ„์˜ ์—๋Ÿฌ์˜ ์›์ธ์„ ํŒŒ์•…ํ•œ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋จ.

Front ๊ณต๋ถ€

์ค‘๊ฐ„์— FrontEnd ์ชฝ ๊ณต๋ถ€๋ฅผ ํ•œ๋ฒˆ ํ•ด๋ณด๊ณ  ์‹ถ์–ด์„œ ๋…ธ๋งˆ๋“œ์ฝ”๋”์—์„œ ReactJS๋กœ ์˜ํ™” ์›น์„œ๋น„์Šค ๋งŒ๋“ค๊ธฐ ํด๋ก ์ฝ”๋”ฉ์„ ์ž ๊น ํ•ด๋ดค์—ˆ๋‹ค.

CSS, JavaScript์— ๋Œ€ํ•œ ์ดํ•ด๋„๊ฐ€ ๊ฑฐ์˜ ์—†์–ด์„œ ๋”ฐ๋ผ๊ฐ€๊ธฐ๋„ ๋ฒ…์ฐผ์ง€๋งŒ, React๊ฐ€ ๋Œ€์ถฉ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ๋Œ์•„๊ฐ€๋Š”์ง€ ๊ฐ์„ ์žก๋Š” ์ •๋„๋กœ๋„ ๋งŒ์กฑํ–ˆ๋‹ค.

์†”์งํžˆ ๋ถ„์•ผ๊ฐ€ ์ทจํ–ฅ์ด ์•„๋‹ˆ๋ผ์„œ ๊นŠ๊ฒŒ ํŒŒ๊ณ  ์‹ถ์ง€๋Š” ์•Š์•˜๋‹ค.

Notion

๊ธฐ์กด์— TID ๊ทธ๋ฃน์œผ๋กœ ํ•˜๋ฃจํ•˜๋ฃจ ๊ณ„ํš์„ ์งœ๋ฉด์„œ ์ƒํ™œํ–ˆ์—ˆ๋‹ค.

์ค‘๊ฐ„์— ์•ฝ๊ฐ„ ์˜์ง€๊ฐ€ ๋–จ์–ด์ ธ์„œ ์•ˆ ํ•˜๋‹ค๊ฐ€ ์ด๋Œ€๋กœ ์‚ด๋ฉด ์•ˆ ๋  ๊ฒƒ๊ฐ™์•„์„œ 8์›” 4์ฃผ ์ฐจ๋ถ€ํ„ฐ ์œค์„ญ์ด๋ž‘ Notion์„ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

12์›”์€ ๊ตฐ๋Œ€์— ๊ฐ€๊ธฐ ์ „์ด๋ผ์„œ ๋นก์„ธ๊ฒŒ ์‚ด๊ณ  ์‹ถ์ง€ ์•Š์•˜๋Š”์ง€ Notion์— ์†๋„์•ˆ๊ฐ”๋‹ค...ใ…Žใ…Ž

ํ•˜๊ณ ์ž ํ–ˆ์œผ๋‚˜ ์˜์ง€๋ฐ•์•ฝ์œผ๋กœ ์ธํ•ด ๋ชปํ•œ ๊ฒƒ๋“ค

  • ์ฑ… ์ฝ๊ธฐ (๋„์ปค/์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ํ™œ์šฉํ•œ ์ปจํ…Œ์ด๋„ˆ ๊ฐœ๋ฐœ ์‹ค์ „ ์ž…๋ฌธ), (์ž๋ฐ” ์ฑ„ํŒ… ํ”„๋กœ๊ทธ๋ž˜๋ฐ)
  • if kakao ๊ฐ•์˜ ๋ชฐ์•„ ๋“ฃ๊ธฐ
  • ๊ธฐ์กด์— ๋งŒ๋“  ์ฑ—๋ด‡ ํ”„๋กœ์ ํŠธ ๋ณด์™„ํ•˜๊ธฐ
  • Spring 3๋ฅผ ์ด์šฉํ•œ ํ”„๋กœ์ ํŠธ
  • ์œ ํŠœ๋ธŒ๋กœ Spring ๊ฐ•์˜ ์˜ฌ๋ฆฌ๊ธฐ (์ด๋ก ) ์ฑ„๋„
  • Spring Security๋ฅผ ์ด์šฉํ•ด์„œ ํ”„๋กœ์ ํŠธ ํ•˜๋‚˜ ์˜ฌ๋ฆฌ๊ธฐ (๊ธฐ๋ณธ ๊ฒŒ์‹œํŒ์ด๋ผ๋„)

๋“ฑ๋“ฑ.. ๋ญ”๊ฐ€ ๋” ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ ์œ„์˜ ๊ฒƒ๋งŒ์œผ๋กœ๋„ ํ˜„ํƒ€๊ฐ€ ์˜จ๋‹ค

'๐Ÿ˜† Daily > ์žก๋‹ด' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Spring ์ฒซ ์‹ค์Šต  (1) 2020.03.07
์ž๋ฐ” ์‹œ์ž‘ํ•˜๊ธฐ  (2) 2020.01.07
๊ฒจ์šธ ๊ณ„์ ˆํ•™๊ธฐ..  (1) 2020.01.01
2020.1.1 TID ๋ธ”๋กœ๊น… ์‹œ์ž‘  (3) 2020.01.01
  1. ์ž…์˜ ์—ฐ๊ธฐ
  2. ๋ธ”๋กœ๊น… ์‹œ์ž‘
  3. BCSD Lab BackEnd ํŠธ๋ž™ ์ž…์„ฑ
  4. ํ•™์Šต ์‹œ์ž‘
  5. ํ”„๋กœ์ ํŠธ ์ง„ํ–‰
  6. ์ธ์ˆ˜์ธ๊ณ„
  7. ๋ฒ„๊ทธ ๋ฆฌํฌํŠธ
  8. Front ๊ณต๋ถ€
  9. Notion
  10. ํ•˜๊ณ ์ž ํ–ˆ์œผ๋‚˜ ์˜์ง€๋ฐ•์•ฝ์œผ๋กœ ์ธํ•ด ๋ชปํ•œ ๊ฒƒ๋“ค
'๐Ÿ˜† Daily/์žก๋‹ด' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • Spring ์ฒซ ์‹ค์Šต
  • ์ž๋ฐ” ์‹œ์ž‘ํ•˜๊ธฐ
  • ๊ฒจ์šธ ๊ณ„์ ˆํ•™๊ธฐ..
  • 2020.1.1 TID ๋ธ”๋กœ๊น… ์‹œ์ž‘
_์ฃผ๋…ธ
_์ฃผ๋…ธ
_์ฃผ๋…ธ
juno.log
_์ฃผ๋…ธ
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (88)
    • ๐Ÿ’ฌ Language (15)
      • C (1)
      • C++ (1)
      • Java (12)
    • ๐Ÿ–ฅ๏ธ Computer (46)
      • Data Structure (2)
      • Computer Science (3)
      • Algorithm Solution (41)
    • ๐ŸŒฑ Spring (14)
    • ๐Ÿ“ฆ Database (1)
    • ๐Ÿฅณ Project (6)
      • kakao chatbot (6)
    • ๐Ÿ˜† Daily (5)
      • ์žก๋‹ด (5)
      • TIL (0)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ๋ธ”๋กœ๊ทธ ๊ด€๋ฆฌ
  • GitHub
  • Velog

์ธ๊ธฐ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ.v4.2.0
_์ฃผ๋…ธ
2020๋…„ ํšŒ๊ณ 
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๊ฐœ์ธ์ •๋ณด

  • ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ
  • ํฌ๋Ÿผ
  • ๋กœ๊ทธ์ธ

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.