전체 글

전체 글

    [Node JS] typescript + sequelize + passport로 유저 API 개발 - Sequelize 셋팅

    해당 포스트는 Typescript가 셋팅 되어있어야 합니다. [Node JS] Node.js를 Typescript 프로젝트로 셋팅하기. 1. Node Project 초기화 작업할 폴더를 생성하고 아래의 명령어로 Node Project로 초기화를 해준다. npm init -y 2. Module 설치 프로젝트를 위한 모듈을 설치한다. 이제 배포 할 때 사용하지 않는 모듈은 --save pinomaker.com 해당 포스트 시리즈는 typescript, passport, sequelize를 이용하여, Local 로그인, Kakao 로그인, Naver Login과 JWT까지 다룰 예정 입니다. 1. 필요한 모듈 설치 먼저 sequelize와 유저 관련 API 개발을 위해 필요한 모듈을 아래와 같이 설치하자. d..

    [Node JS] Node.js를 Typescript 프로젝트로 셋팅하기.

    1. Node Project 초기화 작업할 폴더를 생성하고 아래의 명령어로 Node Project로 초기화를 해준다. npm init -y 2. Module 설치 프로젝트를 위한 모듈을 설치한다. 이제 배포 할 때 사용하지 않는 모듈은 --save-dev 옵션을 사용하여 설치하는 데, 주로 typescript의 모듈을 그렇게 설치한다. Typescript로 Node를 진행하기 위해서는 기존의 모듈을 설치하고, @types의 모듈도 배포용으로 설치를 해줘야한다. 따라서 아래와 같이 모듈을 설치한다. npm install typescript express ts-node npm install --save-dev @types/express nodemon 3. 폴더 구조 생성, index.ts 생성 위의 폴더 구..

    [TESLA SHOCK] 테슬라 이야기

    저자 : 최원석 [읽기 전] 책을 읽자는 습관을 들이자고 마음을 먹고, 넷플릭스의 조직 문화에 대한 이야기가 담긴 No Rules와 스파이파이의 성장 이야기 담긴 Spotify Play를 읽었다. No Rules는 넷플릭스의 이야기보다는 전세계의 인재가 모여있고, 인재들이 가고 싶어하는 회사인 넷플릭스가 어떻게 적은 인원으로 많은 성과를 내고 있는 지와 성과를 내기 위한 가장 큰 요인인 조직 문화에 대해서 설명하였고 나는 그 중에서 평범한 사람 10명을 데려온 자원으로 최고의 인재 2명을 데려와 그들만이 모여있는, 즉 인재 밀도가 높은 문화를 형성하는 것이 설득되어버렸다. 그 후에는 스포티파이의 성장 이야기를 보았는 데 역시 스포티파이도 넷플릭스 만큼은 아니지만, 최고의 인재를 모집하는 것에 많은 노력을..

    [React] Cookie + JWT + axios 이용하여 JWT 인증하기.

    오늘은 React로 axios와 cookie를 활용하여 JWT를 구현해보자. 순서는 아래의 이미지와 같다. 1. 로그인 요청 2. AccessToken 응답 3. AccessToken을 Cookie에 저장 4. API 요청 보낼 때 Header에 AccessToken을 담아서 보냄. 5. 서버는 Header의 AccessToken을 이용하여 인증 후 응답. 먼저 Cookie.tsx에서 Cookie 관련 기능을 만들어둔다. react-cookie 모듈을 이용하여 쿠키를 생성, 조회, 삭제 기능을 모듈화하여 타 컴포넌트에서 사용을 용이하게 작성한다. setCookie : 키와 값을 받아서 새로운 쿠키를 생성하고 저장한다. getCookie : 키를 받아서 값을 반환한다. removeCookie : 키를 받아..

    [Spotify Play] 스포티파이 이야기

    저자 : 스벤 칼손, 요나스 레이욘휘부드 [읽기 전] 책을 읽는 습관을 들이자라고 생각을 할 때 어떤 책을 읽을까 고민을 했다. 나는 기업에 대한 이야기를 좋아하기에 어떤 특정한 기법이나 에세이보다는 어떤 기업의 이야기가 담긴 책을 매우 좋아한다. 그래서 전에 음악 스트리밍 서비스를 만들고 싶다는 생각으로 기획을 하고 외주도 맡긴 경험이 떠올라, 해당 업계에서 1위를 달리고 있는 음악 스트리밍 서비스 Spotify에 대해서 알아보고 싶다는 생각을 하여, Spotity에 대해 적은 책이 있나 찾아 보았는 데, 아쉽게도 도서관에 없었기에, 신권 신청을 해서 빠르게 받아 읽어볼 수 있게 되었다. Spotity는 전세계에서 가장 많이 사용하는 음악 스트리밍 서비스다. 우리나라에서만 유독 인지도가 없는 편이 없잖..

    [JavaScript] Hoisting

    Hoisting Hoisting이란 변수의 선언만을 해당 스코프의 맨 위로 끌어올리는 것을 의미한다. 아래의 예시를 보고 이해해보자. 아래의 1번을 보면, x는 console.log아래에서 선언과 초기화가 이루어져있는 데도, Error가 아닌 undefiend가 나오고 있다. 이것이 Hoistring의 예시라고 생각하면 된다. 1번처럼 작성한 코드가 Hoistring으로 2번처럼 아래에서 선언된 변수가 선언만은 위에서 되어 undefined가 나오는 것이다. // 1번 console.log(x) // undefiend var x = 1 // 2번 var x console.log(x) x = 1 그렇다면 Hoisting이 안 된다면 어떻게 될까 아래의 예시를 보면 Hoisting이 되지 않는다면 Refer..

    [JavaScript] Event Loop

    JavaScript에는 동시성 모델인 Event Loop, Call Stack, Callback Queue가 있다. Event Loop EventLoop는 여러개의 스레드를 사용하고, 그 중 우리가 작성한 JavaScript가 실행되는 스레드를 메인 스레드라한다. 이 메인 스레드는 Node JS 프로세스에서는 하나만 존재하며, 한 순간에 한 줄씩 실행된다. 하지만 그 이외의 일을 하는 워커 스레드는 여러개가 존재할 수 있다. Call Stack Call Stack이란 지금 시점까지 호출된 함수들의 Stack이다. 여기서 Stack은 자료 구조 중 하나며, 아래에서 위로 차곡 차곡 쌓이지만, 위에서부터 빼내는 자료 구조다. 즉 함수가 호출 될 때 마다 하나 씩 쌓이고, 리턴 할 때 빠지게 된다. 이벤트 루..

    [No Rules Rules] 넷플릭스 이야기

    저자 : 리드 헤이스팅스, 에린 마이어 [읽기 전] 하루에 버스, 지하철 등 이동 시간이 평균 2시간 정도이며, 나는 부족한 잠을 보충하거나, 핸드폰을 하며 시간을 보낸다. 고등학생 때는 등하교 시간 때 책을 읽었는 데 다시 시작해보자라는 생각에 학교 도서관에 가서 책을 골랐다. 넷플릭스는 급성장한 공룡 스타트업 중 하나로, 개인적으로 전에 관심을 가지고 있던 기업이였고, 다시 책을 읽기에 어려움이 없어 보여 이 책을 선택 하였다. [읽는 중] 2022.08.26( ~ 83P) 중, 고등학생 때 여러 기업에 관한 책을 읽으면서 나는 플랫폼 사업에 있어서는 물론이고, 일반 사업에서도 신규 모집 고객이 아닌 충성 고객을 만드는 것에 집중 하라는 이야기를 많이 보았고, 그 이유에 대해서 책을 통해 알게 되면서..

    [Spring] 싱글톤 패턴

    해당 글은 김영한님의 스프링 핵심 원리 강좌를 정리한 글 입니다. Spring은 기업용 온라인 서비스 기술을 지원하기 위해서 만들어졌고, 대부분의 스프링 어플리케이션은 웹이다. 웹은 주로 여러 개의 클라이언트로부터의 요청이 동시에 발생하게 되고, 요청이 올 때 마다 객체를 생성하게 되는 데 고객 트래픽이 1초에 100이라면 1초에 100개의 객체가 생성 되는 심각한 메모리 낭비가 발생하게 되었다. 해당 문제를 해결 하기 위해서 하나의 객체를 생성하고, 이 객체를 공유하도록 설계를 하여 효율적인 개발을 하게 되는 데 이를 싱글톤 패턴이라고 한다. 싱글톤 패턴 싱글톤 패턴은 클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴이다. 그러기에 객체 인스턴스를 2개 이상 생성하지 못 하도록 막아야하..

    [백준 - 1712] 손익 분기점

    [문제] 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다. 예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만원이 든다.노트북 가격이 C만원으로 책정되었다고 한다. 일반적으로 생산 대수를 늘려 가다 보면 어느 순간 총 수입(판매비용)이 총 비용(=고정비용+가변비용)보다 많아지게 된다. 최초로 총 수입이 총 비용보다 많아져 이익이 발생하는 지점을 손익분기점(BREAK-EVEN POINT)이라고 한다.A, B, C가 주어졌..