본문 바로가기

전체 글231

setter 대신 builder 그 동안 코드스테이츠에서 setter를 사용하며 setter에만 익숙해져있던 나에게 신선한 충격을 준 말이 있었다. "setter는 현업에서 안써~ builder쓰지." ㅇㅇ엥? 이 편한 setter를 안쓴다고? 왜지? 왜!!!?라고 생각해서 한번 찾아보고 정리해봤다. setter를 사용할때는 매개변수가 굉장히 많은 경우에 일일이 설정하기 굉장히 번거롭다. setter의 사용을 지양하라는 이유중 가장 큰 두가지중 첫번째이유는 의도를 파악하기 힘들다는것이다. 두번째 이유는 객체의 일관성을 유지하기 힘들다는것이다. 물론 setter 대신 생성자를 사용해 객체의 매개변수값들을 설정해 줄 수 있지만, 어떤 매개변수가 필요하지 않을 수도 있다. 고로 builder패턴을 사용하는것이 좋다고 한다. 예를 들어, 우.. 2023. 4. 9.
트러블 슈팅 - 테스트케이스(해결완료) 테스트 케이스를 만들다가 멘탈이 나가버릴것만 같다. 멘토님께서 트러블 슈팅을 해보라 하셔서 바로 해본다. @PreAuthorize("isAuthenticated()") @PostMapping("/{user-id}") public ResponseEntity postResult(@AuthenticationPrincipal UserPrincipal userPrincipal, @RequestBody CalculatorDto.Post requestBody) { User user = userPrincipal.getUser(); Calculator calculator = calculatorService.createResult( calculatorMapper.calculatorPostToCalculator(reques.. 2023. 3. 23.
클라우드 운영전략 ㅇ 프록시 서버 클라이언트가 서버와 소통할 때, 서버에 바로 접근하지 않고 자신을 통해 서버에 접근할 수 있도록 해주는 일종의 대리서버 보통 지역이 제한되어있는 서비스를 이용하기 위해 캐시를 통해 프록시 서버를 사용한다. ㅇ 프록시 서버의 종류 Forward Proxy : 클라이언트 가까이에 위치한 프록시 서버로 클라이언트를 대신해 서버에 요청을 전달함. 주로 캐싱을 제공하는 경우가 많아 빠른 서비스를 이용할수 있도록 도와준다. 여러 클라이언트가 동일한 요청을 보내는 경우 첫 응답을 하며 결과 데이터를 캐시에 저장하고 재요청을 보내지 않아도 다른 클라이언트에게 빠르게 전달 가능하다. 그리고 ip 추적이 필요한 경우 클라ip가 아닌 프록시ip가 전달됨. 숨길수 있다는 뜻. Reverse Proxy : 서버.. 2023. 2. 7.
Github Actions 자동배포화에 또다른 방법으로 GithubActions를 배웠다. ㅇ Github Actions 란? Github가 공식적으로 제공하는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 CI/CD 플랫폼. 워크플로는 .yml(.yaml)파일에 의해 구성됨. 테스트, 배포 등 기능에 따라 여러개의 워크플로 만들수 있음. 생성된 워크플로는 .github/workflows 디렉토리 이하에 위치하게 됨. 공개 레포지토리는 무료로 사용가능 ㅇ Github Actions main 브랜치에 적용된 변동 사항을 기준으로 프로젝트를 빌드함. 빌드를 마친 프로젝트를 S3 버킷에 저장하고 Code Deploy에 S3에서 EC2로 배포 명령을 내림 ㅇ S3 저번엔 S3를 정적 웹 페이지 배포에 사용했다. 이번엔 저장소로써 .. 2023. 2. 6.