스터디노트/알게된 내용 정리하기
-
Mongoose를 사용하는 이유가 뭘까?스터디노트/알게된 내용 정리하기 2023. 3. 21. 14:16
팀에서 Database로 MongoDB를 사용하고 ODM으로 Mongoose를 사용하고 있다. 개인 프로젝트에서 MySQL을 사용하고 ORM으로 sequelize를 사용할 때와 팀에서 ODM으로 Mongoose를 사용하면서 ORM, ODM을 사용하는 근본적인 이유가 궁금해졌다. 왜냐하면 프로젝트 요구사항을 파악했을 때 ORM, ODM을 사용하지 않아도 있을 수 있다고 생각했기 때문이다. ORM, ODM을 사용하게 되면 DB에서 조회할 때 document를 자바스크립트 객체로 바꿔준다는 것 외에 다른 자세한 이유도 학습하기로 했다. Mongoose란?? MongoDB를 위한 ODM (Object Data Modeling) 라이브러리 데이터 모델링 간소화 스키마 기반 접근 방식으로 데이터 일관성을 더 쉽게 ..
-
DDD(Domain Driven Design)이란?스터디노트/알게된 내용 정리하기 2023. 3. 16. 15:48
Domain이란? 해당 비즈니스에서 다루는 분야 DDD(Domain Driven Desgin)이란? 비즈니스 도메일별로 나누어 설계하는 방식 데이터 연관 관계보다는 도메인을 기준으로 설계하는 방법 ex) 대중교통과 리뷰가 1 : N의 관계를 갖는다고 하면 데이터 기준 설계에는 맞지만 도메인 주도 설계에서 직접적인 연관 관계를 맺는 것은 옳지 않다. 도메인 복잡도 ∝ 코드 복잡도 핵심 목표 : Loose coupling, High Cohesion (모듈간 의존도 최소화, 응집도 최대화) Strategic Design (개념 설계), Tactical Design (구체적 설계) 참고자료 https://happycloud-lee.tistory.com/94 DDD 핵심만 빠르게 이해하기 마이크로서비스의 설계 방..
-
else문 지양 vs 지향 && Early return스터디노트/알게된 내용 정리하기 2022. 7. 27. 16:09
if-else문 개발을 하다보면 조건별로 분기시켜야 하는 경우가 많다. 조건이 많은 경우 if-else문을 사용하게 되면 코드의 가독성이 떨어진다고 느껴지는 경우가 많았다. 최근 클린코드를 지향하면서 코딩하고 있고 다른 개발자분들은 if-else문을 어떻게 사용중인지 궁금하여 구글링해보았다. else if문 else if문을 지양하고 새로운 if문으로 작성하여 조건을 분리하는게 좋다는 글을 확인할 수 있었다. 하지만 저 경우 정답은 없다고 생각했다. 또한 조건이 많아 else-if문 또는 if문이 많아지는 경우 switch-case문을 사용하면 가독성이 더 좋다고 느꼈다. if(a > 1) { console.log('a는 1보다 크다'); } else if(a < 1) { console.l..
-
UUID스터디노트/알게된 내용 정리하기 2021. 11. 18. 13:08
UUID란?? 네트워크 상에서 고유성이 보장되는 id를 만들기 위한 표준 규약 128비트 숫자, 32자리의 16진수로 표현 8-4-4-4-12 글자마다 하이픈으로 5개의 그룹으로 구분한다. 중앙관리시스템이 있는 환경이라면 각 세션에 일련번호를 부여함으로 유일성을 보장할 수 있지만 분산 환경에서는 개별 시스템이 id를 발급하더라도 유일성이 보장되야한다. 범용고유식별자 UUID (Universally Unique IDentifier) UUID in JavaScript let uuid = 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function(c) { var r = Math.random()*16|0, v = c == 'x' ? ..
-
Mocha VS Jest스터디노트/알게된 내용 정리하기 2021. 11. 8. 17:15
Mocha란? Node.js에서 유닛, 통합 및 end-to-end 테스트와 같은 다양한 유현의 테스트를 위함 Jest란? 페이스북 개발자들이 만듦(페이스북은 거의 다 만드네..) 유닛 테스트에 초점 다른 JS 라이브러리 및 프레임워크에도 적용할 수 있지만 React를 위한 강력한 프레임워크 Mocha, Jest 비교 Mocha Jest 테스트 러너 테스트 framework 사전 라이브러리 필요 사전 구성 불필요 개발에 관련한 유연성에 초점 Simplicity에 초점 Node.js를 위해 디자인 됨 React를 위해 디자인 됨 참고자료 https://www.merixstudio.com/blog/mocha-vs-jest/
-
Bitbucket스터디노트/알게된 내용 정리하기 2021. 11. 2. 14:12
Bitbucket이란? Atlassian이 소유한 웹 기반 호스팅 서비스 Mercurial 또는 Git 개정 관리 시스템을 사용하는 소스 코드 및 개발 프로젝트에 사용. 요약 Gitlab : 저장소(public : 제한없음, private : 제한없음) Bitbucket : 저장소(public : 제한없음, private : 5유저 이내) Github : 저장소(public : 제한없음, private : 과금) 참고자료 https://lazyjihong.wordpress.com/2015/02/03/git%EC%9C%BC%EB%A1%9C-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0gitlab-bitbu..