분류 전체보기 (109) 리스트형 썸네일형 IntelliJ Plugin 만들기(1) - Gradle 기반 프로젝트 생성하기, pom.xml 살펴보기, Action 정의하기(with Plugin DevKit) 안녕하세요! 이번 포스팅은 IntelliJ Plugin을 만드는 튜토리얼 시리즈입니다! 플러그인으로 있었으면 좋겠다고 생각해서 플러그인을 만들기 시작했는데, 한글로 된 자료도 부족하고 전체적으로 구글링도 힘들었던 기억이 있어서 조금이라도 도움이 되고자 간단한 튜토리얼을 작성했습니다! 저도 잘 모르기 때문에 잘못된 내용이 있으면 얼마든지 지적해주시면 감사하겠습니다 😸 모든 코드는 Github에 올려두었습니다! 목차 IntelliJ Plugin 만들기(1) - 프로젝트 생성하기, pom.xml 살펴보기, Action 정의하기 IntelliJ Plugin 만들기(2) - Action 정의하기 & UI 만들기 IntelliJ Plugin 만들기(3) - 플러그인 추출하고 배포하기 프로젝트 생성 1. 프로젝트 생.. 나홀로 DDD WORKSHOP 4기 수료후기 나홀로 DDD WORKSHOP 4기를 수료하게 되었다. (수료증도 발급해준다.) 하루에 4시간씩 2일, 총 8시간동안 진행한 강의였다. 신청하게 된 계기 요근래 DDD에 관심을 가지게 되었는데 마침 패스트캠퍼스에서 출시알람을 신청해놓은 나홀로 DDD WORKSHOP이 출시한다는 소식을 듣고 고민하지 않고 빠르게 신청을 했다. 환경 장소 패스트캠퍼스 강의실에서 진행했다. (강남역 4번 출구로 나가면 바로 보인다.) 인원수(약 25명 정도)가 꽉 차는 공간이었다. 패스트캠퍼스측에서 음료+다과를 준비해주셨다. 시간 오후 2시부터 6시까지 진행했다. 50분 수업 후 10분 휴식 시간을 주셨다. 진행 총 8시간의 수업을 진행했는데, 5시간 이론 + 3시간 실습 시간을 가졌다. 실습 시간이 충분하지 않아서 온전한 .. [Spring Boot] json response할 때 Enum 객체 전체 보여주기 문제 발생 Enum @AllArgsConstructor @Getter public enum Foo { A("에이", "a"), B("비", "b"), C("씨", "c"); private String korean; private String small; } Controller @RestController public class EnumController { @GetMapping("/enum/{code}") private RestResponse showFoo(@PathVariable String code){ return new RestResponse(true, Foo.valueOf(code)); } } Response 객체 @Getter public class RestResponse { private bo.. SpringBoot API 요청 값 검증하고 Validation Exception Handing하기 안녕하세요! 이번 포스팅에서는 SpringBoot의 Validation을 이용해서 예외를 발생시키고 처리하는 방법에 대해 알아보겠습니다. 🤗 예전에 Spring Boot Validation을 사용하여 요청 값 검증하기라는 주제로 Validation을 이용해서 요청값을 검증하고 에러를 뷰로 리턴하는 방법에 대해 포스팅했는데, 이번에는 뷰를 리턴해서 템플릿 엔진으로 처리하는게 아닌, API 요청이 왔을 때 요청값을 검증하고 에러가 발생했을 때 응답을 보내는 방법에 대해 알아보도록 하겠습니다. 전체 코드는 Github에서 확인이 가능합니다. 사전 준비 1. 프로젝트 설명 도메인 객체에서 어노테이션을 이용해서 Validaion 처리를 하고, Validaion에서 걸렸을때, @RestControllerAdvice.. SpringBoot의 POI을 이용해서 엑셀 파일 읽기 안녕하세요! 이번 포스팅에서는 SpringBoot의 POI를 이용해서 엑셀 데이터를 읽고 뷰에 뿌리는 코드를 작성해보겠습니다. 👩🏻💻 전체 코드는 Github에서 확인이 가능합니다 사전준비 1. POI 마이크로소프트 오피스 파일 포맷(ex. xlsx, ppt ...)을 자바 언어로서 읽고 쓰는 기능을 제공해주는 라이브러리입니다. 2. 프로젝트 설명 엑셀을 업로드하면 html 뷰로 보여주는 코드를 작성해보도록 하겠습니다. 3. 의존성 (SpringBoot에서 프로젝트를 만들 때 기본적으로 추가할 수 있는 의존성을 의미합니다) Web Thymeleaf Lombok 4. 엑셀 파일 준비 엑셀 파일을 준비해줍니다. 저는 더미 데이터를 이용해 아래와 같은 파일을 만들었습니다. 이름.xlsx 구현 1. 의존성 추.. SpringBoot의 MockHttpSession을 이용해서 JUnit Mock 테스트하기 안녕하세요! 이번 포스팅에서는 SpringBoot의 MockHttpSession를 이용해서 JUnit에서 Mock객체를 이용한 Test를 통과하는 방법에 대해 알아보겠습니다. 🤗 🤔 문제 상황 검증해야 할 메소드에 getAttribute()를 이용해서 세션을 가져오는 코드가 들어가는 경우가 있는데, JUnit으로 이 메소드를 Test를 하다 보면 세션에 null이 들어가서 NPE가 발생하는 경우가 종종 있습니다. 이럴 때 MockHttpSession을 유용하게 사용할 수 있습니다. @GetMapping("/test") public String test(HttpSession session){ String id = (String) session.getAttribute("name"); // 생략 } 👩💻 구.. SpringBoot의 AOP을 이용해서 로그 남기기 안녕하세요! 이번 포스팅에서는 SpringBoot의 AOP를 이용해서 로그를 남기는 방법에 대해 알아보겠습니다. 👩🏻💻 전체 코드는 Github에서 확인이 가능합니다 사전 준비 1. AOP AOP는 관점 지향 프로그래밍이라는 뜻으로, 코드를 핵심 기능과 공통 기능으로 나눈 후에 핵심 기능에서 따로 빼놓은 공통 기능을 불러와 적용하는 방법입니다. 2. 프로젝트 설명 개발을 하면서 로그는 에러가 난 이유를 찾거나 값을 확인하는 데 중요한 역할을 합니다. 하지만 이런 식으로 로그를 수동으로 찍다 보면 아래와 같은 문제가 생깁니다. 중복된 코드의 증가 실수로 로그를 찍지 않으면 값 확인 불가능 따라서 AOP를 사용해 요청이 오면 요청 데이터, 응답 데이터, 요청까지 걸린 시간을 로그로 자동으로 찍어주는 코드를.. 소나큐브(SonarQube) 설치 및 IntelliJ와 연동해서 코드 정적분석하기 안녕하세요! 🤗 이번 포스팅에서는 소나큐브(SonarQube)를 설치해보고 intelliJ에서 연동하는 방법에 대한 포스팅을 작성해보겠습니다! 사전준비 환경 IntelliJ Ultimate Maven Java 1.8 Window 소나큐브(SonarQube) 소나큐브(SonarQube)? 설치하기 전에 소나큐브에 대해 간단히 설명하자면, 소나큐브는 소스 코드를 분석한 후에 설계, 복잡도, 잠재적인 에러, 코딩 스타일 등 프로젝트의 품질을 관리할 수 있는 정적분석 도구입니다. 설치방법 다운로드 페이지에 접속합니다. 페이지에 접속하자마자 다운로드 링크가 보이는데, 이 버전은 최신판이기 때문에 자바 11이 필수적으로 깔려있어야 실행이 가능합니다. 따라서, 자바 1.8에서 실행시킬 수 있게 조금 아래 버전을 다운.. 이전 1 ··· 5 6 7 8 9 10 11 ··· 14 다음