본문 바로가기

전체 글

Xplatform과 Spring Framework 연동 템플릿으로 보는 HandlerMethodArgumentResolver와 ViewResolver (2) - 사전지식 이번 글에서는 Xplatform과 Spring 연동 템플릿에 대한 본격적인 설명에 앞서서 알아두어야 할 사전지식(?)에 대한 설명을 하고자 한다. 이 글에서 설명하는 내용을 미리 알아두면 앞으로의 글들을 이해하는데 조금은 도움이 될 것이라 생각한다. 우리가 웹프로그래밍을 하면서 서버와 클라이언트가 주고받는 데이터의 위치는 Request 및 Response의 header와 body를 모두 사용하지만 XPlatform과 서버로 데이터를 주고받을때는 body만 사용한다. 그렇기 때문에 Spring에서 사용하는 @RequestParam 어노테이션등을 이용해서 데이터를 받을 수가 없다(굳이 따지면 서버의 URL에 GET 방식으로 구성하면 받을수는 있지만 Xplatform의 VariableList가 더 사용하기에 ..
Xplatform과 Spring Framework 연동 템플릿으로 보는 HandlerMethodArgumentResolver와 ViewResolver (1) - 개요 적어도 우리나라에서 Web 개발에 참여를 해본 경험이 있는 사람이라면 Xplatform, Miplatform, Nexacro, Gauce, TrustForm, WebSquare 란 단어들 중 하나 정도는 들어본 경험이 있을것이다. 이 프로그램들은 흔히 X-Internet Tool로 통칭되는 Ria Tool들이다. 과거 Adobe에서 Flex를 출시하면서 이러한 Ria Tool의 유행을 불러일으켰지만 지금은 특정 분야를 제외하고는 사장되고 있다. 그 이유는 이런저런 업체들이 여러 프로그램들을 내놓았지만 이들 프로그램들이 전세계의 표준에 채택되지도 그렇다고 표준을 만족하지도 않기 때문이라 본다. 표준이 없이 이런저런 회사에서 만든 프로그램들로 줄구난방이 되면 개발자 입장에서도 모든 개발툴들의 문법및 동작 원..
RF 방식의 하이패스 AP700 개봉 및 하이패스 자가등록 자가용을 산 지가 6년이 되어가고 있지만 실제 차를 운전하는 일이 그리 있지 않다보니 하이패스에 대한 필요성을 그리 갖지 못했다. 그런것도 있었고..또 개인적으로는 하이패스로 인해 톨게이트에서 일하시는 분들의 일자리가 줄어드는 것에 대한 거부감도 있어서..암튼 이런 저런 이유로 하이패스를 갖고 있지 않았다. 그러나 간간히 인천으로 오가는 상황이 많다보니..그럴때마다 중앙에 있는 하이패스 차선을 피해서 일반 톨게이트 구간으로 들어가는 번거로움이 있었고 톨게이트를 나오면서 합류하는 과정에서 하이패스 차선을 나오는 차량과 조심해야 하는 상황이 번거로운지라 하이패스를 알아보게 되었다. 예전에 하이패스를 살려고 알아본 적이 있었다. 그때도 요즘처럼 저렴하게 나오는 행복단말기가 있긴 했지만 그때는 IR 방식의 하이..
Jenkins를 통한 Wildfly Deploy 정리 전자정부 프레임워크를 이용하든, Spring 또는 Spring Boot를 이용하든 Maven 기반으로 war파일이 나오도록 했다면 Jenkins에 작업을 만들어서 이를 Maven을 통해 빌드한뒤 결과물인 war 파일을 Jenkins에 배포할 수 있다. 배포 방법 자체도 여러개가 있는데 여기서는 Jenkins가 배포용 pom.xml을 만들어서 Wildfly에 배포하는 방법을 이야기하도록 하겠다. 기본적인 내용은 여기에서 참조했다. 설명하는 내용은 내가 참조한 사이트에서 설명이 없어서 언급이 안되어 있는 부분에 대해 좀더 디테일하게 설명하도록 하려 한다. 내가 참조한 사이트에서 사용한 방법의 핵심은 Jenkins의 build step에서 배포용 pom.xml을 만드는 shell script를 실행한뒤 mav..
Spring Boot, IntelliJ, Docker Wildfly 연동과 관련된 정리 IntelliJ를 이용해서 Spring Boot와 Docker에서 실행중인 Wildfly를 연동해서 개발하는 방법에 대한 내용을 적어보기로 한다 먼저 IntelliJ에 Docker에서 실행중인 Wildfly container를 연동하는 개발방법에 대해서는 여기에 언급이 되어 있어서 별도의 설명은 하지 않도록 한다. 다만 링크되어 있는 글에 대한 방법을 따라 하면서 내가 시행착오(?)를 겪어본 일들에 대해서만 설명하도록 하겠다. 위의 링크를 읽어보면 wildfly를 자신의 PC에 설치되어 있는 wildfly를 이용하는 것이 아니라 docker wildfly 이미지를 별도로 만들어서 하고 있다. 이 부분때문에 docker에 대한 이해가 필요한 부분이 있다. 나의 경우는 docker hub에 올린 내가 만든 ..
Spring-Mybatis 연동시 오류를 일으키는 SQL 쿼리문을 받아보자(2) 지난 글에서는 Spring-Mybatis 연동 작업에서 SQL문이 실행시 오류가 발생할 경우 이를 예외에 포함시켜 던지기 위해 사전적으로 이해해야 할 내용인 SqlSessionTemplate 클래스에서 예외가 발생시 처리되는 과정에 대한 설명을 진행했다. 이번에는 이러한 이해를 기반으로 우리가 나아갈 방향인 오류가 발생한 SQL문을 넣어 이를 예외에 던지는 구체적인 작업에 대해 진행하도록 하겠다. 저번글에서도 잠깐 예기했지만 Spring-Mybatis 연동 작업에서 SQL 관련 오류로 인해 예외가 발생하면 DataAccessException 클래스 객체(정확하게는 DataAccessException 클래스를 상속받은 PersistenceException 클래스 객체이다)가 생성되어 던져지게 된다. 이 구..
Spring-Mybatis 연동시 오류를 일으키는 SQL 쿼리문을 받아보자(1) Spring와 Mybatis를 연동하는 어플리케이션을 개발하면서 SQL문 실행시 오류가 발생할 경우 이 SQL문 자체를 얻고 싶을때가 있다. 어플리케이션을 개발할때가 가장 대표적인 상황일것이고, 개발중인 상황이 아니라하더라도 운영중에서 사용자가 입력한 데이터가 쿼리와 결합해서 어떻게 실행이 되길래 오류를 일으키게 되는건지 그 이유를 알기 위해 요구될 수도 있다. 운영중이든 개발중이든 SQL문에 대한 요구는 항상 있게 마련이고, 그래서 이러한 요구에 대한 반영 형태중 가장 많이 사용되는 예가 아마 관련 SQL문을 log로 남기는 형태일 것이다. log로 남기는 것은 개발자가 별도로 구현을 하지 않아도 log4jdbc 같은 좋은 log 라이브러리가 나와있어서 이를 이용하면 원하는 결과를 얻어낼 수 있다. 그..
X BOX ONE S 블루투스 패드 개봉 및 사용기 요즘 집에서 컴퓨터 게임을 할때 키보드/마우스로 하는 게임보다는 게임 패드를 이용해서 하는 게임 비중이 더 올라갔다. 그래서 집에 있는 PlayStation2(언제 샀더라..까마득하다..) 패드를 PC에 연결하는 중간 컨버터를 이용해서 게임을 하고 있었는데, 점점 불편함이 느껴졌다. 일단 패드 자체가 10년도 넘어가다보니 패드 자체가 좀 그러했고 반응이 약긴 딜레이 되는 느낌이 있었다(이건 아마도 중간에 컨버터가 신호를 변환하는 과정땜에 그런게 아닌가 추측된다) 그래서 결국 PC 전용 패드를 사야겠다고 맘먹고 검색하게 되었는데 사람들의 추천 PC용 패드는 한결같었다. 엑박패드. 예전에 국내에 엑스박스가 첨 출시되던 시점에 내가 다녔던 회사에서 게임 개발한다고 엑스박스를 산적이 있었다. 그때 첨 접해봤는데..