분류 전체보기 474

금연 4일차

금연 4일 차 인 오늘에서야 비로소 금연 일기를 쓰기로 마음 먹었다.. 금연을 처음 시작한 날은 2013년 10월 7일 월요일 저녁 8시부터 였다. 나는 평소 하루 담배 한 갑 반을 피우던 꼴초 였고, 고등학교 2학년 때부터 흡연을 시작해서 24살 때 금연에 성공해 2년 간 담배를 안 피우다가 2008년도에 담배를 다시 피기 시작해서 2013년 10월 7일 저녁까지 피다가 다시 금연을 시작해 지금 4일 차 인 것이다. 담배를 다시 피기 시작한 이유도 기록해두면 좋을거 같다. 2년간 담배를 끊었음에도 다시 흡연을 시작하게 된 이유는, 금연 만 2년이 넘어가니 나 같은 경우 평상시나 술자리에서나 전혀 흡연 욕구가 없었다.. 그래서 술자리에서 '내가 옛날에 담배란걸 폈었는데.. 어떤 맛이였었지?' 라는 어이없..

금연일기 2013.10.10

2013 년 10월을 맞으며 ...

2013년 10월을 맞으며... 좀 이른감이 있긴하지만 올 한해를 기억하기 위해 기록을 남긴다.. 이렇게 따로 기록을 남기는 이유는 올 한해가 나에게 아주 의미있고 많은 발전을 이룬 해라고 생각하기 때문이다.. 2013년 1월 3일 中小OOOO공단에 프리랜서로 1년 계약을 하였다. 이곳은 일이 거의 없어 시간이 매우 널널하였고, 늘 6시 칼퇴근이 가능한 곳이다.. 웹프로그램 개발자로 일을 하면서 첫 2년간은 매우 열정적으로 공부하고 적용하였는데, 흔히들 그러하듯 나 또한 이바닥에서 몇번의 좌절을 겪고, 호되게 데이고 심하게 표현하자면 환멸을 느낀 이후로 이 바닥을 뜨고 싶단 생각도 했었지만 배운게 도둑질이라 마땅히 할 게 없어서 계속 개발 일을 하며 아무 공부도 하지 않고 그저 Copy & Paste 를..

일기 2013.10.02

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

데이터베이스 설계와 구축 명사형을 이용하여 엔티티 타입을 도출. 업무 기술서를 이용한 엔티티타입 선정 예 업무기술서:(인터넷 경매를 하는 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 소식이 올라왔다. 자세한 내용은 링크를 참조하여 보시..

자바스크립트 완벽 가이드 5/E 구매.

제이쿼리를 어느정도 다루게 되자, 엄청나게 편했고 간결했고 깔끔했다. 그리고 자바스크립트는 제이쿼리만 알면 끝이라는 생각을 했었다.. 그러다가 문득,, 제이쿼리로 만든 소스들이 지저분 하다고 느꼈다.. 자바 개발을 할 땐 그렇게 중복제거 , 캡슐화, 패턴 - 최종적으로 객체지향 - 을 지켜서 깔끔하고 아름다운 소스를 개발하려고 노력하고 공부하고 연구하는데, 대체 왜 지금까지 자바스크립트는 그냥 만들면 된다고 생각했던건지 ??? 그래서 자바스크립트 패턴에 대해 인터넷으로 잠깐 공부를 했다. 그러고나서,, 자바스크립트를 처음부터 완전 이해가 필요하다고 느끼곤 곧바로 알라딘 중고서점에서 자바스크립트 완벽 가이드 5/E 19000원에 GET. 이제 즐겁게 공부 할 일만 남았다 ^^;

일기 2013.07.18

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..