일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- webhacking.kr
- spring Batch
- sequelize
- 보안
- gcp ci/cd
- 시스템 해킹
- 웹보안
- kotest
- 회고
- 스프링 배치
- gcp
- gcp cloud build
- 백준
- Python
- cloud run
- nodejs
- pwnable.xyz
- hackctf
- 파이썬
- 프로그래머스
- 네트워크
- 포너블
- programmers
- 웹해킹
- Baekjoon
- Batch
- 사이버보안
- docker
- 리버싱
- node.js
목록Node (22)
uju's Tech
개발 진행 중 1 to many의 관계를 갖는 두 db에서 동시에 데이터를 가져와야 하는 일이 발생하였다. 그냥 join을 사용하면 되지 않아? 라는 생각이 떠올라 sequelize의 include를 사용하여 개발을 진행하였으나 원하는 결과대로 출력되지 않았다. 현재 상황을 피드백해보면 creator 테이블에서 전체 데이터를 뽑아오고 emoticonPack 테이블에서 status 을 종류별 개수로 뽑아와야한다. status 칼럼은 3가지 enum으로 할당되어 있어 해당 creator가 어떠한 status를 가지고 있는지 각각 개수를 보여주어야한다. 처음에 시도했던 것은 join과 group by 를 이용하는 것이었다. creators = await Creator.findAll({ attributes: {..
원래 response 되는 형태를 살펴보자. { "id": 1, "name": "My1", "sales": 123, "tag": 1 } 이러한 형태로 반환되는 객체에 recommendation이라는 속성을 추가하여 반환하고 싶었다. 이를 위해서 먼저 recommendation이라는 배열을 만들어주고 push를 해주었다. 이 부분에 대해서는 따로 포스팅 하도록 하겠다. push를 해주어 recommendation 배열을 만들어 주었는데 원하는 형태로 추가되지않고 아래와 같이 출력되었다. data : { ... } recommendation : { ... } 요구된 응답 형태는 아래와 같다. { "id": 1, "name": "My1", "sales": 123, "tag": 1 "recommendation"..
지금까지 Node.js를 기반으로 개발을 진행할 때 항상 Post man으로 Api 응답을 하나하나 확인했었다. 테스트 코드를 사용하면 이와 같은 반복적인 행위를 줄여주고 빠른 오류와 버그 확인이 가능하다. 제일 중요한 부분이라고 생각했던 것은 리팩토링의 기초가 된다는 점이었다. MOCHA를 찾아보니 Node.js의 test 프레임워크로 가장 많이 사용되는 테스트 도구라는 것을 알게되었다. MOCHA를 설치하고 간단하게 코드를 작성해보도록 하겠다. https://mochajs.org/ Mocha - the fun, simple, flexible JavaScript test framework Mocha is a feature-rich JavaScript test framework running on Nod..
개발을 진행할 때 항상 mysql 을 연동하게 진행하다가 최근 aws 과금이 되어버린 경험으로 인해 sqlite3을 이용하여 로컬 db를 생성했다. brew instll sqlite3 을 통해 sqlite3을 설치한다. 위의 사진과 같이 memeber이라는 table을 생성해주고 data를 insert 해주었다. var router = express.Router(); const path = require('path'); const dbPath = path.resolve(__dirname, 'test.db'); var db = new sqlite3.Database(dbPath,(err)=>{ if(err){ console.log(err); }else{ console.log('success'); } }); ..
json객체의 반환 값을 살펴보면 { "status": 200, "success": true, "message": "조회 성공", "data": [ { ... } ] } 이러한 형태로 반환 됨을 확인할 수 있다. 조회를 한다고 가정해보면 "data" 내부에 조회한 데이터의 객체가 들어오게된다. 근데 이러한 형식이 아닌 아래와 같이 데이터 객체의 내용만 반환하고 싶다. { .... 데이터 ..... } 방법은 매우 간단하다. (매우 간단한데 엄청 애먹었다. ,,,:(... .. 구글링해도 별로 안나오고.. 그래서 포스팅한다.._) Tags.readAll() .then(({ code, json, }) => res.status(code).send(json.data)) json 으로 response 하던 것을 ..
1. ESLint global로 설치 sudo npm install -g eslint 2. sudo npm install --save-dev eslint 3. ./node_modules/.bin/eslint --init 4. 3을 실행하면 질문이 나오면서 선택을 해야한다. 필자는 아래 그림과 같이 설정하 였다. 5. 적용된 모습은 아래와 같다. 6. arbinb 적용 module.exports = { env: { browser: true, es2020: true, }, extends: 'airbnb-base', parserOptions: { ecmaVersion: 11, sourceType: 'module', }, rules: { }, };