목록분류 전체보기 (137)
EtoC
프로그램을 개발할때 아예 기초부터 설정하는것이 아닌 다른사람이 작성하여 공유한 코드를 가져오거나 다운로드 받아서 사용하게된다.JAVA에는 Maven,Gradle(최근)이 있고 Python에는 PyPi가 있다.Node.js도 다른사람들이 작성한 라이브러리들을 모아둔 것이 있는데그게바로 NPM(Node Package Manager)이다.과거에는 npm도 다운 받아서 설치해야했지만 근래에는 node.js를 설치하면 npm도 자동적으로 설치되기때문에 따로 다운받을 필요가 없다.1.npm?- npm publish 기능명 : 내가만든 기능을 npm에 올리는 명령어- npm install 기능명 : 다른사람들이 만든 기능을 다운받는 명령어하지만 npm의 다운로드 속도가 느리다고 생각하여 더 빠르게 동작가능한 기술이 ..
팀원분이 email이아닌 핸드폰번호로 회원가입하는 기능을 만들어보고 싶어하셨다. 그래서 "한번 해보죠!"라고 자신있게 말했는데 생각보다 막히는 구간이 많았다. 핸드폰 번호 인증하기가 그 첫번째 구간이였다. 일단 문자 인증서비스를 어디를 이용할까 찾아보았고 네이버와 twilio를 고민했는데 횟수(무료)도 많고 저렴한 twilio를 선택했다. twilio Docs 들어가보면 원하는 서비스를 단계별로 잘 설명해두었다. Twilio 사용하기 1. 회원가입 후 로그인하기 로그인하면 아래의 이미지처럼 step(과정)과 사용언어별로 코드를 알려준다. 2. Account SID 로그인해서 들어온 콘솔화면의 아래쪽을 보면 account Sid와 auth Token 있다. 벌써 기억이 가물가물한데 핸드폰번호 인증을 하고 ..
엑세스토큰과 리프레시 토큰을 공부하고 리프레시토큰을 사용한 로그인기능을 만들어보았다. 그런데 어떠한 에러메세지도 없고 포스트맨에서는 무한 로딩이떴다. 2일동안 리프레시토큰발급이안되었던 문제를 적어본다. 하나하나 다 콘솔을 찍어서 찾아보니 @Req @Res 를 지웠을때 로그인이 되는것을 확인하였다. 1번째 문제 import { Body, Controller, Post, Get, Res, Req, Request, Response, } from '@nestjs/common'; import { AuthService } from './auth.service'; import * as bcrypt from 'bcrypt'; import * as crypto from 'crypto'; import { AuthGuard..
1. MVC(Model View Controller)? 소프트웨어 개발에서 사용되는 소프트웨어 디자인 패턴으로, 이 패턴은 소프트웨어의 구성 요소를 세 가지 주요 부분으로 분리하여 응용 프로그램을 구조화한다. 각 부분은 특정한 역할과 책임을 가지며 서로 간에는 느슨한 결합을 유지한다. 과거 브라우저와 개발자만이 존재했을당시에 개발서버 히니러 json 통신과 html로 통신을 다하였다. 하지만 이 기능들이 분화되면서 json은 백엔드에서 html관련은 프론트엔드에서 전해주도록 분리되었다. mvc패턴은 3가지로 구성된다. M(models): database 생성 및 관리 V(views): 화면에 보여지는 부분으로 HTML 코드를 관리해주는 폴더 C(Controllers): API 부분으로 미들웨어 함수를 분..
새로운 프로젝트를 시작하게되었다. (사실 아직 기획중이지만..) 초기설정만 해두는건 괜찮지않을까하고 초기설정을 해보았다. nest의 document가 굉장히 잘되어있어 생각보다 쉽게 연결하였다. NestJs Database Documentation 아래처럼 공식문서에서 나온대로 설정했을때 DB가 잘 연결되는것을 확인하였다. 그런데 env설정을 하고 연결하니 에러가 났다. 이미지에는 process.env.host라고 소문자로 되어있어서 저게 문제같지만 저때는 env에 소문자로 적어두어서 저게 문제가 아니다. 이게 무슨에러일까 검색해보았다. Error: connect ECONNREFUSED IP주소:3306 at TCPConnectWrap.afterConnect [as oncomplete] 지정된 IP주소나..
1. Nodejs 설치하기 nestjs는 nodejs를 기반으로하기때문에 우선 nodejs를 설치해야한다. NestJS 공식문서 NodeJs 공식문서 NodeJs 설치글 최신버전을다운받는게좋다고하는데 안정적인버전을 원한다면 LTS를 선택하면 된다. nodejs를 설치하면 기본적으로 npm(node package manager)가 함께 설치되기때문에 npm을 바로 사용할 수 있다. 2. Nestjs cli 설치하기 NestJS서버를 구성하기위해 @nestjs/cli를 설치해야한다. cli는 새 프로젝트를 생성할 수 있게 해준다. npm i -g @nestjs/cli설치를 하고 nest를 입력하면 기본적인 명령어들을 보여준다. 3. 프로젝트 폴더 만들기 nest new만 입력하면 프로젝트 명을 무엇으로 할지..
function type 함수에 타입을 지정할때 파라미터와 return값, 2군데에 타입을 지정할 수 있다. 1. 파라미터에 타입 지정하기 위 이미지의 add(x)의 x부분에 ...표시를 해놓고 any타입을 임시적으로 주었으고 타입을 설정해주라고 한다. 함수의 매개변수에 타입을 지정하는 방법은 변수 타입을 선언할때와 같다. let a;라고 선언만 해두면 타입스크립트는 타입을 any로 자동할당해준다. function add(x: nember) { //매개변수에 타입을 지정 return x + 4; } 2. retrun 값의 타입 지정하기 function add(x): number { //return 값을 숫자타입으로 지정 return x + 4; } add(1); //5가 리턴 add("6"); //err..
TypeScript란? TypeScript는 자바스크립트의 문법을 사용하는데 타입을 정하여 사용하는 언어이다. 그런데 새로운 언어로보기다는 애매하고 자바스크립트의 에디터로 부가기능으로 봐도될듯하다. 하지만 typescript에서만 지켜야할 규칙도있고 타입외의 문법도있어 따로 공부해본다. 자바스크립트의경우 Dynamic Typing을 지원하여 자유도가 높아 3 - '3'고 계산이 가능하다 무슨말이냐면 숫자형은 숫자형으로만 계산이 가능한데, 위는 숫자형 - 문자형을 js가 문자형을 숫자로 알아서 바꿔줘서 계산해준것이다. 프로젝트가 작을경우에는 좋은기능이지만 프로젝트가 클경우 이러햔 자유도는 독이 된다. 타입스크립트의경우 타입을 정해서 사용하기때문에 에러로 타입이 다르다고 알려주며 타입이 정해짐..