구글에서 엄청난 녀석을 또 선보인다. 이것은 웹에서 맥의 아이툰즈와 비슷한 환경으로 음악을 들을 수 있는 The Could Player라는 웹 애플리케이션이다. 더구나 이번 웹 애플에서 사용된 자바스크립트 라이브러리는 jQuery기반이다. jQuery의 사용률은 이제 이전의 prototypejs을 능가하지 않을까?라는 생각이 든다. 레일스에 jQuery를 기본으로 가져갔더라면...엄청났을텐데..

이 애플은 맥을 사용하는 유저로서 참 신기할 정도로 기능과 모양새가 거의 비슷하다.
점차 웹 기반의 애플리케이션이 많아지는 것을 보니, 이젠 web2.0 시대의 기술은 거의 안정된 것 같다.
저작자 표시 비영리 변경 금지

당신이 Mac OS X를 사용하거나 Linux 계열을 사용하고, Rails 프로그램 개발자라면 이 포스트가 도움이 될 것이다.

최신 plugin을 설치하기 위해서 gem update를 실시하였고 Rails를 실행하기 위해 ruby scrtipt/server를 실행하였다면 아래와 같은 문제를 겪게 될 것이다.

이 문제는 gem update를 이용하면 이전 버전을 계속 보관하고 있어서 사용하는 버전을 찾는데 생기는 혼란으로 보여진다. 실제 rubyforege에서도 이와 같은 문제를 fix한 글이 있다. 아래 링크 참조

http://rubyforge.org/tracker/?func=detail&aid=16145&group_id=1306&atid=5145

 


 

/Library/Ruby/Gems/1.8/gems/gem_plugin-0.2.3/lib/gem_plugin.rb:138:in `load': undefined local variable or method `init_rb' for #<GemPlugin::Manager:0x105d9e8> (NameError)

from /Library/Ruby/Site/1.8/rubygems/source_index.rb:203:in `each'

from /Library/Ruby/Site/1.8/rubygems/source_index.rb:203:in `each'

from /Library/Ruby/Gems/1.8/gems/gem_plugin-0.2.3/lib/gem_plugin.rb:112:in `load'

from /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:278

from /usr/bin/mongrel_rails:19:in `load'

from /usr/bin/mongrel_rails:19


이 문제의 해결 방법은 gem_pllugin.rb파일을 수정해줘야 한다.

sudo vi /Library/Ruby/Gems/1.8/gems/gem_plugin-0.2.3/lib/gem_plugin.rb 로 파일을 열어서 아래 부분을 수정하면 된다.

 

           # Previously was set wrong, we already have the correct gem path!
           #gem_dir = File.join(Gem.dir, "gems", "#{gem.name}-#{gem.version}") (주석으로 처리할 부분)
           gem_dir = File.join(Gem.dir, "gems", path)
-
-          require File.join(gem_dir, "lib", gem.name, "init.rb") (주석으로 처리할 부분)
+          init_rb = File.join(gem_dir, "lib", gem.name, "init.rb")
+
+          require init_rb if File.readable?(init_rb)
           @gems[gem.name] = gem_dir
         end
       end
저작자 표시 비영리 변경 금지
Rails 2.2 버전부터는 RESTfull 서비스를 지원하기에 RSS서비스를 위해서 힘들게 작업하던 코드량을 대폭으로 줄일수 있다.
블로그를 만드는 과정중에서 여러가지 상황에 맞는 RSS를 지워하려고 하다보니 본문의 링크를 바꿔줘야할 일이 생겨서 어렵게 알아냈다.

해결방법 : feed.entry의 파라메타로 :url를 넣어주면 되는 것

블로그를 만들때 route의 리소스와 연결한 예

저작자 표시 비영리 변경 금지

레일스의 라우트는 매우 엄격하고 유연하며 실용적이지만, 어렵다 ㅡㅡ;

creates seven different routes in your application:

HTTP verbURLcontrolleractionused for
GET /photos Photos index display a list of all photos
GET /photos/new Photos new return an HTML form for creating a new photo
POST /photos Photos create create a new photo
GET /photos/1 Photos show display a specific photo
GET /photos/1/edit Photos edit return an HTML form for editing a photo
PUT /photos/1 Photos update update a specific photo
DELETE /photos/1 Photos destroy delete a specific photo

