본문 바로가기

springboot14

[Java] VO(Value Object)란? 개발을 하다 자주 VO라는 개념을 들은적이 있습니다. 대략적으로 값 객체 패턴(Value object pattern) 즉, 객체를 값처럼 쓸 수 있고, 제약사항 중 하나는 객체의 인스턴스 변수가 생성자를 통해서 일단 설정된 후에는 결코 변하지 않음을 보장한다는 것입니다. 저도 위와 같이 얕게만 알고있었는데, 이번 기회를 통해 제대로 알아보려 합니다. 제가 봤던 재미난 글을 통해 포스팅을 작성하려합니다. VO(Value Object)? 만약 아래와 같은 질문을 받았다고 생각해봅시다. 사람의 나이를 나타내기 위해 어떠한 변수 타입을 사용해야 할까요? [] Integer [] Boolean [] String 어떠한 결정을 내릴건가요? "Boolean은 true, false니까.. 일단 아니고,, Integer.. 2021. 1. 26.
[Java] Code Convention 개발자라면 협업 시, 사용하는 언어의 코드 컨벤션을 지켜야 합니다. 이전까지는 느낌상 이렇게 하면 되겠다는 생각으로 개발을 했었는데, 굉장히 위험한 생각인 것 같아 정리하게 되었습니다. 이 포스트는 Google Java Style Guide 의 내용을 토대로 썼습니다. 1. 소개 Java 소스 파일은 아래의 규칙을 준수하는 경우에만 Google 스타일로 설명이 됩니다. Google에서는 어떤 코딩 스타일을 따르고 있는지 알아봅니다. 1.1 용어 참고 달리 명시되지 않는 한, 클래스라는 용어는 "일반"클래스, 열거 형 클래스, 인터페이스 또는 주석 유형(@interface)을 의미하기 위해 포괄적으로 사용됩니다. 클래스의 멤버라는 용어는 중첩 된 클래스, 필드, 메서드 또는 생성자를 의미하기 위해 포괄적으.. 2021. 1. 26.
[SpringBoot] Swagger를 통한 REST 요청에 전역 jwt 인증하기 안녕하세요, 이 포스트는 Jwt 설정, Swagger설정이 이미 완료된 서비스에서 활용할 수 있는 방법을 소개합니다. 문제점 그림과 같이 Swagger를 사용하면서 각 API마다 @ApiImplicitParam 을 통해 JWT를 받아왔었는데요, 서비스가 확대되고, jwt 토큰 인증이 필요한 API가 많아 질 수록 코드의 양과 가독성이 나빠 졌습니다. 또한 스웨거를 통한 테스트 진행시 각 API마다 jwt를 입력해야 한다는 번거로움 또한 있었습니다. 그림과 같이 Authentication을 받는 모든 곳에 jwt를 입력해야 했음. 해결 Swagger version 2.9.2부터 이렇게 번거로운 일을 쉽게 바뀔 수 있는 기술이 들어갔다고 합니다. 소개에 앞서 결과부터 확인 해보겠습니다. 원래는 없었던 Aut.. 2021. 1. 25.
[Swagger] Multi @ApiResponse에 동일 코드 사용시 나타나는 에러 안녕하세요. Swagger를 통해 Api문서를 정리하다 신기한 점을 발견하고, 이를 해결했던 방법에 대해 설명하려 합니다. 초기 코드 @ApiOperation(value = "게시글 저장") @ApiResponses(value = { @ApiResponse(code = 201, message = "저장 성공", response = PostSaveResponseDto.class), @ApiResponse(code = 400, message = "등록되지 않은 개인 미션", response = ErrorResponse.class), @ApiResponse(code = 400, message = "등록되지 않은 유저", response = ErrorResponse.class), @ApiResponse(code.. 2021. 1. 22.
[Jenkins] ExcuteShell 명령어에서 sudo를 사용하기 위한 설정 위 캡쳐와 같이, 젠킨스에서 빌드 진행 시 관리자 권한으로 실행이 필요한 경우가 있습니다. ex) sudo sh ../work.sh jenkins에 별다른 권한을 주지 않았다면 무조건 빌드 에러가 발생합니다. 그래서 권한을 주는 방법을 소개하려 합니다. 주의!!!! /etc/sudoers 파일이 잘못된다면 (path 설정 잘못, 띄어쓰기 잘못 등) sudo를 사용하지 못하게 됩니다. 관리자 권한 설정은 항상 주의해 주세요. 젠킨스에 권한주기 관리자 권한 설정 파일을 엽니다. $ sudo vim /etc/sudoers jenkins에 관리자 권한을 제공하기 위해 아래의 내용을 추가 한 후 저장합니다. jenkins ALL=(ALL) NOPASSWD: ALL 결론 이렇게 하면, 젠킨스에 모든 권한을 주는 거.. 2021. 1. 22.