목록코딩부트캠프 (33)
고양이와 코딩
벌써 데브코스를 시작한지 4개월이 지나가고 있습니다. 부끄럽지만 전공 4년동안 이룬것이 없음을 직접적으로 느끼며 많이 배우는 과정이었습니다! 공부는 하면 할수록 불안하고, 충분하다가 아닌 부족하다는 생각이 드는게 맞나? 하는 고민도 많이 들었던 이번 달인데요, 이정도 알았으면 뭐든 만들수 있겠지, 이정도 알았으면 취업할 수 있겠지 라고 생각했던 과거의 저를 반성하는 시간을 유독 많이 가진 달이었던것 같습니다. 첫째로 React의 기본적인 기술들에 대해서 물어봤을때 논리적으로 대답하지 못하고 ~~성능 향상을 위해서 사용하는거지, 상태 관리를 위해서 사용하는거지 같은 맞는 말이지만 영 부족한 답변만 내놨던 점에 부족함을 느끼고 이 부분을 채워가려 노력중입니다! 두번째로는 비효율적인 부지런함을 꾸준히 실천한 ..
정신없이 배우고 달려오다보니 어느덧 스프린트2가 마무리 되고, 스프린트3이 시작되었습니다. 백엔드는 처음 접해보는터라 스프린트2의 내용이 쉬운듯 깊이 하려 할수록 어려운듯 했는데요, 여기서 끝내는 것이 아니라 배운 내용을 다시 한번 뜯어보며 제대로 알고 지나가는것이 중요하다는 생각이 들었습니다. 스프린트 3의 이론적인 내용을 공부하면서 남는 시간에 백엔드 코드를 수정 하는 시간을 꼭 가져야 할 것 같습니다. 2월2일 라이브세션에서 강사님께서 개발자가 프론트엔드나 백엔드 이렇게 분야를 나누어서 너무 그 안에만 치중하지 말고 개발 자체를 생각해야 한다고 말씀하셨는데, 이부분이 꽤 감명깊게 다가왔습니다. 강의에서 c,c++을 예시로 들어 알고리즘 지식을 가르쳐 주셨던 것도 이 때문이 아닐까 싶습니다. 프론트엔..
1. Any Type - 어떤 타입의 데이터도 담을 수 있는 타입입니다. 타입 검사를 받지 않으며 주로 타입스크립트에서 타입 정보를 확실하게 알 수 없거나 타입 검사를 피하고자 할 때 사용됩니다. let variable: any = 10; variable = '문자열'; variable = true; 위 예시처럼 처음에 변수에 숫자 10을 담아 놓고, 그 변수 값을 문자열로 변경해도 에러가 발생하지 않습니다. 하지만 any타입을 남발하면 타입스크립트를 쓰는 의미가 없으며 복잡한 코드일수록 혼란을 주기 때문에, 타입을 제한 하지 않아야 하는 상황이 아니라면 지양합시다 !(•̀ᴗ•́)و ̑̑ 2. Union Type - 자바스크립트의 or(||) 연산자와같은 'A이거나 B이거나' 의 타입을 말합니다. 여러 ..
지금까지는 예외처리를 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..
바로 어제 포스팅에서 우려했던 비동기 코드의 문제가 ! 오늘 시작하자마자 터졌습니다! ✏️ 비동기 코드 실행 순서 이해하기 Javascript에서 비동기 코드를 다룰 때, 일반적으로 코드 블록은 비동기적으로 실행 되기 때문에 여러 개의 비동기 작업이 있다면 이 작업들은 실행 완료되는 속도에 따라 결과가 반환됩니다. 코드가 앞에 있다고 해서 자동으로 뒷 코드가 기다려 주지 않는다는 것.. 🥲 아래 코드를 보면, `conn.query()`를 사용하여 데이터베이스에 대한 쿼리를 수행하고, 그 결과를 콜백 함수 내에서 처리합니다. 그러나 이 쿼리는 비동기적으로 실행되기 때문에 코드의 다음 부분이 실행되는 동안에도 쿼리의 결과를 기다리는 동안 중단됩니다! let delivery_id; let sql = `INSE..