전체 글
-
14주차 TIL (1)TIL ( Today I Learned) 2023. 2. 13. 14:47
오늘부터 node.js 의 웹 프레임 워크중 하나인 nest.js 를 배우게 되었는데 코드를 설명하기 전에 오늘은 간단하게 개념에 대한 부분만 정리하려고 한다. express 의 아쉬운점 express 는 Node.js 를 공부하다보면 필연적으로 접하게 되는 웹 프레임 워크이다. 그리고 express 를 공부하기위해 책이나 영상에서는 express를 거의 공식문서 처럼 다룰 정도로 인기가 많고, 많은 사람들이 사용하는 것이다. express 의 기본 구조 const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Hello World !'); }) app.listen(3000, () => ..
-
10주차 TIL (4)TIL ( Today I Learned) 2023. 1. 19. 18:06
오늘 타입스크립트를 이어서 공부하던 도중 함수의 리턴타입이 Promise 다. 라는 부분이 있었는데 Promise 가 무엇인가를 생각 하다가 분명 저번에 promise 에 대해 배웠었는데 머리속에 남지 않아 다시 검색하며 돌아가보니 promise 를 이해하기 위해선 callback 함수를 잘 이해하는 것이 도움이 된다는 글들이 많아 그럼 callback 함수가 무엇인가로 넘어가게 되었다. 그렇게 되면서 생각을 해 보니 내가 callback 함수와 promise에 대해 제대로 이해하지 않고 개념이 부족하다고 생각하여 오늘 다시한번 정리를 해보려고 한다. 우선 callback 함수부터 정리해보겠다. 콜백 함수란 비동기 처리를 하기 위해 사용한다. 다른 함수가 실행을 끝낸 뒤 실행되는 함수를 말한다. // e..
-
10주차 TIL (2,3)TIL ( Today I Learned) 2023. 1. 18. 21:53
어제와 오늘 타입스크립트의 기본타입의 사용법에 대해 공부해 보았다. // number let decimal: number = 6; let hex: number = 0xf00d; let binary: number = 0b1010; let octal: number = 0o744; // string let fullName: string = `Bob Bobbington`; // boolean let isDone: boolean = false; // array let list: number[] = [1, 2, 3]; let list1: string[] = ["안", "녕", "하", "세", "요"]; // 제네릭 타입으로 지정해준 경우 let list2: Array = [1, 2, 3]; let list3: A..
-
10주차 TIL (1)TIL ( Today I Learned) 2023. 1. 16. 17:11
오늘부터 타입스크립트에 대해 공부하기 시작했다. 우선 타입스크립트에 대해 간단하게 정의하자면 타입스크립트(TypeScript) 란 자바스크립트의 슈퍼셋인 오픈소스 프로그래밍 언어이다. 또한 자바스크립트에 타입을 부여한 언어이고 이것은 자바스크립트의 확장된 언어라고 볼 수 있다. 타입스크립트는 자바스크립트와 달리 브라우저에서 실행하기 위해서는 파일을 변환(컴파일) 해주어야 사용이 가능하다. 타입스크립트의 기본 타입은 Boolean Number String Object Array Tuple Enum Any Void Null Undefined Never 이 있는데 let num: number = 10; / let string: string = 'hello' 와 같이 타입을 지정하여 사용 할 수 있다. 그렇다면..
-
9주차 TIL (2)TIL ( Today I Learned) 2023. 1. 11. 23:08
오늘은 어제 했던 부분과 이어서 나머지 부분을 해석했다. const http = require('http'); const fs = require('fs'); const ws = new require('ws'); // 웹소켓 Server 생성 const wss = new ws.Server({noServer: true}); // 비어있는 Set 생성자 생성 (중복값은 하나만 허용) const clients = new Set(); function accept(req, res) { // 웹소켓 연결시에 조건이 만족하면 웹소켓을 실행한다. // url 주소가 /ws 가 맞는지, headers.upgrade에 값이 있거나, // headers.upgrade 에 소문자로 websocket 이란 문자열이 있거나, //..
-
9주차 TIL (1)TIL ( Today I Learned) 2023. 1. 10. 22:34
오늘은 웹소켓에 대해 공부를 해보았다. 우선 웹소켓이 나오기 이전에 기본적으로 HTTP 통신은 단방향 통신으로 이루어져 있기 때문에 이것을 해결하고자 웹소켓과 비슷한 방식으로 Polling, Long Polling 을 사용 했었다가 웹소켓이 등장하게 되었다. 하루종일 웹소켓과 Polling, Long Polling 개념에 대해 공부를 하다가 코드를 보며 해석한 부분이 // 웹소켓 커넥션을 만들기 위해 new WebSocket 호출, // 웹소켓은 ws 와 wss 라는 특수 프로토콜을 사용한다. let url = 'ws://localhost:8080/ws'; let socket = new WebSocket(url); // form 태그 안에 type이 submit이고 이것이 onsubmit 상태가 되었을 ..
-
8주차 TIL (2)TIL ( Today I Learned) 2023. 1. 4. 09:11
오늘은 세탁물을 등록하는 기능에 대해 구현하던 도중 img 파일을 업로드 하는것에 애를 먹었다.. 우선 프론트에서 서버쪽으로 데이터를 보내주는 것은 잘 보내주지만 서버에서 이를 받아오지 못하고 { } 빈 객체로 찍혀 검색을 해보던 도중 multer 라는 미들웨어를 알게 되었고 블로그 글을 찾아봤는데 전부 다음과 같은 코드만 보여주고 결과물이 나오지 않는 것이였다. try { fs.readdirSync('images'); } catch (error) { console.error('not exist directory.'); fs.mkdirSync('images'); // images 폴더가 없을 때 폴더 생성 } const upload = multer({ // 파일 저장 위치 (disk , memory 선택..
-
8주차 TIL (1)TIL ( Today I Learned) 2023. 1. 2. 21:15
저번주 금요일부터 팀프로젝트를 시작했다 오늘은 api기능을 구현하던 도중 이런 에러가 계속 났는데 1시간 정도 뭐가 문제인지 몰라 헤매던 도중 Review 를 모델에서 불러올 때 { } 를 써주지 않아서 였다...... 그리고 나서 다시 실행을 해본 결과 다음과 같은 에러가 발생했는데 Cannot read properties of undefined (reading '내용') 이 구문은 참조를 하지 못할 때 나는 에러이다. 그래서 경로들을 다시 한번 살펴본 결과 다음과 같이 뒤에 review 가 있어서 이것을 지운 뒤 다시 실행해보니 정상작동 ! 에러가 났을 경우 컴퓨터가 친절하게 알려주기 때문에 먼저 에러구문부터 읽는것을 습관화 해야겠다.!!