목록개발 공부지식 (41)
개발자의 logs
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/AmQ8q/btrGRkRh4l2/SkpHVGV6D57uqgSzJbKZl1/img.png)
소셜로그인을 구현하고, 계속해서 협업을 진행하던 도중, kakao와 naver 계정사용자들에게도 auth-middleware가 필요하다는 생각이 들었다. 스키마는 일반 user 스키마 한개, 소셜 user 스키마 한 개 따로 쓰고있었다. 고민하던 중 auth-middleware 를 두 개 만들면 되지 않을까? 생각했다. 하지만 auth-middleware를 두개 만들면 api에 middleware 두개가 주렁주렁 달리고, 에러가 많이 발생할 것 같았다. 그래서 하나의 middleware로 두 다른 성격의 유저를 받아 낼 수 있다면 좋지 않을까? 라는 생각으로 auth-middleware 폴더로 향했다. 도착. 와보니 미들웨어에서 findOne where 문으로 verify시킨 값에서 userId를 뽑아내..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/cTcdm3/btrGyOsACTX/Wv5RcZy27bnEnSKJB1VpQk/img.png)
실전 프로젝트 2주차, 인프라 공부에 돌입했다. 우선 Artillery 를 사용해서 부하테스트를 시작했다. 참고한 링크는 아래에 두었다. 먼저 터미널에서 npm i artillery 를 치자. -g 버전은 여러모로 안좋다해서 -g 로 깔았다가 다시 평범하게 install했다. 아래는 시작코드다. npx artillery quick --count 100 -n 50 http://localhost:3000 위 명령어는 http://localhost:8001에 빠르게 부하 테스트를 하는 방법이다. --count 옵션은 가상의 사용자 수를 의미, -n 옵션은 요청 횟수를 의미, --rate 옵션은 초당 요청을 의미한다. 파일을 만들고 그 안에 조건을 넣어서 부하테스트도 할 수 있다. 아래는 내가 우선적으로 간단히..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/8Tu2G/btrGAJv5DD6/8fxkYkAkobQo2v2dmfpljK/img.png)
MVC 패턴이란? MVC패턴이란 모델-뷰-컨트롤러(model–view–controller, MVC)의 약자로 소프트웨어 공학에서 사용되는 디자인 패턴입니다. 이 패턴을 성공적으로 사용하면, 코드의 수정이나 추가가 필요할 때 , 사용자 인터페이스로부터 비즈니스 로직을 분리하였기 때문에 애플리케이션의 시각적 요소와 그 뒤에서 동작하는 비즈니스 로직을 서로 영향 없이 고칠 수 있습니다. MVC에서 모델은 애플리케이션의 정보(데이터)를 나타내며, 뷰는 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타내고, 컨트롤러는 데이터와 비즈니스 로직 사이의 상호 간의 동작을 관리합니다. 출처: 출처: MVC - wikipedia 모델-뷰-컨트롤러 - 위키백과, 우리 모두의 백과사전 ko.wikipedia.o..
// 프론트에게서 인가코드를 받는다 post_1 // 서버에서 인가코드를 가지고 카톡에게서 토큰을 받는다. // 토큰을 클라이언트에게 보낸다. // 클라이언트가 토큰을 바디에 담아서 다시 post 요청을 한다. post_2 // 백엔드에서 토큰을 가지고 다시 카톡에게 정보를 요청한다. // 정보를 클라이언트에게 보낸다. // 클라이언트가 받고 데이터를 파싱해서 다시 보낸다.post_3 // 데이터 파싱문제!! // 백엔드가 받아서 DB에 저장한다. const dotenv = require('dotenv'); dotenv.config(); var axios = require('axios'); var request = require('request'); var socialUser = require('../s..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/bPvZ7X/btrGtQDlZyl/XJl9cAh3VD0wsGm3h36km1/img.png)
위의 그림은 TDD의 개발주기를 표현한 것이다. 단계에서는 실패하는 테스트 코드를 먼저 작성한다. 단계에서는 테스트 코드를 성공시키기 위한 실제 코드를 작성한다. 단계에서는 중복 코드 제거, 일반화 등의 리팩토링을 수행한다. ❓ TDD가 무엇입니까? TDD란 Test Driven Development의 약자로 '테스트 주도 개발'이라고 합니다. 반복 테스트를 이용한 소프트웨어 방법론으로, 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현합니다. 짧은 개발 주기의 반복에 의존하는 개발 프로세스라고 할 수 있습니다. 🍀 TDD 개발 방식의 장점에 대해 말하겠습니다. 먼저 첫번째로 보다 튼튼한 객체 지향적인 코드 생산이 가능합니다. TDD는 코드의 재사용 보장을 명시하므..
https://inpa.tistory.com/entry/EXPRESS-%F0%9F%93%9A-morgan-%EB%AF%B8%EB%93%A4%EC%9B%A8%EC%96%B4 [EXPRESS] 📚 morgan 미들웨어 💯 사용법 정리 morgan 모듈 morgan에 연결 후 포트에 접속하면 기존 로그 외에 추가적인 로그를 볼 수 있다. 위 코드를 실행하여 3000번 포트에 들어간 후 콘솔을 보면 아래와 같은 로그가 찍혀있는 것을 볼 수 있다. inpa.tistory.com 위 코드에서는 인수로 dev를 넣었는데 이 외에 combined, common, short, tiny 등을 넣을 수 있다. - 개발 환경에서는 dev를, 배포 환경에서는 combined를 이용하면 좋다. 출처: https://inpa.ti..