Spring Data JPA는 쿼리를 메서드 이름만으로 작성할 수 있는 강력한 기능을 제공합니다. 복잡한 SQL을 작성하지 않고도 데이터를 쉽게 조회, 수정, 삭제할 수 있는 이 기능은 개발 생산성을 크게 향상시킵니다. 이번 포스팅에서는 findBy, countBy, deleteBy 등의 다양한 키워드와 그 조합을 알아보고, 실제 예제를 통해 활용 방법을 소개하겠습니다. 1. findBy특정 조건을 만족하는 엔티티(혹은 엔티티의 리스트)를 조회할 때 사용// username으로 User 리스트를 조회List findByUsername(String username); 2. existsBy데이터베이스에 존재하는지 체크// 이메일이 데이터베이스에 이미 존재하는지 확인boolean existsByEmail(St..
이번 포스팅에서는 Spring Boot 환경에서 JPA와 Criteria API를 활용하여 여러 테이블을 Join 하는 방법을 소개하겠습니다. 특히, Criteria API를 사용하면 동적 쿼리 작성이 간편해지고, 복잡한 쿼리를 객체지향적으로 관리할 수 있습니다.이번 예제에서는 users, orders, products 테이블을 기준으로 사용자별 주문 내역을 조회하는 과정을 살펴보겠습니다. VO를 활용하여 데이터를 매핑하고, 실무에서 많이 사용하는 Join 예제를 통해 보다 효과적으로 JPA의 활용 방법을 익히실 수 있습니다.JPA를 처음 사용하시는 분이나 Criteria API를 활용해보고 싶은 분들에게 도움이 되길 바랍니다. 그럼 시작해보겠습니다!전체소스는 Github를 참고해 주세요. 1. 테이블 ..

