본문 바로가기

분류 전체보기845

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.
Sequelize.js Association OneToMany(hasMany) 정리 이제 OneToMany(hasMany) 차례이다.http://docs.sequelizejs.com/manual/tutorial/associations.html에서 OneToMany() 부분을 번역했다. One-To-Many associations (hasMany)One-To-Many는 하나의 source에서 여러개의 target에 연결되어 있는 형태를 말한다. target들은 정확히 하나의 source에 연결되어있다.const User = sequelize.define('user', {/* ... */}) const Project = sequelize.define('project', {/* ... */}) // 먼저 hasMany 를 정의한다. Project.hasMany(User, {as: 'Worke.. 2018. 7. 16.
Sequelize.js Association hasOne 정리 두번째 내용인 hasOne() 관계에 대한 포스팅이다.이전 글과 마찬가지로 http://docs.sequelizejs.com/manual/tutorial/associations.html 이 글에서 hasOne() 부분만 따로 가져와서 번역했다. HasOnehasOne은 1:1관계에 대한 외래키가 target 모델에 있을 때 사용한다.const User = sequelize.define('user', {/* ... */}) const Project = sequelize.define('project', {/* ... */}) // One-way associations Project.hasOne(User) /* 이번 예제에서 hasOne은 User모델에 projectId 컬럼을 추가할 것이다. 게다가 Proj.. 2018. 7. 16.
Sequelize.js Association belongsTo 정리 개인적으로 ORM을 사용하는건 굉장히 불편하다.SQL Statement에 익숙하지 않은 사람들은 ORM을 통해 사용하는 언어의 형태로 쉽게 작성이가능하여 편하다고 느껴진다고 하는데, 나같은 경우에는 그냥 SQL문으로는 이렇게 하면 되겠지라고쉽게 생각이 들어도 ORM에 맞춰서 코드를 작성하려고 하다 보면 어려웠다.또한 오늘은 Sequelize.js에 대해 작성하는 글이지만 이전에 장고를 사용하면서사용했던 ORM은 또 그것만의 문법이 존재했다.튼, 요즘에는 Node.js를 공부하고 있는데 데이터베이스와 통신하기 위해 Sequelize.js를 사용하고 있고관계 설정에 대한 부분이 헷갈리는 부분이 조금씩 존재하여 아예 그냥 통번역을 해버리기로 했다.본 포스팅은 http://docs.sequelizejs.com/.. 2018. 7. 15.
Javascript ES6 async/await에 대해서 간단하게 적는다.ES7(EcmaScript 7)에는 async/await라는 기능이 존재한다.이전에는 Promise를 통해 코드를 작성했다면, 그 기능을 async/await로 대체할 수 있다.관련 비교하는 내용은 타 블로그에 자세하게 나와있으므로 설명은 생략한다.튼, 코드를 작성하다가 아래와 같은 루틴의 코드를 만들었었다. const test = async () => { await setTimeout(() => { console.log("timeout"); }, 2000); await console.log(1); await console.log(2);} test(); 내가 예상한 결과값은 아래와 같다. timeout12 하지만 위처럼 돌려보면, 12timeout 형식으로 출력됐다.처음에는 연속적인 동기.. 2018. 7. 11.
Node.js express CORS 허용하는 방법 보통 SPA(Single Page Application)에서는 백엔드로 API서버를 두고해당 서버에서 정보를 받아온 후 프론트에서 랜더링 해주는 방식으로 구현한다.나도 이번에 CMS비슷한 사이트를 구축하고 있다.백엔드는 Node.js에 Express엔진을 올려서 사용하고 있으며 프론트는 React.js를 사용중이다.프론트단에서 API서버로 fetch()를 하고 있었는데 아래와 같은 에러가 발생했다. Failed to load http://localhost:4000/api/login: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not.. 2018. 7. 10.