npx express-generator 명령어를 사용하면 Express 애플리케이션의 기본 템플릿을 만들어준다.참고로, Express는 Node.js를 위한 웹 프레임워크이다!express-generator는 프로젝트 구조만 생성하고, dependencies(의존성)는 자동으로 설치하지 않는다. 따라서 프로젝트 생성 후 아래 명령어들을 실행해야 한다.npm install # 의존성 설치npm start # 서버 실행 생성된 Express 프로젝트 구조.├── app.js├── bin│ └── www├── package.json├── public│ ├── images│ ├── javascripts│ └── stylesheets│ └── style.css├── routes..
분류 전체보기
자바스크립트 실행 환경모든 브라우저와 Node.js는 자바스크립트 엔진을 내장하고 있어, 자바스크립트 코어인 ECMAScript를 실행할 수 있음.하지만 브라우저와 Node.js에서 ECMAScript 이외에 추가로 제공되는 기능은 서로 호환되지 않음. 브라우저는 웹페이지를 브라우저 화면에 렌더링하는 것이 주 목적이지만, Node.js는 브라우저 외부에서 자바스크립트 실행 환경을 제공하는 것이 주 목적이기 때문.브라우저에서만 지원하는 클라이언트 사이드 Web API(Client-side APIs)ex: DOM API (파싱된 HTML 요소를 선택하거나 조작)Node.js에서만 지원하는 Node.js Host APIsex: 파일을 생성하고 수정할 수 있는 파일 시스템 API보안상의 이유로 브라우저 환경의 ..
2.1 자바스크립트의 탄생1995년, 90%의 시장 점유율로 웹 브라우저 시장을 지배하던 넷스케이프 커뮤니케이션즈.Brendan Eich가 자바스크립트 개발.Mocha -> LiveScript -> JavaScript 로 이름이 바뀜.2.2 자바스크립트의 표준화1996년 마이크로소프트가 JScript라는 파생 버전을 출시함.넷스케이프 커뮤니케이션즈와 마이크로소프트는 자사 브라우저의 시장 점유율을 높이기 위해 자사 브라우저에서만 동작하는 기능 추가하기 시작함.-> 최초의 크로스 브라우징 이슈넷스케이프 커뮤니케이션즈는 ECMA 인터내셔널에 자바스크립트의 표준화를 요청함.1997년, 자바스크립트는 ECMAScript로 명명됨. (초판, ES1)2015년에 공개된 ECMAScript 6(ECMAScript 20..
자바스크립트 형 변환 (type conversion)자바스크립트에서, 함수와 연산자에 전달되는 값들은 대부분 적절한 자료형으로 자동 변환된다. let a = "5";let b = "10";// 자바스크립트는 문자열을 숫자로 변환한 후 비교함console.log(a > b); // false ("5"와 "10"을 숫자로 변환하여 5 > 10을 비교)alert( "6" / "2" ); // 3, 문자열이 숫자형으로 자동변환된 후 연산이 수행let result = 5 + "10"; // "510"이 됨https://ko.javascript.info/type-conversions 형 변환 ko.javascript.info parseInt자동으로 형 변환을 해줄 때가 많지만, 코드의 명확성과 예측 가능한 동..

Express.js는 Node.js 환경에서 사용되는 인기 있는 웹 프레임워크. 간단한 서버 설정과 API 엔드포인트 정의를 쉽게 할 수 있다.https://www.npmjs.com/package/express expressFast, unopinionated, minimalist web framework. Latest version: 4.19.2, last published: 5 months ago. Start using express in your project by running `npm i express`. There are 85293 other projects in the npm registry using express.www.npmjs.comnpm i express Express 서버 설정con..

프론트엔드 개발에서 라이브러리와 프레임워크는 서로 다른 역할을 수행하며, 개발자에게 제공하는 기능과 사용 방식에서도 차이가 있다. 1. 라이브러리와 프레임워크의 기본 개념라이브러리(Library)라이브러리는 특정 기능을 수행하는 도구들의 집합. 개발자는 필요할 때 라이브러리를 호출하여 특정 작업을 수행할 수 있다.라이브러리는 애플리케이션의 흐름을 직접 제어하지 않는다. 대신, 개발자가 필요한 기능을 선택적으로 사용할 수 있다.프레임워크(Framework)프레임워크는 애플리케이션의 기본 구조를 제공하고, 그 안에서 개발이 이루어지도록 한다. 프레임워크는 코드의 흐름을 제어하며, 개발자는 프레임워크가 제시하는 방식에 맞추어 코드를 작성해야 한다.프레임워크는 “제어의 역전(Inversion of Control..

문제 상황git status를 확인하면 분명 로컬에 커밋이 있어서 push가 필요하다고 하는데, git push가 안 되는 상황. 에러 관련 메시지들을 보면error: RPC failed; HTTP 400 curl 22 The requested URL returned error: 400원격 프로시저 호출(RPC)이 실패했다, HTTP 400 오류가 발생했다고 한다. 이는 클라이언트 측 요청이 잘못되었음을 의미한다.send-pack: unexpected disconnect while reading sideband packet사이드밴드 패킷(데이터 전송을 위한 패킷)을 읽는 중에 원격 서버와의 연결이 예상치 못하게 끊겼다고 한다. 해결 방법해결 방법 먼저 살펴보자. git config --get http.p..

Node.jsNode.js의 역할자바스크립트를 웹 브라우저 밖에서도 실행할 수 있게 하는 플랫폼.자바스크립트를 스크립트 언어 이상으로 프로그래밍 언어 역할을 수행하게 함.Node.js의 활용백엔드뿐만 아니라 다양한 분야에서 사용:프론트엔드 프레임워크React와 Vue 등은 Node.js를 기반으로 빌드 및 개발 도구 체인을 제공. Node.js는 자바스크립트의 싱글 스레드 특성을 유지하면서도, 이벤트 기반 및 논블로킹I/O 모델을 통해 비동기 작업을 효율적으로 처리할 수 있도록 설계된 런타임 환경이다! 싱글 스레드 기반 이벤트 루프 자바스크립트의 싱글 스레드 특성자바스크립트 언어 자체는 싱글 스레드로 설계되어있다. 즉, 한 번에 하나의 작업만을 처리할 수 있는 것이다. 이벤트 루프Node.js는 싱글 스..

모듈(Module)특정 기능을 캡슐화한 코드의 블록 또는 파일. 재사용성과 코드의 조직화를 돕는다.1. 기본 내장된 것Node.js에는 다양한 기본 내장 모듈이 포함되어 있다.setTimeout()fs, http, path 등.2. 외부 모듈Node.js 패키지 관리자인 NPM(Node Package Manager)을 통해 설치할 수 있다.설치 후 프로젝트에서 외부 모듈을 사용할 수 있다. Node.js에서 exports는 모듈을 정의하고 외부로 내보내기 위해 사용된다.다른 파일이나 모듈에서 정의된 모듈은 require로 불러와 사용할 수 있다. 라이브러리 vs 프레임워크라이브러리특정 기능을 수행하는 도구의 집합. 개발자가 필요할 때 호출해서 사용.제어권은 개발자에게 있다! 필요한 기능을 직접 호출하여..
API (Application Programming Interface)소프트웨어 애플리케이션 간에 서로 통신하고 데이터를 주고받을 수 있도록 하는 규칙 집합! Interface인터페이스란? 하나의 사물이 다른 사물과 상호 작용하는 방법이다. CLI, GUI에서 사용하듯! 인터페이스는 '매개체'의 의미를 가진다. REST APIREST API 는 REST원칙을 따르는 API, HTTP 규약을 잘 따른 API다.아래의 글에 REST API와 URI에 대해 상세히 정리한 바 있다.https://yesolz.tistory.com/entry/REST-API-URI-%EC%84%A4%EA%B3%84-%EA%B7%9C%EC%B9%99 REST API URI 설계 규칙API 네이밍을 하다가 고민이 생겼다. [PUT] ..