잠시 텍스트큐브로 이사갔다가,
워드프레스 설치해서 한번 써보려고 노력하다가..
다시 티스토리로 돌아왔습니다.

시간이 없어서 블로그에 신경을 많이 못쓸것 같기는 합니다.
Posted by jhkim




이미 아시는 분이 많으시겠지만, 제가 (주)씽크리얼스 라는 이름으로 회사를 시작하게 되었습니다.
시간이 많이 부족하고, 글재주가 없어서 글을 자주 올리지는 못합니다만, 부족하게나마 Thinkreals Blog 를 통해 회사관련된 블로깅을 적어보려고 노력하고 있습니다.
관심있으신분은  Thinkreals Blog 에도 들려주세요.^^



Posted by jhkim
아래 두가지 찾았다.

어플리케이션 베이스
http://labs.blackbaud.com/NetCommunity/article?artid=662

웹 베이스
http://www.testiphone.com/

Posted by jhkim

지난 금요일에 컬트스토리( http://blog.cultstory.com/ ) 를 창업하신 분을 만나서,
이런저런 재미있는 이야기들을 나누며 저녁식사와 함께 오랫만에 소주 한잔 했다.
지금도 좋은 회사이고, 훌륭한 회사로 발전할 것 같다는^^ 대표님, 번창하시길 바래요..

여러가지 재미있는 이야기를 나누었는데,
그중에 잠깐 이야기를 나누었던 것중에 한가지 생각나는 것이 있어서,
비슷한 고민을 하시는 많은 분들께 도움이 될까 싶어서 내 생각을 블로그에 써 볼까 한다.

"아이폰 앱과 연동할 서버를 개발하는데 PHP로 하려고 한다?"

아이폰 앱 개발을 하는데, 서버 연동 기반의 서비스를 구상중이라면 Ruby on Rails를 추천한다.

이유는 아래와 같이 꼽을 수 있겠다.
어떻게 보면, 트위터가 초기에 개발 공수를 많이 들이지 않은 시점 부터,
수많은 App이 널리 퍼치게 된 이유도 이런 이유가 아닐까 싶다.

1. html과 동일한 json, xml 등의 http response를 쉽게 얻을 수 있다.
아래 예와 같이, html, xml, json 가 기본 제공되고,
http://repling.com/jaehyun
http://repling.com/jaehyun.xml
http://repling.com/jaehyun.json

나중에 멀티 디바이스 html view가 필요하면,
http://repling.com/jaehyun.iphone, http://repling.com/jaehyun.android
등의 mime-type을 쉽게 추가할 수 있다.
MVC에서 View를 자유로이 멀티 환경으로 쉽게 구성할 수 있다.

2. 위와 유사한 이야기 인데, 앱에서 필요로 하는 자원을 RESTful (http://en.wikipedia.org/wiki/Representational_State_Transfer )
하게 접근할 수 있게 지원해 주므로, 따로 프로토콜을 구상하지 않아도 된다.
위 RESTful 통신 방법을 따르다 보면 많은 설계 요소가 standard로 잘 잡히게 된다.
괜히 RESTful 안쓰면서 서버, 앱간의 통신 요소를 request, response를 하나하나 정의해 가며 시간낭비 하지 말자. (Getting Real에 언급된 것 처럼, 작고 Agile하게 해야지.. 급하게 막 코드를 늘려가면 안되요..)

3. Ruby on Rails 웹 개발 프레임웍은 쉽고, 직관적으로 되어 있다고 개인적으로 생각한다.
DB쿼리를 직접 다룰 필요가 없는데도, 제약사항이 있긴 하지만 우연한 편이며,
Javascript Ajax로 동적인 웹 UI를 만드는 데도 상당히 직관적으로 개발할 수 있도록 만은 배려를 해 놓았다.

그리고 내가 좋아하는 말.
Don't Repeat Yourself.
소스코드를 중복해서 작성하지 말라.
심지어 최근 루비온레일즈를 만들었고,, 만들고 있는 @DHH 님의 트윗에서 본 글에는
Why do you need a signature in your emails if it's just name + email address? Why repeat information that's already in the from field?
라고 써있다. 이메일에도 의미없는 서명 중복을 피하라는..ㅎㅎ -_-;;
http://twitter.com/dhh/status/7532661418

Ruby on Rails를 배우고 싶은 분들에게 강추하는 스크린캐스트 강의
http://railscasts.com/
Ruby on Rails 배우기 좋은 사이트를 더 알려드리고 싶지만..
많이 소개해 드리면 하나도 안본다는..ㅎ,, 더 필요하신 분은 @jaehyun 

물론, Ruby, Ruby on Rails라는 새로운 것들을 배우는 것은 쉽지 않다.
개발자들은 기존 익숙한 언어를 사용하고 싶다.
그리고, 이런 장점 외에 Ruby on Rails의 단점도 있다는 사실.

제가 주로 Java 웹개발만 해와서, Java와 Ruby on Rails를 조금 아는 상태에서..
PHP를 잘 모르고 단면만 보고 주장 할 수도 있다는 사실도..

회사와 달리,,
내 목소리를 낼 수 있는 블로그.


Posted by jhkim
Freemarker Eclipse Plugin에 버그가 있다는 것을 알고 있었지만,
지금은 아예  http://freemarker.org/eclipse/update/ 업데이트 사이트를 가 동작을 안한다.

sourceforge에서 freemarker eclipse plugin 을 다운로드 받아서 eclilpse 디렉토리 아래 plugin 디렉토리에 풀어 놓으면 기존과 같이 동일하게 사용할 수 있다.

Freemarker eclipse plugin is deprecated. but I want to download it.
You can download it bellow.
http://sourceforge.net/projects/freemarker/files/


Posted by jhkim
Java Transaction 관리 방법을 설명한 좋은 문서를 찾았다.

http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte:psl:transaction
자바코드에서 DB 트랜젝션을 관리하는 방법은 위와 같이 두가지가 있다.

선언적 트렌젝션 관리 방법과 프로그래밍적 트렌젝션 관리 방법.

프로그래밍적 트렌젝션 관리 방법은
소스코드에 직접 트렌젝션을 얻어서, 트렌젝션 코드 수행 후, 트렌젝션을 종료하는 코드를
코드레벨에서 직접 써주면 된다.
이런 방법은 오래 전부터 사용되던 방법이다.

선언적 트렌젝션 관리 방법은 최근에 알게 된 방법이며,
XML이나 Annotation 으로 어떤 단위를 트렌젝션 처리 하라고, 선언만 해 놓으면,
알아서 트렌젝션이 처리가 되는 방법니다.
스프링 프레임웍이 있어서 가능한 방법인 것 같다.

이번 내가 맏은 프로젝트에서는
진보된 방법으로 볼 수 있는 선언적 트렌젝션 관리 방법를 사용해 보려고 한다.

자세한 기술적인 내용은 위 링크를 가면 알 수 있으니 참고하세요.






Posted by jhkim
최근에는 혼자 웹 개발을 할때는 Ruby on Rails를 주로 이용하는데,
이번에는 Java Struts2를 이용하여 개발하고 있다.

이유는 유지보수 부분을 다른 분에게 양도해야 하기 때문에,
듣보잡인 RoR로 개발해서 넘겨줄 수 없기 때문이다.

과거에 블로깅 에서 소개한 Java로 Ruby on Rails의 RESTful, scaffold처럼 웹개발하기
방법을 활용해서 개발했다.

iBator 에서 DB Access소스 제너레이션을 하고, 내가 만든 scaffold generator를 이용하여,
기반코드를 작성하니 좋았다.
이제는 이런 소스 제너레이터 없이 개발하는 것은 상상하기도 싫다.

CRUD 를 위한 RESTful plugin, Convention plugin등을 사용하여 RoR 환경에 비슷한 방향으로
개발 할 수 있도록 노력했다.

plugin에 버그가 조금 있는 것 같은데, (아니면 문서화가 부족해서 내가 잘 모르는 부분이 있거나..)
우회하는 방법으로 피해서 사용하고 있다.

그래도 Ruby on Rails보다는 개발하기 번거로운 부분이 많다.
RoR 생각을 간절히 하면서..
Java 노가다 코드를 삽입하며, 천천히 코드를 개발중이다.

그래도 나중에 Java환경에서 개발을 할 일이 있을 때,
많은 도움이 될 개발이 될 듯 하다.

만약에, 회사에서 처럼 이런 라이브러리 쓰지 말고 개발하라고 요구 했다면??

못한다..-_-

Posted by jhkim
windows 에 mysql ruby gem 을 설치하면 에러가 발생한다.

이것을 해결하기 위해, mysql 에 있는 libmysql.dll 파일을 ruby설치경로\bin 디렉토리에 복사한 후,

$ gem install mysql --version 2.7.3

명령어로 설치하면 RDoc은 에러가 나긴 하지만, 정상적으로 사용할 수 있다.

현재 2.8 버전에서는 테스트를 다 안해봐서, 잘 모르겠다.
현재로서는 그냥 2.7.3 버전을 사용하려고 한다.


Posted by jhkim
나는 비교적 큰 회사에 다니고 있다.
규모로 따지자면 한국 IT업계에서는 한국에서는 손에 꼽을 만큼 규모가 있는 회사이다.
그런데, 나는 가끔은 이 큰 조직에서 회사를 위해서 내가 할 수 있는 일이 무엇인지 가끔은 고민해 본다.
회사에서 월급을 받으니, 그에 따른 회사에 기여를 해야 한다는 것이 나의 생각이다.

그런데, 내가 회사에서 하고 있는 일이나 업무 역량을 보면..
뛰어나지 않은 그냥 그런 보통의 개발자로 보인다. (어쩌면 조금 뒤쳐질지도..)
시키는 일을 그때그때 잘 하는 편 같다. 시키면 한다.

그런데, 좀 더 능동적인 행동은 되지 않는 듯 하다.
아니, 능동적으로 행동해서 변화 될 수 있는게 별로 없다.

요즘 드는 생각은, (능동적으로 해보려고.)
회사에서 내가 하는 일이 데이터 관리 시스템을 만드는 것이기 때문에,
Java EE 개발환경 보다는 Ruby on Rails가 적합해 보인다. 생산성이 좋고, 데이터 무결성 유지에 좋아보인다. 데이터 정규화도 더 잘 될 듯 하고..(몇백만건, 몇천만건 넘는 대용량은 아직 잘 모르겠지만..)

그래서 팀원들에게 Ruby on Rails를 당장 쓰자고 말하는 것도 아니고,
세미나를 한번 해주고 싶은 마음이 솟구쳐, 팀 세미나..
스터디 시간에 살짝 언급을 했었는데..  한방에 퇴짜 맞았다.

퇴짜 이유는? Java 기술이 아니라서 ㅎ
생산성이 월등히 좋다고 다시 한번 더 설득을 시도 하였으나,,
그렇다면,, php를 쓰겠다고 한다..-_- php가 java보다 생산성이 좋다고..ㅡㅡ
내가 php를 잘 몰라서 반문할 여력은 별로 없다.

그런데, 나는 개발자 성향을 가진 팀원으로서, 생산성 좋은 Ruby on Rails를 보면 적용하고 싶고, 좋다는 것을 알리고 싶다.
Ruby on Rails의 Active Record, Formtastic .. 등등 수많은 라이브러리들을 보면.. 흥분된다 -_- 단지 좋아서.ㅎㅎ

하긴, 회사에서는 java 중에서도 내가 쓰고 싶은 java framework 이나 라이브러리를 쓰지 못하는 판에.. 왠 Ruby on Rails니..ㅎ
회사에서는 회사 자체의 라이브러리로 개발해야 한다. (내생각엔 좀 뒤쳐진..)
java로 개발 하더라도, java framework, 라이브러리 사용의 자유를 줬으면 한다..


Posted by jhkim
이번에 말레이시아 코타 키나발루에 여행계획을 세우면서
hoteltravel.com으로 호텔을 예약을 했다.


Hotel Travel


예약과정이 아주 편하고, 직관적이다.
처음 접속하면 영어로 기본으로 보이지만, 오른쪽 상단에 태극기로 한국어 설정을 하면
한글로 편하게 볼 수도 있다.

심지어, 한가지 놀라운 점은.. 바로 채팅으로 고객문의를 들어준 다는점.
그것도 한국어로 채팅을 해서 고객문의 서비스를 받았다.

이전 포스트에서 쓴 호텔 3곳을 예약하는 과정에서,
단순 변심으로 카드 결제까지 한 호텔을 하나 취소하게 되었다.
취소도 잘 된다.
결제 취소 관련해서 궁금한 것이 생겨서, 채팅 고객문의 서비스를 이용해 보니, 아주 편하다. 대만족.

물론, 결제에도 ActiveX 가 사용되는 것이 아니고, https로 그냥 한다.
너무 쉽게 결제가 되고,
브라우저의 html form에서 카드번호 등의 기존입력 값들이 자동 완성이 되어서,
너무 편해 걱정스러울 정도다. (이건 거짓말임.)

여기서 잠깐 예기를 옆으로 세보면..
"저런 form자동완성 보안문제 때문에 ActiveX써야되.." 라고 말하는 분이 계시다면..OTL
공공PC는 브라우저 설정에서 form 자동완성을 꺼놓으면 된다. (이건 공공PC를 운영하는 곳에서 신경을 써 줘야 할듯.)
개인용 PC면 위 기능이 제공되면 편해서 좋은거 아닌가..

우리나라의 Flash로 된 메뉴, 웹표준화 안지키고, ActiveX의 결제시스템 등..
이런 오바스러움을 떨면서도 주민등록 번호는 https가 아닌 http로 전송 받는다. -_- 안습.
우리나라 전형적인 웹서이트들을 보면 좀 안쓰럽다. 왜 이렇게 되었는지..

실용주의 소프트웨어(http://jaehyun.userstorybook.net/2181/ )의 깨진창문 얘기가 떠오른다.
한번 깨지기 시작하면 쉽게 연속으로 깨지고, 금방 집이 폐허가 될 수 있다는 것.

호텔 얘기로 시작해서 개발자 얘기로 끝나는 -_- 뭥미.

Posted by jhkim