본문 바로가기

전체 글

(104)
CI/CD CI/CD (Continuous Integration/Continuous Delivery)는 자동화하여 애플리케이션을 더욱 짧은 주기로 고객에게 제공하는 방법입니다. CI/CD의 기본 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포입니다. CI/CD는 새로운 코드 통합으로 인해 개발 및 운영팀에 발생하는 문제(일명 "통합 지옥(integration hell)")를 해결하기 위한 솔루션 CI/CD(Continuous Integration/Continuous Delivery) 차이 CI/CD는 Continuous Integration/Continuous Delivery(지속적 통합/지속적 배포)를 뜻합니다. CI/CD의 "CI"는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous..
[WIL] 2023.01.25~01.27 설 연휴 후 심화 프로젝트 발표가 있었다. 23일에 팀원들이 모여서 최종 점검을 하기로 하였는데 예상치 못한 결원이 생겼다 결원으로 인해 시간이 좀 더 소요됐지만 모두들 열정적으로 문제를 해결하였다. 밤 늦게까지 다른 팀원의 오류도 같이 잡아준 팀원에게 감사하고 서로 코드를 보며 실력이 향상 되었다. 25일 발표 준비와 발표를 하였고 발표직전까지 모든 팀원이 심혈을 기울였다. 무사히 발표를 마쳤으나 다른 팀의 결과물을 보고 많은 부족함을 느끼기도 하였다. 26~27일엔 단위테스트 강의와 프론트엔드 특강을 들으며 최종 프로젝트에 도움이 될만한 내용을 학습하였다. 꾸준한 반복 학습으로 이전에 배운 내용과 새로운 내용을 모두 접모시켜 최종프로젝트에 임할 것이다.
2023.01.26 단위 테스트 통합 테스트와 단위 테스트 단위 테스트 : 가장 작은 단위의 테스트 방식. 메서드 단위로 테스트를 수행하고, 의도한 결과값이 나오는지 확인하는 수준 (ex: controller, service, repository… 격리해서 따로따로) 통합 테스트 : 어플리케이션이 정상적으로 동작하는지 확인. 여러모듈을 함께 테스트 (ex: controller 메소드를 호출하면 controller → service→ repository 모두 수행) F.I.R.S.T 원칙 Fast : 단위 테스트는 빨라야 한다. Independent : 단위 테스트는 각각의 테스트가 연관되지 않고, 고립되어야 한다. 즉 독립적 이어야 한다. Repeatable : 단위테스트는 반복 가능해야한다. 반복적으로 테스트를 시행해도, 결과는 같아..
[WIL] 2023.01.16~01.20 심화 프로젝트 주간이었다. 발제 후 팀원들과 회의를 거쳐 데이터베이스 설계, API설계 역할 분배를 하였다. 매일 20시에 회의를 진행하기로 하였는데 팀원들의 개인 사정으로 소통이 불안정적이었다. 팀 결성 초반 결원이 생기기도 하였고, 소통에 어려움이 생기니 초반 진행에 어려움이 있었다. 꾸준한 대화를 통해 개선해 나갔다. 주말에는 미비한 부분과 구현한 부분을 점검하는 회의를 진행하였다.
2023.01.19 페이징 Client → Server 페이징 page : 조회할 페이지 번호 (1부터 시작) size : 한 페이지에 보여줄 상품 개수 (10개로 고정!) 정렬 sortBy (정렬 항목) id : Product 테이블의 id title : 상품명 lprice : 최저가 isAsc (오름차순?) true: 오름차순 (asc) false : 내림차순 (desc) Server → Client number: 조회된 페이지 번호 (0부터 시작) content: 조회된 상품 정보 (배열) size: 한 페이지에 보여줄 상품 개수 numberOfElements: 실제 조회된 상품 개수 totalElements: 전체 상품 개수 (회원이 등록한 모든 상품의 개수) totalPages: 전체 페이지 수 first: 첫 페이지인지..
2023.01.18 Shopppingmall 프로젝트(3) 문제점 주문 기능 구현 시 클래스 설계 미흡 시도 주문과 주문 품목을 따로 엔터티를 만들어서 관리하려고 했으나 구현 난이도가 증가해서 구현 시 어려움이 있었음 해결 주문 엔터티에서 주문 항목을 모두 관리하여 프로그램 구조를 간결하게 함 알게된 것 분석과 설계를 치밀하게 하여서 실제 구현할 때 혼란이 없도록 하여야 한다.
2023.01.17 Shoppingmall Project(2) 문제점 깃 체크아웃 시 로컬 브랜치 코드가 날아가는 현상 시도 깃 로그확인 -> 로그가 남지않음 롤백 -> 이미 많은 단계를 거쳐서 롤백이 안됨 로컬파일 확인 -> 변경된 코드가 저장되어 있음 해결 코드의 길이가 길지 않아서 처음부터 다시 작성함 기본 브랜치에서 리베이스하여 재 작성 알게된 것 커밋 푸시를 자주해야겠다. 체크아웃전에 로그를 남겨놓는다. 프로젝트를 최신 상태로 유지 후 커밋 푸시하고, 체크아웃 시 경고창을 확인한다.
2023.01.16 Shopping mall 프로젝트 문제점 팀원들의 건강 문제로 소수의 팀원만 프로젝트 개요를 작성하게 되었다. 리더의 부재로 팀원들이 갈피를 잡지 못하였고, 의견이 좁혀지지 않았다. 시도 폭포수 기법을 사용한 요구 분석과 설계 주어진 과제의 요구사항을 분석한다. 도출된 요구 사항을 바탕으로 ERD, API설계 해결방안 부팀장을 선출하여 팀장의 부재 시 믿고 따라준다. 설계 및 구현 시 발생한 문제점을 즉시 공유한다. Git, Github 등 애자일 툴을 사용하여 협업을 한다. 팀원간 소통을 유지한다. 알게된 것 어떠한 문제로든 결원이 생길 수가 있다. 갑작스러운 인원 변화에 당황하지 말고 애자일 방법론에 따라 체계적으로 분석하고 분업하여 다시 충원될 것에 대비하여야한다.