본문 바로가기

Coding345

Git flow와 branch merge에 대해서 9월 3일부터 회사에서 일을 시작하게 되었다.기존에는 개인적인 소스코드 관리를 위해 깃을 사용하고 있었지만 실제 회사에서 하는 것 처럼복잡하게 관리를 하진 않았다.그래서 실제 업무투입 전, 어느정도 확실히 개념을 잡아놔야 개발에만 집중할 수 있다는 생각이 들었고이렇게 포스팅을 통해 내용을 정리한다.먼저 아래의 사진을 보자. 구글에서 Git flow라고 검색하면 나오는 사진이다.위 내용을 정리해보자면 다음과 같다. - master 브랜치에서는 큼지막한 버전 단위로 관리를 한다. v1, v2, v3처럼- 보통 개발을 하면 master에서 develop이라는 브랜치를 하나 생성한다.- develop에서 feature라는 또다른 브랜치를 생성하고 개발한다.- feature에서 세부 기능들이 하나씩 완료되면 de.. 2018. 8. 14.
Python *args, **kwargs 란 무엇인가 예전부터 코드를 보다보면 인자로 *args, **kwargs를 받는 함수를 상당히 많이 볼 수 있었다. def test(*args, **kwargs): ~~ 대충 이러한 형태로 생긴것들을 말한다.지금까지는 몰라도 크게 문제가 되는 부분도 없었고 굳이 찾아볼 필요성을 못느꼈는데,이번에 진행하고 있는 프로젝트에서 해당 부분의 지식이 필요하여 제대로 찾아봤다.일단 첫인상은 별로였다. C언어의 포인터를 보는 느낌으로 상당히 꺼려지는 느낌이랄까.결론부터 말하자면 아래와 같다. *args는 인자를 tuple형태로 받는다.**kwargs는 인자를 dictionary 형태로 받는다. (key: value 형태) 위 두가지가 핵심 내용이므로 꼭 숙지하도록 하고 간단한 예제를 통해 살펴본다.먼저 *args를 어떠한 형태로.. 2018. 8. 6.
Sequelize.js Incorrect table definition; there can be only one auto column and it must bedefined as a key 오류해결 Sequelize.js로 모델을 정의하고 생성해주려 하는데 다음과 같은 오류가 발생했다. Unhandled rejection SequelizeDatabaseError: Incorrect table definition; there can be only one auto column and it must bedefined as a key 먼저 내가 시도했던건 아래와 같다. export const User = sequelize.define('user', { no: { type: Sequelize.INTEGER, autoIncrement: true }, userid: { type: Sequelize.STRING, allowNull: false, primaryKey: true, }, userpw: { type: S.. 2018. 7. 18.
Node.js Express Json Beautifier 요즘은 Node.js에 관심이 많다.예전에 React.js와 React-Native로 토이 프로젝트들을 많이 진행했었다.뭔가 스택의 통일성이랄까. 같은 언어로 프론트/백을 할수 있다는 점이 마음에 들었고좀 더 깊이 이해할 수 있을것 같았다.튼 요즘은 대부분 API서버를 구축하고 있다.만들면서 장고가 살~짝 그리워졌던 점이 하나 있는데 바로 시각적인 문제였다.장고는 Rest framework를 사용하면 어드민 패널 등 사용자가 보는 모든 View를 기본적으로 이쁘게 꾸며줬다.그래서 데이터값들이 제대로 표현되고 있는지 확인하기도 쉬웠다.하지만 Node.js에는 당연히 그런 부분이 없다. 그래서 관련 자료를 찾아봤다.나는 현재 Express를 위에 올려서 사용하고 있는데, express json beautif.. 2018. 7. 18.
Sequelize.js 로 게시글-댓글 API 설계 방법 현재 Node.js로 API서버를 구축하고 있는데 통신하는 모듈로 Sequelize.js를 이용하고 있다. Django Rest framework를 사용할때는 또 그것만의 ORM문법을 배워서 사용했는데, 이젠 또 다시 문법을 공부해야한다. 심지어 document도 중구난방이라 배우기가 쉽진 않았다고 생각한다. 먼저 환경은 Node.js + Express + MySQL이다. 관계형 데이터베이스를 사용하고 있으므로 Sequelize의 Association 부분을 잘 살펴봐야 한다. 먼저 테이블의 구조는 다음과 같다. [article]- no(PK)- subject- content- created_at- updated_at [comment]- no(PK)- content- created_at- updated_.. 2018. 7. 18.
Sequelize.js Association belongsToMany 정리 Belongs-To-Many associationsBelongsToMany는 source를 여러개의 target에 연결할 때 사용한다. 게다가 target또한 여러개의 source에 연결될 수 있다.Project.belongsToMany(User, {through: 'UserProject'}); User.belongsToMany(Project, {through: 'UserProject'}); 위 코드는 projectId와 userId라는 외래키를 포함하고 있는 UserProject라는 새로운 모델을 생성할 것이다. 속성이 카멜케이스가 될지, 아닐지는 두개의 모델이 조인했을때에 따라 다르다. (이 경우에는 User와 Project)추가적으로, through 를 무조건 정의해줘야 한다.(예전에는 Sequel.. 2018. 7. 16.