반응형

전체 글 757

[JAVA] Lombok Builder 패턴과 활용

Java 개발에서 Builder 패턴은 객체 생성 시 코드 가독성을 높이고 복잡성을 줄이는 데 매우 유용한 패턴입니다. 특히 필드가 많거나 선택적인 필드가 있을 때 유용합니다. Lombok의 @Builder 애너테이션을 사용하면 Java의 Builder 패턴을 훨씬 간편하게 구현할 수 있습니다. 이 글에서는 Lombok의 @Builder를 사용하여 Builder 패턴을 어떻게 간단하게 적용할 수 있는지, @Builder.Default로 기본 값을 설정하는 방법, 그리고 실무에서의 활용 예제를 소개합니다.@Builder로 빌더 패턴 간편하게 구현하기기존 Java에서 Builder 패턴을 구현하려면 많은 코드가 필요하지만, Lombok의 @Builder 애너테이션을 사용하면 클래스에 Builder 패턴을 간..

JAVA 2024.10.30

[JAVA] Lombok 어노테이션, 애너테이션(Annotation)의 기본 사용법

Lombok은 자바에서 반복적으로 작성되는 코드, 특히 getter, setter, toString과 같은 메서드 생성 코드를 자동으로 작성해 주는 강력한 라이브러리입니다. 이 섹션에서는 Lombok의 대표적인 애너테이션인 @Getter, @Setter, @ToString, @EqualsAndHashCode, @NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor에 대해 설명하고, 자바 코드 예제를 통해 각각의 사용법을 알아보겠습니다.@Getter와 @Setter: 자동으로 게터와 세터 생성@Getter와 @Setter 애너테이션은 클래스의 필드에 대한 getter와 setter 메서드를 자동 생성해 줍니다. 이 애너테이션을 사용하면 필드별로..

JAVA 2024.10.30

[JAVA] Lombok 환경 설정

