본문 바로가기

Programming

(124)
Selenium Selenium은 웹 애플리케이션을 위한 테스팅 프레임워크입니다. 자동화 테스트를 위해 여러 가지 기능을 지원합니다. 다양한 언어에서도 사용이 가능합니다. Beautiful Soap는 웹사이트에서 버튼을 클릭해야 얻을 수 있는 데이터라던가, Javascript에 조건이 충족되어야만 얻을 수 있는 데이터에 접근하는 것에 한계가 있습니다. 그래서, 직접적으로 웹 사이트에 접근할 수 있게 해주는 Selenium을 사용해야 합니다. 새로운 환경에서 웹 브라우저를 대신해 줄 Web Driver가 필요합니다 Web Driver는 Selenium이 사용할 웹 브라우저이고, Selenium으로 자동화하여 웹 사이트를 탐험하면 됩니다.! Chrome에서 사용하려면 크롬 드라이브도 설치해야 하는데 자신이 쓰고 있는 크롬 ..
Jsoup 자바의 크롤러 종류에는 Jsoup , Crawler4 j, Apache Nutch, StormCrawler, 이외에도 여러 가지 종류가 있지만 저는 Jsoup에 대해 알아보겠습니다. 우선 크롤링이란 HTML을 가져와서 데이터를 추출하는 행위입니다. Jsoup 크롤러란 자바의 HTML Parser 이며 URL을 가져와서 HTML을 조작하여 데이터를 추출합니다. HTML5 DOM 메서드와 CSS셀렉터를 사용합니다. Jsoup는 WHATWG HTML5스펙을 구현합니다. Jsoup은 우리가 사용하는 즉 자바에서 기본으로 제공해주는 라이브러리가 아니기 때문에 Jsoup라이브러리를 다운로드하아야 합니다. package client; import java.io.IOException; import java.util.I..
[DB] 이클립스와 DB연결하기 이클립스와 DB를 연결하는 방법을 알아보겠습니다.! package model; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; //Util 클래스 // : 객체 생성 xxx --->> "객체와 무관하게" == static // : 메서드(로직)를 제공하는 것이 목표! public class JDBCUtil { //객체를 생성해서 쓰는 것이아니라 로직을 제공하는 것이 목표 static final String driverName="oracle.jdbc.driver.OracleDriver"; static final String url="j..
SQLException SQLException은 JDBC API의 메서드들이 던지는 Checked Exception(예외)이다. 제 에러원인은 PreparedStatement를 사용하던 중에 2개의 값을 넣어줘야 하는데 한 개의 값만 입력해줘서 에러가 났다. 해결방법: 에러 난 곳을 확인하고 값을 하나 더 넣어줬다.
2. MVC 패턴 또 다른 개념 Model : 평범한 자바 객체 POJO View : HTML, JSP, THYMELEAF... Controller : UserController, ArticleController... MVC 역할 Model 도메인 객체 또는 DTO로 화면에 전달할 또는 화면에서 전달받은 데이터를 담고 있는 객체와 강하게 연관되어 있습니다. VIew: 데이터를 보여주는 역할, 다양한 형태를 가지고 있으며 HTEMl, JSON, XML 등이 있습니다. Controller: 사용자 입력을 받아 모델 객체의 데이터를 변경하거나 뷰에 전달하는 역할.ex ex0 입력값 검증, 모델 객체 변경, 변경된 모델 개체 뷰에 전달 등이 있습니다. MVC 장점으로는 동시다발적 개발이 가능하고 높은 응집도 낮은 의존도를 가집니다. 개발이 용..
[DB] 서브쿼리,내장함수 서브 쿼리는 기본적으로 쿼리 문안에 또 쿼리문을 작성하는 것을 말한다. 그렇게 어렵지는 않을 것이다. 코드를 보겠습니다! CREATE TABLE MEMBER( NUM INT PRIMARY KEY, NAME VARCHAR(20) NOT NULL, AGE INT DEFAULT 20 ); 우선 테이블에는 NUM,NAME,AGE의 칼럼을 만들어주었고 NUM은 PK로 설정해주었습니다. NAME 은 NULL이 들어올 수 없게 하였고 AGE는 기본값을 20으로 주었습니다. INSERT INTO MEMBER VALUES(101,'임꺾정',30); INSERT INTO MEMBER VALUES((SELECT NVL(MAX(NUM),0)+1 FROM MEMBER),'임꺾정',30); 첫번째 코드를 보시면 MEMBER테이블..
SQLSyntaxErrorException 에러 원인 : DB에서 나는 오류중 하나인데 쿼리문을 잘못 작성하였다... 대소문자를 잘못 적었거나 알파벳을 잘못 적었거나 세미클론을 적으면 발생하는 오류이다. 또한 쿼리에서 사용된 칼럼이 해당 테이블에 존재하지 않을 때 발생한다. 해결방법: 세미클론을 지우니까 해결했다...
SQLIntegrityConstraintViolationException 에러 원인: DB에서 발생하는 오류인데 PK로 지정된 칼럼에 값을 넣게 되면 생기는 오류입니다. 해결방법 : 테이블을 확인해 제약조건이 있는 경우를 확인해야 한다. 값을 INSERT할떄 넣지 않으면 된다.