오래간만에 Uniccard에서 유니크카드를 주문을 하려고 홈페이지에 들어갔다.
이 것이 바로 유니크카드

여기서 Ruby on Rails(RoR)을 처음 접하게 되었던 유니크카드 홈페이지에서 주문을 하려고 로그인을 하였다.
그런데 뭥미?

로그인이 안된다. -_-;;
여기는 오픈아이디(OpenID)로만 로그인 할수 있는데 로그인이 안되니 황당.
로그인을 하는데에 IDtail.com 사이트까지 잘 도착을 하여 로그인 패스워드를 치면 넘어가면서 유니크 카드에 들어가야 하는데 안들어가지더군요.
Ruby on Rails로 만들어진 유니크카드에서 로그인이 안된다는 것은 엄청나게 치명적인 것인데, 로그인이 안되니깐 거의 머리가 미칠정도였습니다. (유니크카드를 모두 소비해서 100장 주문하려고 했더니 이게 로그인 불가?)
RoR에서 사용하는 OpenID library 소개에서 문제가 있는지도 궁금하였음.
하지만 어찌어찌 하다 로그인은 하게 되었습니다.
아래 화면에 있는 사이트에 들어가야만 로그인이 됩니다.

제가 보았을때에는 RoR OpenID library에 뭔가 이상이 있는 것 같습니다.


제가 다른 아이디로 사용해보았는데 다른 아이디는 다 되더군요. 근데 특정 아이디가 로그인 안되는 문제점이 -_-;;

Ruby on Rails소스코드 내부의 문제 같은데 이거 구글링하니깐 이런 문제에 대한 글이 없더군요 ㅠㅠ

Buy me a coffeeBuy me a coffee

에이콘출판사 - 웹 개발 2.0 루비 온 레일스

웹 개발 2.0 루비 온 레일스
카테고리 컴퓨터/인터넷
지은이 황대산 (에이콘출판, 2007년)
상세보기

 예전에 루비가 대세라는 말이 뜨면서 작년인 2007년 12월 20일에 사본 책이다.

책에 있는 예제를 따라하면서 루비가 엄청 쉽구나를 알게 되었지만, 프레임워크(Framework)이라는 용어도 생소하고, MVC라는 용어도, Model, View, Controller[각주:1]의 역할에 대해 이해 못한채로 따라만 하고 덮은 책이였다.

Ruby라는 언어라는 것을 처음 알게 된 책이면서, 책을 열심히 보면서 Ruby란 언어가 예전에 써보았던 Perl의 강력한 정규표현식처리, Prolog의 함수형 프로그래밍언어의 내용, C++, JAVA에서 볼 수 있는 객체지향성을 통합시킨 것을 알게 되었다.

Perl을 써보면서 강력한 문자 처리에 감동하고 이번 학기 프로그래밍 과제하는데 Perl을 가지고 파일 옮기고 유사도 검사를 해보았던 생각을 해보면서 루비로도 해볼까라는 생각을 해보았다. Prolog와 같이 다른 함수를 정의하는 함수를 정의하는 함수를 작성하는 프로그래밍기법을 사용하여 다양한 종류의 함수 정의를 자동화 시키는 기법에 대해서도 신기하게 느꼈다.
(프로그래밍언어 시간에 Prolog로 과제 하다 함수정의하다 이해안되는 부분때문에 몇일동안 고생한 기억이 나서 Prolog에 대해서 기억이 안좋다만, Ruby를 다뤄보니 Prolog과 유사한 부분이 많아서 신기했음)

프로그래밍 언어인 Ruby의 문법을 보면서 일본사람이 정말 Ruby란 언어 잘만들었다는 생각이 들었다.

이분이 Ruby를 만드신 마츠모토 유키히로(松本 行弘, Yukihiro Matsumoto)

이번에 다시 루비언어를 다시 기억을 다시 되살린다고 책을 다시보게 되었다. (루비를 써봐야 하는 입장이 되어서 급하게 책을 펼쳐보았다.)

책에 있는 예제를 그대로 따라하는데에 오류가 생긴 것이다. ㅠㅠ

