nodejs

nodejs

For TDD , simple start with node.js

1. git에 프로젝트 명으로 repository를 생성 예를 들면 tdd-app 2. set up in desktop 을 클릭하면 내가 원하는 위치에 clone할 수 있다. 3. 아무것도 없는 폴더 겠쥬? 경로는 나를 예로들면 C:\Users\user\Documents\GitHub 4. vs code에서 방금 클론한 폴더를 열고 npm init 5. 항목들 설정하여 package.json 설치 6. 의존성 설정 npm install express mongoose --save 7. 개발의존성 설정 npm install supertest node-mocks-http --save-dev 8. index.js 혹은 server.js 기본구조 const express = require("express"); co..

nodejs

OOP

OOP(Objected-Oriented Programming)는 객체의 관점에서 프로그래밍 하는 것을 의미합니다. 딱 정해져 있는 것은 아니다. 어디까지나 지향이고 대개 둘로 나뉜다. 절차지향 언어 : C언어 객체지향 언어 : Java, Python, C# 등등.. 객체지향 언어와 절차적 언어를 구분하는 방법이야 많지만 대개 아래와 같은 기준아래 절차적 언어와 객체지향 언어가 나뉩니다. 1. 캡슐화, 다형성, 클래스 상속을 지원하는가? 2. 데이터 접근 제한을 걸 수 있는가? 위의 기준을 만족하면 대개 객체지향 성격이 강해집니다. [객체지향 프로그래밍 장점] 1. 모듈화, 캡슐화로 인해 유지보수에 용이하다. 2. 객체지향적이기 때문에 현실 세계와 유사성에 의해 코드를 이해하기 쉽게 만든다. 3. 객체는 ..

nodejs

ejs (html)로 유저정보 가져오기

