본문 바로가기
728x90
반응형

분류 전체보기173

[Node.js] 기본세팅 + 시작코드 프로젝트 새로 시작할 때마다 찾기 귀찮아서, 내가 볼려고 만든 초반에 해줘야할 기본세팅과 시작코드이다. npm i express mongoose jsonwebtoken -S npm init -y 프로젝트에 필요한 모듈을 터미널에서 설치한다. jsonwebtoken은 JWT 사용할 경우 설치해주기... // app.js const express = require("express"); const bodyParser = require("body-parser"); const mongoose = require("mongoose"); mongoose.connect("mongodb://localhost/{DB이름써주기}", { useNewUrlParser: true, useUnifiedTopology: true, }.. 2022. 2. 12.
[Node.js] Validation 유효성 검사 + Joi 라이브러리 Validation 유효성 검사란 말그대로 validation은 어떤 것을 검증하는 것이다. 어떤 요청에 필요한 모든 데이터가 정상적으로 들어왔는지 안 들어왔는지를 확인하는게 validation이다. Joi 대부분 유효성 검사를 하게 되면 if문을 자주 사용한다. 하지만 중복적으로 사용하는 코드가 많기에 월마트 개발자들이 유효성 검사를 해주는 라이브러리 Joi를 만들었다. Joi 공식 문서 : https://joi.dev/api/?v=17.6.0 joiSite ## Build Setup joi.dev const Joi = require('joi'); const postUserSchma = Joi.object({ nickname: Joi.string().required(), email: Joi.string.. 2022. 2. 12.
[Node.js] 미들웨어 정의, 유형 미들웨어란 클라이언트에게 요청이 오면 응답하기 위해 목적에 맞게 처리해주는 함수이다. 예를 들어, route를 생성할 때마다 공통된 처리를 하고 싶을 때 어떻게 해야할까? 요청이 들어올 때마다 이 요청이 어떤 유저의 요청인지 인증검사를 해야할 수 있다. 이럴때 코드를 작성하게 되면 route를 하나 만들때 마다 매번 유저 인증을 확인하는 코드를 작성해야한다.. 이러한 반복 작업 혹은 정의한 route에 오기 전에 중간에서 미리 처리해야할 것들을 정의하는 것이 미들웨어다. express.static, express.json, express.urlencoded 같은 함수도 미들웨어를 만들어주는 함수이다. express.static(path) : path에 입력한 경로에 있는 파일을 그대로 서빙해주는 기능을 .. 2022. 2. 12.
[Docker] Error response from daemon: dial unix docker.raw.sock: connection refused 오류 해결 도커 이미지를 생성하려는데 Error response from daemon: dial unix docker.raw.sock: connection refused라는 오류가 떴다. 찾아보니 macOS에서만 일어나는 오류인 것 같다. 우선 도커가 잘 동작하고 있는지 확인해주고 잘 동작하고 있지만 안되었다면 Restart를 눌러주면 된다. 참고 : https://stackoverflow.com/questions/48115302/docker-error-response-from-daemon-connection-error-desc-transport-dial-un 2022. 2. 6.
[ES6] var, let, const 차이점 var var name = 'nime'; console.log(name); 자바스크립트에서 변수를 선언할 때 사용하는 방법 중 하나이다. var를 사용했을 때 발생하는 문제점 var num = 10; if (num == 10) { var num = 20; console.log("num in if : ", num); // num in if : 20 } console.log(num); // 20 하지만 var를 사용하여 변수를 선언해주면 위 코드처럼 if문 안에서 변경이 된 게 밖에서도 영향을 미친다. ES6부터는 구분하기 위해 scope라는 개념이 추가된 let이 등장하게 된다. 📌 scope(유효범위)란? 변수에 접근할 수 있는 범위이다. 전역 스코프는 전역에 선역되어있는 어느 곳이든 해당 변수에 접근 .. 2022. 1. 31.
[Node.js] Node.js란? ES6란? Node.js JavaScript 엔진으로 발단된 JavaScript 런타임 JavaScript를 브라우저 없이 서버에서도 실행시킬 수 있게 하기 위해 만들어졌다. ES6 개별 브라우저마다 방식이 다르기 때문에 표준화 시키기 위해 나온 것이 ECMASScript이다. 매년 꾸준히 변경되고 새로운 기능이 추가되면서 ES1, ES2와 같이 숫자를 바꿔준다. ES6는 6번째 버전으로 2015년에 발표되었고 아직까지 많은 곳에서 표준으로 사용하고 있다. 대표적으로 let, const가 있다. npm 패키지를 설치할때 node에서는 npm을 통해서 필요한 패키지를 설치한다. 2022. 1. 31.
[Web] HTTP API와 REST API API 우선 기본적인 API에 대해서 알아보자. API는 컴퓨터 혹은 프로그램끼리의 연결이다. 어떻게 연결을 할지 정리하고 기준을 정하는 것이 API 명세다. HTTP API HTTP API는 HTTP를 통신 방식으로 사용하는 API이다. HTTP 요청을 통해서 서버에 접근할 수 있도록 한다. REST API REST는 웹 서비스의 구조를 만드는데 활용되는 패턴이다. REST를 이용해서 다른 컴퓨터 혹은 프로그램과의 연결을 더 쉽게 할 수 있다. REST한 프로그램이 되려면 HTTP 메소드 중에서 POST, GET, PUT, DELETE만을 활용해야 한다. 또한 REST API로 불리기 위해서는 필요한 조건들이 있고 모두 충족한다면 RESTful API라고 불린다. 필요한 조건들 클라이언트 - 서버 구조.. 2022. 1. 31.
[Python] for in 반복문, range, enumerate 반복문으로 쓰이는 for문은 상당히 중요하고 유용하게 쓰인다. 1. for in 반복문 num = [1,2,3,4] for i in num: print(i) # 출력 : 1,2,3,4 가장 기본적인 반복문의 형태로 리스트, 배열, 딕셔너리 등 안에 있는 값들을 차례대로 꺼낼 수 있다. 2. for in range() num = 3 for i in range(num): print(i) #출력 : 0,1,2 for i in range(1,10): print(i) #출력 : 1,2,3,4,5,6,7,8,9 for i in range(0,10,5) print(i) #출력 : 0,5 range() 함수를 사용하면 숫자의 범위를 정해 반목문을 실행시킬 수 있다. 3. for in enumerate() num = [.. 2022. 1. 27.
백준 알고리즘 풀이 : 10799번 쇠막대기 python 📌 문제 https://www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 🔖 풀이 처음 문제를 보고 바로 이해하지 못했다. 풀이는 어렵지 않지만 스택을 이용해서 풀어야겠다고 생각하는 문제 이해는 어려운 것 같다. bar = list(input()) answer = 0 stack = [] for i in range(len(bar)): # i가 "("인 경우 if bar[i] == "(": stack.append(bar[i]) # i가 ")"인 경우 else: # "()"라.. 2022. 1. 19.
728x90
반응형