본문 바로가기

전체 글67

Node.js 교과서 3주차 ✔ Express Node.js 웹 애플리케이션 프레임워크 HTTP 유틸리티 메서드와 미들웨어를 사용하여 빠르고 쉽게 API를 작성 ✔ 라우팅(Routing) 라우팅은 URI(path) 및 특정한 HTTP 요청 메서드(GET, POST 등)인 특정 엔드포인트에 대한 클라이언트 요청에 응답하는 방식을 말한다. express는 라우터를 미들웨어로서 제공하고 있고, 각 라우터는 하나 이상의 핸들러 함수를 가질 수 있다. // 라우터 객체 참조 const express = require('express') const router = express.Router() // 라우팅 핸들러 등록 router.route('/api/login').post() // 체인 라우터 핸들러 router.route('/api/tes.. 2022. 6. 1.
Node.js 교과서 2주차 ✔ NPM(Node Package Manager) 노드의 패키지 매니저 다른 사람들이 만든 소스 코드들을 모아둔 저장소 ✔ package.json "$ npm init" 명령어로 package.json 파일을 만들어 프로젝트의 설정 등을 기록해주는 파일 scripts : 별칭을 사용하여 명령어를 사용(ex. "start": "node index" - "$ npm run(생략 가능) start") dependencies : "$ npm i 패키지명"으로 설치한 의존 패키지(배포용 패키지) devDependencies : "$ npm i -D(--save-dev 동일) 패키지명"으로 설치한 의존 패키지(개발용 패키지) "$ npm i -g(--global 동일) 패키지명"은 글로벌 설치로 전역 설치(사용자가.. 2022. 5. 25.
Node.js 교과서 1주차 첫 Node.js를 공부하면서 개인적으로 정리를 해보고자 작성... 인프런 강의 : [리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지 ✔ Node.js Node.js는 크롬의 V8 자바스크립트 엔진을 기반으로 하는 자바스크립트 런타임이다. 노드는 단일 스레드(Single Thread)와 이벤트 기반이고, 비동기 I/O 처리(Non-Blocking I/O) 모델이다. 그리고 NPM을 통해 방대한 모듈을 제공하고 있다. ✔ 호출 스택 동작 function oneMore() { console.log('one more'); } function run() { console.log('run run'); setTimeout(() => console.log('wow'), 0); new Promise(res.. 2022. 5. 14.
[Spring] 인터셉터(Interceptor) 적용 ✔ InterceptorIntercept은 (중간에) 가로막다[가로채다] 라는 의미이고, 의미와 같이 사용자가 서버로 어떠한 요청을 보낸다.서버에서는 DispatcherServlet이 HandlerMapping을 통해 컨트롤러를 찾아 실행하기 전에, 인터셉터가 등록되어 있다면 순차적으로 인터셉터를 거쳐서 컨트롤러가 실행이 된다. 등록된 인터셉터가 없다면 바로 컨트롤러가 실행된다.인터셉터의 정식 명칭은 HandlerInterceptor이고, HandlerInterceptor에는 3개의 메서드가 있다.✔ Interceptor 구현인터셉터를 구현하기 위해서는 HandlerInterceptor 인터페이스의 3개 메서드를 오버라이딩해서 사용할 수 있고,인터셉터를 따로 등록해 줘야 한다.@Componentpubli.. 2022. 4. 17.
[Algorithm] 소수 구하기 ✔ 에라토스테네스의 체 수학에서 에라토스테네스의 체는 소수를 찾는 방법이다. 고대 그리스 수학자 에라토스테네스가 발견하였다. ✔ 알고리즘 에라토스테네스의 체 방식은 위와 같이 2부터 시작해 해당 배수의 값을 지워 나가면 된다. 에라토스테네스의 시간 복잡도는 O(nloglogn) 이다. 사실 O(nloglogn)이 어느 정도인지 모르겠다... 다만, O(n)인 선형 알고리즘보다 빠르다고 생각하고 있다. 배수의 값을 미리 지우기 때문이라고 생각한다.(DP 느낌? 👀) #include #include using namespace std; int main() { int n=120, cnt=0; vector v(n+1, 1); for(int i=2; i*i 2022. 4. 5.
[Algorithm] 알고리즘 읽기와 분석(시간복잡도) ·코딩 테스트를 준비하면서 지금까지 알고리즘 문제를 풀 때 시간 복잡도/공간 복잡도 등에 대해서는 생각을 안 하고, 문제를 읽고 해당 문제의 조건으로 구현해서 제출하고 맞으면 다른 사람의 풀이 보고 넘어가고 틀리면 "왜 틀렸지?"라고 막연히 생각만 했었다. 그러다 좋은 강의로 인해 시간복잡도 등 분석에 대해서 알게 되어서 기록 및 공유하고자 한다. 먼저 시간 복잡도에 대해서 간단히 얘기하면, 시간 복잡도는 문제를 해결하는데 걸리는 시간과 입력의 함수 관계를 가리킨다. 시간 복잡도는 주로 빅-오 표기법을 사용하여 나타내며, 빅-오 표기법은 계수와 낮은 차수의 항을 제외시키는 방법이다. $$ O(N!) > O(2^N) > O(N^2) > O(NlogN) > O(N) > O(\sqrt{N}) > O(logN).. 2022. 3. 16.