목록분류 전체보기 (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..