분류 전체보기
Thread 폴링 방식
폴링 방식계속 돌면서 쓰레드가 종료될 때까지 while문으로 대기하다가 출력되면 종료콜링 방식쓰레드 안에서 종료되면 호출 하는 방식호출할 클래스의 레퍼런스를 알기위해서 대게 생성자로 해당 클래스에 대한 정보를 넘긴다.콜백이 폴링보다 좋은 이유는 CPU 시간을 낭비하지 않는다.콜백에 대표적인 예는 UI 컴포넌트에 이벤트를 달고 리스너를 지정해 주는 것이다. 그러면 해당 객체는 본인을 호출할경우 해당 메소드를 호출하는 콜백을 진행한다. 이는 옵저버 패턴이라고 한다. 스레드의 run() 메소드의 실행이 거의 끝나갈때, 마지막으로 해야 할 작업은 결과값과 함께 메인 프로그램에서 미리 정해 놓은 메소드를 호출하는 것이다. 메인 프로그램이 각각의 스레드에 대해서 결과를 물어 보는 것이 아니라, 각각의 스레드가 메인..
스트림(Stream)_입출력 스트림
스트림(stream)- 네트워크 프로그램의 가장 큰 비중은 입출력(I/O) 출력스트림1. java.io.OutputStream제공메소드public abstract void write(int b) throws IOExceptionpublic void write(byte[] data) throws IOExceptionpublic void write(byte[] data, int offset, int length) throws IOExceptionpublic void flush() throws IOException // 버퍼가 아직 가득 차지 않은 상황에서 강제로 버퍼의 내용을 전송public void close() throws IOException //스트림 사용이 끝나면 해당스트림을 닫는다. - Outpu..
STS의 github 연동
1. http://wedul.tistory.com/6 에서 해당 작업을 선진행한다. 2. cmd창 또는 terminal창을 키고 저장할 저장소를 먼저 clone한다.git clone "저장소의 ssh주소" 저장소가 없을 경우에는 github에서 저장소를 먼저 생성한다. 3. STS에서 현재 프로젝트에 우측 클릭한 후 "Team" -> "Share Project.."를 선택한다. 저장소를 복제한 위치를 repository경로에 추가하고 추가하고 싶은 프로젝트를 선택하고 확인을 누른다. 4. window -> show view -> git을 선택한 후 보여지는 git 저장소에서 commit을 눌러서 저장소에 올린다. 5. github에 프로젝트가 추가된것을 확인할 수 있다.
git사용을 위한 ssh-keygen 설정
git사용을 위한 ssh-keygen 설정 1. git을 먼저 설치한다. 2. window의 경우 git bash를 실행시키고, mac인 경우 terminal을 실행 시킨다. 3. ssh-keygen -t rsa -C "git계정"을 입력하고 계속 엔터를 입력한다. 4. 사용자 위치에 생성된 public key를 복사해서 git 관리 홈페이지에 ssh 부분에 입력한다.
Mybatis의 #{} 문법 사용방법
Mapper에서 #{num}에 들어가는 값은 getNum(), setNum()을 의미한다. 만약 하나의 mapper에서 두 개이상의 #{userid}, #{userpw} 와 같이 사용된다면 그것은 map의 형태로 들어오는 데이터의 key값이 안에 들어가 있는 문자열이다. 예를 들어 mapper에 insert into tbl_member (userid, userpw, username, email) values (#{userid}, #{userpw}, #{username}, #{email}) 다음과 같이 되어 있을 경우 DAOImpl 클래스에서 Public
Spring의 UTF-8 처리 필터 등록
web.xml에 다음과 같이 등록하여 주면 모든 URL에 들어오는 텍스트에 인코딩은 utf-8로 설정된다. encoding org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 encoding /*
스프링 프레임워크의 기본적인 구성
1. VO 객체 -> 데이터를 담을 객체를 생성 public class BoardVO { private Integer bno; private String title; private String content; private String writer; private Date regdate; private int viewcnt; public Integer getBno() { return bno; } public void setBno(Integer bno) { this.bno = bno; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getCont..
Mybatis 관련 정리
iBaties Mybatis이전 버전인 iBaties는 개발자가 모든 SQL을 XML로 작성하고, SQL 문을 사용하는 DAO 클래스를 설계하는 SQL문을 사용하는 DAO 클래스를 설계해서 SQL 문을 호출하는 방식의 코드 Mybatis Mybatis는 ibaties에서 애노테이션을 지원하고 인터페이스와 애노테이션을 통해서 SQL 문을 설정하고처리할 수 있는 형태로 발전 Mybaties 특징 XML만을 이용해서 SQL문을 설정, DAO에서는 XML을 찾아서 실행하는 코드를 작성하는 방식 (대표적으로 사용) -> SQL 문은 별도의 XML로 작성되기 때문에 SQL문의 수정이나 유지보수에 적합 -> 개발 시 코드의 양이 많아지고, 복잡성이 증가 애노테이션과 인터페이스만을 이용해서 SQL문을 설정 -> 별도의..
typeAliases 사용방법
XML Mapper를 이용하는 데 있어 매번 parameterType이나 resultType을 패키지까지 포함된 클래스명을 작성하는 일이 번거롭다면 Mybatis의 설정 파일 mybatis-config.xml을 사용해서 typeAliases를지정해주면 된다. typeAliases는 하위 요소로 package와 typeAlias 요소를 가질 수 있다. 이 방법을 이용하면 매번 parameterType이나 resultType에 사용하는 클래스의 이름을 지정해줄 필요가 없다. 그렇게 되면 Mapper xml 에서 더 이상 resultType, marameterType에 긴 패키지명을 포함할 필요가 없다. 클래스명만 입력하면 된다.기존의 mapper파일에서 resultType을 설정할때 길게 입력하였다.다음과 ..