Programming & Platform148 TDD(테스트 주도 개발) 방법론 본질과 개발 주기 TDD(테스트 주도 개발) 방법론 본질과 개발 주기 테스트 주도 개발(TDD)은 소프트웨어를 개발하는 방법 중 하나로, 작은 단위의 테스트 케이스를 먼저 작성하고, 이를 통과하는 코드를 추가하여 반복적으로 소프트웨어를 개발하는 방식입니다. 이는 애자일 방법론 중 하나인 eXtreme Programming(XP)에서 나온 개념으로, 코드의 질을 높이고 유지보수를 용이하게 하는데 주력합니다. TDD 개발 주기 - 실패하는 테스트 코드 작성 실패하는 테스트 코드를 작성합니다. 이 단계에서는 아직 구현되지 않은 기능이나 버그를 나타내는 테스트를 작성합니다. - 성공시키는 코드 작성 실패한 테스트를 통과할 정도의 최소한의 코드를 작성합니다. 목표는 테스트를 통과하는 것뿐입니다. - 리팩토링 중복 코드를 제거하거나.. 2023. 12. 8. JavaScript yarn SyntaxError: missing ) after argument list 해결 JavaScript yarn SyntaxError: missing ) after argument list 해결 초보자부터 숙련된 개발자까지, JavaScript 환경에서 종종 마주치는 문제 중 하나는 프로젝트 설정 및 의존성 관리입니다. 최근 Node.js의 실험적인 기능을 활용하는 프로젝트에서는 더욱 주의가 필요했었습니다. Yarn 테스트에서 발생한 SyntaxError 문제를 해결하기 위한 간단한 조치 방법을 살펴보겠습니다. SyntaxError: missing ) after argument list 1. 문제의 발견과 원인 분석 문제를 발견한건 pakage.json 파일에 이 코드를 추가하고 나서였습니다. "scripts": { "test": "node --experimental-vm-modules.. 2023. 12. 7. Prisma 라이브러리 설치방법 Prisma 라이브러리 설치 방법 손쉽게 시작하는 Prisma 라이브러리 설치하는 방법. 프로젝트를 시작하기 전, 아래 글을 활용하여 Prisma 라이브러리를 손쉽게 설치하고 프로젝트를 구성해봅시다! 🔥 Prisma 라이브러리 설치방법 # yarn 프로젝트를 초기화합니다. yarn init -y # express, prisma, @prisma/client 라이브러리를 설치합니다. yarn add express prisma @prisma/client # nodemon 라이브러리를 DevDependency로 설치합니다. yarn add -D nodemon # 설치한 prisma를 초기화 하여, prisma를 사용할 수 있는 구조를 생성합니다. npx prisma init prisma: Prisma를 터미널에.. 2023. 12. 6. Prisma 소개, Mongoose와 차이, ORM Prisma 소개, Mongoose와 차이, ORM JavaScript와 TypeScript 개발자들을 위한 Prisma는 뛰어난 ORM 기능으로 객체와 데이터베이스를 손쉽게 연결합니다. 다양한 관계형 데이터베이스를 지원하며, MongoDB까지 포함한 다양한 선택의 폭이 돋보입니다. Mongoose와 비교하여 Prisma는 TypeScript 호환성과 다양성을 자랑하며, 코드의 간결함과 가독성을 고려한 모델 정의 방식은 프로젝트를 더욱 효율적으로 만들어줍니다. 쉽게 접근할 수 있는 예시 코드로, Prisma의 매력적인 세계를 경험해보세요! ✨" 1. Prisma란? 💡 Prisma: ORM의 빛나는 세계 Node.js 환경에서는 데이터베이스와 JavaScript 객체를 연결하는 여러 ORM이 있습니다. .. 2023. 12. 4. JavaScript 배열 메소드 find() 쉽게 배우기 - 예시 코드 제공 JavaScript 배열 메소드 find() 쉽게 배우기 - 예시 코드 제공 JavaScript에서 배열을 조작하고, 배열 내에서 원하는 조건을 충족하는 요소를 검색할 때 find() 메소드는 매우 유용한 도구입니다. 이 글에서는 find() 메소드의 사용법과 예시 코드를 통해 이해해보겠습니다. find() 메소드란? find() 메소드는 주어진 조건을 충족하는 배열 요소를 검색하고, 해당 요소를 반환합니다. 이 메소드는 배열을 순회하면서 조건을 검사하며, 조건을 충족하는 첫 번째 요소를 반환합니다. // 기본 문법 const foundElement = array.find(function(currentValue, index, array) { // 조건을 충족하는지 여부를 반환 return conditio.. 2023. 12. 3. JavaScript 배열 메소드 reduce() 쉽게 배우기 - 예시 코드 제공 JavaScript 배열 메소드 reduce() 쉽게 배우기 - 예시 코드 제공 JavaScript에서 배열을 조작하고 배열 요소들을 결합하거나 변환하는 강력한 배열 메소드 중 하나가 reduce()입니다. 이 글에서는 reduce() 메소드의 사용법과 예시 코드를 통해 이해해보겠습니다. reduce() 메소드란? reduce() 메소드는 배열의 각 요소에 대해 주어진 함수를 실행하고, 그 결과를 누적하는데 사용됩니다. 이 메소드를 통해 배열 요소들을 결합하거나 합산하는 작업을 수행할 수 있습니다. // 기본 문법 const result = array.reduce(function(accumulator, currentValue, index, array) { // 현재 요소를 누적 결과에 결합하여 새로운 누.. 2023. 12. 2. Node.js 이상적인 프로젝트 폴더 구조 Node.js 이상적인 프로젝트 폴더 구조 Node.js 프로젝트의 이상적인 폴더 구조에 대해 이야기하려 합니다. 프로젝트의 규모와 복잡성을 고려하여 가독성과 유지보수성을 최대한 강화하는 방향으로 폴더를 구성해보겠습니다. 가독성 높이는 프로젝트 폴더 구조 1. controllers: 로직의 중심 프로젝트의 핵심 로직을 담당하는 컨트롤러 폴더입니다. 각 파일은 특정 URL 라우트에 대한 요청을 처리하는데, 이를 통해 코드를 모듈화하고 유지보수를 용이하게 합니다. // controllers/userController.js class UserController { // 사용자 관련 로직 } 2. models: 데이터의 정수 데이터베이스 모델을 정의하는 폴더로, 테이블과 관계를 명확히 정의합니다. // mode.. 2023. 12. 1. GitHub 커밋 메시지 컨벤션 - 더 나은 협업을 위한 최소한의 예의 GitHub 커밋 메시지 컨벤션 - 더 나은 협업을 위한 최소한의 예의 프로젝트의 품질을 높이고 개발 팀 간의 협업을 강화하기 위한 다양한 커밋 메시지 컨벤션을 활용하는 방법에 대해 알려드리겠습니다. 다양한 커밋 메시지 컨벤션 1. build: 빌드 시스템 및 외부 종속성 변경 시스템 또는 외부 종속성에 영향을 주는 변경사항은 build로 명시하여 관리합니다. 예시 코드로 확인하기 git commit -m "build: npm 패키지 업데이트" 2. ci: CI 구성 파일 및 스크립트 변경 CI 구성 파일이나 스크립트를 수정할 경우, ci를 사용하여 변경 내용을 명시합니다. 예시 코드로 확인하기 git commit -m "ci: GitHub Actions 스크립트 업데이트" 3. chore: 기타 작업 .. 2023. 11. 29. GitHub 브랜치, 로컬과 원격에서 삭제하는 방법 GitHub 브랜치, 로컬과 원격에서 삭제하는 방법 브랜치 관리는 협업 프로젝트에서 핵심적인 부분입니다. 불필요한 브랜치는 적시에 삭제하여 프로젝트를 깔끔하게 유지하는 것이 중요합니다. 이 글에서는 로컬과 원격에서 브랜치를 삭제하는 간편한 방법을 알려드리겠습니다. GitHub 브랜치를 로컬과 원격에서 삭제하는 방법 로컬 브랜치 삭제, 정리의 첫걸음 로컬에서 브랜치를 삭제하는 것은 명령어 한 줄로 간단합니다. 예시 코드로 확인하기 git branch -d fix/search 해당 예시에서는 fix/search 브랜치를 삭제합니다. -d 옵션은 이미 원격에 푸시되고 병합된 브랜치만 삭제할 수 있다는 점을 기억하세요. 원격 브랜치 삭제, 프로젝트의 정리 마무리 로컬에서 브랜치를 삭제했다면, 이제 원격 브랜치를.. 2023. 11. 28. 이전 1 ··· 8 9 10 11 12 13 14 ··· 17 다음