-
2021-05-05 : ๊ฐ๋ฐ ๋๊ตฌ ์ธํ ๋ฐ clone project. express ํ๋ ์์ํฌ๋ฅผ ์ด์ฉํ์ฌ ๊ฐ๋จํ hello world๋ฅผ ์ถ๋ ฅํ๋ ๊ณผ์ ๊น์ง ํด๋ณด์๋ค. nodemon์ ์ค์นํ์ฌ ์ฝ๋ ๋ณ๊ฒฝ์ฌํญ์ด ์์ ๊ฒฝ์ฐ ์๋ฒ๋ฅผ ์๋์ผ๋ก ์ฌ์์ ํด์ฃผ๋๊ฒ๋ ๋ฐฐ์ ๋ค.
-
2021-05-06 : apollo-server-express ๋ชจ๋์ ์ฌ์ฉํ์ฌ graphQL API๋ฅผ ๋ง๋ค์ด ๋ณด์๋ค. note์ ์ธ์๋ฅผ ์ ๋ฌํ์ฌ ๋ถ๋ชจ์ note์์ ์ํ๋ ๊ฐ๋ง ๊ฐ์ ธ์ค๋๋ก ๋ง๋ค์ด ๋ณด์๊ณ mutation์ ๋ง๋ค์ด์ note์๋ค๊ฐ ์๋ก์ด ๊ฐ์ pushํ์๊ณ ์ด๋ฅผ gralhQL Playground ์์ ํ์ธ ํ ๊ฒฐ๊ณผ ์ ์์ ์ผ๋ก ๋ฐ์ ๋ ๊ฒ์ ์ ์ ์์๋ค.
query{
notes{
id
content
author
}
}
query{
note(id:"1"){
id
content
author
}
}
mutation {
newNote (content: "this is a mutant note!"){
content
id
author
}
}๋ถ๋ฆฌ
-
2021-05-07 :5์ฅ์์๋ API์ ํจ๊ป ๋ชฝ๊ณ ์ ๋ชฝ๊ตฌ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ ๋ค. ๋ํ node์์ ๋ชจ๋์ exportํ๊ณ require๋ก ๋ชจ๋์ ๋ค์ ๋ฐ์์ ์ฐ๋ ๋ฐฉ๋ฒ๋ค ๋ํ ์๊ฒ ๋์๋ค. ๋ชจ๋์ ์์ฑํ๊ณ ์ํฌํธํ๊ณ ๋ฆฌ์ฝฐ์ด์ด๋ก ๋ถ๋ฌ์ค๋ ๊ณผ์ ์ด ๋ฏ์ค๊ฒ ๋๊ปด์ก๋ค. ๋ํ ๋ชฝ๊ณ DB๋ฅผ ์ฒ์ ์ฌ์ฉํ๋ค๋ณด๋ ์ค์น ๊ณผ์ ์์๋ถํฐ cmd๋ก ์คํํ๊ธฐ๊น์ง๋ ๊ฝค๋ ์ด๋ ค์์ ๊ฒช์๋ค.
-
2021-05-10 : src/index.js ํ์ผ์ ์ต์คํ๋ ์ค/์ํด๋ก์๋ฒ ์ฝ๋์ API์คํค๋ง, ๋ฆฌ์กธ๋ฒ๊ฐ ๋ชจ๋ ์์๋๋ฐ ์ฝ๋๋ฒ ์ด์ค๊ฐ ์ปค์ง๋ฉด ๋ค๋ฃจ๊ธฐ ํ๋ค ๊ฒ. ๋ฐ๋ผ์ ๊ทธ ์ ์ ์คํค๋ง, ๋ฆฌ์กธ๋ฒ, ์๋ฒ ๋ฅผ ์ธ๊ฐ๋ก ๊ตฌ๋ถ ํ๊ธฐ๋ก ํจ.
-
2021-05-15 : graphQL์ ๋ฆฌ์กธ๋ฒ๋ฅผ ์ค์ฒฉ์ํค๋ ๊ธฐ๋ฅ์ ์์ฑ ํด ๋ณด์๋ค.
query{
note(id:"ID"){
id
content
author{
username
email
id
}
}
}
์์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ฟผ๋ฆฌ๋ฅผ ์ง๋ณด์๋ค. ์ด ๊ณผ์ ๋ค์ ํตํด ํ๋ก์ ํธ์ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ ํจํด์ ์ตํ๋ค
- ๋จผ์ ๊ทธ๋ํQL ์คํค๋ง๋ฅผ ์์ฑํ๋ค
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชจ๋ธ์ ์์ฑํ๋ค
- ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ฑฐ๋ ๋ฆฌ์กธ๋ฒ ์ฝ๋๋ฅผ ์์ฑํ๋ค.
- 2021-05-22 : mongoDB ๋ฅผ ๋ง๋ค๊ณ heroku๋ฅผ ์ค์ ํ์๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ํธ์คํ = ๋ชฝ๊ณ ๋๋น ์ฝ๋ ๋ฐฐํฌ = heroku
- ํด๋ฌ์คํฐ ์์ฑ
- IP์ฃผ์ ํ์ฉ => 0.0.0.0/0 ์ผ๋ก ํ์ฌ ๋ชจ๋ IP ์ฃผ์๋ก ์ ๊ทผ ๊ฐ๋ฅํ๊ฒ ํ์์
- ์์ด๋/๋น๋ฐ๋ฒํธ ์ค์ ์ด ์ค์ ์ด ๋๋๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํด ํธ์คํ ๋ ๋ฐ์ดํฐ ์ ์ฅ์๋ฅผ ๊ฐ์ง๊ฒ ๋ ๊ฒ์ด๋ค.
์ด ์ฑ ์ ํ์ต ๋ชฉ์ ์ ๋ง๊ฒ ํด๋ผ์ฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ซํผ์ธ ํ๋ก์ฟ ๋ฅผ ์ฌ์ฉํ์๋ค. ํ๋ก์ฟ ๊ณ์ ์์ฑ์ ํ๊ณ ํ๋ก์ฟ ์ปค๋งจ๋ ๋ผ์ธ๋๊ตฌ๋ ์ธ์คํจ ํ์๋ค. (https://oreil.ly/Vf2Q_)
- ํ๋ก์ ํธ ์ค์ ํ๋ก์ฟ ์น์ฌ์ดํธ ๋ด์์ new -> create new app ์ ํ๋ค app ์ด๋ฆ๊ณผ region์ ์ค์ ํ๋ค . ๋๋ jseveverywherejp / United States ๋ก ํ์๋ค. ๊ทธ ๋ค์ settings ์ ๋ค์ด๊ฐ Reveal Config Vars ( ์ค์ ๋ณ์ ํ์) ์ ๋ค์ด๊ฐ .env ์์ ํ๊ฑฐ์ ๋ง์ฐฌ๊ฐ์ง๋ก ์๋ ์ค์ ๋ณ์๋ฅผ ์ถ๊ฐํ๋ค NODE_ENV : production JWT_SECRET : PASSPHARSE DB_HOST : ์๊น ๋ง๋ ๋๋น ํธ์คํธ ์ฃผ์
- ๋ฐฐํฌ ํฐ๋ฏธ๋์์
heroku git:remote -a jseverywherejp
git add .
git commit -am "ready!"
git push heroku master
๋ฅผ ์ ๋ ฅํด์ค๋ค 3) ํ ์คํธ ๊ทธ๋ํQL API ์์ฒญ์ ๋ ๋ ค ํ ์คํธ๋ฅผ ํด๋ณผ๊ฒ์ด๋ค. ํฐ๋ฏธ๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ curl์ ์ฌ์ฉํ๋ฉด ํ ์คํธ ํ ์ ์๋ค. ๋ค์๊ณผ ๊ฐ์ด ์ ๋ ฅํด๋ณด์
curl -X POST -H "Content-Type: application/json" --data '{ "query": "{ notes { id } }" }' https://jseverywherejp.herokuapp.com/api
์์ง ์ด ํ๋ก๋์ ์ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋์ง ์์์ผ๋ฏ๋ก ํ ์คํธ์ ์ฑ๊ณตํ๋ฉด ๋น ๋ ธํธ ๋ฐฐ์ด์ด ํฌํจ๋ ์๋ต์ ๋ฐ๋๋ค.
{"data":{"notes":[]}}