웹 개발/KLUB 프로젝트9 Jest 테스트 작성법 테스트 설계 및 방향 Controller -> Service -> Repository 현재 KLUB 프로젝트는 설계 방향은 위와 같이 Controller에서 Service를 호출하고 다시 Service에서 Repository를 호출하는 방향으로 설계되어 있습니다. Jest로 테스트를 진행할 부분은 Controller와 Service 파일인데 Controller를 테스트하는 경우 Controller 자체의 기능에 집중하기 위해서 Service를 모킹하고 Service를 테스트하는 경우 Repository를 모킹함으로써 격리된 환경에서 테스트를 진행할 수 있습니다. klub 프로젝트는 프론트에서 e2e 테스트를 진행해주기 때문에 백엔드에서는 통합 테스트를 보다는 단위 테스트를 먼저 진행합니다. Jest로 진.. 2023. 7. 27. 배포 관련 링크 창고 Minumal UI Kit https://minimal-kit-react.vercel.app/dashboard/app Minimal UI Kit minimal-kit-react.vercel.app CORS 문제 https://shared.tistory.com/188 짜증나는 CORS(Cross Origin Resource Sharing) 오류 프론트엔드 개발자도 아니지만 웹서비스 관련 코드를 조금 만져야하는 위치에 있는지라 얇은 지식으로 근근히 버티고 있다. 지난번에 브라우저 관련해서 코드를 수정하다가 CORS 이슈를 알게되 shared.tistory.com https://velog.io/@suasue/NestJS-CORS-%EC%84%A4%EC%A0%95 NestJS | CORS 설정 프론트에서 난 에.. 2023. 6. 24. klub 1.2.0 버전 배포 ❗수 많은 구글 시트를 인수인계하면서 데이터를 잃어버리시진 않았나요? ❗회원들이 계속해서 회비 납부가 되었는지, 출석 몇 회인지 물어보지 않던가요? 안녕하세요! 저희는 정보대학 웹개발 동아리 KWEB입니다. KWEB은 KLUE 서비스를 개발 및 유지보수하고 있는 동아리입니다. 그런 KWEB에서 시트 기반의 동아리 관리를 대체할 플랫폼인 KLUB을 새로 출시했습니다! 현재 정보대학 소속 6개 동아리가 시범 사용 중에 있습니다. KLUB에서는 현재 다음과 같은 기능을 제공합니다. ✅ 편리한 회원 명단 관리 - 기존 엑셀 시트로 이전이 가능해요. ✅ 동아리 홍보 및 가입 - KLUB에서 홍보글 쓰고, 가입도 받을 수 있어요. ✅ 회의록, 출석부 관리 - 각 행사마다 출석부, 회의록을 저장할 수 있어요. ✅ 각.. 2023. 6. 4. klub 배포전 QA 진행 팀원들 기말고사 시작 전에 배포를 완료해야해서 QA를 일주일 동안 진행했다. 아무래도 동아리 학기 개념 추가가 너무 덩치가 커서 엄청난 에러가 발생할 것이라 예상했지만 다행히 예상보다 더 큰 에러는 발생하지 않아서 일주일 안에 QA를 끝낼 수 있었다. 다른 부분들은 뭐 이미 기능들이 안정적으로 동작해서 테스트하는데 오랜 시간이 걸리지 않았지만 학기가 변경되는 순간 즉, 모든 동아리 회원 정보, 회비, 모집 학기 등이 이월되는 순간 에러들이 봇물터지듯 흘러나왔다. 아직 나는 백엔드로 포지션을 바꾸고 nest js에 익숙치 않아서 팀원들이 열심히 만든 기능들을 QA하는데 집중하였다. 개인적으로 진행하던 프로젝트들은 테스트 코드를 같이 작성하면서 Spring Rest Docs를 통해 동시에 문서화를 진행하기도.. 2023. 5. 28. git flow 전략이란? klub 개발 프로세스 klub 팀에서 이번주에 1.2.0 버전을 배포 예정이라서 QA를 진행중이어서 git flow 전략에 조금 더 자세히 알아보고자 글을 작성하였습니다. git 브랜치 전략이란? 브랜치 전략이란 여러 개발자가 하나의 저장소를 사용하는 환경에서 효과적으로 협업을 하기 위한 전략입니다. 브랜치 생성, 삭제, 병합 등 git flow 전략을 사용하여 개발자들이 소스를 편하게 관리할 수 있습니다. git 브랜치 전략에는 git flow 전략뿐만 아니라 github-flow 라는 전략도 있지만 klub 팀에서는 git flow 전략을 사용하기에 git flow에 대해서 조금 더 자세히 알아볼 예정입니다. 만약 git flow가 없다면 개발자들은 어떤 브랜치에 PR을 날려야 할지 어떤 브랜치부터.. 2023. 5. 26. klub 개발 일지-20230519 보호되어 있는 글 입니다. 2023. 5. 19. KLUB 소개 보호되어 있는 글 입니다. 2023. 4. 6. 리액트 알면 좋은 것들 1. Nullish coalescing operator -> 전자의 값이 null이거나 undefined일 때만 후자의 값을 return ex) const foo = null ?? 'default string'; 2. clickedFee!==undefined -> !!clickedFee not 연산자를 두 번 사용해서 boolean 타입으로 만들 수 있습니다 3. Early reture 조건문 중 하나라도 만족하지 않는 경우에 false를 바로 반환하여 함수를 빨리 종료합니다. 이를 통해 불필요한 로직의 중첩을 줄이고 가독성을 높일 수 있습니다. 4. 최소한의 권한만 주자 setState함수를 그대로 내려주는 건 하위 컴포넌트에게 너무 많은 권한을 준다. 5. 유사배열객체 const yearList = .. 2023. 4. 4. klue 개발 일지 - 20230330 목표 1. klue 서비스에 학기 개념을 추가하기 위해 페이지 곳곳에서 사용할 수 있는 학기 설정 컴포넌트를 만들어서 url query string으로 학기 정보와 년도 정보를 보낸다. 2. 동아리 자체적으로 최신 학기를 설정할 수 있는 컴포넌트를 만든다. 왜 학기 개념을 추가해야하는가? 기존 klue 서비스는 년도, 학기 개념이 없어서 년도, 학기 개념이 필요한 동아리들의 니즈에 부합하지 않습니다. 동아리에서는 모집이나 회비 관리 등 학기를 기준으로 한 다양한 활동들을 년도별로 운영해야 합니다. 따라서 학기 개념을 추가하여, 학기 정보와 년도 정보를 url query string으로 보낼 수 있는 학기 설정 컴포넌트를 만들어서 이러한 활동들을 보다 쉽게 관리할 수 있도록 합니다. 또한, 동아리 자체적으.. 2023. 3. 30. 이전 1 다음