본문 바로가기

Java & IntelliJ4

[Java] WebClient + Reflection 기능 사용해 공공데이터 API 로 정보 받는 공통 모듈 만들기 상황 SSAFY 1학기 최종 프로젝트에서, 다양한 공공데이터를 받아와 DB에 저장해 놓고 사용자에게 정보를 전달하는 기능을 개발해야 했습니다. WebClient 를 활용해 공공데이터를 받아오기로 했지만, API 를 받아오고 처리하는 부분이 너무 중복되기에 이를 개선하고자 했습니다. 저는 이전에 JDBC 코드를 공통적으로 분리하여, DTO 에 매핑하는 것까지 Reflection 으로 자동화해 본 경험이 있었기에, WebClient 를 사용하는 부분도 이와 비슷한 방법으로 코드 공통화 처리가 가능할 것이라고 생각했습니다. 문제 해결 1. 데이터마다 받아와야 하는 DTO 형식이 모두 다른데, 어떻게 해결할 것인가? 저는 여기서 Java Generic 기능을 활용하기로 했습니다. Generic 을 사용할 수 있.. 2024. 2. 26.
[Java] 반복되는 JDBC 코드를 재활용성 높게 활용하기 (with java.lang.reflect) 요약 : 이미 JDBCTemplate 가 있다는 것도 알고, 요즘은 JPA가 Entity 에 모두 자동화하여 DB 내용을 넣어준다는 것도 알지만, SSAFY 에서 순수 JDBC를 활용해 DTO로 데이터를 매핑해야 할 일이 생겼습니다. 노가다하는 것이 개발자로써 너무 말이 되지 않는다고 생각하여, 직접 try~catch~finally 를 활용하고 데이터를 매핑해 돌려주는 부분을 한 방에 처리해 줄 수 있는 기능을 만들었습니다. ( dto.setAbc(rs.getString(abc)) 처리하는 부분 모두 포함합니다 ) 문제 인식 1 : try~catch~finally 를 모든 메소드에 사용하는 것! SSAFY 자바 전공반 수업을 듣는 중, Java 와 DB를 연결하는 JDBC에 대해서 배우게 되었습니다. 그.. 2023. 9. 17.
IntelliJ(Java IDE) Debugging Tools 입문 - 2 지난 글에서, 딱 디버깅 툴을 키는 것까지 보여드리고 글을 마무리했던 것 같은데요! 본격적으로 "인텔리제이 디버깅툴! 이래서 사기더라!" 하는 부분들을 소개해 드리고자 합니다. 인텔리제이 디버깅툴 기능 1. Variables 인텔리제이 디버깅 툴에서, 제일 많이 마주하게 되는 Variables 창입니다. 어떤 변수가 지금 등록되어 있는지를 보여 주는 창입니다. 기본적으로 디버깅 툴은, 한 줄 한 줄 실행시켜서 변수 값이 어떻게 변화하는지 보는 용도로 자주 사용됩니다. 한 줄 한 줄 실행되고 있으므로, 내 코드가 어떤 방식으로 동작하고 있는지 확인하는 것이 용이합니다. SWEA 에서 테스트 케이스 숫자를 3, 그리고 내용을 받아서 홀수인지 체크하고 더하는 식으로 코드가 동작하고 있습니다. 한 줄 한 줄 실.. 2023. 7. 11.
IntelliJ(Java IDE) Debugging Tools 입문 - 1 안녕하세요! 이제 SSAFY 교육생이 된 고래밥입니다! 주변 많은 분들께서 자바를 공부하시길 희망하시고, 인텔리제이를 접하시고 계신 것 같아, 제 글이 조금이나마 도움이 될까 하여 이렇게 인텔리제이 IDE 의 디버깅 툴 입문 글을 써 봅니다. 일단 많은 분들께서 잘 알고 계시는, 인텔리제이 전체의 모습입니다. 왼쪽에 파일이 존재하고 있고, 검은 화면에 자바 코드가 존재하는 화면입니다. 많은 분들이 SWEA 에서 풀어 보셨을, "홀수만 더하기"(D1) 문제를 Java 로 간단히 풀어본 모습입니다. 1. 쓸데없는 잡설은 그만하고, 여기서 어떻게 디버깅 툴이라는 것을 사용하는데? 디버깅 툴이라는 것의 의미를 모르시는 분들을 위해서 먼저 설명드리자면, "디버깅" 을 잘 하기 위한 툴을 말하는데요! 코드 내에 있.. 2023. 7. 11.