책에 있는 내용대로 따라해서 ruby 1.8.4를 설치한 다음에 rails를 gem으로 설치하는 것인데 gem으로 rails를 설치하면 책에서 설치하는 것 같은 rails-1.2.2가 설치되지 않고 rails-2.0으로 설치되는 것이다.
rails-2.0으로 설치가 되니 rails-1.2에서 없는 문제가 생겼다.

그것은 책에서 쓰는 scaffold가 rails-2.0에는 없다는 치명적인 에러이다.

그래서 책의 예제를 따라하기 위해서는 책에 있는 내용을 아래와같이 수정을 해야할 것 같다.

c:\> gem install rails --include-dependencies

현재 위에서 같이 쓰여진 책의 내용을 쓰면 rails-2.0이 깔려져서 책의 예제를 따라하기 어렵다. 책의 예제를 따라하기 위해서 (특히 scaffold 부분의 경우) 레일스 1.2.3을 다시 설치해야 한다.

c:\> gem uninstall rails
c:\> gem install rails --version '= 1.2.3' --include-dependencies

위의 설치명령어로 설치를 하면 책에 있는 예제가 잘 될 것이다.

책은 잘 써진 것 같은데 버전 문제가 껄끄럽긴 합니다. 책 쓸 당시에는 이렇게 바뀔줄은 몰랐기 때문이라고 생각됩니다.

Ruby on Rails를 프로그래밍을 해야할 상황인데 Ruby를 빠르게 배우고 싶다면 이 책을 추천하긴 한데 책의 내용을 약간 바뀌어서 내야 할것 같다.

아래는 Rails Framework에 대한 출판사의 설명이다.

[ 레일스 프레임워크에 대해 ]

레일스는 루비 프로그래밍 언어로 만들어진 웹 개발 프레임워크로 덴마크의 데이빗 해너마이어 한슨(David Heinemeier Hansson)에 의해 2004년 7월 처음 공개되었다. 지난 3년간 레일스는 전 세계적으로 빠르게 확산되어 왔으며, 현재까지 레일스로 구축된 B2C 사이트만도 수백여개에 이르고 있다.

레일스가 이처럼 빠른 성공을 거둘 수 있었던 데에는 몇 가지 이유가 있다. 첫째로 오늘날의 웹 개발은 너무나도 복잡해져서 수많은 개발자들이 웹 개발에 넌더리를 내고 있었다. 자바, PHP, .NET 등 개발 환경을 막론하고 많은 웹 개발자들은 뭔가 새로운 것을 시도해 볼 마음의 채비를 하고 있었다.

둘째로 레일스는 개발자의 생산성을 획기적으로 높여 준다. 레일스는 ORM(객체/관계 매핑, Object/Relational Mapping), 코드 생성(Code Generation), 메타프로그래밍 등 최신 프로그래밍 기법을 사용해 개발자가 코딩에 들이는 시간을 현저히 줄여주고 있다. 비슷한 코드를 계속해서 반복적으로 작성하는 일은 개발자의 사기를 떨어뜨리는 일이다. 레일스는 위에서 언급한 프로그래밍 기법을 활용하여, DRY(반복적인 코딩 작업은 피하시오, Don’t Repeat Yourself) 원칙을 적극적으로 장려하고 있다.

셋째로 레일스는 웹 2.0 애플리케이션의 개발에 최적화된 프레임워크이다. 레일스에는 Ajax와 웹 서비스 개발을 위한 컴포넌트가 포함되어 있어서 웹 2.0 서비스를 구축하는 작업을 매우 편리하게 해준다. 실제로 레일스에서는 Ajax 애플리케이션을 개발하기 위해 자바스크립트를 직접 코딩하는 일은 하지 않아도 된다.

