์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- ๋งํฌ๋ค์ด
- branch ์ญ์
- branch ํ์ธ
- ๋ธ๋์น ์ญ์
- markdown
- ![rejected]
- ์ฝ๋๋ธ๋ก
- branch ์์ฑ
- ๋ธ๋์น ํ์ธ
- Git๋ช ๋ น์ด
- ๋ธ๋์น ์์ฑ
- ์ฝ๋๋ธ๋ญ
- Today
- Total
๋ชฉ๋ก๐ Project - Dev Log (11)
DevLog

์ค๋์ ์ด๋ป๊ฒ ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๋์? ์ฝ๋ ๋ฆฌํํ ๋ง aws ๋ฐฐํฌ ์ค๋์ ํ๋ก์ ํธ์์ ํ๋ ์ ๋๋ ๊ธฐ์ต์ ๋จ๋ ์ ์ ๋ฌด์์ธ๊ฐ์? - server๋ฅผ AWS CodePipeLine ๋ฐฐํฌ ํ์ผ๋ ์๋ฒ๊ฐ ์คํ๋์ง ์๋ ๋ฌธ์ ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ฅผ CodePipeLine๋ก ๋ฐฐํฌํ์ผ๋ ํด๋ผ์ด์ธํธ ์ชฝ์์๋ ์นด์นด์ค๋งต api๊ฐ ์ค๋ฅ๋ก ์ด๋ฆฌ์ง ์๋ ์ ๋ฑ์ ๋ฌธ์ ๊ฐ ์์์ผ๋ ๋์ฒด๋ก ๋ค๋ฅธ ๋ถ๋ถ์์๋ ๋ฐฐํฌ๊ฐ ์ ๋์ด ์ผ๋ถ ๊ธฐ๋ฅ์ ์ ์ธํ๊ณ ๋ ์ ์๋ํ๋ค ํ์ง๋ง ์๋ฒ ์ชฝ์ ์์ postman์ ์ด์ฉํด์ ์์ฒญ์ ๋ณด๋ด๋ ์๋ต์ด ์์๋ค. ๋ก์ปฌ์ ์๋ฒ๊ฐ ์๋๋์ง ์๋ ๋ฌธ์ ๋ ์ฝ์์ ๋์ค๋ ์๋ฌ์ฝ๋์ ์ฝ๋ ๋ฑ์ ์ง์ ๋์ผ๋ก ํ์ธํด๋ณด๋ฉด์ ์๋ฌ๋ฅผ ํธ๋ค๋ง ํ ์ ์์๋๋ฐ ์ง๊ธ ์ํฉ์ AWS์์ ๋น๋ฆฐ ํด๋ผ์ฐ๋ ์ปดํจํฐ์ธ ec2์์ ์๋ฒ๊ฐ ์๋์ค์ด๊ธฐ ๋..
[โ๏ธ Dev Log] 2022-01-12 ์ค๋์ ์ด๋ป๊ฒ ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๋์? admin: ํ์ธํ lounge report ์ญ์ ๊ธฐ๋ฅ ์ถ๊ฐ model assosiate ์ด์ฉํ์ฌ ํน์ lounge๋ฅผ ๋ฆฌํํ ๋ง ์ค๋์ ํ๋ก์ ํธ์์ ํ๋ ์ ๋๋ ๊ธฐ์ต์ ๋จ๋ ์ ์ ๋ฌด์์ธ๊ฐ์? - ์ฝ๋์๋ ์ ๋ต์ด ์๋ค & ์๋ฌ์ฒ๋ฆฌ๋ ํ์คํ๊ฒ ์ด์ sequelize model๋ค ๊ฐ์ ๊ด๊ณ์ค์ ์ ํด์ค ๋ค, ๋ชจ๋ธ์ ํ๋ฒ์ ์ฟผ๋ฆฌ๋ฅผ ํตํด ์์ ์ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์๋ ๋ ๋ฒ์ ๊ฑธ์ณ ์ฟผ๋ฆฌ ํด์ฃผ๋ ์ฝ๋๋ฅผ ์ฐพ์ ์๋กญ๊ฒ ํ ๋ฒ์ ์ฟผ๋ฆฌ๋ฅผ ํตํด ์์ ์ ๋๋ผ ์ ์๊ฒ ๋ฆฌํํ ๋ง ํด๋ณด๊ธฐ๋ก ํ๋ค. lounge // ์ฌ๊ธฐ์ ์ฒซ ๋ฒ์งธ ์ฟผ๋ฆฌ .findOne({ where: { id: req.params.loungeId }, }) .then((data) => { ..
์ค๋์ ์ด๋ป๊ฒ ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๋์? sequelize ๊ด๊ณ์ค์ admin: ์ผ์ ์ ๊ณ ์ด์์ธ ๋ผ์ด์ง์ ์ฃผ์, ๋ผ์ด์ง id, ์ ๊ณ ๊ฐ์๋ฅผ ๋ฆฌํดํด์ฃผ๋ api ๊ตฌํ ์ค๋์ ํ๋ก์ ํธ์์ ํ๋ ์ ์ ๋ฌด์์ธ๊ฐ์? - sequelize ๊ด๊ณ ์ค์ ๋ฐ ๊ทธ๋ฃนํ, findAndCountAll ์ฌ์ฉ ์ด์ ๊นจ๋ซ๊ฒ๋ ๊ด๊ณ์ค์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ sequelize๊ณต์ ๋ฌธ์์์ Associations ํํธ ๋ถ๋ถ์ ์ฝ์ด๋ดค๋ค. ํ์ฌ ์งํ์ค์ธ ํ๋ก์ ํธ์์ ์ฌ์ฉ์ค์ธ ๊ด๊ณ๋ ์ผ๋๋ค 1:N ๊ด๊ณ๊ฐ ๋๋ถ๋ถ์ด๋ผ ์ด ๋ถ๋ถ์ ์ค์ฌ์ผ๋ก ๊ด๊ณ์ค์ ์ ํด์ผํ๋ค. Team.hasMany(Player); Player.belongsTo(Team); ์์ ์ฝ๋๊ฐ ์ด๋ฐ์์ผ๋ก ์์ฑ๋์ด ์์๋๋ฐ ์ผ๋๋ค์ ๊ด๊ณ๋ฅผ ์ค์ ํด์ฃผ๋ ค๋ฉด ์ฐ๊ด๋ ๋ ๊ฐ์ ๋ชจ๋ธ์ hasMany์ ..
์ค๋์ ์ด๋ป๊ฒ ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๋์? ๋๊ธ ์ถ๊ฐ์ ๋ณ์ ๋ฐ์ ๋ฐ ํ๊ท ๋ณ์ ๋ฐ์ ๊ธฐ๋ฅ ์ถ๊ฐ admin ๊ด๋ฆฌ์ ๊ธฐ๋ฅ ๊ตฌํ์ ์ํ route ๊ตฌ์ฑ ๋ฐ ํ ์คํธ ์ค๋์ ํ๋ก์ ํธ์์ ํ๋ ์ ์ ๋ฌด์์ธ๊ฐ์? sequelize ๊ด๊ณ ์ค์ sequelize์์ ๊ด๊ณ์ค์ ์ ํ๋ค๋ ๊ฒ์ ์ง๊ธ๊น์ง๋ table์ migration ํ ๋ constraint๊ฐ์ ์ธ๋ํค ์ค์ ์ ํด์ฃผ๊ธฐ๋ง ํ๋ฉด ๋๋ ์ค ์๊ณ ์์๋๋ฐ ๋ญ๊ฐ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด ํ ์๋ก ๋ญ๊ฐ ์ผ์ผ์ด ํ๋ ํ๋ ์ฟผ๋ฆฌํ๋ฉด์ sequelize๋ฅผ ์ ๋๋ก ์ฌ์ฉํ๋ ๊ฒ ๋ง๋ ์ถ์ ์๋ฌธ์ ๋ค์๋ค. ๊ทธ๋์ model ๋ถ๋ถ์ ์์ธํ ์ดํด๋ณด๋ model์ ์ ์ํ ๋ associate ๋ผ๋ ๋ถ๋ถ์ด ์๋๋ฐ ๊ฑฐ๊ธฐ์ ๋จผ์ ๋ชจ๋ธ๊ฐ์ ๊ด๊ณ๋ฅผ ์ค์ ํด์ฃผ๊ณ ๋์ ์ฟผ๋ฆฌํ ๋ ์ต์ ๊ฐ์ผ๋ก include๋ฅผ ..
[โ๏ธ Dev Log] 2022-01-08 ์ค๋์ ์ด๋ป๊ฒ ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๋์? lounge ์ ์ฒด ์ ๋ณด ์กฐํ api๊ธฐ๋ฅ ๊ตฌํ lounge ํน์ ์ ๋ณด ์กฐํ api๊ธฐ๋ฅ ๊ตฌํ ๋๊ธ ์์ฑ, ์ ๊ณ ์์ฑ api๊ธฐ๋ฅ ๊ตฌํ ์ค๋์ ํ๋ก์ ํธ์์ ํ๋ ์ ์ ๋ฌด์์ธ๊ฐ์? sequelize์์ ์ํ๋ ๋ฐ์ดํฐ๋ง ์ถ์ถ ์์ฑํ ๋๊ธ์ ๋ถ๋ฌ์์ฃผ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ์ค ํ ๊ณณ์ ๊ธ์ ์์ฑ๋ ๋ค์์ ๋๊ธ๋ค์ ํ๋ฒ์ ๊ฐ์ ธ์ ์ค์ผ ํ๋๋ฐ ์ด ๋ถ๋ถ์์ ์๊ธด ๋ฌธ์ ๊ฐ ๋ด๊ฐ ํ์ํ ์ ๋ณด๋ dataValues๊ฐ๋ค๋ง ํ์ํ์๋๋ฐ [ comment { dataValues: { userId: 3, contents: '๋๊ธ 1', rating: 2, createdAt: 2022-01-08T13:01:29.000Z }, _previousDataValues: ..

์ค๋์ ์ด๋ป๊ฒ ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๋์? naver oauth2.0 ์์ ๋ก๊ทธ์ธ API๊ตฌํ ์๋ฃ lounge์ ๊ด๋ จํ ์ปจํธ๋กค๋ฌ ์ค์ ๊ณผ ๋ผ์ฐํ ์ค์ ์๋ฃ ์ค๋์ ํ๋ก์ ํธ์์ ํ๋ ์ ์ ๋ฌด์์ธ๊ฐ์? - Query Parameter & Path Variable ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌ๋ฐ์ ๋ ๋๋ถ๋ถ post ๋ฉ์๋๋ก ์ ๋ฌ๋ฐ์์ req.body๋ฅผ ์ด์ฉํด์๋ง ์ ๋ฌ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ์๋๋ฐ lounge์ชฝ API๋ get ์์ฒญ์ ํตํด์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ์์ผ๋ก ์ค๊ณ๊ฐ ๋์ด์์ด์ get ์์ฒญ์ ๋ํ์ฌ ์์๋ณด๋ get ์์ฒญ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด์ฃผ๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์๋ค. ์ฒซ์งธ๋ Query Parameter๋ฅผ ์ฌ์ฉํด์ ๋ณด๋ด์ฃผ๋ ๋ฐฉ๋ฒ๊ณผ ๋์งธ๋ Path Variable์ ์ฌ์ฉํด์ฃผ๋ ๋ฐฉ์์ด ์์๋ค ๊ฐ๊ฐ์ ๋ฐฉ..
์ค๋์ ์ด๋ป๊ฒ ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๋์? ์ด์ ์์ ํ oauthํ ์คํธ ์ฝ๋๋ฅผ ํ์ฌ ์งํ ์ค์ธ finalproject์ ์ ์ฉ ์ค๋์ ํ๋ก์ ํธ์์ ํ๋ ์ ์ ๋ฌด์์ธ๊ฐ์? promise์ ๋จ์ฉ // ! naver const naverUrl = `https://nid.naver.com/oauth2.0/token?grant_type=authorization_code&client_id=${naverClientID}&client_secret=${naverClientSecret}&code=${req.body.authorizationCode}&state=${req.body.authorizationState}`; console.log("naverUrl:", naverUrl); axios .get(naverUrl) .then(..
์ค๋์ ์ด๋ป๊ฒ ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๋์? oauth ๊ธฐ๋ฐ ์์ ๋ก๊ทธ์ธ์ ๊ตฌ์ถ(๋ฐ๊ธ๋ฐ์ ํ ํฐ์ผ๋ก ์ ๋ณด ์กฐํํ๋ ๊ฒ๊น์ง ์ฑ๊ณต) ์ค๋์ ํ๋ก์ ํธ์์ ํ๋ ์ ์ ๋ฌด์์ธ๊ฐ์? ์ ์ ๊นํ๋ธ ์์ ๋ก๊ทธ์ธ ์ค์ต์ ํด๋ณด๋ฉด์ ๊ฒฝํ์ด ์๊ธฐ์ ์ ์ ์์ฑํด๋ ์ฝ๋๋ฅผ ๋ณด๋ฉด์ ์กฐ๊ธ๋ง ๋ฐ๊พธ๋ฉด ๋ค์ด๋ฒ ์์ ๋ก๊ทธ์ธ์ ์ ์ฉํ ์ ์๊ฒ ๋ค๊ณ ์๊ฐํ๊ณ // ๊นํ๋ธ ์์ ๋ก๊ทธ์ธ์ ์ฌ์ฉํ ์ฝ๋ ์ค ์ผ๋ถ axios({ method: "post", url: "https://github.com/login/oauth/access_token", headers: { accept: "application/json" }, data: { client_id: clientID, client_secret: clientSecret, code: req.body.authorizati..