2023. 3. 5. 17:17ใ๐ป์คํฐ๋ ๊ด๋ฆฌ/๐์๋ฒ ์ฌ์ด๋ ํ๋ก์ ํธ ์ฑ๋ฆฐ์ง
https://github.com/mooh2jj/side-project-challenge-study/tree/main/%EA%B9%80%EB%AC%B4%EA%B1%B4
GitHub - mooh2jj/side-project-challenge-study: ์๋ฒ ์ฌ์ด๋ ํ๋ก์ ํธ ์ฑ๋ฆฐ์ง ์คํฐ๋์ ๋๋ค.
์๋ฒ ์ฌ์ด๋ ํ๋ก์ ํธ ์ฑ๋ฆฐ์ง ์คํฐ๋์ ๋๋ค. Contribute to mooh2jj/side-project-challenge-study development by creating an account on GitHub.
github.com
์น๊ฐ๋ฐ์์ ์์์ผ ํ๋ server์๋ 4์ข
๋ฅ๊ฐ ์๋ค.
1) ํด๋ผ์ด์ธํธ ์๋ฒ(์ฌ์ฉ์) - ์ฌ์ฉ์๊ฐ ์น๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด request ์์ฒญ์ ๋ณด๋ด๋ ์๋ฒ
2) ์น์๋ฒ - ์ฌ์ฉ์ ์์ฒญํ๋ ์๋ฃ ์ค ์ ์ ์๋ฃ(html, css, js, imag.. ๋ฑ)์ ๋ณด๋ด์ฃผ๋ ์๋ฒ
3) WAS - ์ฌ์ฉ์๊ฐ ์์ฒญํ๋ ์๋ฃ ์ค ๋์ (์ฆ, cpu ์ปดํ์ผ ๊ณผ์ ์ ๊ฑฐ์น๋ ์์
) ์๋ฃ (DB์ ์ฃผ๋ก ์ฐ๊ณ๋ ์๋ฃ)
๋ฅผ ๋ณด๋ด์ฃผ๋ ์๋ฒ
4) DB์๋ฒ - ์ค์ ์ฌ์ฉ์๊ฐ ์์ฒญํ๋ ์๋ฃ ์ค ์ ์๋ฏธํ ์๋ต๊ฐ์ธ Data๊ฐ ์๋ ์๋ฒ, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ Table or schema๋ก ๊ตฌ์ฑ
์๊ธฐํ Topic)
- DB ์ ๊ทผ ๊ธฐ์ - ORM(JPA), SQLMapper(Mybatis)
- DB๋ ์ปค๋ฅ์ ์ด ํ์ํ๋ค → ์๋ฐ ์ธ์ด์ ์ฐ๊ฒฐํ ์ ์๋ ์ปค๋ฅ์ ์ ์ ๊ณตํ๋ ๋ํฌ๋์๋ก JDBC Driver๊ฐ ํ์ํ๋ค.
- WAS์ ๋ํ์ ์ธ ๊ฒ์ผ๋ก, Tomcat์ด ์๋ค. ์ด Tomcat์ servelt ์ปจํ ์ด๋๋ก ์๋ธ๋ฆฟ ๊ฐ์ฒด๋ฅผ ํธ์ถํ์ฌ ์น ๊ฐ๋ฐ์ ํนํ๋ Reuqst, Respose ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์์๊ฒ ๋์ ์ธ ์๋ฃ๋ฅผ ์ค ์ ์๊ฒ ํ ์ ์๋ค.
- ์์ฆ, ์ฌ์ฉํ๋ Spring ํ๋ ์์ํฌ์ธ SpringBoot(Spring 4๋ฒ์ )๋ ์ด ํฐ์ผ์ Embdded(๋ด์ฅ)ํ์ฌ tomcat ์ค์ ์ญ์ ๊ฐ์ํ๋์ด ๊ฐ๋ฐ์ด ๋ ํธํด์ก๋ค.
- git bash๋ ๋ฆฌ๋ ์ค๋ฅผ ๋น๋ ค ์ฌ์ฉํ๋ ๊ฒ์ด๋ค. git๋ ๋ฆฌ๋ ์ค ์ฐฝ์์์ธ ๋ฆฌ๋ ์ค ํ ๋ฐ์ฆ๊ฐ ๋ง๋ค์๋ค. bash๋ shell ์ข ๋ฅ ์ค ํ๋๋ค. ๊ทธ๋์ git ๋ช ๋ น์ด๋ค๋ linux ๋ช ๋ น์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค.
- ํฅํ docker ๋ ๋ง์ฐฌ๊ฐ์ง๋ก, ๋ฆฌ๋ ์ค ๊ธฐ๋ฐ์ด๋ค. ๋ฆฌ๋ ์ค๋ฅผ ์ ์์๋์ด์ผ ํ๋ ์ด์ ๋ ๋๋ฌด๋ ๋ง๋ค…
์, ๊ทธ๋์ Linux๋?
Linux๋ ๊ฐ๋จํ๊ฒ, ๊ฐ๋ฐ์(ํ๋ก ํธ, ๋ฐฑ์ค๋)๊ฐ ์ฌ์ฉํ๋ ์๋ฒ๋ผ๊ณ ์๊ฐํ๋ฉด ํธํ๋ค. ๊ฐ๋ฐ์ ํ ์๋ ๋ฌด์กฐ๊ฑด ์ดํ๋ฆฌ์ผ์ด์ ์ ์คํ(Run)ํ๊ณ ๋ฐฐํฌ(Deploy)ํ๋ ๊ณผ์ ์ ๊ฑฐ์น๋ค.
์ด ์์ ์ GUI ํ๊ฒฝ์ ์ด์์ฒด์ ์์๋ ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆฐ๋ค.
๊ฐ๋จํ ๋ช ๋ น์ด(command) ํํ๋ก ์น๊ฐ๋ฐ์ ๊ณผ์ ์ ๊ฐ์ํํ ์ ์๋ ๊ฒ ํ ์ ์๋ ์๋ฒ๊ฐ
CLI ํ๊ฒฝ์ Linux๋ค.
์ฐธ๊ณ ๋ก, GUIํ๊ฒฝ์ ๋ฆฌ๋ ์ค๋ ์กด์ฌํ๋ค. ๋ํ์ ์ผ๋ก ์ฌ์ฉ์ ๋ง์ถคํ์ ๋ฆฌ๋ ์ค์ธ Ubuntu๊ฐ ์๋ค.
์ด์จ๋ , ์น๊ฐ๋ฐ์ด๋ ์ด๋ค ๊ฐ๋ฐ์ ํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ์๋ผ๋ฉด Linux๋ ๋ฐ๋์ ๋ถ๋ชํ๋ ํ๊ฒฝ์ด๋ค.
๊ทธ๋ฌ๋ ๊ฐ๋จํ ๋ฆฌ๋ ์ค ํ๊ฒฝ์ ์ ํ ๋ฒ๊ณผ ์กฐํ ๋ช ๋ น์ด๋ ์ ๋ฆฌํด๋์.
๋ํ์ ์ผ๋ก, ์๋ฐ ์น๊ฐ๋ฐ์๋ผ๋ฉด ๋ฆฌ๋ ์ค ๋ช ๋ น์ด๋ฅผ ๋ง์ด ์ฐ์ง๋ง, ์ฐ์ด๋ ๋ช ๋ น์ด๋ค์ ๊ต์ฅํ ํ์ ์ ์ด๋ค.
๊ฐ์ธ์ ์ผ๋ก ๋ง์ด ์ฌ์ฉํ๋ ๋ช ๋ น์ด ์์ผ๋ก ์ ๋ฆฌํ๋ฉด ์๋์ ๊ฐ๋ค.
1) ์กฐํ ls, cd, grep , ์์ฑ touch, vi mkdir
2) ํ์ดํ๋ผ์ธ , ๋ฆฌ๋ค์ด๋ ์
(|, >)
3) vi ํธ์ง๊ธฐ -> insert ํ esc, wq!์ ์๋ฏธ ๋ฑ๋ฑ
4) network ํ์ธ์ฉ curl ping nslookup ...
5) ์ ์คํฌ๋ฆฝํธ = ๋ฆฌ๋
์ค ๋ช
๋ น์ด ๋ชจ์๋์ XXX.sh ๋ฐฐ์นํ์ผ์ ex) gradle ํ์ผ, ์๋์ฐ์ฉ์ bat ํ์ผ์ด๋ค.
๋ํ์ ๋ฆฌ๋ ์ค ๋ช ๋ น์ด ์ ๋ฆฌ
# ์ค์น ํ ์
๋ฐ์ดํธ ๋ช
๋ น์ด
apt-get upgrade
apt-get update
# ๐ฅ ์ฃผ์) sudo ๋ช
๋ น์ด๊ฐ ๊ผญ ํ์!
# vi ํธ์ง๊ธฐ ์ํด ํ์
apt-get install vim
# ifconfig ์ํด ํ์
apt-get install net-tools
# ๋ฆฌ๋
์ค ์ปค๋ ๋ฒ์ ํ์ธ
cat /etc/issue
# ์ฌ์ฉ๊ฐ๋ฅํ shell ๋ฆฌ์คํธ ํ์ธ
cat /etc/shells
# ๊ธฐ๋ณธ ๋ช
๋ น์ด
# ํ์ฌ ์์น
pwd
# ํ์ฌ ์ฌ์ฉ์ ์ด๋ฆ
whoami
# ํ์ฌ ์๊ฐ
date
# ๊ทธ์ ๋๋ ํ ๋ฆฌ๋ก ๋์๊ฐ๊ธฐ
cd ..
# ๋ฃจํธ๋๋ ํ ๋ฆฌ๋ก ๋์๊ฐ๊ธฐ
cd /
# ํ๋๋ ํ ๋ฆฌ๋ก ๋์๊ฐ๊ธฐ
cd ~
# ๋๋ ํ ๋ฆฌ ๊ณ์ธต ํ์ธ
tree
# ๋ชจ๋ํฐ๋ง
# ํ์ฌ ์คํ ์ค์ธ ํ๋ก์ธ์ค๋ค๊ณผ ํด๋น ํ๋ก์ธ์ค๋ค์ด ์ฌ์ฉํ๋
# CPU ๋ฐ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ค์๊ฐ์ผ๋ก ํ์ธ
top
# ์์คํ
์ ์ฒด ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋๊ณผ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ ์์ ๋ณด์ฌ์ค
free
# ๋์คํฌ ์ฌ์ฉ๋์ ๋ณด์ฌ์ฃผ๋ ๋ช
๋ น์ด
df -h
# ๋คํธ์ํฌ
# ์งํ๋๋ ํ๋ก์ธ์ค ํ์ธ
netstat -ano | grep "์ฐพ๋ ๋จ์ด"
ps -ef | grep "[์ฐพ๋ ๋จ์ด]"
# ๋คํธ์ํฌ ํ์ธ
netstat -ano | grep "์ฐพ๋ ๋จ์ด"
# ip์ฃผ์ ํ์ธ
ifconfig
# curl [ip์ฃผ์]
curl localhost:8080/api/v1/memo
# ๋คํธ์ํฌ ์ฐ๊ฒฐ ํ์ธ
ping [ip์ฃผ์]
# ๊ถํ๋ณ๊ฒฝ
# ๊ธฐ๋ณธ ์ค์ ๊ถํ
# owner | group | other ๋ก ๊ตฌ๋ถ๋์ด ์ง๋ ๊ฒ์
-rw-r--r--
#๊ฐ๋ณ๋จ์ ๊ถํ ๋ถ์ฌ
sudo chmod g+rw/go+rwx testfile2
# ์ฐพ๊ธฐ
ps –ef | grep 'abcdefg'
find . -name "[์ฐพ๋ ๋จ์ด]"
# ์์ฑ ๋ฐ ์ญ์
# ํ์ผ ์์ฑ
touch file.txt
# ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ -p
mkdir -p /test/projects
# ์ญ์
rm -rf [ํ์ผ or ๋๋ ํ ๋ฆฌ]
# ์๋ฐ jarํ์ผ ์คํ, ๋ฆฌ๋
์ค ๋ช
๋ น์ด๋ ์๋๋,
# ๋ฆฌ๋
์คํ๊ฒฝ์์ ์ ๋ง ๋ง์ด ์ฌ์ฉ
# ์๋ฐ ์คํ ๋ช
๋ น์ด
java -jar [jar.ํ์ผ]
# ๋ฐฑ๊ทธ๋ผ์ด๋ ์คํ
nohup java -jar abcdefg.jar &
๋ง์ด ์ฌ์ฉํ ์๋ก ์ข๋ค! ๊ฐ๋ฐ์์ ๊ธฐ์ด์ค์ ๊ธฐ์ด, ๋ฆฌ๋ ์ค์ ์ต์ํด์ง๋ฉด ์ด์ ํฐ ๊ณ ๋น๋ฅผ ๋๊ธด ๊ฒ์ด๋ค!
ํฅํ, AWS ํด๋ผ์ฐ๋ ์๋ฒ ์๋น์ค์ธ EC2 ์๋ฒ์์๋ ๋ฆฌ๋ ์ค๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ค.
์๋ฐ๊ฐ๋ฐ์๊ฐ ๋ง์ด ์ฐ๋ Linux(Ubuntu) ๋ช ๋ น์ด
์๋ฐ๊ฐ๋ฐ์๋ก์ ๋ง์ด ์ฌ์ฉํ๊ฒ ๋๋ ๋ฆฌ๋ ์ค ๋ช ๋ น์ด๋ฅผ ์ ๋ฆฌํด๋ดค์ต๋๋ค.
velog.io
1) ์ฌ์ฉ ํด ์ค์น ๋ฐ ์ดํดํ๊ธฐ
* IntelliJ(์ผํฐ๋ฉ์ดํธ ๋ฒ์ ์ถ์ฒ-ํ๋ฌ๊ทธ์ธ ์ฌ์ฉ ๊ฐ๋ฅ)
* MySQL, DB ์ ์ HediSQL or Dbeaver
* e2e ํ
์คํธ์ฉ postman
* git/github bash, zsh ์ค์น
* putty or MobaXterm ์ค์น
2) ํด๋น ๋ ํฌ์งํ ๋ฆฌ fork & PR ํด๋ณด๊ธฐ
3) Linux Setting ํ๊ฒฝ -> window ์ฌ์ฉ์๋ wsl2 ์ค์น, mac ์ฌ์ฉ์๋ homebrew&iterm2 ์ค์น
4) Linux ๋ช
๋ น์ด + MySQL SQL ํ์ต
์ฑ๋ฆฐ์ง)
1) Centos vs Ubuntu ์ฐจ์ด
2) ์ก ์คํฌ๋ฆฝํธ๋?
3) MySQL5.7 vs MySQL8.0 ์ฐจ์ด
'๐ป์คํฐ๋ ๊ด๋ฆฌ > ๐์๋ฒ ์ฌ์ด๋ ํ๋ก์ ํธ ์ฑ๋ฆฐ์ง' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ ์๋ฒ ์ฌ์ด๋ ํ๋ก์ ํธ ์ฑ๋ฆฐ์ง ] 23.04.08 -week6 (0) | 2023.04.09 |
---|---|
[ ์๋ฒ ์ฌ์ด๋ ํ๋ก์ ํธ ์ฑ๋ฆฐ์ง ] 23.04.01 - week5 (0) | 2023.04.07 |
[ ์๋ฒ ์ฌ์ด๋ ํ๋ก์ ํธ ์ฑ๋ฆฐ์ง ] 23.03.25 - week 4 (0) | 2023.04.07 |
[ ์๋ฒ ์ฌ์ด๋ ํ๋ก์ ํธ ์ฑ๋ฆฐ์ง ] 23.03.18 week 3 (0) | 2023.03.21 |
[ ์๋ฒ ์ฌ์ด๋ ํ๋ก์ ํธ ์ฑ๋ฆฐ์ง ] 23.03.11 (0) | 2023.03.11 |