- nestjs
- ์ฌ๊ท
- DP
- Union-Find
- ํ๋ฆฌ์จ๋ณด๋ฉ
- ๋์ ํ๋ก๊ทธ๋๋ฐ
- DFS
- ์ด๋ถํ์
- ๋ฐฑ์๋ ํ๋ฆฌ์จ๋ณด๋ฉ
- js
- ์ํฐ๋
- ๋นํธ๋งต
- ์น๋ฆฐ์ด
- ์ฌ๋ผ์ด๋ฉ ์๋์ฐ
- ๊ฐ์ฅ๊ฐ๊น์ด๊ณตํต์กฐ์
- ์นด์นด์ค2021
- ๋ค์ต์คํธ๋ผ
- BFS
- ํ๋ก๊ทธ๋๋จธ์ค
- ์นด์นด์ค ์ฝํ
- ๋นํธ๋ง์คํน
- LCs
- C++
- ๋ฐฑ์ค
- ํธ๋ฆฌ
- ์๊ณ ๋ฆฌ์ฆ
- go
- ์์ฝ๋
- golang
- Python
- Today
- Total
๋ชฉ๋กWeb (8)
Hello Ocean! ๐ผ
ํ๋ก์ ํธ ์งํ์ค์ ์์ ๋ก๊ทธ์ธ ๊ตฌํ์ด ํ์ํด์ ์ด ๊ธฐ์ ์ ๋ํด ์ฒ์ ์ ํ๊ฒ ๋์๋ค.๊ทธ๋ฅ ๋ฌดํฑ๋๊ณ ์ฌ์ฉํ๊ธฐ๋ณด๋ค, ์๊ฐ ๋ฌด์์ด๊ณ ์ ํ์ํ์ง์ ๋ํด ๊ณต๋ถํด๋ณด๊ณ ์ฌ์ฉํด๋ณด๊ณ ์ถ์๋ค. OAuth 2.0์ ๋ฌด์์ธ๊ฐ?์ผ๋จ, ์๊ฐ ๋ฌด์์ธ์ง ์์์ผ ํ๋ค.OAuth 2.0์ ๊ณต์๋ฌธ์ ์ฒซ ๋ฌธ๋จ์ ์๊ฐ๊ฐ ๋์์๋ค.OAuth 2.0 is the industry-standard protocol for authorization. OAuth 2.0 focuses on client developer simplicity while providing specific authorization flows for web applications, desktop applications, mobile phones, and living ro..
JS์์ array์ ๊ฐ ์์์ ๋ํด ๊ฐ์ ์์ ์ ๋ฐ๋ณตํ๊ณ ์ถ์ ๋, for๋ฌธ ๋์ ์ Array.prototype.map()์ด๋ Array.prototype.forEach()๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ๋ ํจ์์ ์ฐจ์ด๋ ๋ฌด์์ผ๊น? MDN ๊ณต์๋ฌธ์๋ฅผ ์ฐธ๊ณ ํด๋ณด์. map() : ๋ฐฐ์ด ๋ด์ ๋ชจ๋ ์์ ๊ฐ๊ฐ์ ๋ํ์ฌ ์ฃผ์ด์ง ํจ์๋ฅผ ํธ์ถํ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์ ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํ * ๊ธฐ์กด ๋ฐฐ์ด์ ์์๋ค๋ก ์์ ์ ์๋ฃํ ๋ค ํด๋น ๊ฒฐ๊ณผ๋ฌผ๋ค์ ๋ชจ์ ์๋ก์ด ๋ฐฐ์ด์ returnํด์ค๋ค๋ ๊ฒ์ ์ ์ ์๋ค. * ๋ฐ๋ผ์ map์ ์ฉ๋๋ฅผ ์ ๋๋ก ์ด๋ฆฌ๋ ค๋ฉด callback ํจ์ ๋ด์ return ๊ตฌ๋ฌธ์ด ์์ด์ผ ํ๋ค. forEach() : ์ฃผ์ด์ง ํจ์๋ฅผ ๋ฐฐ์ด ์์ ๊ฐ๊ฐ์ ๋ํด ์คํ * forEach()๋ ๋ฐฐ์ด์ ๋ณํํ์ง ์๋๋ค. ๊ทธ๋ฌ๋ callbac..
login api ์์ cookie๋ฅผ ์ค์ ํด์ฃผ๊ณ , ๋ค๋ฅธ api๋ฅผ ๋ณด๋ผ ๋ ํด๋น cookie ๊ฐ์ ์ฝ์ด์ ํ์ฉํ๋ ค๊ณ ํ๋ค. cookie๋ฅผ ์ค์ ํ๋ api๊ฐ ์ฑ๊ณต์ ์ผ๋ก response ๋์์์๋ cookie ํญ์์ ํ์ธํ ์ ์์๋ค. ๊ทธ๋์, cookie ์ค์ ์ด ์๋์๋ ํ๋๋ฐ postman cookie๊ด๋ จ ๊ณต์ ๋ฌธ์๋ฅผ ๋ณด๋๊น ์๋ ์ฌ์ง์์ Cookie๋ฅผ ํด๋ฆญํ๋ผ๊ณ ํ๋ค. ๊ทธ๋์ ์ค! ์ฟ ํค๊ฐ ์ค์ ์ด ๋์๊ตฌ๋ ํ๊ณ , ๋ค๋ฅธ api๋ฅผ ๋ณด๋๋๋ฐ req.cookies๊ฐ undefined๋ผ์ error๊ฐ ๋ฐ์ํ๋ค. [ํด๊ฒฐ๋ฐฉ์] ์๋ ์ฌ์ง์์ hidden ๋ฒํผ์ ๋๋ฅด๋ฉด, ์จ๊ฒจ์ ธ์๋ ์ ๋ณด๋ค์ด ๋ฑ์ฅํ๋ค. ์ฌ๊ธฐ ์์ Cookie๊ฐ ๋ค์ด๊ฐ ์์ง ์์๊ธฐ ๋๋ฌธ์ req.cookies๊ฐ undefined์๋ ๊ฒ์ด๋ค! postman์..
๋ฐฐ์ด์ ์ ๋ ฌํ ๋๋, Array.sort() ํจ์๋ฅผ ํตํด์ ์ ๋ ฌ์ ํ ์ ์๋ค. ๊ฐ์ฒด๋ฅผ ์ ๋ ฌํ ๋๋ ์ด๋ป๊ฒ ํด์ผํ ๊น? ๊ฐ์ฒด๋ ๋ง์ฐฌ๊ฐ์ง๋ก sort()๋ฅผ ์ด์ฉํ๋๋ฐ, ๋ด๋ถ์ compareFunction์ ์ ์ํด์ฃผ์ด์ผ ํ๋ค. ์๋ฅผ๋ค์ด, ageํ๋๋ฅผ ๊ฐ์ง ์๋ ๊ฐ์ฒด ๋ฐฐ์ด์ ๋ค์๊ณผ ๊ฐ์ด ์ ๋ ฌํ ์ ์๋ค. let objs = [ {age: 13}, {age: 43}, {age: 9}, {age: 40} ]; objs.sort(function(a,b) { // ์ค๋ฆ์ฐจ์ return a.age - b.age; }); objs.sort(function(a,b) { // ๋ด๋ฆผ์ฐจ์ return b.age - a.age; }); C++๊ณผ ๊ฐ์ ๋ค๋ฅธ ์ธ์ด์์๋, compareFunction์ ์ ์ํ ๋, booleanํ์์ผ๋ก ..
๊ตฌํํ๊ณ ์ถ์ ๊ฒ :client๊ฐ ํ์ด์ง์ ์ ์ํ์ ๋, server๋ก๋ถํฐ ๋ฐ์ดํฐ ๋ฐ๊ธฐ (initial data) ์ฝ๋:server.js ์ผ๋ถ app.use('/api', (req, res)=> mdbConn.getToDoList() .then((rows) => { console.log("in server.js",rows); res.json({initialTodos:rows}); }) .catch((errMsg) => { console.log(errMsg); })); App.js ์ผ๋ถ (client)function App() { const [state, setState] = useState({ //username: null ..
์ฐธ๊ณ ํ ๋งํฌ www.zerocho.com/category/NodeJS/post/57774a8eacbd2e9803de0195 ๊ณผ์ 1 * ์ด์ ์, node.js๊ฐ ์ค์น๋์ด ์์ด์ผ ํจ. 1. ์ํ๋ ํด๋์ server.js ํ์ผ ์์ฑ 2. ํ์ผ ์์ ๋ค์๊ณผ ๊ฐ์ด ์์ฑ const http = require('http'); // ์๋ฒ ๋ง๋๋ ๋ชจ๋ ๋ถ๋ฌ์ค๊ธฐ http.createServer((request, response) => { // ์๋ฒ ์์ฑ ๋ฉ์๋ console.log('server start!'); }).listen(8080); 3. cmd ์คํ 4. server.js๊ฐ ์์นํ ํด๋๋ก ์ด๋ 5. node server.js ๋ช ๋ น์ด ์ ๋ ฅ 6. http://localhost:8080 ์ ์ ๊ฒฐ๊ณผ 1 server..