전체 글125 Github Actions CI 자동 빌드 및 테스트 하기 협업프로젝트 마지막 주에는 배포를 해야하는데.... 아는게 하나도 없어서 하나씩 공부중이다... 그래도 개인적으로 기본적 토대는 CI는 GitHub Actions로 하고 CD는 Jenkins를 통해 할 계획이다. 물론 AWS로 배포할 것이다. 그래서 오늘은 GitHub Actions로 빌드및 테스트하는 방법을 말할 것이다 CI/CD가 일단 뭔데? CI는 여러 개발자가 하나의 프로젝트에 같이 개발하게된다. 이때 발생하는 불일치를 최소화해주는 개념이다. 애플리케이션 변경 사항 반영할때 자동으로 빌드 및 테스트 되어 만약 테스트가 실패하거나 잘못된 코드가 있으면 공유되는 걸 방지한다. CD는 지속적 배포로 프로젝트의 변경사항을 가상환경에 자동으로 배포하는 것이다. 간단하게 말하자면 자동빌드 및 테스트 통해 코.. 2023. 12. 31. 2022-12-31 일주일 회고록 배포 어떡하냐.. 협업프로젝트 중인데 멘토님 말씀대로라면 배포를 지금부터 하는게 좋다고 하신다. 그러니까 프론트랑 백엔드가 잘 연결되는지 테스트해야하기때문에... 근데 우리 팀에서 아는 분들이 없다는 게... 나도 모름...그냥 모름... 젠킨스가 뭐하는 기술인지도 몰랐음...오늘 공부하긴 할껀데... 할수 있을런지... 멘토링때 어버버버버,..? 멘토링하면서 멘토님이 진짜 면접처럼 이 기술은 왜 사용하는지 에 대해서 물어보신다. 근데 어버버버법 하다가 끝났다. 그냥 대충 알아봤다가 한대 맞은 기분... 그래서 쓰려는 기술 다 알아보고 블로그 작성중이다. 다음 멘토링때는 질문하신거에 다 답변할 수 있었으면..ㅎ 코테 아 코테 하기 시러... 재미도 0ㅇ로 떨어짐 그러다보니 열정 0으로 떨어짐... 지금 .. 2023. 12. 31. [Key Word 개발기] Spring RestDocs 와 Swagger 같이 사용하기 원래 협업 프로젝트때 Spring RestDocs를 통해서 api 문서를 만들려고 했다. 그런데 귀찮은 부분이 있었다. 첫번째 adoc파일을 직접 디자인??해야된다는 점 두번째 문서가 추가되면 asciido 문서를 일일이 편집해야한다는 점 세번째 swagger처럼 직접 테스트 해볼 수 없다는 점이다. 거기다가 팀원분들이 대부분 swagger는 해보셨는데 RestDocs는 처음 사용하시는 것같았다...사실 나는 둘다 사용안해봄... 그런데 찾아보니 Spring RestDocs랑 Swagger를 같이 쓸 수 있는 방법이 있었다. Swagger UI + Spring Rest Docs 위에가 전체적인 흐름이다 1. 기존처럼 테스트코드를 통해 docs문서를 생성 2.docs문서를 openApi3스펙으로 변환 3... 2023. 12. 30. 영속성 컨텍스트와 트랜젝션 이 부분이 계속 헷갈려서 약 1주간 방황하다..역시 jpa 김영한님의 책을 보고 어느정도 정리되었다. Entity Manager 엔티티 매니저는 엔티티를 저장, 수정, 삭제, 조회하는 등 엔티티와 관련딘 모든 일을 처리한다. 즉 가상의 데이터 베이스라고 생각하면 된다. 다만 엔티티 매니저는 여러 스레드가 동시에 접그하면 동시성 문제가 발생하므로 스레드간의 절대 공유해서는 안된다. 궁금증 ) 엔티티 매니저의 경우 가상의 데이터베이스라고 했는데 그럼 실제 데이터베이스의 연결을 지속하는가?? 아니다. 필요한 시점에서 커넥션을 얻는다. 즉 보통 트랜젝션을 시작할때 커넥션을 획득한다 영속성 컨텍스트 엔티티를 영구 저장하는 환경이다. 엔티티 매니저를 생성할때 하나의 영속성 컨텍스트가 만들어진다. 엔티티 매니저가 자.. 2023. 12. 29. [Key Word 개발기] final 컨벤션 개인프로젝트때도 파라미터라든지 수정이 되면 안되는 객체??들한테 final을 붙였는데 협업프로젝트 때에도 나의 추천..???으로 final을 붙이기로 하였다. 근데 나도 사실 다른 분들 깃 보다가 참고한거라 왜 final을 붙이는지에 대해 정확하게 알지 못한다. 이기회에 알아보자구나.. 일단 첫번째로 변수의 재할당을 막기위해 final을 붙였다. 예를들어 public Hello(String hello){ hello="바꾸기" } 이렇게 되면 어떻게 될까?? 의도하지 못한 갑이 할당될 것이다. 물론 그렇지 않기 위해 노력하겠지만 사람인지라..실수가 있을 수 있다. 그래서 만약 파라미터에 final을 붙이면 컴파일 에러가 발생하여 예상치 못한 동작을 사전에 방지할 수 있다. 두번째 수정할 수 없다라는 의미?.. 2023. 12. 29. [Key Word 개발기] Swagger ?? Spring Rest Docs?? 협업 프로젝트에 들어가면서 api문서에 있어 Swagger를 사용할까??Spring Rest Docs를 사용할까?? 고민하였다. 나는 개인적으로는 Spring Rest Docs를 적용하고 싶었다. 그 이유를 여기서 차차 설명할것이다. 첫번째 Swagger는 운영코드에 침투적이다 Swagger를 사용하려면 컨트롤러단에 코드를 추가해야한다.예를 들어 @ApiOperation(value=" 회원 조회 ") @ApiResponses(value = { @ApiResponse(code=200, message ="회원 존재", response=String.class), @ApiResponse(code=500, message = "서버 에러") } @PostMapping("/member/{id}") public Res.. 2023. 12. 29. 이전 1 ··· 8 9 10 11 12 13 14 ··· 21 다음 728x90