내 로컬 환경에서도 JavaScript 언어를 싱해라기 위해 만들어졌다.terminal 창에서 node 파일이름 을 적으면 된다.Node Package Manager로 Node.js 기반에서 실행될 수 있는 모듈(프로그램보다 작은 단위의 기능들)을 관리하는 관리자를 뜻
Template Literal을 사용하면 작은 따옴표('') 혹은 큰 따옴표("") 대신에 백 틱(\`\`)을 사용해, 하나 하나 감싸주지 않아도 문자열을 삽입할 수 있습니다.또한, 표현식을 삽입하기 위해서는 ${ }으로 변수를 감싸줘야 합니다key와 value가 같으
HTTP란 HyperText Transfer Protocol의 약자로 두 컴퓨터간에 텍스트 데이터를 주고 받는 길입니다.HTTP 라는 길로 요청(request)과 응답(response) 2가지를 서로 주고 받을 수 있습니다.HTTP 요청(Request)과 응답(Resp
1. express 설치 및 구동 터미널에서 yarn add express를 통해 express 설치 터미널에서 yarn init package.json 파일이 생성된다. package.json에 "type": "module" 을 추가해준다. express가 제대로 설
html에서 쓰는 방법axios 가 다운로드 되어 윈도우에 들어가게 된다. => window.axios가 되는것이다!! window생략가능console.log(), alert(), confirm()도 같다. =>window.alert(), window.cofirm()로
api를 보내는 사전학습 api요청하면서 응답을 기다리는 것 async-await 기다리자 - 동기 기다리지 말자 - 비동기(동시에 여러 일 할때 사용) 등록이 완료되기 전에 불러오면 => 데이터 불러오지 못한다.
1\. 컴퓨터 안에 또다른 컴퓨터를 설치하는 것(가장 대표적임) 2\. 내 포트가 이상해 3\. 데이터베이스! 잠시 이것좀 저장해줄래? docker, docker-compose이 같이 설치 되어야함 sudo apt install docker-compose 4\. 서로
백엔드서버와 브라우저를 통할때는 : json프론트엔드서버와 브라우저가 통할때는 : html, css, js프로트엔드(서버)와 백엔드(서버)는 여러개 만들어 질 수 있다.브라우저는 유저 페이지, 관리자 페이지가 존재 한다.하지만 데이터베이스는 하나를 공유한다!!백엔드 컴
1. mongoose를 통한 게시판 만들기 express에 Board담을 통을 만들어서 담아줘서 데이터베이스에 넣어줘야한다. 스키마란? 구조라고 생각하면 편하다. 1) 통만들기 models만들기! db에 성공한 다음에 save()나 find()가 필요하고 awai
1. CLASS/ OOP 설명서 줄게! 이대로 만들어 줄래..? => CLASS MVC 방법으로 폴더 정리 해볼래?? 너무 의존하지마! 나중에 교체하기 힘들거야! => 의존성!! 1) CLASS란? 물건을 만드는 설명서(붕어빵을 만들어 내는 틀) class 붕어빵
1. DI-IOC 1)DI Dependency Injection 의존성 주입 2) 어떻게 하면 new를 줄일까? const productService = new ProductService(); const productService = new Produc
1. nestjs를 쓰는 이유 개발자끼리 파일명 모델명 모든 것이 다르기 때문에 nestjs라는 프레임워크(도구모음)를 통해 통일시키는 것이다!!! 자바 => 스프링(DI제공) 파이썬 => 장고(DI제공x) 자바스크립트 => Nest(DI제공), express(작은규
DBeaver를 통해 DB정보를 볼 수 있다.mongodb - mongodb-compassmysql - DBeaversudo systemctl start mysql = mysql켜기sudo systemctl status mysql = 켜져있는지 상태 보기sudo mys
1. DB 테이블 설계하기 1.데이터베이스 테이블! 제대로 만들어 볼래?! 스타벅스 데이터베이스! 나도 한 번 만들어 보자! 백엔드 개발자라면 ERD(관계도 그림)는 그릴 줄 알아야지! 1) 정규화 데이트 퀄리티를 보장하기 위해 정규화를 한다. 중복된 데이터를 분리
1. mysql-relation ORM! 너없으면 안되겠어! DB, API! 너네 베프구나? 에러! 더이상 그냥 못 지나쳐! mysql을 이용해 데이터베이스를 만들어 볼 것이다.
1. callback 1) 함수를 매개변수에 넣을 순 없을까? 2) 왜쓸까? 그전에는 요청을 기다리고 사용하는 것이 없었기에 콜벡 함수를 썼다. 2. promise 3. asyncawait
1. 복습 초록색은 graphql과 관련된것 빨간것은 DB랑 관련된것이다. 타입을 뽑아낸다.
로그인 1. 로그인의 역사 session 테이블에 로그인 sessionid를 만들어서 로그인증표로 인증과 인과를 함 인증- 이메일과 비밀번호를 통해 로그인증표를 받아오는 작업 인가- 로그인증표를 통해 원하는 API를 실행하는 작업 scale-up : 본체를 뜯어 메모
AccessToken이 탈취될 수 있기 때문에 Token만료기간이 있다. 이 만료기간이 지나면 다시 로그인을 해야하는 불편함이 있어RefreshToken을 쓰게 된다.로그인시 accessToken(1h), refreshToken(2h)를 생성하고 브라우즈 변수에 ac
PG사랑 계약을 하면 알아서 카드사와 카드 결제를 가능하게 해줌현재는 포트원이라고 바뀜브라우저에서 결제하기받은 데이터를 백엔드를 통해 db에 저장하기Graphql도 rest-api의 확장된 버전이며, rest-api와 아예 다른 것이 아니다!!rest-api는 각 요청
데이터베이스 쿼리를 묶어주는 작업의 단위서비스에서 가장 큰 문제는 => 데이터의 오염이다.// 데이터의 신뢰가 깨지기 때문에차라리 전체 다 실패하고, 다시 시도하는 게 안전하다.그러기 위해서는 하나로 묶는 transaction가정이 필요함!!ACID 는 Transact
옵티마이저: 검색을 효율적으로 해주는 DB내장기능실행계획: 효율적인 검색 계획Explain 명령어: 옵티마이저가 결정한 실행계획을 보여줘PK, FK, UNIQUE는 자동으로 인덱스(책갈피) 생성=> 책갈피(인덱스)에서 뽑아오니까 더 빠른 것이다.책갈피 보는 법show
Promise&Promise All / Upload Image(Single File & Multi Files) 이미지 저장 과정을 알려면 숲을 먼저 봐야한다. 기다려야 하는데 await를 못쓴다면 어떡할래? 이미지 썸네일도 만들어야하고 할게 많다. 1. 이미지
마이크로 서비스 너! Nestjs 폴더를 왜 여러개 만들고 있니?! 그래프뷰엘 MSA는 더 쉽군! 아하! 한 회사에서 다양한 언어를 쓸 수 있구나! 마이크로서비스란? Nestjs 폴더 나누기(DB도 같이 나눠야 함) 나누기전 나눈후 어떤 컴퓨터(서비스)로
TDD 테스트를 위한 코드도 만들어야 한다고? 뭐야 이 사기꾼! 가짜 DB를 주다니! 아니! 기능도 없이 테스트를 한다고? 1. Testcode란?/ Testcode가 필요한 이유 기능을 검사해주는 코드를 만들어주는 것(API요청에 대한) 사람이 모든 api를
내가 만든 API를 배포(공개) 해보자!배포 환경에 4가지가 있다고?!주소창에 자문쇠 붙이고 싶어!(자문쇠가 없는 사이트는 주의 요망이라고 표시가 뜬다)배포를 하는데 있어서 24시간 동안 서버 컴퓨터를 켜놓기가 힘드니까 그 기능을 대신해주는 것이 클라우드이다!!빠르게
표시된 부분을 누르면 빌린 컴퓨터의 내부 쉘로 접속이 된다.해당 쉘은 봉닝의 로컬 컴퓨터와는 상관 없이, 24시간 계속 켜져있는 컴퓨터이며, 해당 컴퓨터를 종료하고 싶으면, 인스턴스 중지를 해줘야 한다.이 컴퓨터는 처음 설정할 떄의 우분투 운영체제이다.그러므로 우분투는
vpc끼리 내부 ip로 움직일 수 있게 해주는 기능브라우저에 api를 요청하면 백엔드 서버가 아닌 클라우드 function에 바로 요청이 되는 기술이다!장점 : 서버가 죽을 걱정이 없다,관리가 편해진다.CloudFunctionLambda단점 : 요청을 하면 서버가 켜지
Kubernetes 심화배포에 들어가면 Kubernetes가 들어가면 전문적으로 데브옵스팀에서 다루기도 한다. 쿠버네티스는 도커랑 명령어가 비슷하다 쿠버네티스로 무중단배포를 할 수 있다. 쿠버네티스를 이요하면 깃허브에 푸쉬(CI/CD: 지속적인 통합/ 배포)를