Backend (83) 썸네일형 리스트형 flask 아나콘다없이 가상환경설정(venv) 이번프로젝트는 아나콘다없이 플라스크가 제공해주는 가상환경을 설정해보았다. https://wikidocs.net/81041 1-03 플라스크 개발 환경 준비하기 이제 본격적으로 플라스크를 이용한 웹 개발 환경을 준비해 보자. 그전에 여러분이 알아야 할 중요한 개념이 하나 있다. 바로 파이썬 가상 환경이다. 우리는 플라스크를 파이썬 ... wikidocs.net 가상환경 만들기 python -m venv 가상환경이름 준비: 파이썬 버전 3이상 설치폴더 위치는 깃에 올라가지않는 위치로 이동한뒤에 가상환경을제작한다. 주로 c드라이브에 설치하는듯하다. 가상환경이름은 프로젝트명으로해야 후에 여러가상환경들을봤을때 덜헷갈린다. 가상환경 실행방법 activate 윈도우에 경우 만들어진 가상환경폴더>Scripts에 이동한.. body-parser의 필요성(undefined 에러 해결) body-parser API즉 http request를 이용하는 req.body를 사용할때는 body-parser가 필요한데 내가원하는 형태의 데이터로 parse(가공) 해야하기때문에 반드시 필요함(parse는 compile에 속함) 또 express 문서에따르면 req.body Contains key-value pairs of data submitted in the request body. By default, it is undefined, and is populated when you use body-parsing middleware such as body-parser and multer. req.body는 request body로 요청된 데이터를 의미하는데 기본적으로 undefined로 뜨게되서 미.. mongoDB Cluster 무료생성후 사용방법 1. Cluster 만들기 회원가입후 프로젝트를 만들고 Build a Database - 무료버전선택 aws로 띄워서 사용할예정이라 이를 선택후 한국과 가까운 싱가포르를 선택후 Create Cluster를 누르면됨 Cluster connect 버튼을 누르면 몇가지 단계를 거쳐야하는데 1. ip제한이 있기때문에 현재 IP 주소 등록을 해줘야함 2.데이터베이스에 접속할 유저 정보를 만들어준다. 3.어떤방법으로 접속할지 선택(mongo shell, 어플리케이션으로 직접, GUI(MongoDB compass)) 테스트 방법(스킵해도됨) npm install mongodb src 폴더에 mongo.js파일을 만든뒤 복사한 코드를 붙인뒤 비밀번호를 입력 후 테스트해봄 async function main(){ // .. [express] pug 설치 및 사용방법(템플릿 그리기) 퍼그는 여러 템플릿엔진중 하나로 syntax가 깔끔한편에 속한다. 퍼그언어를 html로 바꿔 준다. pug 설치 npm install -dev pug pug 설정 이제 express에서 퍼그를 사용해 그릴려면 app을 사용하는 파일에가서 view engine을 pug로 설정해준다. app.set('views', 'src/views')//경로설정 app.set('view engine', 'pug')//뷰엔진에 퍼그등록 app.use('public', express.static('src/public'))//static 미들웨어 절대경로설정 랜더링할때 app.get('/',(req,res)=>{ const resMineType = req.accepts(['json','html']) if(resMineType .. [express] 미들웨어(+ 에러핸들링) 1. 미들웨어 여러개 함수들이 연속적으로 이어서 동작하는 것. express 를 잘활용하는 첫걸음! 각 함수들이 미들웨어라 한다. router도 하나의 미들웨어 기초 next라는 인자를 받아서 next()를 실행해야만 그다음 미들웨어가 출력된다. //@ts-check /* eslint-disable no-console */ const express = require('express') const app = express() // routing app.use('/',(req, res, next)=>{ res.send('hello,express!') console.log('middleware1') // setTimeout(()=>{ next() //next()실행을하지않으면 계속 middleware1이 실행.. [node.js] express 설치와 환경세팅 + 추가설치 npm install body-parser POST 요청한 정보의 본체를 body라고한다. 그 body를 이쁘게 가공해(parsing)주는 프로그램이다. npm install multer POST시 enctype = multipart/form-data형태로 받아 저장하고 이용할수있게 도와줌 -- express 라이브러리를 설치해보자. 서버를 쉽게만들수있게 도와주는 라이브러리. vscode에서 새로운 프로젝트파일을 연뒤 터미널창을 연다. 1. npm이라는 라이브러리를 설치하기위한 도구를 설치 npm init server.js는 시작파일이될예정 2. express 설치 npm install express package.json은 npm init을깔면 자동으로생기는데 라이브러리중 어떤걸 썻는지 기.. [node.js] 간단한 데이터베이스만들기(JSON) JSON파일로 간단하게 데이터베이스를 만들어보자. 서버에 다시접속해도 상관없이 일정한 데이터에 접근할수있어서 장점임. 참고로 데이터베이스가 지원해주는 안정장치가 없어 불안정한 데이터이기때문에 토이프로젝트용임. 준비 database.json { "posts": [ { "id": "1", "title": "my first post", "content": "hi" }, { "id": "2", "title": "node basic", "content": "database with json" } ] } database.back.json 데이터베이스 json파일을 읽어오려면 노드js에서 제공하는 fs(file system) 모듈이 필요하다. 기존의 posts 는 사라지고 getPosts(), savePosts()가.. [nodejs] 간단한 restfulAPI 서버만들기3 - 코드개선(추상화), 리펙토링 추상화? 로직을 묶는다는 것은 추상화를 한다는 것 공통된 패턴을 빼내 항상 일정한 규격에 맞게 행동하도록 코드를 재구축하는것. 현 코드에서는 statusCode, header를 정하고 http body에 표시하는것을 공통으로 쓰고있고 각 요청들마다 url과 메소드등이 필요하다. 잘추상화한 함수를 만들어둬서 타입체크를하도록 잘막아둬야 굳이 런타임에 가지않아도, 유저가 사용하기전에 미리 테스트를 해보기 때문에 안전하다. api.js 기본구조로써 Route와 APIResponse가 들어갈예정. 모듈화가되어 route를 export 할수있게됨 //@ts-check /** * @typedef APIResponse * @property {number} statusCode * @property {*} body */ .. 이전 1 2 3 4 5 6 7 8 ··· 11 다음