JavaScript(6)
-
Nest.js 공부하기 (1)
Nest.js란위 이미지는 구글 트렌드에서 나오는 Nest.js의 최근 5년간의 관심 변화량이다.Nest.js는 Node.js의 서버 애플리케이션 프레임워크로, TypeScript를 기본적으로 사용하고, 모듈러 아키텍처와 의존성 주입(DI)을 통해 유지보수성과 확장성이 높은 애플리케이션을 만들 수 있도록 설계되었고Angular에서 영감을 받아 비슷한 구조와 패턴을 따른다고 한다.Node로 백엔드 개발을 할 때 많은 선택을 받았다는 것을 알고 있었고 사용 해보고 있다.Angular에서 많은 철학적 영향을 받았다고 하는데 나는 Nest.js를 전혀 모르는 상태에서 코드를 보았을 때 Spring boot와 유사한 느낌을 많이 받았다.Javascript는 너무 자유롭고 Standard를 찾기 어렵다는 생각이 많..
2024.11.04 -
javascript, async/await 공부하기 (2편)
async/await 이란? 지금까지 비동기/동기의 의미와 왜 비동기 처리가 필요한지 등등을 간략하게 알아봤다, 그런데 ECMAScript 2017 에서 async 함수가 추가되었다. 콜백헬을 해결해주던 Promise에서 더욱 가독성을 높이고 사람의 입장에서 더욱 일기 쉽도록 만들어 준다. function hello() { return "Hello" }; hello(); 웹 브라우저 콘솔에 위 코드를 실행해 보자, 쉽다 Heollo를 반환한다 async function hello() { return "Hello" }; hello(); 위 코드는 함수 앞에 async라는 키워드가 붙었다, 실행해 보면 이런 모습이다, Promise를 반환했다 그렇다 async 키워드를 붙이면 함수가 그냥 값을 return ..
2023.12.17 -
redux-saga 공부하기
redux란 무엇인가? redux는 react와 가장 많이 사용되지만 redux자체로 존재할 수 있다, 리액트에서 가장많이 쓰이지만 노드나 vue에서도 사용가능하다. redux 와 react 연결하기 - app.js import React from 'react'; import Head from 'next/head'; import withRedux from 'next-redux-wrapper'; import withReduxSaga from 'next-redux-saga'; import { applyMiddleware, compose, createStore } from 'redux'; import { Provider } from 'react-redux'; import createSagaMiddleware ..
2023.12.16 -
javascript, async/await 공부하기 (1편)
자바스크립트에게 비동기란? 자바스크립트는 싱드스레드로 동작한다, 많이 들어보았을 것이다 하나의 스레드이기 때문에 한번에 하나의 작업만을 수행할 수 있다. 특히 Node.js 에서 웹서버를 구현할 때 모든 동작을 비동기로 처리하는 것은 매우 중요하다. 만약 동기로 처리하면 해당 처리가 완료될 때 까지 마치 서버가 멈춘 것처럼 다른 요청을 처리하지 못한다. 비동기가 대체 뭘까? 우리는 편의에 의해 금융/철학/과학/수학/역사/자연 등의 분야로 세상을 분리하지만 이 모든일은 동시에 일어난다. 어디서 이 문장을 봤는지 기억이 않나는데 유발 하라리의 사피엔스 라는 책에서 봤던 것 같다.. 검색으로 정확한 책이름을 찾고 싶은데 않나온다. 아무튼 실제 세상에는 모든것이 동시에 일어나는 일종의 비동기 이다. 하지만 프로..
2023.12.14 -
TypeScript 공부하기
타입스크립트란 무엇인가? 여기 를 누르면 타입스크립트 공식 홈페이지로 이동할 수 있다. 기본적으로 자바스크립트는 1995년 넷스케이프사의 브렌던 아이크가 Navigator2 브라우저에 탑재하기 위하여 만들어진 스크립트 언어이다. 원래 목표가 웹페이지의 보조적인 기능을 수행하기 위함이였고, 초기 브라우저는 서버로 전달받은 html과 css를 렌더링하는 수준이였다. 점차 웹기술이 발전하면서 많은 역할과 기능들을 웹페이지에서 보여주어야 했다. JavaScript의 가장 큰 논리적 장점은 개발자의 머릿속에서 구현하고 싶은 프로그램이 빠르게 프로토타이핑된다는 것 인데 이런 부분이 규모가 거대해지는 웹 어플리케인을 견고하게 하지 못하는 부분도 있다고 생각한다. JavaScript 에는 "프로젝트가 진행될수록 Jav..
2023.11.29 -
Node.js 로그인 구현하기 (passport)
passport란 passport는 npm 모듈이며 로그인처리 및 session 관리를 편리하게 도와준다. passport는 독특하게 Strategy(전략)이라는 개념을 사용한다 passport-local은 로그인을 직접 구현할 때 사용하고 passport-google-oauth, passport-facebook, passport-twitter, passport-kakao, passport-naver 등등 oauth를 통해 SNS가입을 관리하는것도 지원한다. localStrategy 구현하기 npm i passport passport 모듈을 다운로드 받는다. App.js - Root 파일 const passport = require('passport'); const passportConfig = requ..
2023.11.25