본문 바로가기

분류 전체보기59

CI/CD란 무엇인가? 프로젝트를 진행하면서 CI/CD 를 통한 자동화 배포 프로세스를 구축하는 경우가 많다. 우테코에서 이번 팀 프로젝트를 진행하면서 우리팀 역시 CI/CD 프로세스를 구축했으나 결론적으로 CI/CD를 제대로 성공시키지 못했다는 생각을 떨쳐버릴수 없었다. 이번 글에서는 필자가 생각하는 CI/CD란 무엇인지, 그리고 어떤 부분이 문제였는지 한번 작성해 보도록 한다. CI/CD란 무엇인가? 많은 글과 주변 크루들의 이야기를 들어봤을때 CI/CD에 대한 의견이 많이 갈리는것을 볼 수 있었다. redhat에서 작성한 글과 그 외의 여러 글들을 통해 필자가 이해한 CI/CD에 대해 설명해보겠다. 지속적 통합 지속적 통합은 우리가 pr을 날리고 머지하는 행위라고 말하고싶다. 지속적 통합의 목표는 "머지데이"의 문제점을 .. 2021. 9. 27.
테스트 코드를 어느정도 범위까지 작성해야 하는가. 테스트 코드에 대하여 처음 배우고, TDD를 적용하면서 그 위력에 정말 감탄했었다. 처음에는 간단한 자바 프로그래밍을 진행하면서 유닛테스트만 진행하였고, 점점 서비스의 크기를 키우가면서 슬라이드 테스트, 통합테스트, 인수테스트까지 테스트의 범위를 넓혀갔다. 하지만 여러 테스트의 종류를 접하면서 과연 테스트를 어느 범위까지 작성해야 하는가에 대한 고민을 많이 했었는데 이에대한 개인적인 생각을 작성해 보고자 한다. 개인적으로 필자가 생각하는 필요한 테스트는 아래 4가지 이다. 1. 도메인 유닛 테스트 2. 서비스 통합 테스트 3. 서비스 목 테스트 (행위 기반 테스트) 4. 인수테스트 지금부터 각 테스트가 필요하다고 생각하는 이유를 하나씩 설명해 보도록 하겠다. 1. 도메인 유닛 테스트 백번 말해도 안아깝다.. 2021. 8. 18.
레거시 프로젝트 DAO 에서 JPA로 변경할때는 조심하세요. 이전 초여름에 우테코 크루들과 함께 제작했던 프로그램이 있다. [15분 회고 프로젝트] 간단히 도메인을 설명하자면, 크루들의 하루 회고를 위한 프로그램이다. 사용자는 자신의 이름을 작성하고 로그인 한다. (만일 없는 아이디라면 자동으로 가입을 진행합니다.) 사용자는 6시 회고, 10시 회고 중 하나를 선택한다. 6시, 10시가 되면 각 시간의 회고를 선택한 사용자들을 셔플하여 3명, 또는 2명으로 묶어서 페어를 만들고 이를 반환하여 회고를 진행할 인원(페어) 보여준다. 당시에는 JPA를 공부한 상태가 아니었기에 DB관련 로직이 모두 JDBC를 통해 이루어져 있었다. 따라서 JPA를 공부한 지금, 이 시스템을 JPA로 옮겨보고자 한다. 도메인 분석 가장 먼저 할 일은 도메인 모델를 그리는 것이다. 사실 이.. 2021. 8. 17.
Component Scan 구현하기 feat. Pickgit - Authorization Intercepter register 이 글은 우아한테크코스 팀 프로젝트를 진행하며 작성된 글 입니다. 예제 소스: https://github.com/bperhaps/ComponentScan GitHub - bperhaps/ComponentScan Contribute to bperhaps/ComponentScan development by creating an account on GitHub. github.com 안녕하세요. 깃-들다 팀의 손너잘입니다. 이번 글에서는 저희 팀의 인증, 인가 로직 리팩토링과 관련된 이야기를 해보고자 합니다. 현재 저희 팀은 API에 접근하는 유저의 인증 및 인가 로직을 구현하기 위해 Interceptor를 약간 커스텀 하여 사용하고 있습니다. 커스텀을 진행한 이유는 간단한데요, 동일한 URL에 대해서 각각의 .. 2021. 8. 16.