목록JAVA (5)
스터디 용 블로그
1. CompletableFuture에 대한 이해 [ Future의 단점 및 한계 ] Java5에 Future가 추가되면서 비동기 작업에 대한 결과값을 반환 받을 수 있게 되었다. 하지만 Future는 다음과 같은 한계점이 있었다. 외부에서 완료시킬 수 없고, get의 타임아웃 설정으로만 완료 가능 블로킹 코드(get)를 통해서만 이후의 결과를 처리할 수 있음 여러 Future를 조합할 수 없음 ex) 회원 정보를 가져오고, 알림을 발송하는 등 여러 작업을 조합하거나 예외 처리할 수 없음 Future는 외부에서 작업을 완료시킬 수 없고, 작업 완료는 오직 get 호출 시에 타임아웃으로만 가능하다. 또한 비동기 작업의 응답에 추가 작업을 하려면 get을 호출해야 하는데, get은 블로킹 호출이므로 좋지 않..
SiteMesh를 이용하여 웹 페이지의 레이아웃을 처리하는 방법을 살펴본다. SiteMesh의 동작 방식과 설치 웹 어플리케이션을 구성하고 있는 웹 페이지들은 대부분은 페이지 레이아웃이 동일하게 구성되어 있다. 예를 들어, 미디어 다음의 스포츠 게시판을 보면, 각 페이지는 아래 그림과 동일한 형태로 구성되어 있는 것을 확인할 수 있다. 위 그림에서 내용 부분을 제외한 나머지 헤더, 푸터, 좌측 메뉴, 그리고 우측 주요기사는 모든 페이지에서 동일한 위치에 나타낸다. 즉, 게시글 목록 페이지와 게시글 쓰기 페이지는 모두 위 그림과 동일한 레이아웃을 갖는 것이다. 이렇게 동일한 레이아웃을 여러 페이지에 적용해야 할 때, 가장 쉽게 사용할 수 있는 방법이 나 를 사용하는 것이다. 하지만, 이는 중복된 코드를 발..
3항 연산자3항 연산자는 if else로 해결할 수 있지만, 이보다 더 간편이 사용할 수 있는 장점이 있기 때문에 가끔 쓰이곤 한다. 만일 int형 변수 a, b가 있고 b가 5보다 클 경우 a에 5를 넣고, 아닐경우 a에 b를 넣고싶다면a = b > 5 ? 5 : b; 와 같이 넣어주면 된다 할당할 곳 = 비교문? 참일때값 : 거짓일때 값
초보입니다.DAO랑 service랑 차이가 없던데 무슨차이죠? 아래는 소스입니다. package test.dao; import java.util.List; import test.web.dto.BoardDTO; public interface BoardDAO { public BoardDTO getBoard(String accno) throws Exception; public List getBoardList() throws Exception; public String insertBoard(BoardDTO boardDTO) throws Exception; public void updateBoard(BoardDTO boardDTO) throws Exception; } package test.service; imp..
MVC pattern 을 말씀하시는것 같은데요. 이중 사용되는 패턴의 일부중 VO 또는 DAO 를 사용합니다. MVC 는 가장 기본적으로 JSP 를 사용하신다고 할경우 사용자 화면에 해당하는 JSP 그리고 서버쪽 Servlet 그리고 DataBase 단 DAO 로 나뉩니다. 그리고 JSP Servlet DataBase 등에 데이터를 주고 받는데 있어서 데이터 타입별로 VO 를 사용합니다. VO 는 가는데마다 이름이 조금씩 다를수 있습니다. 어디서는 DTO 라고 부르기도 하구요. Value Object 라고 해서 VO 라고 알고 있구요. DTO 가 Data Template Object 인가 정확하지는 않으니까 찾아보시죠. DAO 는 DataBase 부분에 쿼리 부분과 쿼리에서 나온 결과값을 VO 에 담아서..