For the specific routes (those that reference just a single resource), the identifier for the resource will be available within the corresponding controller action as params[:id].

출처

http://guides.rubyonrails.org/routing_outside_in.html

저작자 표시 비영리 변경 금지
TAG Rails, Router
rails 2.2로 릴리즈되고 나선 예전과 다른 문법 때문에 여간 고생이 아니다..
레일스에 기본으로 내장되어있는 ajax 프레임워크의 prototypejs의 ajax를 이용하여 사용자가 직접 작성하여 요청할 때 로그를 살펴보면 invalidAuthenticityToken문제가 발생한다.
이것은 크로스 사이트 요청 공격을 막기위해서 구현되어 있는 레일스 보안문제로 보인다.

이 문제를 해결하려면 두가지 방법을 제시한다
첫번째 레일스에서 이 기능을 무시하는 것이다.


또 하나의 방법은 ajax 파라메터에 인증키를 보내는 것이다.



참고 : 
저작자 표시 비영리 변경 금지

이미지 출처 : http://www.ibm.com/developerworks/kr/library/wa-jquery1/

초창기 prototypejs의 클래스적 문법 표현을 통해서 인기를 누렸으나, scriptaculous와 함께 코드량이 너무 커서 사용율이 증가하지 않고 있는추세이다. 더구나 jquery의 plugin의 인기는 실로 대단하다. 오픈소스로 운영되는 커뮤니티를 통해 많은 개발자들이 플러그인을 개발하고 있다.  위 그림은 구글트랜드를 추적한 그림인데, jquery와 yui의 인기를 실감할 수 있다.

저작자 표시 비영리 변경 금지
1. One-To-One


2. One-To-Many

3. Many-To-Many
or
Association Join Model
has_many와 belongs_tos는 영어의 의미와 함께 조인조건을 나타낸다. 일대일, 일대다, 다대다의 관계를 나타내며, ActiveRecord에서 내부적으로 조인연산을 하여 결과 값으로 배열 형태로 돌려준다.

코드원문 : http://api.rubyonrails.com/classes/ActiveRecord/Associations/ClassMethods.html
저작자 표시 비영리 변경 금지
레일스 개발자에게 플러그인은 개발 시간을 단축시키는 또 하나의 카드와 같다.
레일스 2버전 이전에는 paginate라는 것으로 페이징을 단번에 구현할 수 있었지만,
2버전으로 올라가면서 레일스의 플러그인들이 대폭 수정된다.
사용방식도 달라지고, 성능도 달라진듯 하다.

버전 2로변경된 후 페이징 플러그인은 will_paginate로 사용하면 된다.
다음 링크는 will_paginate의 문서이다.



저작자 표시 비영리 변경 금지
논문 일차 발표를 마치고 약간의 여유가 생겼다. 집에 갔더니 동생이 티스토리 스킨을 만들어 달라면서 일본 한 블로그를 보여줬다.  티스토리는 원래 html , css 모두 변견할 수 있기에 참 좋은것 같다. 컴퓨터에, 아니 html에 관한 조그만 지식만 있으면 자신에게 맞는 스킨을 뚝딱 만들어 낼 수 있을테니까.
사진 찍기 좋아하는 동생을 위해 첫번째 버전으로 만들어 준  Apertura skin 이다.


저작자 표시 비영리 변경 금지

맥북을 살때 캐어를 같이 살걸..후회한적이 몇번이나 있었다. 역시 모든 옵션은 처음 살때 질러야한다는 것을...

1년 보증기간이 다되어서도 비싸지만 급등하는 달러 탓하면서 눈물을 머금고 사야했다.
애플 제품은 다 좋은데 A/S 때문에 늘 속상하다...
우리나라 제품이 애플 제품처럼 잘 만들고, 좋다면  고민없이 우리나라 제품을 살건데...
이로써 2011년까지 보증기간 연장했다..

맥... 다 좋은데, 돈 잡아 먹는 귀신이다..그래도 늘 쾌적한 프로그래밍 환경과 연구할 수 있는 환경을 제공해주는 녀석이다. 부디 오래오래 고장나지말길~


저작자 표시 비영리 변경 금지
이전 1 2 3 4 다음