본문 바로가기

프로그래밍15

[Git] Gitflow Workflow, Branch 관리 Git에서 Branch를 관리하는 방법에는 여러가지가 있지만 그 중 Gitflow Workflow에서 제안하는 Branch 관리 방법을 살펴보자! 총 사용하는 Branch는 5가지이다. 1. Master 제품으로 출시될 수 있는 브랜치이다. 배포가 가능한 상태만 Master 브랜치에 Merge하여 관리한다. 2. Develop 다음 업데이트를 위해 개발하는 브랜치이다. 개발하고 있는 여러 기능들을 Develop 브랜치에서 Merge하고 완료되면 Master 혹은 Release 브랜치로 Merge한다. 개발시 Develop 브랜치를 기반으로 진행한다. 3. Feature 새로운 기능 개발 또는 버그 수정할 때마다 Develop 브랜치에서 분기하는 브랜치이다. Feature 브랜치에서 기능 구현 및 수정이 .. 2020. 7. 29.
[express] pg-promise Express와 PostgreSQL을 pg 모듈을 사용해서 연동하던 중 하나의 Query로 찾은 데이터를 다른 쿼리에서 사용해야하는 경우가 발생하였다. 저번에도 이런 경우가 있었는데 pg에 Query안에 또 Query를 하는 방법으로 구현하여 했으나 promise나 async를 사용해도 비동기가 잡히지 않아 SQL을 수정하여 해결하였다. (사실 SQL을 수정하는게 맞긴한데 코드상 궁금하여 시도 해보았다) 무튼 이래 저래하다가 또 비슷한 경우가 발생해서 코드상으로 어떻게 해볼 수 있지 않을까 삽질하다가 코드로 해결하였다! 바로 pg-promise 모듈을 사용하는 것이다. pg와 pg-promise의 차이점은 pg는 query가 비동기로 진행되는 반면 pg-promise는 promise로 구현이 되어 동기 .. 2020. 7. 26.
[JavaScript] 콜백 함수, Promise, async & await JavaScript는 싱글 스레드로 작동한다. 그래서 자바스크립트는 한번에 하나의 작업밖에 수행하지 못한다. - 끝 - 이 아니라 동시성 프로그래밍을 위해 비동기처리를 한다. 사실 비동기처리를 해도 싱글스레드인데 네트워크 통신을 하면서 UI 작업을 하는 등 동시성을 보일 수 있는지 궁금 할 것이다. 해당 내용을 다루기 위해서는 JavaScript 엔진과 Web API, Task Queue, Event Loop 등을 다루어야 하는데 나중에 다른 게시글로 다루겠다. (궁금한 분은 구글링) * 동기 프로그래밍? console.log('1'); setTimeout(()=>{ console.log('2'); },3000); console.log('3'); Javascript가 아닌 Java나 C, Python 등.. 2020. 7. 23.
[express] postgreSQL 연동 1. postgres 모듈 설치 npm install pg 2. 모듈 import const { Client } = require("pg"); const Query = require('pg').Query 3. 연결을 위한 client 객체 생성 var client = new Client({ user : 'user', host : 'localhost', database : 'postgres', password : 'password', port : 5432, }) 4. connection 확인 client.connect(err => { if (err) { console.error('connection error', err.stack) } else { console.log('success!') } }); 5... 2020. 7. 23.