본문 바로가기

Programming/Java12

[Java] Selenium을 사용한 웹 크롤링 기초: 자바 편 웹 크롤링은 인터넷에서 정보를 수집하는 자동화된 방법입니다. 주로 파이썬으로 크롤링을 많이 이용하지만 저는 자바를 통해서 구현을 하고자 했습니다. 자바와 Selenium을 함께 사용하면 웹 사이트의 데이터를 효율적으로 수집할 수 있습니다. 이 글에서는 Selenium WebDriver를 설정하고 간단한 웹 크롤링 예제를 통해 기본적인 사용법을 알아보겠습니다. Selenium WebDriver 설정하기 Selenium WebDriver는 여러 브라우저에서 웹 애플리케이션을 자동화하기 위한 도구입니다. 자바를 사용하여 Selenium WebDriver를 설정하려면 다음 단계를 따르세요. Selenium 라이브러리 추가: Maven 프로젝트를 사용하는 경우, pom.xml 파일에 Selenium 의존성을 추가.. 2023. 11. 5.
Model1, Model2의 차이 Model1 패턴과 Model2 패턴은 웹 어플리케이션 아키텍처에서 사용되는 두가지 패턴으로 어떻게 구현하는지에 따라서 차이가 있습니다. Model1 방식 아키텍처 구성 단일 컴포넌트 아키텍처로, JSP(JavaServer Pages) 등의 뷰 컴포넌트와 서블릿(Servlet) 등의 컨트롤러가 함께 구성됩니다. 모든 로직이 JSP 페이지에 결합되어 있으며, JSP 페이지가 클라이언트 요청을 직접 처리합니다. MV(Model-View)만 포함하여 컨트롤러 부분이 부족하거나 통합되어 있다는 특징이 있습니다. 그리하여 JSP페이지 내에서 View와 Controllor가 함께 처리됩니다. 아키텍처란? Architecture는 영단어로는 ‘건축학’ 이라는 뜻으로 시스템 구성 및 동작원리를 나타내며, 하나의 서비스.. 2023. 9. 8.
[spring data jpa] Native Query를 이용한 Join연산 JPA란? 자바 ORM기술의 표준 명세로 자바에서 제공하는 기술입니다. 자바에서 관계형데이터베이스를 사용하는 방식을 정의 한 인터페이스로 자바 클래스와 DB테이블을 매핑시켜줍니다. ORM이란? Object Relational Mapping 객체 관계 매핑의 약자입니다. Object ORM Relational Database 의 형태로 객체와 RDBMS의 데이터를 자동으로 매핑시켜주는 도구입니다. MVC패턴에서는 Model을 기술하는 도구이며 객체와 모델사이의 관계를 기술하는 도구입니다. ORM의 장점 1. SQL Query를 작성하는게 아닌 메서드로 데이터를 조작할 수 있기때문에 OOP에 더 가까운 형태로 코딩이 가능합니다. 2. SQL문을 직접 작성하지 않고 엔티티를 객체로 표현할 수 있습니다. 3. .. 2023. 9. 5.
[Java] Builder pattern -이해 및 사용방법 디자인패턴이란? 소프트웨어 디자인에서 반복적으로 발생하는 문제에 대한 재사용을 할 수 있는 표준화 된 방법을 의미합니다. 적용시에 코드의 유연성,재사용성, 확장성 등의 장점이 있고 유지보수가 쉬워지는 장점이 있습니다. Builder 패턴이란? 디자인 패턴중 생성패턴의 한 종류입니다. builder 패턴이 생겨난 이유 - 1.클래스가 많은 매개변수를 가지고 객체를 생성할 때 매개변수 순서를 기억하기 어려움 (실수하기 쉬워짐) 2.객체 생성시에 일부 매개변수만 사용해서 생성자처리를 할려면 생성자 오버로딩을 통해서 생성하게 되는데 매개변수가 많아질 경우 모든 경우에 수에 따른 오버로딩을 해야해서 생성자수가 너무 많아짐 (많은 매개변수에서의 생성자 최소화) 3.객체의 불변성을 유지하면서 객체를 생성할려면 필드값.. 2023. 8. 31.
JSP Servlet :: DAO, DTO, Controller 이용한 MVC패턴 CRUD 메모장 만들기 (1) 프로젝트 만들 때 구상법 DB테이블 생성 -> DTO생성 -> DAO 생성 -> Controller(Servlet) 생성 -> View(JSP) 파일 생성 1. DB 테이블 생성 1-1. 메모장에 들어갈 데이터: 글번호(no), 제목(title), 내용(content), 작성일(wdate) create table Memo( no number(10) primary key, title varchar2(50) not null, content varchar(1000) not null, wdate date default sysdate not null ); 1-2. 자동 글번호 생성을 위한 시퀀스 생성 및 테스트를 위한 더미데이터 생성해주기 create sequence seq_Memo_no; insert into .. 2023. 8. 8.
Java soket,dialog,button을 활용한 채팅창 만들기 채팅 서버를 만들기 위해서는 서버측과 클라이언트 측 을 만들어 줘야하는데 두개의 코딩은 다음과 같습니다. 서버코드 import java.awt.BorderLayout; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.*; import java.io.*; import java.net.*; import javax.swing.*; public class ChatServer extends JFrame implements ActionListener { private BufferedReader in = null; private BufferedWriter out = null; private ServerSocket listener.. 2023. 7. 17.
728x90