Archive for the ‘Design & Development’ Category
magic_multi_connections 에러
전에 짰던 Ruby 프로그램 고칠 일 생겨서 Ruby 하고 몇몇 Gem 새로 설치하고 테스트하려는데 이런 에러가 …
…/magic_multi_connections-1.2.1/lib/magic_multi_connections/connected.rb:20:i
n `const_missing’: uninitialized constant {const_id} (NameError)
Dr Nic’s Magic Models 토론 그룹에 올라온 아래 글에서 제시한 방법으로 일단은 해결.
http://groups.google.co.kr/group/magicmodels/msg/3621d2a5f54191bf
해결 방법
onnected.rb 20번째 줄
- 기존 : raise NameError.new("uninitialized constant {const_id}") unless target_class
- 변경 : return unless target_class
PuTTY Connection Manager
from PuTTY Connection Manager : Jens Wagener´s Blog
putty 를 좀 더 편하게 쓸 수 있도록 해주는 애드온 제품.
http://puttycm.free.fr/
p.s 서버 관리자가 screen 만 설치해줘도 좀 더 열심히 일했을텐데 ㅎ
자바 정규식 예제
okjsp 에 올라온 정규식 문제를 가지고 좀 고민해보았다.
Q :
sdklfsdjf abc1c 2 3 s dadqqq sdlkfjslkjdfslkdjflk abcs f l ks jdfkjqqq sflksjdfk abcsd f sdfqqq sdfsf
이런 문자열이 있을 때
abc로 시작하면서 qqq로 끝나는 문자열들을 배열로 받고 싶어요
제가 원하는건
[0] abc1c 2 3 s dadqqq
[1] abcs f l ks jdfkjqqq
[2] abcsd f sdfqqq
이렇게 결과가 나와야 하는데
문제는 abc1c 2 3 s dadqqq sdlkfjslkjdfslkdjflk abcs f l ks jdfkjqqq sflksjdfk abcsd f sdfqqq
이렇게 나온다는거… -_-
A :
‘*’ or ‘+’ 같은 quantifier 는 패턴과 일치하는한 최대한 많은 문자를 취합니다( 영어로는 ‘greedy : 탐욕스러운, 게걸스러운’ 하다라고 표현하더군요 ) 그러므로 이 때는 ‘?’ 를 이용하여 non-greedy 하게 할 수 있습니다.( 여기 깔끔하게 정리되어 있네요. http://exampledepot.com/egs/java.util.regex/Greedy.html )
Pattern p = Pattern.compile(“abc.*?qqq”);
Q :
정규식으로 img src=이미지경로만 가져오는것 질문드립니다.
A :
검색해서 찾은 PHP 용으로 작성된 패턴을 Java 용으로 살짝 바꿔봤습니다.
Pattern p = Pattern.compile(“(?i)]*[src] *= *[\"\']{0,1}([^\"\'\\ >]*)”);
Matcher m = p.matcher(str);while(m.find()) {
System.out.println(m.group(1));
}
Rails 초보의 에러 해결 로그 II
Rails 공부해보겠다고 의욕적으로 무작정 최신 버전 설치하고 샘플들 따라 하다보면 대략 낭패 – 현재 나와있는 대부분의 Rails 관련 책들이 1.* 기반으로 작성되다 보니 Rails 2.0.* 을 설치했을 경우 Scaffold 관련한 부분에서 계속 문제에 부딪히게 된다.
가령 ‘Agile Web Development with Rails 2/E – Dave Thomas, David Heinemeier Hanson(역서 : 레일스와 함께하는 애자일 웹 개발-인사이트)’ 의 샘플 테스트할 때 발생하는 에러들을 몇가지 정리해보겠다.
1. undefined method `scaffold’
Rails 2.0.* 대 부터 scafold 플러그인이 빠지면서 발생하는 문제로 다음과 같이 별도로 설치해주면 된다.
ruby script/plugin install scaffolding
ruby script/plugin install svn://errtheblog.com/svn/plugins/classic_pagination
2. ActionController::InvalidAuthenticityToken
Rails 2.0.* 에 CSRF (Cross-Site Request Forgery) 공격을 막기 위한 기능이 포함되며 발생하는 문제( 참고 : http://forum.rubykr.org/viewtopic.php?p=6509 )로 Controller 파일에
protect_from_forgery
nly => [:create, :update, :destroy]
나 CSRF 기능을 끄기 위해
skip_before_filter :verify_authenticity_token
을 추가하면 된다고 한다.( 내 경우에는 첫번째 방식은 잘 안되었고 두번째 방식으로 해결 )
3. ruby script/generate scaffold wrong number of arguments
Rails 2.0.* 에서 REST 기반 개발 방식이 강화되면서 변화된 scaffold 의 지원 방식 때문인 듯하다.
Because of Rails recent conversion to REST, the scaffold generator only generates controllers based on the model name … [참고 : http://www.nabble.com/Rails-2.0-scaffold-td14467684.html]
그래서 1.* 에서 사용되던 다음과 같은 구문은
ruby script/generate scaffold product admin
아래와 같은 식으로 변경해주어야 한다.
ruby script/generate scaffold Product id:int title:string description:text image_url:string char price:decimal
위와 같은 문제들 일일이 해결하다가 지레 지치기 전에 나와 같은 초보에게 권장하고픈 방법은 2.0.* 대 날려버리고 1.2.* 로 다운그레이드하는거.
gem uninstall rails -v 2.0.2
gem install rails -v 1.2.6 –include-dependencies
p.s : ‘Agile Web Development with Rails 2/E’ 로 공부한다면 책 샘플과 관련된 토론이 진행되는 아래 위키 사이트를 꼭 방문해 보시길.
- http://pragprog.wikidot.com/rails-play-time
제12회 Annual Webby Awards 수상작들
아직 수상 싸이트들 구경은 못해봤지만 올 해는 단연 TED.com이 돋보이네요.
Top Five Java Technologies to Learn in 2008
Manageability – Top Five Java Technologies to Learn in 2008
- Cloud Computing
- Groovy
- GWT
- JCR
- OSGI
Groovy, GWT, JCR 등이야 이미 출간된 책들도 있고 온라인 튜토리얼들도 많이 찾을 수 있지만 OSGi 와 Cloud Computing 가 좀 어려움이 있을텐데 다행히도 OSGi 관련해서는 마침 금번 JCO 자바컨퍼런스의 한 세션 잡혀있으니 그것 청강하거나 Spring 서적에서 관련 챕터들 찾아 정보 수집 가능할 듯 합니다(마소에서도 연재 있었던 것 같음).
Cloud Computing 이 정말 애매한데 위 글에 링크되어 있는 “Grid Gain Distributed JUnit“에 스크린캐스트 있으니 거라도 구경하면서 궁금증 해소하시길 …
Powered by ScribeFire.
Why are we not using Java EE 5
Why are we not using Java EE 5 ? by Antonio Goncalves
Java EE5 는 이전 버전에 비해 훨씬 쉬워지고 기능도 개선되었음에도 왜 왕무시 당하고 있는걸까?
필자인 Antonio Goncalves가 꼽은 이유를 요약해보면 다음과 같다.
- application server의 불충분/미 지원.
- 간편한 framework 의 시장 선점 그리고 Java EE 5 의 스펙에서 제시한 기능들이 이미 여타 framework 에 구현되어 있다는 점.
- 네이밍 정책의 실패와 Java EE 정의의 애매함.
- 여전한 테스팅의 어려움.
글 읽어보면 결국 적당한 여타의 프레임워크 선택하거나 대충 뭉기적거리다 Java EE 6으로 곧장 넘어가거나 해야될 듯.
Powered by ScribeFire.
IKEA의 Dream Kitchens
Mobile User Experience
Mobile User Experience – 모바일 사용자경험 디자인
Mika Hiltunen(미카 힐뚜넨), Laukka(마르쿠 라우까), 야리 루오말라 저, 나대열 역, 한빛미디어
우선 각 장별로 잠시 살펴보도록 하자.
책의 1부는 UX에 대한 개괄적인 소개를 하고 있는데 조금 지루할 수도 있지만 제일 중요한 부분으로 UX에 대한 개념 정리를 위해서는 이 장만 봐도 된다.
저자들은 인지 심리학의 개척자인 울릭 나이서의 지각순환 모델에 의거하여 사용자의 기대감(Expectation)이 어떻게 변화되는지를 그리고 이 과정에서 UX 가 어떻게 작용하는지를 설명하고 있다. 여기서 ‘기대감’이란 개념은 ‘정보 수집의 지시’ 그리고 ‘정보의 감성적인 해석’이란 측면에서 서비스에 대한 사용자의 능동적인 간여 또는 서비스와 사용자 간의 상호 작용이라는 측면을 더욱 풍부하게 바라볼 수 있는 틀을 제시해주고 있다.
다음으 로 UX에 대한 정의와 관련되어서 그것의 결정 요인으로 실용성(Utility), 사용성(Usability), 가용성(Availability), 심미성(Aesthetics), 오프라인 이슈(Offline Issues)의 다섯 가지를 꼽고 있는데 이 중 가장 흥미로운 것은 서비스의 유용성(Usefulness)를 형성하는 사용성과 실용성의 관계이다.
이 둘의 관계가 특히 흥미로운 것은 가령 몇몇 성공한 WAP 기반 서비스처럼 ‘형편없는 사용성을 보상할만한 실용성을 충분히 갖춘 경우’라면 서비스가 사용자에게 수용될 수 있음을 ‘유용성 = 사용성 * 실용성’ 공식으로 해석 가능하기 때문이다. 이에 대한 다른 사례로 책 후반부 ‘문자 입력’ 관련 장에서 소개한 SMS 역시 실용적인 것은 사용성이 나빠도 성공할 수 있음을 보여주고 있다. 이것은 결국 저자들이 결론에서 제시한 ‘사무실을 떠나라’라는 주장의 직접적인 근거라 할 수 있는데 즉, 서비스 방법론을 설계하는 데에도 아주 중요한 요인 임을 이런 사례를 통해 확인할 수도 있다..
2부는 모바일 서비스 기획부터 구현, 후속 작업 까지의 방법론을 다루고 있는데 모바일 서비스의 특성에 기초한 서비스 디자인과 테스트 방법에 대한 내용이 많은 장을 차지하고 있다. 방법론을 다루고 있는 이 부분들은 모바일 서비스의 특성에 기반한 부분이 많이 있기에 다른 영역의 서비스 개발/구현 방법론과는 차이가 나는 부분이 있으므로 그런 점 고려하면서 읽을 필요가 있긴 하지만 그리고 소개된 방법/도구들의 장,단점 등만 언급되고 구체적인 실행 방법 등이 언급되지 않고 있는 것들도 많기는 하지만 그럼에도 서비스 개발 방법과 함께 제시되는 다양한 도구들은 꽤나 흥미롭고 유용하게 응용할 수 있을 듯 싶다. .
3부는 음향 UI, 문자 입력, 작은 화면에 맞추기 같은 모바일 서비스에 특화된 기능을 디자인하는 방법을 설명하고 있다.
음향 UI, 문자 입력 등이 특히 재미있었고 특히 필기 인식 시스템에 대한 사용자 경험 소개 부분에서 주장한 ‘속도나 정확도가 훌륭한 사용자경험을 만드는 전부가 아니라 … 고집과 습관도 사용자경험에서 큰 부분을 차지한다’란 의견이나 기타 사용자 문화, 습관 등에 대한 세심한 관찰이 은근히 재미있게 읽혔다. 이 책 중에서 가장 재미있는 곳이므로 책 앞 부터 읽어나오다 지루하면 잠시 3부의 한 장씩 읽어주는 것도 괜찮은 방법일 듯 싶다.
4부는 실제 서비스 사례를 짧게 언급하고 있으니 그냥 가볍게 …
전체적인 느낌을 간단히 정리 해보면
Steve Krug 의 ‘상식이 통하는 웹사이트가 성공한다‘(‘Don’t Make Me Think! : A Common Sense Approach to Web Usability’)가 사용성(Usability)에 대한 기본 입문서였다면 이 책은 모바일 서비스라는 제약이 있기는 하지만 사용자 경험(User Experience, 이하 UX)에 대한 입문서로서로 나름 값어치할 만하다. 그리고 이 책 방법론 부분에 언급된 다양한 시장 분석, 디자인, 테스트 기법과 도구들은 실제 적용 하기에는 정보 부족하기는 하나 다른 분야의 서비스 개발 시에도 기법/도구 선택을 위한 좋은 안내자 역할해줄 수 있으리라 생각한다(물론 역시나 모바일 서비스라는 제약을 염두에 둔다는 전제 하에).
아마 제목의 ‘Mobile User’ 때문에 선뜻 집어들기 어려워할 기획자나 개발자들 꽤 많을듯 싶은데 개인적으로는 기대 이상의 멋진 내용들이었고 딴 분들에게도 역시 그러하리라 믿는다. 아직 주저하시는 분들 있다면 서점에 들러서 1장만이라도 한 번 훑어보시길 …
p.s : UX 관련 다른 역서가 있나 찾아보니 아래 책이 눈에 띈다.
‘경험디자인의 요소 – 성공하는 웹 사이트를 위한 사용자 중심 디자인‘(‘The Elements of User Experience : User-Centered Design for the Web’) , 제시 제임스 게러트 저, 방수원역, 한솜미디어(띠앗)
XHTML 과 HTML5
사내 ‘웹 표준 사내 교육‘(사실 정확히는 웹 기본(초) 교육 )하면서 이러저러한 이유로 교안에 넣었다가 실제는 소개 못했던 내용이 DOM Scripting 과 HTML5 이었다.
교육 준비하면서 Channy 님의 글 ‘HTML5와 HTML4의 차이점‘을 읽었는데 당시 급한 마음에는 교육의 중심 주제였던 XHTML 과 HTML5 의 차이가 깔끔하게 정리되지 않아 부득불 교육에서 뺐었는데 오늘 일모리님의 글(‘조용히 진행되고 있는 HTML5‘)을 찬찬히 읽으니 좀 정리가 되는 느낌이다.
XHTML2.0은 앞으로의 웹어플들의 최대의 역량을 발휘 하는데에 기반이 될수 있는 … XML 을 기반으로 다양한 웹 기반의 기술들과 모바일폰, PDA와 같은 다양한 환경에서 적용되는 문서로써의 역할을 담당하는 현신적인 언어로 개발을 하다보니 미래의 촛점이 개발의 역량을 넘어 선다는 염려가 있는 것이죠. … HTML5는 미래보다는 바로앞의 현실을 바라보고 HTML4와 XHTML1.0의 바로 다음 단계를 구축한것입니다. 현재 웹에서 사용되고 있는 포럼, Auction 등의 문서 이상의 웹 컨텐츠를 브라우저가 잘 표현해 낼수 있도록 html을 다듬고 나아가는 것입니다.
일모리님 글과 Channy 님이 번역한 ‘HTML 5 differences from HTML 4‘을 잘 정리해 언제 사내에 HTML5 소개하는 글을 작성해봐야겠다. 물론 ‘왜 잘하고 있는데 토다냐’식의 방어용 멘트 차단하기 위해 립서비스 차원에서 ‘최소한 3,4년 동안은 지금처럼 웹 개발하셔도 되겠습니다’ 정도는 그 글에 삽입해야 될 듯 싶긴하다 ^^;
