목록전체 글 (131)
고양이와 코딩
chapter1 에서는 코드를 액션, 계산, 데이터로 구분하는 내용이 주로 이루어져 있습니다. 저는 기존에 프로젝트를 할때 제가 코드를 짜고 수정하기 보다는, 남의 코드를 보고 덧붙여 작성하는 일이 많았는데요, 그 때는 이유도 모른채 상대방의 폴더 구조를 보고 눈치껏 데이터와 함수를 분리해서 작성했던 기억이 있습니다. 챕터1을 읽고 왜 그렇게 코드를 작성했는지 명확히 이해할 수 있었습니다. (설명이 쉬운 덕입니다 😺) 액션에서 계산을 빼내기 -> 계산에서 데이터를 분리할 수 있는지 생각 -> 액션이 계산이 될 수 있는지, 반대로 계산은 액션이 될 수 있는지 생각의 확장 챕터2의 p.34를 읽고 강사님이 말씀하신 무작정 코드를 짜지 말고 그 전에 생각을 하라 ! 의 개념도 제대로 그려졌습니다. 평소에도 코..
로그인 api를 구현하던 중, 코드 자체에서는 에러가 나지 않았는데 postman으로 body값에 아이디와 비밀번호를 입력하니 500에러가 발생하며 Error: data and hahs arguments required 라는 에러가 발생했다 !! export const login = async ctx => { const { username, password } = ctx.request.body; // username, password가 없으면 에러 처리 if (!username || !password){ ctx.status = 401; // Unauthorized return; }; try { const user = await User.findByUsername(username); // 계정이 존재하지 ..
1월16일 행렬의 덧셈 내 풀이 function solution(arr1, arr2) { const numRows = arr1.length; const numCols = arr1[0].length; const result = []; for (let i = 0; i arr1..
장장 8시간의 트러블 슈팅 .............. 여러분 웬만하면 그때그때 버전에 맞는 책을 사서 공부합시다 ....ㅠㅠ......눈물만 줄줄 2024년 1월 기준으로 저는 esm을 아예 설치하지 않고 진행했습니다! node.js version 12부터는 책 내용처럼 main.js에 주요 구현을 한 뒤 index.js에서 불러올 필요 없이 package.json에 "type" : "module" 을 추가해서 사용하면 되는데요, 하지만 이것만 설치한 경우 이렇게 ES modules 에러가 반복됐습니다. package.json { "name": "blog-backend", "version": "1.0.0", "main": "index.js", "license": "MIT", "dependencies": ..
지금까지는 예외처리를 if/else.. if/else...ifelseifelse를 사용해서 처리해 왔는데요 ㅎㅎ try/catch vs if/else const generateToken = (user) => { const token = jwt.sign({ userId: user.id }, secretKey, { expiresIn: '1h' }); if (!token) { // 토큰 발급 실패 처리 return res.status(500).json({ error: 'Failed to generate token' }); } // 토큰 발급 성공 처리 return res.status(200).json({ token }); }; if/else 문을 사용해서 토큰 발급 처리를 한다면, 토큰 발급이 성공했을 때와 ..
promise 모듈은 async/await 및 Promise를 기반으로 하여 비동기적 작업을 처리할 수 있도록 설계되었습니다! 따라서 이제는 콜백 함수를 실행하지 않고 비동기적으로 쿼리를 실행 할 수 있습니다 // const conn = require('../mariadb') // db 모듈 const mariadb = require('mysql2/promise'); const {StatusCodes} = require('http-status-codes'); // status code 모듈 const order = async(req, res) => { const conn = await mariadb.createConnection({ host : 'localhost', user : 'root', passw..