MongoDB 데이터베이스를 사용할때엔티티 간의 관계에 따라서 어떤식으로 스키마를 구성하면 좋을지 직관적으로 따르기 좋은 가이드를 정리해본다.MongoDB 스키마 디자인에서 첫번째 가이드는 다음과 같다.mongodb-schema-design-rule-01mongodb
!youtubeLPEwb5plEoU다음과 같은 함수가 있다고 생각해보자.이 함수를 사용하는 방법은 크게 세 가지 방법이 있다.일반적인 함수로 사용하기생성자 함수로 사용하기객체 메서드로 할당하기실행 결과는 이렇다.function-keyword-case-1-resultFo
테스트 코드를 편하게 작성하고 싶다면클래스, 모듈, 메소드를 내가 생각하는 것보다 훨씬 더 작은 단위로 쪼개야 한다.물론 실무에서 요구하는 작업 속도에 맞추려면 분리할 수 있는 만큼 분리하는 게 쉽지는 않겠지만코드 덩어리를 정말 잘 나눠보면 테스트 코드 작성이 상당히
테스트 코드 작성과 연관성있는 명언 중에 "공개 API 를 테스트하라" 라는 말이 있다.실제 사용자 관점에 가깝게 테스트 코드를 작성하라는 의미인데하나 클래스, 하나의 모듈에 선언된 모든 메소드에 대해서 테스트 코드를 작성하기 보다는해당 API 가 실제로 사용되는 것과
구글 초창기에는 엔지니어 주도 테스트를 그다지 중요하게 여기지 않았다. 똑똑한 엔지니어들이 소프트웨어를 알아서 올바르게 만들어줄 것이라 기대했기 때문이다. 대규모 통합 테스트를 수행하는 시스템도 일부 있었지만 대규모 통합 테스트를 수행하는 시스템도 일부 있었지만 대부분
사실 컴퓨터 관련해서 무언가를 설명하기 위해서 비유나 은유를 사용하는 것을 그다지 좋아하지 않는다. 정확한 의사소통을 방해하기 때문이다. 그러나 객체지향을 설명하기 위해서 이상한 나라의 앨리스 스토리를 고른 것은 아주 현명한 선택인 것 같다. 왜 객체지향이 단순히 현실
훌륭한 팀장님과 함께하는 것은 생각보다 멋진 일이다.첫째로 훌륭한 팀장님과 함께하면 덜 불안하다.왜 그런지는 아래의 여러가지 장점을 먼저 이야기하고 나서 다시 언급해보겠다.둘째로 나쁜 결정을 피할 수 있게 된다.리더는 언제나 결정을 내리는 사람이다.회사 대표의 결정이
훌륭한 팀장님과 함께하는 것은 생각보다 멋진 일이다.훌륭한 팀장님에 대해서 말하기 전에개인적으로 생각하는 훌륭한 개발자란 무엇인가에 대해서 말해보고 싶다.회사 소속으로서 월급을 받으며 근무를 하거나프리랜서로서 계약을 맺고 근무를 하는 모든 개발자들은개발자이기에 앞서 직
표지이 책은 첫 장부터 굉장히 아프게 때린다.<객체지향의 사실과 오해>를 읽기 전까지는 아는 객체지향 소프트웨어가 실세계의 투영이고, 객체는 현실 세계에 존재하는 사물에 대한 추상화라고 착각해왔다.그러나 노련한 객체지향 전문가들은 본능적으로 위의 문장이 틀렸다는
표지컴퓨터공학이라는 분야를 걷기 시작한지 벌써 N년, 참 오래됐다.어떤 식으로든 소프트웨어 엔지니어링을 계속 하다보면기존의 방식에서 한계를 느끼고 새로운 시작이 필요하다고 느끼는 순간이 몇 번 온다.이런 상황을 극복하려고 다방면으로 내가 가진 능력을 갈고 닦다보면 자주
평소에 관심을 갖고 보던 유튜브 채널 주인이 책을 출판했다고 하기에 큰 맘 먹고 구매를 했다.역시 원서는 비싸다.개발 또는 코딩을 잘 하는 사람이 되고 싶은 욕심도 많지만훨씬 더 본질적인 이슈, 소프트웨어 엔지니어링이란 무엇인지에 대해서도 고민이 많은 요즘이다.비싼 돈
책 <패턴을 활용한 리팩터링> 의 2, 3, 4, 5장은 리팩터링의 당위성에 대해서 서술하는 부분이다. 저자의 경험과 경험에서 얻은 교훈을 복합해서 자신만의 리팩터링 기준점을 만들었고 이걸 독자들과 공유하고 있다. 리팩터링을 잘 하기 위한 방법도 많이 말하지만 저자는
이 포스트는 더 많이 조사하고 학습한 후에 수정해야 한다.아래에는 지금 당장의 생각을 기록해 둔다.(개인적인 생각)테스트 코드의 장점개발 단계에서 보다 빠르게 현재 구현의 오류를 발견할 수 있게 도와준다.테스트 코드는 QA, staging 단계까지 가기 전에 현재 작성
테스트 코드가 얼마나 견고하게 작성되어 있고, 어느 부분이 부족한지한 눈에 쉽게 확인하는 방법이 있다.소스코드 링크nyc 는 테스트 커버리지를 시각화해주는 툴이다. 단순히 시각화에서 그치지 않고 실제 코드에 대한 진단까지 보여주는 아주 유용한 툴이다.터미널을 열고 다음
API 를 테스트하는 유닛테스트를 작성해보자.소스코드 링크REST API 를 작성하면서 사용하는 라이브러리, 테스트 코드에 사용하는 라이브러리를 추가한다.express 는 Http(또는 Https)서버를 실행할 수 있는 가장 인기있고, 가장 가벼운 nodejs 라이브러
이번에는 클래스에 대한 유닛테스트를 작성해보자.소스코드 링크클래스에서 사용하는 라이브러리, 테스트 중에 사용하는 라이브러리를 설치한다.axios 는 User 클래스에서 사용하는 네트워크 통신 라이브러리이다.sinon 은 유닛테스트를 용이하게 하기 위해서 가짜 객체를
가장 작은 테스트의 단위는 테스트 케이스(Test Case) 이고여러 개의 테스트 케이스가 모여서 하나의 테스트 슈트(Test Suite)를 이룬다.참조 링크: https://www.testim.io/blog/test-suites-test-cases-hiera
자바스크립트에서 테스트 코드 작성하는 방법을 알아보자.소스코드 링크명령어를 이용해서 nodejs 프로젝트를 초기화한하고.gitignore 파일을 생성해서 node_modules/ 를 추가한다.이후에테스트 라이브러리 mochaassertion 라이브러리 chai두 가지를
같은 기능이라서 똑같은 코드를 복붙해서 구현해놨지만 그 똑같은 코드 N개 중에서 1, 2군데에만 변경 사항이 있는 경우, 이 같은 기능 같은 코드를 모두 똑같이(또는 최대한 서로 비슷한 구조로) 개선하기이 경우는 백엔드보다는 UI 쪽에서 자주 발견할 수 있을 것 같다.