마지막으로 레일스를 사용한 웹 개발은 즐겁다. 지금 이 글을 읽는 독자는 다소 회의적인 생각이 들지도 모르겠지만, 이는 레일스를 접해본 수많은 웹 개발자들의 공통된 반응이다. 이 책을 통해 독자 여러분이 레일스가 선사하는 즐거운 웹 개발의 세계를 발견하게 된다면 필자는 그보다 더 큰 보람이 없을 것 같다.
  1. MVC에 대해서는 소프트웨어공학시간에 나오는 개념이다. Model, View, Controller의 약자로서 애플리케이션 코드를 기능별로 분산하여 관리하는 프로그래밍을 말한다. 코드를 분산해서 관리하는 이유는 용도에 따라서 코드의 형태나 구성이 달라지기 때문이다. 결국 이렇게 코드를 나눠 작업함으로써 코드를 좀더 효율적으로 관리하게 되면서 프로그래밍 개발이 효율적으로 진행된다. 자세한 내용은 소프트웨어공학책에 나옵니다. (뇌이버 검색하면 MVC패턴에 대해서 나옵니다.) [본문으로]
Buy me a coffeeBuy me a coffee


다음 캘린더가 Ruby on rails로 만들었다는 소리를 듣고 나서 자료를 찾아보았다가 김대현이라는 분이 만들었다고 하더군요.
(참고로 제 이름은 성대현)
Ruby on Rails로 동영상/이미지 검색 만들기 - 김대현(루비 전문가, Daum 캘린더 개발자)
김대현(루비 전문가, Daum 캘린더 개발자)
저랑 이름이 비슷한 사람 발견해서 신기하였고, 이 분이 루비 전문가라는 것이 부러웠어요.

저도 열심히 하면 루비 전문가가 될까요?
요즘 하라는 공부는 하지 않고 루비 책을 보고 있는데 저도 저기에 들어갈 경지에 들아가고 싶군요. ㅎㅎ

결론. 미친듯이 공부하자.


'생각들' 카테고리의 다른 글

뉴라이트는 어디 소속인가?  (5) 2008.06.07
나는 기본기가 충실한가?  (0) 2008.05.26
이런 대현이 되고 싶어요.  (0) 2008.05.22
커뮤니티와 그 적敵들  (0) 2008.05.16
아는 것과 알려주는 것  (0) 2008.05.03
취향테스트 결과  (0) 2008.02.28
Buy me a coffeeBuy me a coffee
말 그대로 내가 Ruby를 마스터를 하기 위해서 보아야 할 책 리스트입니다.
리스트에 있는 책들은 한글로 된 루비 관련 도서입니다.
저 책들 읽는데 얼마나 걸릴까나?

'컴퓨터 > 프로그래밍' 카테고리의 다른 글

Android SDK 설치  (0) 2008.12.14
오랜만에 만져본 JAVA  (2) 2008.12.02
MVC Pattern  (1) 2008.07.21
내가 보아야 할 Ruby 관련 책들  (2) 2008.05.14
Ruby를 맛봅시다.  (2) 2008.04.30
10.Raw Socket  (0) 2008.04.29
Buy me a coffeeBuy me a coffee
  1. 2008.06.13 11:57

    비밀댓글입니다

요즘 잡지(마이크로소프트웨어)나 여러 기사들을 보면 Ruby란 것을 많이 듣게 됩니다.
제가 많이 쓰는 Me2day나  스프링노트, 스프링로그, 다음 캘린더 등등 여러 Web Application들이 Ruby on Rails를 이용하여 만들었다는 것을 알게 됩니다.

이런 추세를 보아할때 Ruby, Ruby on railsJAVA보다 더 많이 유행 할 것같은 예감도 듭니다.

실제로 Ruby on Rails관련 책을 읽어볼때마다, Perl같은 언어의 간결함에 놀라고, 코딩할때의 삽질이 많이 없다는 것에 놀랍니다. (그렇다고 Ruby에 익숙해지기 위해선 오랜 시간이 걸리긴 합니다.)
Perl이나 함수형언어인 Prolog를 처음 접해보았을때 당황했던 기억을 Ruby에서 경험한다는 말이죠. ㅎ

참고로 Ruby, Ruby on rails에 대해서 알아볼까요?
Ruby는 1995년 마츠모토 유키히로(松本行弘, Matsumoto Yukihiro) 가 소개한 OOP(객체지향프로그래밍 언어)입니다.
※ 국내에 번역된 책들을 보면 Ruby 창시자를 유키히로 마츠모토라고 하는데 영어를 무작정 번역하다 보니 이름-성을 부르는 것이다.
2001년도 데이브 토마스와 앤드류 헌트의 『Programming Ruby』출판을 계기로 전세계에 알려지기 시작하여 웹어플리케이션작성 언어로 많이 쓰여지는 것 같다.

