본문 바로가기

Study59

[Java] Code Convention 개발자라면 협업 시, 사용하는 언어의 코드 컨벤션을 지켜야 합니다. 이전까지는 느낌상 이렇게 하면 되겠다는 생각으로 개발을 했었는데, 굉장히 위험한 생각인 것 같아 정리하게 되었습니다. 이 포스트는 Google Java Style Guide 의 내용을 토대로 썼습니다. 1. 소개 Java 소스 파일은 아래의 규칙을 준수하는 경우에만 Google 스타일로 설명이 됩니다. Google에서는 어떤 코딩 스타일을 따르고 있는지 알아봅니다. 1.1 용어 참고 달리 명시되지 않는 한, 클래스라는 용어는 "일반"클래스, 열거 형 클래스, 인터페이스 또는 주석 유형(@interface)을 의미하기 위해 포괄적으로 사용됩니다. 클래스의 멤버라는 용어는 중첩 된 클래스, 필드, 메서드 또는 생성자를 의미하기 위해 포괄적으.. 2021. 1. 26.
[Java] JVM 이란? 자바 바이트코드(.class 파일)는 JRE(Java Runtime Enviromnment) 위에서 동작합니다. 이 JRE에서 가장 중요한 요소는 자바 바이트코드를 해석하고 실행하는 JVM(Java Virtual Machine)입니다. JRE는 자바 API와 JVM으로 구성되며, JVM의 역할은 자바 애플리케이션을 클래스 로더(Class Loader)를 통해 읽어 들여서 자바 API와 함께 실행하는 것입니다. 개발 관련 도구는 JDK에서 제공합니다. JVM에 들어가기 앞서 먼저 Java의 특징을 얘기하겠습니다. Java의 큰 특징은 아무 하드웨어(CPU)던, 아무 운영체제(OS)던 상관없이 컴파일 된 코드(바이트코드)가 플랫폼 독립적이라는 점입니다. 이러한 특징을 구현하기 위해 JVM이 필요합니다. 단순.. 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.