๐ฅ ๋ด์ฉ ๋ค์ด๊ฐ๊ธฐ ์ ๋ณ ๊ด๋ จ์๋ ์ฃผ์ ์ฃผ์ ์
์ด์ ์ ์ด์ด ์ค๋๋ ๋ด๊ฐ ๋ฒ๋ ค๋์ ํ๋ก์ ํธ ์ค ํ๋์ธ ๋ด์ฉ์ ๊ธฐ๋กํด๋ณด๊ณ ์ ๋ค์ ์๋ค .. ์๋ฌด๋๋ ๋ ์ธ๋ฏธ๊ด์ข ์ ํ๋ก๋ธ๋ก๊ฑฐ์ธ๊ฐ๋ณด๋ค ใ ใ ์๋ .. ๋ธ๋ก๊ทธ์ ๊ธฐ๋กํ๋ฉด ์ข์ง... ์ข์.... ๋์ค์ ๋ณด๋ฉด ์ฌ๋ฐ๊ณ ... ์ ๊ทธ๋ ์ง ใ ใ ์๋ ์ ํ์ฌ ๊ณผ์ ํ๋ก์ ํธ ํ ๋ ์ด์ฌํ ๊ฐ๋ฐ์ผ์ง์ป๋ ๊ฒ์ด ๊ฐ์๊ธฐ ์๊ฐ๋์ ์ด์ฌํ ๊ฐ๋ฐ์ผ์ง ์จ๋ณด๊ณ ์ ์ด๋ ๊ฒ ๊ธฐ๋กํ๋ ๊ฒ์ ^__^
๊ทธ๋์ ์ด๋ฒ์ ๊ธฐ๋กํ ํ๋ก์ ํธ๋ ์น์ฑ์ด ๋ชฉํ๊ณ , ์ค์ ์๋น์ค ์ด์์ด ์ต์ข ๋ชฉํ์ ใ ใ ใ ๐๐ป ์ด ๊ธฐํ์ ๋ญ๊ฐ ์๋ ๋ถํฐ ๋ด๊ฐ ์ฐ๋ ค๊ณ ๋ง๋ค๊ณ ์ถ์๋ ๊ฑด๋ฐ ๊ณ ๋ฅ ์น๊ตฌํํ ์ฐ์ฐํ ๋งํ๋ค๊ฐ ์ค ์ด๊ฑฐ ๊ด์ฐฎ์๋ฐ? ์ถ์ด์ ๋ฐ๋ก ํ์ ๋ค์ด๊ฐ .. ๊ทธ๋ฐ ์ฌ์ฐ์ด ์๋ค. ์ฌ์ค ํผ์๋ ๊ฐ๋ฐํ ์๊ฐ ์์๋๊ฑฐ์ ใ ใ
๐ฅ ํด๊ทผ์ ์๋ ๊ฐ๋ฐ์๋ค.... ๊ฐ๋ฐํ๋ค ๋ฏธ์ณ...์นดํก์ ํ๋๋ฐ....?
ํด๊ทผ 1์๊ฐ ์ ์นดํกํ๋ค ๊ธ ์ ๋ฐ์์ ํ๋ก์ ํธ ๋ฐ๋ก ์์ํ๊ธฐ๋ก ๊ฒฐ์ฌ ใฑใฑ ๊ฐ์ดํ๋ ์น๊ตฌ๋ ๋์ผ 3ํ๋ ์ด๋ฐ ์ง๊ถ์ด์, ๋ด ๋ค๊พธ๋ฉ์ดํธ์ด์, ๊ท์ฌ์ด ์คํฐ์ปค ์์ผ๋ฉด ํญ์ ์ฌ๋ค์ฃผ๋ ์ฌ๋,, A.K.A ์์ ์๊ฐ์ ๊ฐ์ด ๋งจ๋ ์คํฐ์ปค ์ ๋ฆฌํ๊ณ ๋ค๊พธํ๋ค ๊ฑธ๋ฆฐ ์ ์ ์ด ๋ง์ .. ๊ณ ๋ฐ ํ๋ก ํธ ๊ฐ๋ฐ์๋ ^_^
๊ทธ๋ ๊ฒ ๐ฉ๊ธฐํ ๋ฅ ์ธ๊ธฐ๋ผ๋ ๋ ธ์ ํ์ด์ง๊ฐ ํ์ํ๊ณ , ํด๊ทผ์๊ฐ๊น์ง ์ด์ฌํ 1์ฐจ ๋ฅ์ ์ ๊ธฐ ์์ํ๋ค. ์ง๊ธ๋ณด๋ฉด ์ง์ง ๋ง๋์๋๋ ๋ด์ฉ์ด ๋ง์ง๋ง ์ด๋ ์ธ์ง๋ฅธ ๊ธ๋ค๋ก ๊ธฐํ ์ฑ์ฌ ๋ ๊ฒ์ด ๋ง์ ใ ใ ์ญ์ ์ผ๋จ ์ธ์ง๋ฅด๊ณ ๋ณด๋ ๋ฒ !
์ฌ์ค ๋ง ๋์ค๊ณ ๋ ธ์ ํ ๊ฒ์ 6์ ์ฏ์... ์ด์๊ณ ์ค๋๋ง์ ์ผ๊ตด๋ ๋ณผ ๊ฒธ ํจ ๋ง๋์ ๋ง์๋ ํฌ์ด์ ์นดํ์ ๊ฐ์ ๊ธฐํ ์ ๋ฆฌํ๊ณ ์ด๊ฒ์ ๊ฒ ์๊ธฐ ํ๋๋ฐ ๋๋ค ๊น๋จน๊ณ ํ 3๊ฐ์ ํ๋ฆ ..
์ ์ ์ฐจ๋ฆฌ๊ณ ๋ณด๋ 9์ ,, ๋ณธ๊ฒฉ์ ์ผ๋ก ํ๋ก์ ํธ ๋๋ด์! ์ถ์ด์ ์ผ๋ฅธ ํผ๊ทธ๋ง ํ๊ณ ๊นํ๋ธ ๋ ํฌ๋ ํ๊ณ ..... RDS๋ ์์ฑํ๋ค.
-
์ด์ฉ๋ค๋ณด๋ ํ๋ก์ ํธ ํ ๋ ๊ฑฐ์ ๋ฐฑ์๋๋ฅผ ๋งก๊ณ ์๋ ๊ฒ ๊ฐ๋ค. ๊ทผ๋ฐ ์ฌ์ค ๋ด๊ฐ๋ด๋ ๋ ํ๋ก ํธ๋ ์๋๊ณ ๋ฐฑ์๋๋ ์๋๋ผ์ .. ์ ๋งคํ๋ฐ ....... ํ๋ก ํธ๋ฅผ ํ์๋ ๋๋ถ๋ถ ๋ฆฌ์กํธ๋ผ.... (๋ฆฌ์กํธ ํฌ๊ธฐํ ์ฌ๋ = ME) ์ด์ฉ ์ ์์ด (?) ๋ฐฑ์๋๋ฅผ ๋งก๊ฒ ๋๋ ๊ฒ ๊ฐ์. ๊ทผ๋ฐ ๋์๋ฆฌ๊ฒ๋ ํ๊ณ ํ์ฌ ์ผ๋ ํ๋ฉด์ ์์ฆ ๋ฐฑ์๋ ์ชฝ์ผ๋ก ๋จธ๋ฆฌ๋ ์ ๊ตด๋ฌ๊ฐ๊ณ AWS๋๋ฌธ์ ํ๋๋ ์ผ์ด ์ด๋ง์ ๋ง์ด ์๋๋ผ ๋ง์ด ์ฐพ์๋ณด๊ฒ ๋ผ์ ๋ฐฑ์๋ ์ชฝ ํ๋ ๊ฒ๋ ๋ง์กฑํ๋ฉฐ ํ๋ ์ค์ ใ ใ
๐๐ป ๋ณธ๊ฒฉ์ ์ผ๋ก ์๋ฒ ๊ตฌ์ถ์ ํด๋ณด์ ......
๋ฐฑ์๋๊ฐ ํด์ผํ๋ ์ญํ ์ด๋ผ๊ณ ํ๋ฉด ์ผ๋จ ๋๋น ๊ด๋ฆฌ์ ์๋ฒ, api ๊ด๋ฆฌ ๋ผ๊ณ ์๊ฐํ๋ค. (๊ฐ ์ ์ธ ์๊ฐ์ ใ ใ ใ ) ๋จ๊ณ๋ณ๋ก ์ธ๋ถํ๋ฅผ ํ์๋ฉด,
1. ๋๋น ๊ตฌ์ถ
2. ์๋ฒ ๊ตฌ์ถ
- api ๊ตฌ์ถ (ํ๋ก ํธ์์ ์ ๊ทผํ ์ ์๋๋ก)
- api ๋ง๋ ํจ์ ๊ตฌํ
๊ฐ๋จํ๊ฒ ์ด๋ ๊ฒ ์๊ฐํ๋!
ํผ์ ๋ฐฑ์๋๋ฅผ ๋งก๊ธฐ ๋๋ฌธ์ ์ด๋ค ๊ฑธ ์ธ์ง๋ ๋ชจ๋ ๋ด ์์ ๋ค ~~ (์ข๋ค๊ณ ์๊ฐํ๋ฉด ๊ฒฝ๊ธฐ๋ ์ค์ฐ์ฐ ํด์ผํ ์ผ ์ฐ๋๋ฏธ โฐ) ํ์ฌ์์๋ ๊ทธ๋ ๊ณ ํ์์ ์ฐ๋ ๊ธฐ์ ์คํฌ์ mysql + sequilize + graphql (typegraphql) + typescript์ ์ต์ํด์ ธ์๋ค. ํนํ graphql .... ์๋ ํ์ฅ์ค์ต ๋ ๋ถํฐ api๋ผ ํ๋ฉด graphql๋ฐ์ ์จ๋ณด์ง ์์์,,,,,, ๋ฌผ๋ก graphql์ด ์ต๊ณ ๊ณ ์์ง๊น์ง๋ ๋ถํธํ ์ ์ ํ๋ฒ๋ ๋ชป๋๊ผ๋ค. ํ์ง๋ง ํ์ ์์ ์ ์ผํ ๋จ์ ์ด๋ผ๋ฉด, rest์ ๋นํด ํ๋ก ํธ ์ชฝ์์ ์์ฒญ์ ํ๋ ค๋ฉด ์ด๋์ ๋ ๋ฌธ๋ฒ์ ์ตํ์ผํ๋ค๋ ๊ฒ.
์ด๊ฒ์ ๊ฒ ์๊ฐํ์ ๋ ์ด๋ฒ ํ๋ก์ ํธ๋ graphql์ด ์๋ rest๊ฐ ๋ ์ ํฉํ ๊ฒ ๊ฐ์๋ค. ๊ฒฐ๋ก ์ ์ฒจ์ผ๋ก rest api๋ฅผ ์จ๋ณธ๋ค๋ ๊ฒ ,,, ใ ใ ^^ ๋ํ mysql์ด๋ ์ํ๋ผ์ด์ ์กฐํฉ์ผ๋ก ์ฌ์ฉํ ๊ฒ ๊ฐ๋ค.
-
์ค์ ๋ก ์ด์๋๋ ๋๋น ์ข ๋ดค๋ค๊ณ ์ด์ ๋๋น๋ ์ด๋์ ๋ ๊ฐ์ด ์กํ ๊ฒ ๊ฐ๋ค .. ํ๊ต๋ค๋ ๋๋ ๊ทธ๋ ๊ฒ ์ดํด๊ฐ ์๊ฐ๋๋๋ง ,, ๋ช๊ฐ์๋ง์ ์ฝ๊ฒ ์ดํดํจ (ํ ์ด๋ธ ๊ตฌ์กฐ๋ผ๋๊ฐ,, ๊ด๊ณ ์ด๋ฐ๊ฒ๋ค.......์ญ์ ์ค๋ฌด ๊ฒฝํ์ด ์งฑ์)
https://www.erdcloud.com/d/Rqoj52to47sRHg9Jn
erd๊ตฌ์กฐ๋ ๋ช์๊ฐ ๋์ ๊ณ ๋ฏผํ๋ค๊ฐ ๊ฒจ์ฐ ์งฌ .. ์๊ฐ๋ณด๋ค ๋๋น ๊ตฌ์กฐ๊ฐ ๋ณต์กํด์ง๊ณ ์๊ฐํด์ผ๋ ๊ฒ์ด ๋ง์์ ๊ณ ๋ฏผ์ ๋ง์ด ํ๋ ๊ฒ ๊ฐ๋ค. ์ฒจ๋ถํ ๋งํฌ ์ฌ์ดํธ์์ ์ฃผ๋ก erd๋ค์ด์ด๊ทธ๋จ ๋ง๋๋ ๋ฐ ๊ฐ์ถ์ ใ ใ ์งฑํธํจ
์ง๊ธ ์๋ง์กด ๊ณ์ ์ผ๋ก rds ๋๊ฐ๋ ec2 ํ๋ ๋๋ฆฌ๊ณ ์๋๋ฐ ์ผ๋์ผ๋ฉด ๋ ๋๊ฐ๋์ง๋ ๋ชจ๋ฅด๊ณ ํ๋ฌ๋ด๋ด ์ผ๋๊ณ ์๋ค๊ฐ ์ด์ 3๋ง์ ๋น ์ ธ๋๊ฐ ........ (์๋ง์กด ใ ใทใ ใท) ์๊ฒํ๊ณ ๋น์ฅ ๋ค ๊บผ๋์
์ ์ด ์๊ธฐ๋ฅผ ์ ์ผ๋ ค๋ ๊ฑด ์๋์๋๋ฐ .. ํํผ RDS๋ ์์ฑํ์!
์จ .. ๊ทผ๋ฐ ์ค์ง์์ผ๋์ ใ ใ ๋น๊ทผ ์ํฌ๋ฐด์น์์ ์ ์๋ ์ ๋จ ~~ ํ ์ด๋ธ ์์ฑ์ ๋ค ํด๋์์ํ์ด๋น. ๋ชฝ๊ณ ๋ฅผ ์ธ๊น mysql์ ์ธ ๊น ๊ณ ๋ฏผํ์ง๋ง ํ์คํ ๊ด๊ณ์ฑ ์ด๋ฐ ๊ฑด mysql์ด ๋ ์ง๊ด์ ์ด๋ผ (์ฌ์ค ๋ชฝ๊ณ ๋ค ๊น๋จน์) mysql๋ก ์ ํํจ
rds๋ ์ ์์ฑํ๊ณ , ๊ทธ ๋ด์ ์ด์ ์๋ฒ ํ์ผ ๋ง๋ค ์ฐจ๋ก๋น. ๊ฐ๋จํ๊ฒ ์๋ฒ ํด๋ ๊ตฌ์ถํ๋ ๊ฒ์ ์ ์ด๋ด์ผ๊ฒ ๋ค.
๐ ๊ทธ๋์ ์๋ฒ๋ ์ด๋ป๊ฒ ๊ตฌํํ์ฃ ?
๋ด๊ฐ ๋ณดํต ํ๋ก์ ํธ๋ฅผ ์งํํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํ๋ค!
1. ๋ง์ ๋จน์์ ๋ ๋ฐ๋ก ๊นํ๋ธ ๋ ํฌ๋ฅผ ํ๋ค.
2. ๋ ํฌ๋ฅผ ํด๋ก ํ๋ค.
3.
npm init
npm install
4. first commit์ ํ๋ค.
5. ๋ฐฉ์น
6. ๋ฐฉ์น
7. .......
8. ์๋ฒฝ์ ์๊ฐ๋ ๋ ์ํ์ ๊ฐ๋ฐ์์
9. ์กธ๋ ค์ ๋ค์ ์ ๋ค๊ธฐ
๋ฌดํ๊ตด๋ ๋ค. ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ๋ง์ ๋จน์์ ๋๋ ๋ชจ๋ ๋ค ํ ์ ์์ ๊ฒ ๊ฐ์๋ฐ ๋ง์ ํ๋ก์ ํธ ์์ํ๋ ค๊ณ ํ๋ฉด ๋ง์ฌ๊ท์ฐฎ์๋ณ ๋์ง๋ค ... ํ์ง๋ง ์ค๋์ ์ถ์์ฐํด ๋ง์ง๋ง๋ ์ด๋ผ ์ฐ์ธํ์ผ๋ฏ๋ก ์ด์ฌํ ์๋ฒ ๊ตฌ์ถ์ ํ๋ค.
4๋ฒ๊น์ง ํ๊ณ 5๋ฒ์ผ๋ก ๋์ด๊ฐ๊ธฐ ์ ์ rest api ์์ ๋ช๊ฐ์ง ๋ฃ์ด์ ๋๋ ค๋ณด๊ณ ํด๋์ ๋ฆฌ๋ฅผ ํด๋จ๋ค.
rest๋ก ๊ฐ๋จํ๊ฒ ์๋ฒ ํ์ผ ๋ง๋๋ ๊ฒ์ ์๊ฐํ๋ค.
// npm ์ค์น
npm i -S body-parser cors
npm i -D @types/express @types/body-parser @types/cors
package.json์ start๋ฅผ ์ถ๊ฐํด์ค๋ค.
"scripts": {
"start": "nodemon src/index.ts",
"test": "hello world"
},
ํด๋๊ตฌ์กฐ๋ ์ด๋ฐ ์์ผ๋ก ๋์ด์๋ค.
// index.ts
import express from 'express'
import cors from 'cors'
import bodyParser from 'body-parser'
const app = express()
const port = 4000
/**
* 2020.10.04 ์ด์ ์ง
* REST ๋ฐฉ์์ AP์๋ฒ๋ค์ ์น ํ์ด์ง์ ๋ณธ๋ฌธ ๋ด์ฉ์ ๋ถ์ํ๋ ค๊ณ ํ ๋ bodyParser์ cors ํจํค์ง๋ฅผ use๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ผํ๋ค.
*/
app
.use(bodyParser.urlencoded({extended: true}))
.use(cors())
.get('/', (req, res) => res.json({ message: 'hello world' }))
.get('/hello/:skip/:limit', (req, res) => {
console.log(req.params)
res.json(req.params)
})
.listen(port, ()=> console.log(`http://localhost:${port} started ... `))
index.ts ํ์ผ์ด๋ค. ์ฃผ์์ ๋ฌ์๋์ ๊ฒ ์ฒ๋ผ bodyParser์ cors ๋ฏธ๋ค์จ์ด๋ฅผ ์ถ๊ฐํ๋ค.
๊ฒฐ๊ณผ ใฑใฑ
graphql๊ณผ ๋ค๋ฅด๋ค๊ณ ๊ฒ๋ดํ๋ฉด ์๋๋ค. ์์ฒญํ๋ ํ์๋ง ๋ค๋ฅผ ๋ฟ ๊ฒฐ๋ก ์ ์ผ๋ก ๋ฐ์์ค๋ ๊ฒ์ ๋์ผํ์ ใ ใ ใ
ํค๋งธ๋ ๋ถ๋ถ์ด ํ๋ ์์๋ค.
โ ์ฝ์ง ์๋ ๊ฐ๋ฐ์ ์ ๋ ์๋ ๊ฒ์ธ๊ฐ??????????
express() ๋ฅผ ์ฌ์ฉํด์ ๋ถ๋ช ์๋ฒ ์ ์์ด ๋๋ค๊ณ ๋จ๋๋ฐ.... ์ด์ํ๊ฒ ์ ์์ด ์๋๋ค ?_? ๋ ๋ด ์ฝ๋๊ฐ ๋ฌธ์ ์๋ ์ค ์์๋ค. ์๋ฌด๋ฆฌ ๋ช๋ฒ์ ๋ด๋๋ด๋ ๋ฌธ์ ๋ ๋งํ ๋ถ๋ถ์ด ์์๋ค. ๋น์ฐํ์ง. .. ์ฑ ๋ณด๊ณ ๋๊ฐ์ด ๋ฐ๋ผ์ณค์ผ๋๊น ... ์๊ณ ๋ณด๋ ๋ ํ๋ฌดํจ
http://localhost:4000/hello/1/2 ์ด๋ฐ์์ผ๋ก http๋ก ์ ์ํ์ด์ผ๋๋๋ฐ, https๋ก ์ ์ํด๋๊ณ ์๋๋ค๊ณ ํ๋ ๊ฑฐ์ ... ๊ทธ๋์ ์ด ์ฐธ์ ์ ๋๋ก ์ฐพ์๋ดค๋ค. ๋๋์ฒด http๋ https์ ์ฐจ์ด๋ ๋ญ๊น??????
http์ s ํ๋ ๋ ๋ถ์ https์ s์๋ฏธ๋ Secure์ด๋ค. HTTP ํ๋กํ ์ฝ์ ๋ณด์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค. SSL ์ธ์ฆ์๋ผ๋ ๊ฒ์ด ํ์ํ๋ค. SSL ์ธ์ฆ์๋ ์ฌ์ฉ์๊ฐ ์ฌ์ดํธ์ ์ ๊ณตํ๋ ์ ๋ณด๋ฅผ ์ํธํํจ. ๋ฐ์ดํฐ๋ฅผ ์ํธ๋ก ๋ฐ๊พผ๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ฑ. ๋์ค์ ๋ณธ๊ฒฉ์ ์ผ๋ก ์๋น์ค๋ฅผ ํ๋ ค๋ฉด https๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ๋ ค๋์ง๋ ์์์ผ๋ ๊ฒ ๊ฐ๋ค. (์ผ๋จ์ ๋ฏธ๋ฃจ๊ธฐ)
๐๐ป ๋ง๋ฌด๋ฆฌ๋ฅผ ํด๋ณด์
์ค๋์ ๋ณธ๊ฒฉ์ ์ธ ๊ฐ๋ฐ์ ๋ค์ด๊ฐ๊ธฐ ์ ๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ถ๋จ๊ณ๋ผ๊ณ ๋ณด๋ฉด ๋ ๊ฒ ๊ฐ๋ค. ๊ทธ๋์ ๋ฒํธ๋ 0์ด๋ค. (ใ ใ ) rest์ ๋ํ ๊ณ ๋ฏผ์ด ๋ง์๋๋ฐ ์๊ฐ๋ณด๋ค ์์ํ๊ฒ ๋์๋ค. ๊ฒ๋ผ ๊ฒ ์๋ค ! ํ์ ์คํฌ๋ฆฝํธ ์ฑ ๋ท๋ฉด์ ๋ช์ฅ ๋์์๋ api๋ถ๋ถ์ ์ฐธ๊ณ ํด์ ์ฝ๋๋ฅผ ์งฐ๋๋ฐ ์ด๊ฒ ๋์ ๋ง์ด ๋์๋ค ใ ใ . ๋..... ์ค๋ ๊ฐ๋ฐ ํ ์๊ฐ๋ณด๋ค ๋ธ๋ก๊ทธ ์ฐ๊ณ ์๋ ์๊ฐ์ด ๋ ๊ธด ๊ฒ ๊ฐ๋ค. ๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ถ์ด ๋๋ฌ์ผ๋ ์ด์ ๋ณธ๊ฒฉ์ ์ผ๋ก api๋ฌธ์๋ฅผ ์์ฑํ๋ฉฐ ํด๋๊ตฌ์กฐ๋ผ๋์ง, ๋ค์ด๋ฐ ๋ฑ ์ฌ๋ฌ๊ฐ์ง ์ ํด๋ณด๋ ค๊ณ ํ๋ค. ๋ฒ์จ ์ถ์ ์ฐํด ๋ ์๋กธ๋ ๊ทธ๋ฅ ์ฃผ๋ง์ฒ๋ผ ํ ์ง๋๊ฐ ๋๋์ด๋ค. ๐ข๋๋ฌผ ์๋ ฌ
๋ค์๋จ๊ณ ๐๐ป
1. .env ์์ฑ ๋ฐ ๋๋น ์ฐ๋ (์ํ๋ผ์ด์ )
2. controllers, models ๊ตฌํ
์ด์จ๊ฑด ๋. #1๋ก ๋ค์ ๋์์ค๊ฒ์ผ !
'2020' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐๐ปโโ๏ธ WTM ํด์ปคํค (20201016 ~ 20201031) (0) | 2020.11.02 |
---|---|
2020๋ ์ด ๋๋๊ฐ๊ธฐ ์ ์ (0) | 2020.10.11 |
์ ๋ํฐ๋ก RPS ๊ฒ์ ๊ฐ๋ฐํ๊ธฐ #1 (0) | 2020.10.04 |
์น๊ตฌ ์์ผ์ ๋ฌผ๋ก ์น์ฌ์ดํธ ๋ง๋ค๊ธฐ (0) | 2020.10.03 |
2020๋ ์ฒซ ์ธ์ฃผ ๊ธฐ๋ก (0) | 2020.10.01 |