프로그래밍 199

Enabling Cross Origin Requests for a RESTful Web Service

package hello; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Component; @Component public class SimpleCORSFilter implem..

명사형을 이용한 엔티티 타입 도출

데이터베이스 설계와 구축 명사형을 이용하여 엔티티 타입을 도출. 업무 기술서를 이용한 엔티티타입 선정 예 업무기술서:(인터넷 경매를 하는 IAUCTIONCO라는 회사는 경매할 물품에 대한 내용을 온라인으로 접수받고,각 물품이 팔릴수 있는 날짜를 정하여(이 날짜를 경매 공고일이라고 함) 인터넷에 경매를 공고한다.경매 공고일에는 역시 온라인을 통해 입찰인이 입찰된 물품을 매수 신청하고 매수 신청한 입찰대금을은행계좌나 카드 또는 직접 IAUCTIONCO에 납부하지 않으면 낙찰은 자동으로 취소되고차순위 금액을 신청한 매수 신청인에게 물품이 낙찰된다. 낙찰인은 1주일 이내에 대금을 납부하면경매가 성사되었다고 하고, 매수 신청인에게 낙찰대금을 입금하여 경매 절차가 완료된다.경매가성사되는 경우 물품가격의 2%를 IA..

Spring Boot - Simplifying Spring for Everyone

SpringSource 에서 Spring Boot 라는 신규 프로젝트가 릴리즈 되었다. 이게 뭔가.. 하고 살펴 보니 기존에 스프링 프레임웍 으로 프로젝트를 셋팅 하려면 프로젝트 환경설정용 xml 이나 Java 파일을 작성하고, WAS 를 설치하고 WEB.XML 을 설정하고 , 컨트롤러-서비스-DAO-DOMAIN 을 만들어서 기본 셋팅을 했다. (물론 TEMPLATE PROJECT로 해도된다) 헌데, 이 Spring Boot 프로젝트는 위 과정들을 죄다 생략 해준다.. Spring Boot SLI 라는 커맨드라인용 툴을 다운 받으면 매우 간편하게 일련의 작업들을 자동화할 수 있다. 각설하고, 간단한 예제를 보자.. 스프링 블로그에 Spring-Boot 소식이 올라왔다. 자세한 내용은 링크를 참조하여 보시..

RequestMappingHandlerMapping 관련

약 한달전에 RequestMappingHandlerMapping에 문제가 있어보인다는 포스팅을 했었고, http://javaiyagi.tistory.com/357jira에 등록하였다. https://jira.springsource.org/browse/SPR-10574 그리고 KSUG 에도 올렸다.https://groups.google.com/forum/#!topic/ksug/uSkVWfkvwkI 어제, 오늘 JIRA에 Phil과 Rossen이 답글을 달아주었다.. Phil Webb added a comment - 26/Jun/13 12:23 PMIt used to be the case that @Controller classes could be handled by the HandlerAdapter, wi..

Spring 3.2.3 DeferredResult 를 이용한 소규모 sns 개발

Spring Blog 에 올라온 DeferredResult 를 이용한 채팅 샘플 소스를 보고, sns도 순식간에 만들수 있겠다는 생각을 하여 만들어보았습니다. 우선 개발한 sns url 은 http://lrvsns.cfapps.io 입니다. cloudfoundry 에 기본적으로 사용되는 톰캣6이 Async 를 지원하지 않아서, cloudfoundry 블로그를 뒤져보니, 톰캣7을 통째로 push 하는 방법이 있더군요 .. 사용 기술은 Spring Security 3.2.0.M1 Spring Framework 3.2.3 JQuery MySql 입니다. Spring Security 관련 이슈가 좀 있었습니다. SECURITY 3.1.4.RELEASE 버전을 쓰니, DeferredResult 사용 도중 자꾸 s..

추상화, DI

스프링의 3대 핵심 기술 중 "추상화" 라는 것이 있다.. 갑자기 누군가 나에게 추상화에 대해 설명해 보라.. 라고 질문을 한다면 뭐라고 답을 해야할까? 라고 생각을 해보았다. 생각을 해보니, 추상화라는 것은 결국 DI 일 뿐이였다. 예를 하나 들어볼까.. 뭐가 좋을까.. OXM 추상화 를 예로 들어보자 .. 스프링은 OXM 추상화를 제공한다. oxm 기술에는 비슷비슷한 여러가지가 있는데, Castor , JaxB, Xstream 등이 있다. 스프링에선 위 기술들에 대한 추상화 인터페이스로 Unmarshaller 를 제공한다. 그리고 각 기술에 대한 구현체들도 제공한다. 당연히 추상화 인터페이스인 Unmarshaller 를 구현하고 있다. 하여, 개발자는 어떤 OXM 기술을 쓰던 Unmarshaller ..

@ResponseBody , json, jquery 를 이용하여 간단한 검색어 자동완성을 만들어봅시다.

네이버 검색창에서 검색어를 입력하면, 자동완성 된 검색어가 뜨는걸 본 적이 있으실 겁니다. 아래와 같이 말이죠 오늘은 위와 같은 기능을 아~~주 간단한 형태로 만들어 보고자 합니다. 전문적인 검색엔진이나 검색기능에 대한 자료를 참고하시고자 하시는분께서는 잘못 찾아오셨습니다. 위와 같은 기능을 간단히 만들기 위해서 스프링 기반의 웹프로젝트에 JsonConverter 를 등록하고, contentNegotiation 설정을 해준 후, @ResponseBody 와 jquery 의 $.getJSON 을 사용할 것입니다. 디비는 MySQL 을 사용할 것입니다. MySQL 을 사용한 이유는 제가 cloudfoundry를 이용하는데 cloudfoundry 에서 MySQL 을 지원하기 때문입니다 우선 응답을 json 형..

Spring <form:checkboxes> 항목 check

Note For multiple checkboxes, as long as the “path” or “property” value is equal to any of the “checkbox values – ${dynamic-list}“, the matched checkbox will be checked automatically. 위 말이 무슨 뜻인고 하니,,, items 항목과 path 항목의 값이 같으면 자동으로 체크 된다 라는 뜻이다. 간단한 예제를 남긴다.. @RequestMapping(value = "/userlist", method = RequestMethod.GET) public void userlist(@Principal UserDetails userDetails, Model model){ S..