핵심 : 함수 + GET + 미들웨어 사용하여서 라우터에서 유저정보를 빼서 ejs로 보내준다. getSelf 함수를 이용하는데 유저라우터와 유저스키마와 연결되어있고, getself 함수이용해서 method get 과 미들웨어를 거쳐오면서 유저정보를 ejs로 가져옴 function getSelf(callback) { $.ajax({ type: "GET", url: "/api/users/me", headers: { authorization: `Bearer ${localStorage.getItem("token")}`, }, success: function (response) { callback(response.user); }, error: function (xhr, status, error) { if (sta..

nodejs

router에서 유저정보 사용하기

핵심: 미들웨어 사용 = 미들웨어에서 유저정보를 빼서 라우터로 가져올 수 있음 미들웨어 사용하는게 이해가 안갔음 module.exports = (req, res, next) => { console.log("미들웨어를 지나가유"); // 미들웨어가 확실하게 호출이 되었고, 다음 핸들러가 호출되었다는것을 확신할 수 있음. const { authorization } = req.headers; console.log(authorization); // Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiI2MTliZDk1Y 이런식으로 뜸 // 이것을 어떻게 하냐? 이 Bearer와 뒤에있는 데이터를 어떻게 가져옴?? > split 사용하자(공백스플릿) const ..

nodejs

location 객체 사용법만 !

예제 : URL = https://http://www.google.co.kr/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=html5 alert(window.location.hash); // "#q=html5" alert(window.location.host); // "www.google.co.kr" alert(window.location.hostname); // "www.google.co.kr" alert(window.location.href); // "https://www.google.co.kr/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=html5" alert(window.location.origi..

nodejs

JWT 이해

JWT 특징 jwt는 변조가 불가능하다. ( =서버에서 원하는 데이터를 jwt로 암호화를 하면 서버가 아니면 다른 곳에서는 변조 불가능) 복호화는 어디서나 가능하다. 누구나 볼수 있다. 주민번호 패스워드 이런건 담으면 안되고, 사용자를 구분할 수 있는 정보만을 담는다. 사용자는 모든 api를 호출할 때마다 시리얼라이즈된 값를 가지고 사용자 : '나이거 가져왔어 나 이기능좀 해줘' 서버 : '오 이거 변조안됐네 유효하네 정상이네 알겠어' 이렇게 로그인api 구현하는 느낌 요약 : 서버에서는 클라이언트를 구분할 수 있는 고유한 정보를 담아서 토큰을 클라이언트한테 주고, 클라이언트는 api요청할 때 토큰을 포함해서 보내는느낌

nodejs

package.json 이해 _node.js

package.json 및 목적 node.js 현재 프로젝트에 대한 정보를 저장 및 제공한다. 주로 새로운 프로젝트를 시작하는 npm init 과정에서 자동생성한다. (직접 작성할 수도 있다.) 파일 내의 정보는 키-값 쌍으로 저장되는 단일 json 객체로 구성된다. 필수 입력해야하는 필드는 name, version이지만 후에 사용자 또는 관리자에게 최대한 정보를 제공해주는 것이 좋다. 그리고 현재 프로젝트에서 사용(의존)중인 패키지들의 버전을 기록한다. (의존성 관리) 프로젝트 및 npm 패키지에 대한 정보를 한눈에 담는다. 그리고 그 정보를 이 프로젝트에 연관된 작업자들이 함께 공유하고 업데이트하는 것이 목적이 아닐까 싶다. 개념 name name 과 version 을 통해서 패키지의 고유성을 판별하..

nodejs

var, let, const 차이점 _ javascript

작성하게 된 계기 javascript를 공부하다가 의문이 생겼다. 공부하다보면 변수 선언에 var, let, const 쓰는데 뭐가 기준인지 잘 모르겠다. 궁금증이 들어서 내 코드에 변수선언을 바꿔서 넣어보기 시작했고, 출력값 변화가 없었음. 기준을 알고 싶었고 따로 정리를 해놔야겠다고 생각했다. https://velog.io/@bathingape/JavaScript-var-let-const-차이점 참고,인용 하였습니다. 지금은 딱 두가지만 알아보자. 1. var, let, const 의 차이점 2. 경우에 따라 사용해야 하는 변수선언 1. var, let, const의 차이점 1) var 변수 재선언 시도 var name = 'bathingape' console.log(name) // bathingap..

nodejs

javascript 입문

너무 기본적인건 적지 않겠음. null은 텅텅 비어 있는 값을 의미함 undefined은 변수를 선언만 하고 값이 할당되어 있지 않은 것입니다. let name = null console.log(name) let age console.log(age) 조건문 if (조건) { 조건을 만족할 때 실행할 코드 } 들여쓰기 의미없음 그냥 보기 좋게 하는겨 const distance = 2 if (distance = 2 && distance > 두 상품의 가격 총합은 3000입니다. a와b의 평균은 1500 두 상품의 가격 총합은 5000입니다. c와d의 평균은 2500 function avg(a,b,c) { var abc = a+b+c var avgabc = abc/3 return avgabc } const a..

nodejs

완전 초보자 GIT에 대한 이해 (작성 중)

생활 코딩 GIT 수업을 기반으로 한 이해 --- 일단 용어(명령어) cd : ls -al : 디렉토리내의 파일체크 mkdir : 디렉토리 생성 git init . :이 디렉토리를 버전관리 시작해! ---- 가상의 영역이 있다고 생각함 Working tree : 버전으로 만들어 지기 전단계 Staging Area : Working tree에서 Staging Area 영역에 들어온 파일만 버전업그레이드 해서 Repository에 넣는다. (예를들면 10개 파일 중 2개를 선택해서 Staging Area에 올리겠지?) Repository : 만들어진 버전이 저장되는 곳 (.git을 repository로 봐도 될듯?) ----- 순서 (사용할때마다 달라지는 부분이 있지만 일반적인 흐름을 적어보자) -- 일단 ..

deice
'nodejs' 카테고리의 글 목록