Server/Node.js, JavaScript, TypeScript22 Express + TypeScript Boilerplate TL;DR아래 링크의 깃 레포로 들어가서 Repo Clone.npm i 명령어 실행npm run dev 실행해서 서버 실행 테스트.Git Repositoryhttps://github.com/fullth/express-typescript-boilerplate결과설치 방법은 Git Repository의 ReadMe.md를 참고하시면 됩니다.작성한 설치방법에 대한 결과만 해당 게시물에 첨부하도록 하겠습니다.최종 작성된 프로젝트 구조입니다. (repo에 push 하기 위해 .gitignore 파일만 추가되었습니다.)정상적으로 서버가 실행되면 http://localhost:3000로 접속 시 위와 같은 문구가 표시됩니다.Refhttps://blog.logrocket.com/how-to-set-up-node-typ.. 2023. 3. 28. [Node.js] Node.js 프로파일링 Ref이 글은 인프런 퇴근길 밋업 중 김경덕 님의 발표 내용을 정리한 내용입니다.해당 발표는 인프런에서 발표 자료를 제공하고 있으니, 원문을 참고하시는 것을 추천드립니다.서론Node.js는 싱글 스레드인 이벤트 루프로 이벤트들을 처리하며 비동기 API를 사용함.Node.js의 전체 런타임에서 스레드가 하나인 것은 아님. (worker_threads)만약 Event loop에서 CPU-intensive한 작업을 하면 어떻게 될지와 이를 분석하는 툴을 소개하는 것이 발표 주제.CPU-intensiveCPU 연산을 많이 요구해서 오래 CPU를 점유하는 작업.발표자는 호출 시 20초 간 이벤트 루프를 점유하는 함수를 작성하여 호출하였음.테스트를 통해 다른 해당 점유로 인하여 다른 request 들이 처리 안되는.. 2023. 3. 13. [TypeScript] 이펙티브 타입스크립트- 6장 타입 선언과 @types https://velog.io/@fullth/%EC%9D%B4%ED%8E%99%ED%8B%B0%EB%B8%8C-%ED%83%80%EC%9E%85%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-6%EC%9E%A5-%ED%83%80%EC%9E%85-%EC%84%A0%EC%96%B8%EA%B3%BC-types 아이템 45 devDependencies에 typescript와 @types 추가하기 npm에선 package.json을 통해 라이브러리들의 버전을 지정한다. npm은 세 가지 종류의 의존성을 구분해서 관리한다. dependencies 현재 프로젝트를 실행하는데 필수적인 라이브러리들이 포함됨. 런타임에 어떤 라이브러리가 사용된다면 해당 항목에 포함되어야 함. 해당 프로젝트를 npm에 공.. 2023. 3. 13. [TypeScript] 이펙티브 타입스크립트- 5장 any 다루기 any는 프로젝트에 존재하지 않아야 하고 무조건적으로 배척해야 한다고 생각했지만, 챕터에 any다루기가 있는 것으로 보아 피할 수 없는 경우가 반드시 존재하거나, 옳은 방향으로 사용한다면 많은 이점을 가져다 준다거나 등의 이유가 있을 것으로 보임. 어느 방향인지 알아보는 것을 목표로 스터디. 아이템 38 any 타입은 가능한 한 좁은 범위에서만 사용하기 어떤 변수가 A 타입과 동시에 B 타입에 할당 가능하다면, 오류를 제거하는 방법은 두 가지. 변수를 any타입으로 선언 / 함수안의 매개변수를 아이템 39 any를 구체적으로 변형해서 사용하기 아이템 40 함수 안으로 타입 단언문 감추기 아이템 41 any의 진화를 이해하기 아이템 42 모르는 타입의 값에는 any 대신 unknown을 사용하기 아이템 4.. 2022. 6. 13. [TypeScript] 이펙티브 타입스크립트- 4장 타입설계 GitHub - fullth/effective-typescript: Effective TypeScript: 62 Specific Ways to Improve Your TypeScript Effective TypeScript: 62 Specific Ways to Improve Your TypeScript - GitHub - fullth/effective-typescript: Effective TypeScript: 62 Specific Ways to Improve Your TypeScript github.com 아이템 28 유효한 상태만 표현하는 타입을 지향하기(valid-states) 타입을 잘 설계 -> 직관적인 코드를 작성할 수 있음. 효과적인 타입설계 -> 유효한 상태만 표현할 수 있는 타입을 만들어.. 2022. 6. 2. [TypeScript] 이펙티브 타입스크립트- 3장 타입 추론 타입스크립트는 타입 추론을 적극적으로 수행한다. 타입 추론은 수동으로 명시해야 하는 타입 구문의 수를 엄청나게 줄여준다. -> 코드의 전체적인 안정성 향상. 타입스크립트 초보자 vs 숙련자 -> 타입 구문의 수에서 차이 보임. 전부 다 타입을 도배할 필요가 없다는 것을 알 수 있음. 불필요한 타입 구문은 필요없음. 타입 추론에서 발생할 수 있는 문제와 그 해법이 3장의 내용. 목표: 타입 추론이 가능한 경우라도 타입 선언을 작성해야 하는 것이 필요한 상황은 언제인지 이해하기. 아이템 19 추론 가능한 타입을 사용해 장황한 코드 방지하기 결국 타입을 위한 언어 -> 변수를 선언할 때마다 타입을 명시해야 한다고 생각 -> 정곡 let x: number = 12; (x) -> let x = 12; 로 충분. .. 2022. 5. 18. [JavaScript] CallBack Function (코어 자바스크립트(정재남 저- 위키북스)를 참조하여 작성.) 코어 자바스크립트 - YES24 자바스크립트의 근간을 이루는 핵심 이론들을 정확하게 이해하는 것을 목표로 합니다최근 웹 개발 진영은 빠르게 발전하고 있으며, 그 중심에는 자바스크립트가 있다고 해도 결코 과언이 아니 www.yes24.com 콜백함수란? 다른 코드의 인수로서 넘겨주는 실행 가능한 코드를 말한다. 콜백을 넘겨받는 코드는 이 콜백을 필요에 따라 즉시 실행할 수도 있고, 아니면 나중에 실행할 수도 있다. -위키백과- 콜백함수에 대해 일상생활의 알람시계에 비유. 약속시간에 늦지 않기 위해 중간중간 잠에서 깨어 핸드폰을 확인하는 것과(수시로 구하는 함수를 직접 호출), 알람시계의 알람을 맞춰놓는 것. (알람설정 함수를 호출 -> 호출 당.. 2022. 5. 11. [TypeScript] 이펙티브 타입스크립트-(Part.2) 2장 타입스크립트의 타입 시스템 이펙티브 타입스크립트 - YES24 타입스크립트는 타입 정보를 지닌 자바스크립트의 상위 집합으로, 자바스크립트의 골치 아픈 문제점들을 해결해 준다. 이 책은 《이펙티브 C++》와 《이펙티브 자바》의 형식을 차용해 타입스 www.yes24.com GitHub - fullth/effective-typescript: Effective TypeScript: 62 Specific Ways to Improve Your TypeScript Effective TypeScript: 62 Specific Ways to Improve Your TypeScript - GitHub - fullth/effective-typescript: Effective TypeScript: 62 Specific Ways to Improve Y.. 2022. 5. 3. [JavaScript] this (코어 자바스크립트(정재남 저- 위키북스)를 참조하여 작성했습니다.) 코어 자바스크립트 - YES24 자바스크립트의 근간을 이루는 핵심 이론들을 정확하게 이해하는 것을 목표로 합니다최근 웹 개발 진영은 빠르게 발전하고 있으며, 그 중심에는 자바스크립트가 있다고 해도 결코 과언이 아니 www.yes24.com 자바스크립트에서는 실행 컨텍스트가 활성화 될 때(생성될 때), this의 정보가 결정됩니다. (실행 컨텍스트에 대한 설명은 아래 포스팅을 참고하시면 됩니다.) [JavaScript] 실행 컨텍스트 (코어 자바스크립트(정재남 저- 위키북스)를 참조하여 작성했습니다.) (ECMAScript Spec 9.4에 해당 내용이 명세되어 있습니다.) 코어 자바스크립트 - YES24 자바스크립트의 근간을 이루는 핵.. 2022. 5. 3. 이전 1 2 3 다음