오늘은 SpringBoot와 Apache Kafka를 활용하여 간단한 메시징 예제를 만들어보겠습니다. Apache Kafka는 분산 스트리밍 플랫폼으로, 대규모 데이터 처리 및 실시간 데이터 스트리밍에 강력한 도구입니다. 1. Apache Kafka 소개Apache Kafka는 분산형 스트리밍 플랫폼으로, 대량의 실시간 데이터를 처리하고 저장하는 데 특화된 시스템입니다. LinkedIn에서 개발되어 현재 Apache Software Foundation에서 관리하고 있으며 아래와 같은 특징을 가지고 있습니다.메시지 브로커: Kafka는 생산자(Producer)와 소비자(Consumer) 사이에서 메시지를 전송하는 역할을 합니다. 데이터를 토픽(Topic)으로 구분하여 관리하고, 각 토픽은 여러 파티션(P..
Oracle에서는 JOB 스케줄러가 중요한 역할을 하며, 이를 통해 자동화된 작업을 쉽게 관리할 수 있습니다. 이번 포스팅에서는 JOB 스케줄러 실행 정보를 조회하는 방법을 알아보겠습니다. 주로 dba_scheduler_job_log, dba_scheduler_job_run_details 뷰를 활용하며, v$diag_info를 사용해 트레이스 경로를 확인하는 방법도 함께 다루겠습니다. 1. dba_scheduler_job_logSELECT job_name, log_date, status, additional_infoFROM dba_scheduler_job_logWHERE job_name = 'YOUR JOB NAME'ORDER BY log_date DESC;JOB의..
오라클 데이터베이스에서 SYS.ODCIVARCHAR2LIST를 활용하면 문자열의 리스트를 프로시저에 전달하여 처리할 수 있습니다. 이번 포스팅에서는 SYS.ODCIVARCHAR2LIST를 사용하여 프로시저에서 리스트를 입력받고 처리하는 방법에 대해 설명하겠습니다. 1. 프로시저에서 리스트로 입력 선언하기SYS.ODCIVARCHAR2LIST는 문자열 리스트를 다루기 위한 Oracle의 내장 타입입니다. 이를 사용하여 프로시저에서 리스트를 입력받을 수 있습니다.CREATE OR REPLACE PROCEDURE PROC_TEST( p_codes IN SYS.ODCIVARCHAR2LIST)ISBEGIN -- 프로시저 로직END;이와 같이 p_codes를 SYS.ODCIVARCHAR2LIST 타입으로 ..
1. DB_LINK란?DB_LINK(Database Link)는 한 데이터베이스에서 다른 원격 데이터베이스에 접근할 수 있도록 해주는 Oracle의 기능입니다. 이를 통해 서로 다른 데이터베이스 간에 데이터를 쉽게 주고받을 수 있습니다. 주로 분산 데이터베이스 환경에서 사용되며, 네트워크 상에 있는 다른 데이터베이스의 객체를 로컬 데이터베이스처럼 사용할 수 있게 해줍니다. 2. DB_LINK 확인 쿼리이미 생성된 DB_LINK를 확인하려면 아래의 SQL 쿼리를 사용합니다.-- 전체 데이터베이스의 모든 DB_LINK 정보 (DBA 권한 필요)SELECT * FROM dba_db_links;-- 현재 사용자의 스키마에 정의된 DB_LINK 정보SELECT * FROM user_db_links;-- 현재 사용..

이번 포스팅에서는 Spring Boot를 이용하여 공공데이터포탈의 IP 정보 검색 API를 연동하는 방법을 소개하겠습니다. 최근 공공기관과 기업들은 다양한 공공데이터를 활용하여 부가가치를 창출하고 있으며, 특히 IP 주소에 대한 정보는 네트워크 보안과 관련된 다양한 서비스에 필수적입니다. 1. 프로젝트 개요Spring Boot를 이용한 간단한 웹 애플리케이션을 구축하여, 공공데이터포탈에서 제공하는 IP 정보 검색 API를 통해 IP 주소의 세부 정보를 조회해 보겠습니다. 이를 통해 특정 IP가 어떤 기관에 할당되어 있는지, 해당 기관의 위치와 네트워크 정보를 쉽게 얻을 수 있습니다. 2. API 연동 준비우선, 공공데이터포탈에서 API 키를 발급받아야 합니다. API 키는 공공데이터포탈 회원가입 후, 해..

HATEOAS(Hypermedia as the Engine of Application State)는 RESTful API 설계에서 클라이언트가 API의 리소스를 동적으로 탐색하고 사용할 수 있게 해주는 강력한 개념입니다. 이 포스팅에서는 HATEOAS가 무엇인지, 왜 중요한지, 그리고 어떻게 구현할 수 있는지에 대해 알아보면서 더 유연하고 유지보수하기 쉬운 API를 만드는 방법을 소개합니다. 1. HATEOAS란?HATEOAS(Hypermedia as the Engine of Application State)는 RESTful API 설계의 중요한 원칙 중 하나로, 클라이언트와 서버 간의 상호작용에서 클라이언트가 서버의 응답 내에서 하이퍼미디어 링크를 통해 동적으로 리소스를 탐색하고 상태를 전이할 수 있도..

GitHub 프로필은 나의 개발 역량을 한눈에 보여줄 수 있는 중요한 공간입니다. 이 글에서는 GitHub 메인 화면에 자신을 효과적으로 소개하는 방법을 알아보겠습니다. 1. 저장소생성본인의 깃허브 아이디와 같은 이름으로 저장소를 생성합니다.special repository 문구를 확인 후, "Add a README file"를 체크합니다. 2. 수정위 화면은 기본으로 작성되어 있는 화면으로, 본인의 스타일대로 수정하시고, "Commit changes..."를 클릭하시면 적용이 됩니다. 3. 예시안녕하세요, 웹 개발자입니다! 7년간 웹 개발 분야에서 경험을 쌓으며, 고품질의 웹사이트와 애플리케이션을 제작해 왔습니다. 깔끔하고 효율적인 코드를 작성하는 것을 좋아하며, 프로젝트와 블로그, 코딩..
1. 소수란?소수(Prime Number)는 컴퓨터 과학과 수학에서 중요한 개념 중 하나입니다. 소수는 자신과 1 이외의 약수를 가지지 않는 2 이상의 자연수를 의미하며, 암호학, 수론 등 다양한 분야에서 활용됩니다. 그러나, 큰 수에 대해 소수를 판별하는 것은 계산 비용이 많이 들 수 있습니다. 따라서, 소수 판별 알고리즘의 효율성을 높이는 것이 중요합니다. 이번 포스팅에서는 자바를 사용하여 소수를 효과적으로 판별하는 최적화된 알고리즘을 공유합니다. 이 방법은 소수를 빠르고 정확하게 찾을 수 있도록 설계되었으며, 특히 큰 수에 대해 뛰어난 성능을 보입니다. 2. 소수 판별 알고리즘 구현아래는 자바로 구현한 소수 판별 함수입니다. 이 함수는 다양한 최적화 기법을 통해 계산량을 줄이고, 효율적으로 소수를 ..
- Total
- Today
- Yesterday