> Notion์ ์๋๊ฑฐ ๋ณต์์ฉ
์ ์ ์ฐ๊ธฐ
์๋๋ 2020๋ 1์์ ์ ์ํ ์์ ์ด์์ผ๋ ํ์ต์ ๋ฐฉํฅ์ฑ์ด ์กํ์ง ์์ ์ํ์์ ๊ตฐ๋์์ ๊ทธ๋ฅ ๋ณด๋ด๋ ์๊ฐ์ด ๋๋ฌด ์๊น๋ค๊ณ ์๊ฐ๋์ด ๊ตฐ๋๋ฅผ 1๋ ๋ฏธ๋ฃจ๊ฒ ๋์๋ค.
๋ธ๋ก๊น ์์
tistory ๋ธ๋ก๊ทธ๋ฅผ ๋ง๋ค์๋ค.
ํํด์ ๊ฐ์ค๋ฅผ ๋ค์ง๊ธฐ ์ํด TID ๋ธ๋ก๊ทธ๋ฅผ ๋ง๋ค์๋ค.
๊ณ์ ํ๊ธฐ๋ฅผ ์๊ฐํ๊ณ ์์๊ธฐ ๋๋ฌธ์ 1์ 14์ผ๊น์ง๋ ํฌ์คํ ์ด ์์๋ค
7์์ฏค ๋ถํฐ๋ velog๋ฅผ ์ฌ์ฉํด์ ํฌ์คํ ํ๊ธฐ๋ ํ๋ค.
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์์ ๊ฒ์๊ธ์ ๊ด๋ฆฌํ ๋ ์ฃผ์ํด์ผ ํจ์ ์ธ์งํจ
- ์๋ฒ ๋ค์ด
- ๊ทผ๋ณธ์ ์ธ ์์ธ์ ์ฐพ์ง ๋ชปํ๊ณ DDOS ๊ณต๊ฒฉ์ด๋ผ๊ณ ์ ์ถํ์ฌ nginx ์์์ DDOS ๊ณต๊ฒฉ์ ์๋ฐฉํ๋ ๊ตฌ๋ฌธ์ ์ถ๊ฐํจ. (๋ก๊ทธ์ ์ค์์ฑ์ ์์ง ๋ชปํจ.)
- AWS CloudWatch ๋ชจ๋ํฐ๋ง ํ์ธ ๊ฒฐ๊ณผ CPU ์ฌ์ฉ๋ ๊ธ์ฆ
- ์ ์ ๊ธฐ๋ก์ ํ์ธํด๋ณด๋ VPN์ ์ฌ์ฉํ ๊ฒ ๊ฐ์ ํด์ธ ์ ๊ทผ๋ค์ด ๋ง์.
- ์ด๋ฌํ ์ ๊ทผ์ ๋ํ ๋์์ด ์ฒ์์ด๋ผ์ '~ํ ๊ฒ์ด๋ค' ๋ผ๋ ์ ์ถ๋ก ๊ฒฐ๋ก ์ด๋จ.
- ๊ธฐ์กด๊ณผ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ฌ ๋ก๊ทธ๋ฅผ ์ดํด๋ณด์๊ณ , ์ ์์ ์ด์ง ์์ ์ ๊ทผ์ ๋ฐ๊ฒฌํจ.
- ์ด์ ๊ณผ ๋์ผํ๊ฒ CPU์ฌ์ฉ๋์ด ๊ธ์ฆํ ์ฆ์์ ๋์ผํ์.
- ์ถํ ๋์ผ ์ฆ์์ ๋ํ ๋ํฅ ํ์ ์ ์ํด CPU ์ ์ ์จ์ ๋ํ ๋ก๊น ์ด ํ์ํ๋ค๊ณ ์๊ฐํ์ฌ cron์ ์ด์ฉํ์ฌ top ๋ช ๋ น์ด๋ฅผ ์ํํ ๊ฒ์ ๋ํ ๋ก๊ทธ๋ฅผ ๋จ๊น.
- ์ดํ ๋์ผํ ํ์์ด ๋ฐ์ํ์ ๋ java์ ๋ฉ๋ชจ๋ฆฌ ์ ์ ์จ๋ณด๋ค ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ์ ์์ด ๋ถ์กฑํ์ฌ CPU์ ๋ถํ๊ฐ ๊ฐ๋ค๋ ๊ฒ์ผ๋ก ํ์
- SWAP ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํจ.
- ์ดํ 1๋ฌ์ 1๋ฒ๊ผด๋ก ๋ค์ด๋๋ ์๋ฒ๊ฐ ๋ค์ด๋์ง ์์.
- ๊ทธ๊ฐ์ ์๋ฌ์ ์์ธ์ ํ์ ํ ๊ฒ์ผ๋ก ์์๋จ.
- ๊ทผ๋ณธ์ ์ธ ์์ธ์ ์ฐพ์ง ๋ชปํ๊ณ DDOS ๊ณต๊ฒฉ์ด๋ผ๊ณ ์ ์ถํ์ฌ nginx ์์์ DDOS ๊ณต๊ฒฉ์ ์๋ฐฉํ๋ ๊ตฌ๋ฌธ์ ์ถ๊ฐํจ. (๋ก๊ทธ์ ์ค์์ฑ์ ์์ง ๋ชปํจ.)
Front ๊ณต๋ถ
์ค๊ฐ์ FrontEnd ์ชฝ ๊ณต๋ถ๋ฅผ ํ๋ฒ ํด๋ณด๊ณ ์ถ์ด์ ๋ ธ๋ง๋์ฝ๋์์ ReactJS๋ก ์ํ ์น์๋น์ค ๋ง๋ค๊ธฐ ํด๋ก ์ฝ๋ฉ์ ์ ๊น ํด๋ดค์๋ค.
CSS, JavaScript์ ๋ํ ์ดํด๋๊ฐ ๊ฑฐ์ ์์ด์ ๋ฐ๋ผ๊ฐ๊ธฐ๋ ๋ฒ ์ฐผ์ง๋ง, React๊ฐ ๋์ถฉ ์ด๋ค ๋ฐฉ์์ผ๋ก ๋์๊ฐ๋์ง ๊ฐ์ ์ก๋ ์ ๋๋ก๋ ๋ง์กฑํ๋ค.
์์งํ ๋ถ์ผ๊ฐ ์ทจํฅ์ด ์๋๋ผ์ ๊น๊ฒ ํ๊ณ ์ถ์ง๋ ์์๋ค.
Notion
๊ธฐ์กด์ TID ๊ทธ๋ฃน์ผ๋ก ํ๋ฃจํ๋ฃจ ๊ณํ์ ์ง๋ฉด์ ์ํํ์๋ค.
์ค๊ฐ์ ์ฝ๊ฐ ์์ง๊ฐ ๋จ์ด์ ธ์ ์ ํ๋ค๊ฐ ์ด๋๋ก ์ด๋ฉด ์ ๋ ๊ฒ๊ฐ์์ 8์ 4์ฃผ ์ฐจ๋ถํฐ ์ค์ญ์ด๋ Notion์ ์์ํ๊ฒ ๋์๋ค.
12์์ ๊ตฐ๋์ ๊ฐ๊ธฐ ์ ์ด๋ผ์ ๋นก์ธ๊ฒ ์ด๊ณ ์ถ์ง ์์๋์ง Notion์ ์๋์๊ฐ๋ค...ใ ใ
ํ๊ณ ์ ํ์ผ๋ ์์ง๋ฐ์ฝ์ผ๋ก ์ธํด ๋ชปํ ๊ฒ๋ค
- ์ฑ ์ฝ๊ธฐ (๋์ปค/์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ํ์ฉํ ์ปจํ ์ด๋ ๊ฐ๋ฐ ์ค์ ์ ๋ฌธ), (์๋ฐ ์ฑํ ํ๋ก๊ทธ๋๋ฐ)
- if kakao ๊ฐ์ ๋ชฐ์ ๋ฃ๊ธฐ
- ๊ธฐ์กด์ ๋ง๋ ์ฑ๋ด ํ๋ก์ ํธ ๋ณด์ํ๊ธฐ
- Spring 3๋ฅผ ์ด์ฉํ ํ๋ก์ ํธ
- ์ ํ๋ธ๋ก Spring ๊ฐ์ ์ฌ๋ฆฌ๊ธฐ (์ด๋ก ) ์ฑ๋
- Spring Security๋ฅผ ์ด์ฉํด์ ํ๋ก์ ํธ ํ๋ ์ฌ๋ฆฌ๊ธฐ (๊ธฐ๋ณธ ๊ฒ์ํ์ด๋ผ๋)
๋ฑ๋ฑ.. ๋ญ๊ฐ ๋ ์์๋ ๊ฒ ๊ฐ์๋ฐ ์์ ๊ฒ๋ง์ผ๋ก๋ ํํ๊ฐ ์จ๋ค
'๐ Daily > ์ก๋ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Spring ์ฒซ ์ค์ต (0) | 2020.03.07 |
---|---|
์๋ฐ ์์ํ๊ธฐ (2) | 2020.01.07 |
๊ฒจ์ธ ๊ณ์ ํ๊ธฐ.. (0) | 2020.01.01 |
2020.1.1 TID ๋ธ๋ก๊น ์์ (2) | 2020.01.01 |