본문 바로가기

Java11

[Java] JGit Progress Monitor 퍼센트 Slf4j 로거로 출력하기 JGit JGit은 git protocol을 Java에서 사용할 수 있게 하는 라이브러리다. JGit is an EDL (new-style BSD) licensed, lightweight, pure Java library implementing the Git version control system https://www.eclipse.org/jgit/ 개인적으로 업무상 자주 사용할 일이 많은데, 은근히 로깅 처리할 일 이 많을때 git clone 진행상태를 실시간으로 확인할 수 있게 설정해 놓으면 훨신 시간가늠이 편하고 디버깅 하기 쉽기 때문에 주로 설정해놓는 편이다. 👉 그래서 오늘은 Progress Monitor 를 생성하여 Slf4j 로거를 통해 진행현황을 출력시키는 방법을 적어보려고 한다. ^^ .. 2022. 4. 26.
MacOS Big Sur 에서 Eclipse Birt 사용하기 정말 무수히 많은 시도 끝에 MacOS Big Sur 버전에서 (드디어) Birt 사용가능한 방법을 찾아냈다... 꼬박 하루가 걸림... 일단 Birt는 Eclipse에서 플러그인 설치식으로만 도는데, 이게 이클립스 버전에 민감해서 아주아주 고생했다. 게다가 all-in-one(Birt가 내장되어있는 이클립스)으로 맥OS 지원해주는게 2019-03월 버전까지만 존재하는데, 이 버전이 MacOS Big Sur에서 작동을 하지 않음.......ㅂㄷㅂㄷ 그래서 결론은 다음처럼 하면 된다.. MacOS Big Sur 에서 이클립스에 Birt 플러그인 설치하기 Eclipse 2019-06 버전 다운로드 및 설치 [링크](https://www.eclipse.org/downloads/packages/release) .. 2021. 9. 29.
[Java] 함수를 매개변수로 전달하기 중복되는 형태의 코드가 있을 때 모듈화를 하고 싶은 마음이 생긴다. 하필 모듈화를 해야할 부분에서 내부 클래스의 내부 함수를 사용하는 경우에, 어떻게 따로 모듈화를 할지 어렵게 느껴질 수 있다. 이런 경우 java.lang.reflect.Method 를 이용해서 사용할 함수를 다른 함수의 파라미터로 전달해 해결할 수 있다. 다음은 ID를 생성해 DB에 저장하기 전에 중복을 방지하는 코드이다. //ID 생성 String id = String.valueOf(UUID.randomUUID()); while (true) { // 혹시나 있을 중복 아이디 제거 if (getById(id) != null) id = String.valueOf(UUID.randomUUID()); else break; } 기존코드 다음처.. 2021. 4. 8.
[Lombok] 경고 해결하기 @EqualsAndHashCode - 경고문구 Generating equals/hashCode implementation but without a call to superclass, even though this class does not extend java.lang.Object. If this is intentional, add '@EqualsAndHashCode(callSuper=false)' to your type. - 경고의 의미 Lomok 의 @Data 는 @ToString, @EqualsAndHashCode, @Getter, @Setter 및 @RequiredArgsConstructor 를 한번에 생성시켜주는 어노테이션이다. 주로 모든 Model들에 @Data 어노테이션을 추가하게되는데, 상속받은 클래스의 경우 위 경고 메세.. 2021. 4. 7.
[스프링] Page 사용법 페이지 리스폰스용 오브젝트로 스프링의 Page 사용법 org.springframework.data.domain.Page 도큐먼트 보기 Page는 Pageable로 리퀘스트가 들어와 리스폰스로 결과값을 전달할 때 사용할 수 있는 오브젝트다. @Query annotation을 사용하는 것이 이 오브젝트의 의도인 것 같다. 쿼리문만 넣어주면 다음과 같이 손쉽게 페이징 처리를 할 수 있는 장점이 있는 것 같다. //컨트롤러 public ResponseEntity findUserByName(String name, Pageable pageable) { Page result = memberRepository.findByUsername( name, pageable); //... } //생성할 JPA repository.. 2021. 3. 24.
[Java] Map 을 String 으로 바꾸기 Guava를 이용한다 www.baeldung.com/guava-joiner-and-splitter-tutorial 2021. 2. 9.
Java에서 외부 프로세스를 실행할 때 좋은글 d2.naver.com/helloworld/1113548 2021. 1. 19.
Visual Studio Code로 Java 스프링 코딩하기 다음 확장 기능을 설치하면 된다. 1. Language support for Java TM for Visual Studio Code (redhat.java) 2. Java Extension Pack (vscjava.vscode-java-pack) 3. Debugger for Java (vscjava.vscode-java-debug) 4. Spring Boot Support (Pivotal.vscode-spring-boot) 5. Maven Project Explorer (vscjava.vscode-maven) 2020. 12. 17.
Java Primitive 배열 초기화 및 List 변환방법 primitive 배열 초기화 int[] myIntArray = new int[3]; int[] myIntArray = {1, 2, 3}; int[] myIntArray = new int[]{1, 2, 3}; int[][] num={ {1,2}, {1,2}, {1,2}, {1,2}, {1,2} }; String[] myStringArray = new String[3]; String[] myStringArray = {"a", "b", "c"}; String[] myStringArray = new String[]{"a", "b", "c"}; List -> Primitive 배열 변환방법 List numList = new ArrayList(); numList.add(1); numList.add(2); numL.. 2020. 11. 29.