-
[IntelliJ] toolWindow Plugin 만들기
ToolWindow는? intelliJ 좌, 우, 하단에 위치한 바에 있는 항목들을 지칭한다. ToolWindow 만들기 기본적인 셋팅은 되어있다는 가정하에 방법은 다음과 같다. 1. 컴포넌트 만들기 간단하게 컴포넌트 몇가지로 구성했다. toolWindow 생성 시 메인 panel이 필요하므로 getter를 하나 생성해준다. public class MyPluginComponent { private JPanel rootPanel; private JTextField textField1; private JRadioButton radioButton1; private JRadi... Read More
-
애플 로그인 시 사용자명 문제
애플 로그인을 구현 중 사용자 프로필을 조회하는데 아무리 찾아봐도 사용자명이 없었다. 공식문서를 보니 사용자 정보인 id_token에도 이름을 안준다고 되어 있다. Apple doesn’t receive the user’s full name shared with the system UI. The raw data is passed directly to your app from the browser and is not included in the user’s identity token. To help prevent cross-site scripting attacks, validate and sanitize t... Read More
-
[JAVA] Feign client 호출 결과 타입 커스텀하기
Feign Client를 통해 API를 호출하는데 API에서는 결과를 Wrap 해서 보내주고 있었다. public class ApiResult<T> { private int status; private String message; private T result; private boolean error; } 위와 같이 보냈기때문에 계속 ApiResult로 결과값을 받고 getResult()를 통해 호출 결과값을 받아야했다. status, error도 중요하지만 필요한건 result 였고 해당 값만 결과값으로 받고 싶었다. 그래서 결과값을 커스터마이징 하기로 했다. Config 파일을... Read More
-
[JAVA] Lombok 호환 버전 정리
현재 업무에서 4가지의 자바 버전을 사용하고 있어 그에 따른 Lombok 버전을 정리한다. (2024. 12. 05 현황) Java 버전 Lombok 버전 23 1.18.36 22 1.18.32 21 1.18.30 20 1.18.28 19 1.18.26 18 1.18.24 17 1.18.22 ... Read More
-
[IntelliJ] Plugin 디버깅하기
인텔리J에서 사용하는 플러그인을 직접 만들거나 오픈라이센스면 기존걸 포크떠서 변경이 가능하다. 인텔리J는 플러그인 개발을 할 때 디버깅을 위한 gradle 명령어를 제공한다. ./gradlew runIde 해당 명령어를 실행하면 해당 플러그인이 인스톨된 intelliJ 커뮤니티 버전이 실행이 된다. 실행되는 버전은 build.gradle에 선언한 intelliJ 버전이다. break point도 사용이 가능하다. 아쉽게도 핫스왑기능은 제공하지 않는것같다. Read More