목록개발 공부 (108)
코딩일상
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cdP6aI/btrNxbgEj39/MkQ6KzfnYZSWKVnGjdMadk/img.jpg)
환경 Node.js 가 설치 되어 있어야 합니다. artillery Modern performance testing toolkit for DevOps and SRE. Latest version: 2.0.0-23, last published: 2 months ago. Start using artillery in your project by running `npm i artillery`. There are 35 other projects in the npm registry using artillery. www.npmjs.com artillery 테스트를 하기위해서 테스트 방법을 작성을 하여야 합니다. config: target: "http://localhost:3000" //요청을 보낼곳 phases: - ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/TzTqb/btrMYsIVIPt/y6U7HQFuqM381hMxdeMfk1/img.png)
0) 작성 이유 이 글을 쓰게 된 이유를 간단히 설명하고 본론으로 들어가고자 한다. 프로젝트를 진행하면서 다른 프로젝트들을 참고를 하다 보니 대부분 nginx를 사용을 하는 것이었다.. 응?? 왜 쓰는 거지 저거를 뭐 들어는 봤는데 다사용하는데는 이유가 있을 것이라는 생각이 들었다. 사람들이 많이 쓰는 것은 다 이유가 있는 경우가 대부분이었기 때문이다. 그래서 조금 알아보니 이 nginx도 웹서버라고 한다?? 응??? 이미 저거 없어도 서버는 잘 돌아 가는데 왜 필요하지...? 생각이 들었다... 이런 생각을 하다가 멘토링 시간에 만약 어떤 기능을 발견하고 사용을 해보고 싶다면 그 기능이 탄생한 이유에 대해 먼저 파악을 해보라고 했던 말이 떠올랐다. 그래 일단 nginx 한번 알아보자 마음을 먹게 되었고..
Sequelize를 처음부터 배워서 DB를 다루는데 현재까지 무작정 사용을 해왔다. 뭐가 좋고 뭐가 나쁜거지 이런고민을 하면서도 이부분에 대해서는 무감각하였는데, 지금이라도 알고 가보자 한다. 일단 Sequlize를 처음 배웠을때 ORM이라고 듣고 썼지만 아직까지도 뭐라 해야할지 몰라서 이것부터 짚고 넘어가려고한다. ORM ?? ORM Object Relational Mapping 객체 관계 매핑이다. 객체 관계 매핑은 관계형데이터베이스(내가 배운것은 MYSQL)와 객체지향 프로그래밍(내가 배운것은 자바스크립트)을 매핑해주는 것 매핑(연결)이란 일종의 통역이라고 봐도 되는데 데이터베이스의 테이블과 객체지향 프로그래밍의 클래스가 호환이 되지 않는 것을 호환 ORM을 통해서 SQL Query문을 작성하지 않..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cLpzpD/btrLI3xn1IX/nME5EGqxt5tTVcyiUejj6K/img.png)
CI/CD를 하면 좋은 이유? -어플리케이션 개발 부터 배포까지 서비스 변경사항을 빠르게 배포하기위해서(시장출시 기간 단축) -코드 품질개선(테스트 자동화) -위와 같은 자동화 과정으로 인한 리소스 절감 *개인적이유: 위와 같은 등등의 여러 장점등의 이유는 많았지만 배포하는 과정이 귀찮아서 시작하게된 공부를 조금 정리 해보았습니다.... CI들어가기전 관련용어 컴파일:프로그래머가 작성한 소스 코드를 컴퓨터가 이해 할 수 있는 기계어로 변환하는 과정(한국인 기준 영어->한국어) 빌드:소스코드 파일을 컴퓨터 에서 실행할 수있는 소프트웨어 산출물로 만드는과정 (컴파일된 코드를 실제 실행할수 있는 상태로 만드는일, 컴파일또한 빌드에 속해있는 작업이라생각) 배포:빌드의 결과물을 사용자가 접근 할수 있게 배치하는것..
요청 객체 (Request) 일반적으로 req나 request와 같은 변수로 명명함. 어차피 콜백에 전달되므로 마음대로 지어도 된다. 여기서는 req로 사용. Methods req.params : 이름 붙은 라우트 파라미터를 담는다. ex : app.get(’/:idx’, (req, res) => { res.send(req.params.idx); }); -> req.params(name) : 이름 붙은 라우트 파라미터나 GET, POST 파라미터를 담는다. 하지만 여러가지 혼란을 줄 수 있어 사용하는 것을 지양해야한다. req.query : GET 방식으로 넘어오는 쿼리 스트링 파라미터를 담고 있다. req.body : POST 방식으로 넘어오는 파라미터를 담고있다. HTTP의 BODY 부분에 담겨져있는..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/l6aIq/btrI2ZRAwF5/lnFrNRJXqfU3j2Nctg7bB1/img.jpg)
들어가기에 앞서 용어정리 DBMS(Data Base Mangement System) 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해주는 소프트웨어 RDB(Relational Data Base) 관계형 모델을 기반으로 하는 데이터 베이스를 의미 RDBMS(Relational Data Base Mangement System) 관계형 데이터베이스 관리 시스템을 의미한다. SQL(Strucrued Query Language) 관계형 데이터베이스 관리 시스템의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어 자료의 검색, 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안이 되었다. 데이터베이스를 선택할 때 고민하게 된다...
this의 역할 객체 안에 메소드(함수)가 있을 때 그 메소드가 자신이 속해 있는 객체 내의 값을 사용할 때 객체 이름이 바뀌어도 계속 사용할 수 있게 해주는 키워드다! this 메소드 함수가 속해 있는 객체를 가르키도록 약속 된 특별한 약속어 이다. 목적 객체 kim이 가진 first와 second값의 합을 구하라 this를 사용하기전 var kim = { name:'kim', first:10, second:20, sum:function(f,s){ return f+s; } } console.log("kim.sum(kim.first, kim.second)", kim.sum(kim.first, kim.second));//30 this를 사용하게되면 var kim = { name:'kim', first:10..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/QZ2nB/btrIzFfrFnf/p2LYV4dMnRkrvWNS7BJKzK/img.png)
2줄 요약 super 자식이 부모가 가지고 있지 않는 객체 또는 메소드를 추가 할때 prototype 부모가 가지고있지 않는 객체 또는 메소드 를 부모한테 추가할경우 Super Super를 사용하지 않고 자식요소인 PersonPlus가 부모요소인 Person이 가지고 있지 않는 third라는 생성자와 메소드를 추가 할 경우 Super를 사용하고 자식요소인 PersonPlus가 부모요소인 Person이 가지고 있지 않는 third라는 생성자와 메소드를 추가 할 경우 class Person{ constructor(name, first, second){ this.name = name; this.first = first; this.second = second; } sum(){ return this.first+t..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/JXsgP/btrIx0JZDUs/hhgGHx55LSYk8PzkLxn76k/img.png)
미들웨어란? Express 미들웨어 사용 미들웨어 사용 Express는 자체적인 최소한의 기능을 갖춘 라우팅 및 미들웨어 웹 프레임워크이며, Express 애플리케이션은 기본적으로 일련의 미들웨어 함수 호출입니다. 미들웨어 함수는 요청 오 expressjs.com 웹 서버에서 요청을 받을때 가끔 모든 요청에 대해 공통적인 처리를 하고싶은 경우가 생길 수 있습니다. 그럴경우에 미들웨어를 사용합니다. 미들웨어를 통해 웹 서버의 요청/응답에 대해 공통적으로 관리가 가능합니다. 이런 기능적인 부분 외에도 아주 기본적인 미들웨어로 또한 브라우저가 보낸 데이터를 우리가 쉽게 사용할 수 있게 바꿔주는 미들웨어도 존재합니다. express(node.js의 웹서버 프레임워크)도 미들웨어가 존재 urlencoded: fo..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Eyawx/btrImO5hKco/zKktFGhcgLlkS80DTtxFGk/img.png)
오늘은 몽구스 프레임워크를 사용하면서 도움을 많이 받았던 사이트들에대해 소개해보자고 합니다. 저처럼 삽질 많이 하지 마시고 ㅜㅜ 도움이 되셨으면 합니다. 1. mongoose공식 사이트 역시 모든것에 근본은 공식사이트라고 생각한다. 영어라는 장벽이 있지만 그래도 첫 문제의 해결및 기능 파악은 공식 사이트를 보는것이라 생각한다. Mongoose ODM v6.5.0 Let's face it, writing MongoDB validation, casting and business logic boilerplate is a drag. That's why we wrote Mongoose. const mongoose = require('mongoose'); mongoose.connect('mongodb://local..