Lombok 라이브러리는 자바 개발의 생산성을 크게 향상시켜주는 도구로, 설치와 설정이 쉽지만 IDE별로 몇 가지 설정 차이가 존재합니다. 이 글에서는 IntelliJ IDEA와 Eclipse 환경에서 Lombok을 설치하고 설정하는 방법을 자세히 설명하겠습니다. Lombok 설치, 빌드 도구 설정, 설정 확인 방법을 통해 기본 사용 준비를 마칠 수 있습니다.Lombok 라이브러리 설치 및 설정 방법 (IDE 및 빌드 도구)1. Lombok 의존성 추가Lombok을 사용하려면 빌드 도구(Gradle 또는 Maven)에 Lombok 의존성을 추가해야 합니다. 먼저, 프로젝트의 build.gradle 또는 pom.xml 파일에 Lombok 라이브러리를 추가해줍니다.Gradle 설정dependencies { ..

JAVA 2024.10.30

[JAVA] Lombok 이란?

Lombok은 자바 애플리케이션 개발 시 코드의 간결성과 생산성을 높여주는 Java 라이브러리입니다. 주로 getter, setter, toString, equals 같은 메서드를 자동으로 생성해줘서 불필요한 코드 작성을 줄여주고, 빌더 패턴, 값 객체 생성, 로깅 등의 다양한 기능도 제공해 줍니다. 이를 통해 코드의 가독성이 좋아지고 유지보수성이 향상됩니다.Lombok 소개Lombok은 Java 애플리케이션에서 불필요하게 반복되는 코드를 줄이는 것을 목적으로 개발되었습니다. 특히 데이터 중심의 Java 클래스는 필드 선언과 기본적인 메서드들로 인해 코드가 장황해질 수 있습니다. Lombok을 사용하면 이러한 코드를 어노테이션을 통해 간단하게 생성할 수 있습니다.Lombok을 프로젝트에 적용하려면 bui..

JAVA 2024.10.30

[JAVA] JSoup 활용 (자주사용하는 메서드)

JSoup을 사용한 웹 크롤링 시 효율성을 높이고 유지 보수를 쉽게 하기 위해 다양한 팁과 트릭을 사용할 수 있습니다. 자주 사용하는 유틸리티 메서드, CSS 선택자와 XPath의 비교, 그리고 실제 웹 크롤링에서 유용한 팁을 다루어, 더 높은 성능과 효율성을 제공하는 크롤링을 가능하게 해줍니다.자주 사용하는 유틸리티 메서드 모음JSoup에서는 HTML 문서에서 필요한 데이터만 손쉽게 추출할 수 있도록 다양한 메서드를 제공합니다. 주로 텍스트, 속성 값, 특정 요소를 빠르게 추출할 수 있도록 돕는 메서드가 있으며, 이를 사용해 효율적으로 데이터 전처리를 수행할 수 있습니다.예제 코드: 자주 사용하는 메서드import org.jsoup.Jsoup;import org.jsoup.nodes.Document;i..

JAVA 2024.10.29

[JAVA] JSoup 구글 뉴스 크롤링 예제

구글 뉴스는 다양한 키워드를 활용해 최신 뉴스를 수집하고 특정 데이터(제목, 링크, 요약)를 추출하기에 좋은 웹사이트입니다. 이번 글에서는 JSoup을 활용한 구글 뉴스 크롤링 방법과 이를 통해 뉴스 데이터를 추출하는 다양한 기법을 다룹니다. 1. 구글 뉴스에서 키워드로 기사 제목과 링크 수집하기구글 뉴스에서 특정 키워드를 검색해 해당 키워드 관련 뉴스 기사 제목과 링크를 추출합니다.import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;import java.io.IOException;public class GoogleNewsTitleLinkCraw..

JAVA 2024.10.29

[JAVA] JSoup의 성능 최적화

웹 데이터 크롤링을 효과적으로 수행하기 위해 JSoup 성능 최적화는 매우 중요합니다. JSoup은 가볍고 사용이 편리한 웹 크롤링 라이브러리이지만, 대규모 데이터 처리나 다수의 요청을 처리할 때 성능이 저하될 수 있습니다.데이터 처리 속도 향상 기술JSoup으로 빠르게 데이터를 처리하려면 불필요한 데이터 로딩을 줄이고 필요한 부분만 선택적으로 로드하는 것이 중요합니다. 특히 대용량 HTML 문서를 다룰 때는 필요한 요소만 파싱하거나, CSS 선택자를 통해 특정 요소만 추출하여 처리 시간을 줄일 수 있습니다.1. 필요한 데이터만 선택적으로 파싱하기JSoup을 사용할 때 Document.select() 메서드를 통해 원하는 특정 요소만 선택할 수 있습니다. 이는 전체 페이지를 순회하는 것보다 빠르며, 성능..

JAVA 2024.10.29

[JAVA] JSoup AJAX와 동적 페이지 처리

웹에서 AJAX(Asynchronous JavaScript and XML) 요청이 이루어지는 동적 페이지는 일반적인 정적 HTML 페이지와는 다르게 JavaScript로 데이터를 로딩하거나 갱신합니다. JSoup은 기본적으로 정적인 HTML 페이지를 처리하는 데 적합하므로, 동적 데이터를 다루기 위해서는 다른 도구들과 결합해 사용하는 것이 효과적입니다.AJAX 요청 처리 개념 이해하기AJAX는 페이지 전체를 새로 고치지 않고 필요한 데이터만 서버에서 받아와 비동기 방식으로 화면에 표시합니다. 이런 방식으로 웹 애플리케이션의 응답 속도가 빨라지고, 사용자 경험도 개선됩니다. 그러나 AJAX로 데이터를 가져오는 웹 페이지는 브라우저에서 JavaScript가 실행된 후에야 데이터가 로드되기 때문에, 일반적인 ..

JAVA 2024.10.29

[JAVA] JSoup 에러 핸들링과 예외 처리

웹 크롤링이나 스크래핑을 할 때 JSoup을 사용하면 다양한 상황에서 에러와 예외가 발생할 수 있습니다. 이때 적절한 에러 핸들링과 예외 처리 로직을 작성하면 크롤러의 안정성을 크게 높일 수 있습니다. JSoup에서 발생할 수 있는 일반적인 예외 유형과 웹 페이지 로딩 오류 대처 방법, 타임아웃 설정 및 재시도 로직 구현 방법에 대해 살펴보겠습니다.JSoup에서 발생할 수 있는 예외 유형1. IOExceptionIOException은 네트워크 문제나 URL이 잘못된 경우에 발생하는 예외입니다. JSoup의 connect() 메서드는 외부 리소스를 요청하기 때문에 인터넷 연결이 원활하지 않거나 잘못된 URL이 주어질 때 IOException이 발생합니다.import org.jsoup.Jsoup;import..

JAVA 2024.10.29

[JAVA] JSoup 데이터 전처리와 저장

웹 크롤링을 통해 수집한 데이터를 관리하고 활용하기 위해서는 적절한 형식으로 저장하는 것이 중요합니다. CSV, JSON, XML 형식으로 저장하여 데이터의 재사용성을 높이고, 파일 I/O를 활용해 데이터를 효율적으로 관리할 수 있습니다.파싱된 데이터를 CSV, JSON, XML로 저장1. CSV로 저장하기CSV는 데이터를 행렬 형식으로 저장할 수 있어 간단한 데이터 관리에 유용합니다. Java에서 파싱한 데이터를 FileWriter를 통해 .csv 파일로 작성할 수 있습니다.import java.io.FileWriter;import java.io.IOException;public class CsvExportExample { public static void main(String[] args) { ..

JAVA 2024.10.28
반응형