목록java (7)
hmk run dev
Servlet과 그것을 사용하는 Servlet web MVC Servlet 웹 애플리케이션을 만들 때 필요한 인터페이스 Servlet web MVC Servlet 사용 Spring Framwork에 있는 모듈 Web Service를 만든다. MVC 패턴을 사용한다. 정적 데이터만 전달하는 Web Server 어떤 사용자가 들어와도 같은 페이지를 반환함 사용자 요청에 따라 다른처리를 해줄 수 없다 동적인 처리를 해주는 웹 어플리케이이션의 부재 동적 데이터를 처리하는 CGI(Common Gateway Interface) 동적인 페이지를 처리할 수 있게됨 그러나, 많은 사용자를 처리하기엔 무리 CGI의 두 가지 문제점 - 요청이 들어올 때마다 프로세스(메모리에 적재된 프로그램 인스턴스)를 생성함 - 같은 CG..
추상 클래스 사용하는 이유 - 상속을 강제하기 위함 부모 클래스에서 정의만 해놓고, 실제 동작은 자식 클래스에서 하게 됨 이러한 추상 클래스의 성격이 잘 반영되어진 것이 팩토리 메서드 패턴(Factory Method Pattern)이다. 추상클래스는 일반 클래스와 크게 다르지 않다. 단지, 추상 메서드를 선언해 상속을 통해 자손 클래스에서 완성을 유도하는 클래스라고 할 수 있다. 비유하자면 미완성 설계도라고 할 수 있다. 상속을 위한 클래스 이므로 따로 객체생성이 불가능하다. abstract class className { ... public abstract void methodName(); } - 추상 클래스는 인스턴스, 즉 객체를 만들 수 없는 클래스 - 추상 메소드는 하위 클래스에서 메소드 구현을 ..
자바는 객체지향 언어로 개발 후 유지보수가 용이 하다는 장점이 있고 JVM에 실행되기 때문에 운영체제 구분없이 실행이 되며 가비지 컬렉터로 메모리 관리를 자동으로 할 수 있어 안정적으로 프로그래밍을 할 수 있는 언어입니다. 자바의 메모리 관리에 대해 알아보기 위해 예시코드를 작성해 보겠습니다. class Person { private String name; private int age; static final String species = "사람"; Person (String name, int age){ this.name = "name"; this.age = "age"; } public String getName(){ return this.name; } public int getAge() { return..
띄워 쓰기에 주의 해야한다. 특히 , 로 경계가 나눠지지 않은 FROM 뒤의 쿼리문들은 줄바꿈 마다 " " 공백을 추가 해줘야 쿼리문을 잘 인식한다. @Query(value = "SELECT " + "c.category_no, " + "c.complete_yn, " + "c.progress, " + "c.name, " + "c.image_url, " + "c.use_yn, " + "DATE_FORMAT(c.create_date, '%Y-%m-%d %p %h:%i' ) as create_date " + "FROM Category c " + "WHERE c.admin_no = :admin_no " + "AND c.complete_yn = :complete_yn " + "AND c.use_yn = 'Y' OR..
jsoup으로 네이버 블로그를 크롤링 하려다가 아래처럼 iframe 태그로 되어있었다... 셀네니움 등.. 별 방법을 다 찾아 봤지만 방법은 의외로 간단했다.. iframe 태그 안에 src 부분을 보면 블로그의 실제 주소가 있는데 이걸 이용해 페이지를 크롤링하면 된다! 앞에 "
제네릭은 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법 class Person{ public T info; } public class GenericDemo { public static void main(String[] args){ Person p1 = new Person(); // p1 & info의 데이터 타입은 string이 된다 Person p2 = new Person(); } } 사용하는 이유 아래 코드는 보면 StudentPerson 과 EmployeePerson 은 똑같은 기능을 가지고 있다.. 두 개를 대표할 수 있는 클래스를 만들수 있게 해주는 것이 generic class StudentInfo{ public int grade; StudentInfo(int grade){thi..
interface는 자바의 대표적인 규제 어떤 객체(class)가 있고 그 객체가 특정한 인터페이스를 사용한다면 그 클래스는 반드시 인터페이스의 메소들을 구현해야 한다. 만약 구현하지 않으면 이 애플리케이션은 컴파일 조차 되지 않는다 예제) - I라는 인터페이스는 z라는 추상메소드(다 구현되지 않은)가 정의 되어있음 - 클래스 A는 I라는 인터페이스를 구현 한다(implements) interface I { public void z(); } class A implements I { public void z(){} // 구현 안하면 에러~! } 왜 사용할까? 개발자 A와 B가 계산기를 만든다고 가정해보자 (거대한 작업 & 촉박한 일정이라고 가정) 계산기 클래스는 개발자 A가, 개발자 B는 그 클래스를 사용..