Ruby는 Smalltalk, 함수형언어인 Lisp, Perl의 영향을 받았으며, C나 자바같은 언어에서 찾아볼수 없는 여러가지 강력한 기능을 제공한다.

Rails는 Ruby 프로그래밍 언어로 만들어진 웹 개발 프레임워크로 덴마크의 데이빗 해너마이어 한슨(David Heinemeier Hansson)에 의해 2004년 7월 처음 공개되었다.

다들 Ruby on rails라 하니 대세를 따라 Ruby on rails를 공부하게 되었습니다.
요즘 제가 보고 있는 Ruby on rails 책이다.
웹 개발 2.0 루비 온 레일스 상세보기
황대산 지음 | 에이콘출판 펴냄
즐겁고 빠른 웹 개발! 차세대 웹 개발 프레임워크 레일스와 함께! 루비 온 레일스 입문서. 이 책은 레일스 1.2를 중심으로 기초부터 활용까지 다양한 예제를 중심으로 설명한다. 레일스 개발에 필요한 각각의 메뉴와 블로그 애플리케이션 만들기 실전 예제 등을 담았다. 또한 책 뒤편에는 루비 주요 클래스 API와 레일스 명령어, 메소드 요약표를 함께 설명한다.


책을 보면서 Ruby on rails를 프로그래밍을 습득을 할수 있지만 웹사이트에서 15분간 투자를 하면 Ruby를 맛볼수 있는 사이트가 있는 것을 알았습니다.
http://tryruby.hobix.com/

http://tryruby.hobix.com 사이트 화면

http://tryruby.hobix.com/ 사이트 화면입니다. Ruby에 대해 15분만에 알수 있는 사이트라고 합니다.


위 사이트에서는 Ruby를 15분만 투자해보면 금방 배울수 있다고 하더군요.
한번 해보니까 책을 보고 타이핑하는 것보다 재미가 있습니다.
저는 Ruby의 세계에 빠져보아야 할듯 합니다. ㅎㅎ

'컴퓨터 > 프로그래밍' 카테고리의 다른 글

Android SDK 설치  (0) 2008.12.14
오랜만에 만져본 JAVA  (2) 2008.12.02
MVC Pattern  (1) 2008.07.21
내가 보아야 할 Ruby 관련 책들  (2) 2008.05.14
Ruby를 맛봅시다.  (2) 2008.04.30
10.Raw Socket  (0) 2008.04.29
Buy me a coffeeBuy me a coffee
  1. Favicon of http://fantastoov.tistory.com BlogIcon fantast 2008.04.30 16:16

    루비. HTML 같은 웹 언어인가요? C++ 같은거 대체로 쓸 수도 있어요??
    마이크로소프트웨어 잡지에서 본 적은 있는데 뭔지 잘 모르겠네요.

    • Favicon of http://blog.studioego.info BlogIcon StudioEgo 2008.05.01 03:13

      Ruby는 HTML과 같은 언어는 아니랍니다. HTML은 하이퍼텍스트를 표기하는 언어로 인터넷에서
      웹 페이지(문서)를 표시하기 위해여 쓰는 것입니다, 그러나 Ruby는 문서를표시하기 위한 언어가
      아니라 컴퓨터에 일을 시키기 위한 프로그래밍언어입니다.
      엄밀히 말해서 루비(Ruby)라는 언어는 동적 객체 지향 프로그래밍 언어이며, 현재 웹어플을
      만드는 것으로 각광받는 루비 온 레일즈는 신속한 웹 개발을 지원하는 웹 개발 프레임워크입니다.
      루비에서 C/C++을 지원하는 모듈을 사용하면 C/C++을 연결하여 쓸수 있겠군요.
      C++같은거 대체로 쓸수 있다는것이 뭔말인지는 모르겠습니다.
      (대체를 하여 쓸수 있다는 것이 애매하게 느껴집니다.)

+ Recent posts