Code Archive Skip to content Google About Google Privacy Terms
ã¨ã„ã„ã¤ã¤ã€ã²ã¨ã¤ã ã‘ç†è§£ã§ããªã„ã¨ã„ã†ã‹ã€ç´å¾—ã§ããªã„ã¨ã“ã‚ãŒã€‚トランザクションã®ã¨ã“ã‚ãŒãªã‚“ã ã‹RESTã£ã½ããªã„ã®ãŒã™ã”ãæ°—ã«ãªã‚‹ Webを支ãˆã‚‹æŠ€è¡“ -HTTPã€URIã€HTMLã€ãã—ã¦REST (WEB+DB PRESSプラスシリーズ)(山本 陽平) - ãŸã ã®ã«ã£ã(2010-04-23) 「Web を支ãˆã‚‹æŠ€è¡“ã€ã¯è‡ªåˆ†ã‚‚ã¨ã¦ã‚‚ã„ã„本ã ã¨æ€ã† (教科書ã¨ã—ã¦ã™ã°ã‚‰ã—ã„ã—復習用ã¨ã—ã¦ã‚‚èªã¿ã‚„ã™ã„ã®ã§ã‚¤ã‚¤) ã®ã§ã™ãŒã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®æ‰€ã ã‘ã¯åˆ†ã‹ã‚Šã¥ã‚‰ã„ãªã¨æ„Ÿã˜ã¾ã—ãŸã€‚ãã®åŽŸå› ã¯ã€atomic transaction ã§è§£æ±ºã§ãる課題を例ã¨ã—ã¦ä½¿ã£ã¦ã„ã‚‹ã¨ã„ã†ç‚¹ã¨ã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã¨æ›´æ–°ã‚¯ã‚¨ãƒªã®ãƒ¬ã‚¤ãƒ¤åˆ†å‰²ãŒã•ã‚Œã¦ã„ãªã„ã€ã¨ã„ã†ï¼’ã¤ã®ç‚¹ã«ã‚ˆã‚‹ã‚‚ã®ã§ã¯ãªã„ã§ã—ょã†ã‹ã€‚ HTTP 上ã§ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’表ç¾ã™ã‚‹å¿…è¦ãŒã‚るケースã®ã»ã¨ã‚“ã©ã¯ã€atomic transaction ã§ã¯ãªã
ã“ã®ãƒ–ãƒã‚°ã€1å¹´è¿‘ãã”無沙汰ã—ã¦ã„ã¾ã—ãŸã€‚ãã®é–“ãªã«ã‚’ã‚„ã£ã¦ã„ãŸã‹ã¨ã„ã†ã¨ã€å®Ÿã¯ãšã£ã¨æœ¬ã‚’書ã„ã¦ã„ã¾ã—ãŸã€‚『Webを支ãˆã‚‹æŠ€è¡“ ── HTTPã€URIã€HTMLã€ãã—ã¦RESTã€ã¨ã„ã†ãªã‚“ã¨ã‚‚挑戦的ãªé¡Œåã®æœ¬ã§ã™ã€‚技術評論社ã•ã‚“ã®WEB+DB PRESS Plusシリーズã®11冊目ã§ã€æ¥æœˆç™ºå£²ã•ã‚Œã‚‹äºˆå®šã§ã™ã€‚ Webを支ãˆã‚‹æŠ€è¡“ ── HTTPã€URIã€HTMLã€ãã—ã¦REST山本 陽平技術評論社 2010-04-08 ã“ã®æœ¬ã¯ã€WEB+DB PRESSã§é€£è¼‰ã—ã¦ã„ãŸã€ŒRESTレシピã€ã¨ã„ã†é€£è¼‰ãŒãƒ™ãƒ¼ã‚¹ã«ãªã£ã¦ã„ã¾ã™ã€‚実ã¯é€£è¼‰ãŒ1年経ã£ãŸãらã„ã‹ã‚‰ã€æŠ€è©•ã•ã‚“ã‹ã‚‰ã¯æ›¸ç±åŒ–ã®ã‚ªãƒ•ã‚¡ãƒ¼ã‚’もらã£ã¦ã„ã¾ã—ãŸã€‚ãŸã ã€ãã®æ™‚点ã§ã¯æ›¸ã„ãŸåˆ†é‡ã‚‚å°‘ãªã„ã—ã€ãã‚‚ãも自分ã«é›‘誌記事ã¨ã¯æ¯”ã¹ç‰©ã«ãªã‚‰ãªã„ãらã„分é‡ã®ã‚る本ãŒæ›¸ã‘ã‚‹ã¨ã¯æ€ã£ã¦ã„ãªã‹ã£ãŸã®ã§ã€æ›¸ç±ã§ã¯ãªã連載継続ã¨ã„ã†å½¢ã§ãƒˆãƒ¼ã‚¿ãƒ«2年間連載をã—ã¾ã—ãŸã€‚
普段仕事ã§Rails を使ã£ã¦ã„る身ã§ã™ãŒã€Rails 2.x 系を使ã£ã¦ã„ã‚‹ã‚‚ã®ãŒ1ã¤ã‚‚ãªã„。çµæ§‹å‰ã‹ã‚‰Rails 3 ã®è©±é¡ŒãŒã§ã¦ãã¦ã„る今ã€ãã‚ãã‚Rails 2.x ã‚’ã¾ã¨ã‚‚ã«ä½¿ã£ã¦ãŠããŸã„ã¨æ€ã£ãŸã®ã§ã€ã¾ãšã¯REST ã«ã¤ã„ã¦èª¿ã¹ã¾ã—ãŸã€‚最åˆã«REST ã«ã¤ã„ã¦èª¿ã¹ãŸã®ã¯ã€REST ãŒRails 2.x (実際ã«ã¯1.2.x ã‹ã‚‰)ã§å°Žå…¥ã•ã‚ŒãŸæœ€ã‚‚大ããªæ¦‚念ã ã‹ã‚‰ã§ã™ã€‚ REST ã¨ã¯ REST ã¨ã¯ã‚¢ãƒ¼ã‚テクãƒãƒ£ã‚¹ã‚¿ã‚¤ãƒ«ã§ã‚ã‚‹ アーã‚テクãƒãƒ£ã‚¹ã‚¿ã‚¤ãƒ«ã¨ã¯ãƒ‡ã‚¶ã‚¤ãƒ³ãƒ‘ターンã®ã‚ˆã†ãªã‚‚ã®ã§ã€ã‚·ã‚¹ãƒ†ãƒ ã‚’è¨è¨ˆã™ã‚‹ä¸Šã§ã®æ–¹é‡ã‚’ã¾ã¨ã‚ãŸã‚‚ã®ã§ã‚る。 REST ã¯ã€ŒREpresentational State Transferã€ã®ç•¥ã§ã‚ã‚‹ 直訳ã™ã‚‹ã¨ã€ã€Œ(リソースã®)表ç¾å¯èƒ½ãªçŠ¶æ…‹ã®è»¢é€ã€ã€‚ã‚るリソースã®çŠ¶æ…‹ã‚’表ç¾ã—ãŸã‚‚ã®ãŒã‚µãƒ¼ãƒã‹ã‚‰ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«è»¢é€ã•ã‚Œã‚‹ã®ãŒREST。ã“ã“ã«ã§ã¦ããŸã€Œãƒªã‚½ãƒ¼
最近ã€å¢—井å›ã¨ç§ã§ã‚¢ãƒ¼ã‚テクãƒãƒ£ã®è©±ã‚’ã™ã‚‹ã“ã¨ãŒå¤šã„ã®ã ãŒã€ãã‚“ãªãƒ‡ã‚£ã‚¹ã‚«ãƒƒã‚·ãƒ§ãƒ³ã®ä¸ã§æ°—ã«å…¥ã£ã¦ã„ã‚‹ã®ã¯å·¦ã®å›³ã®ã‚ˆã†ãªã‚¢ãƒ¼ã‚テクãƒãƒ£ã€‚ ã‚‚ã¡ã‚ã‚“ã€æ ¸ã¨ãªã‚‹ã®ã¯ãƒ“ジãƒã‚¹ãƒã‚¸ãƒƒã‚¯ã‚’å«ã‚“ã Modelã®éƒ¨åˆ†ã€‚ãã“ã‚’ã—ã£ã‹ã‚Šã¨å®Ÿè£…ã—ã€å†…éƒ¨æ§‹é€ ã‚’éš ã™ç²’度ã®è’ã„インターフェイスを定義ã—ã€å¤–ã‹ã‚‰ä½•ã‚’ã•ã‚Œã¦ã‚‚データã®æ•´åˆæ€§ãŒå£Šã‚Œãªã„様ã«ã™ã‚‹ã“ã¨ã¯ä½•ã‚ˆã‚Šã‚‚大切。 ãã—ã¦ã€ãã®Model層ã¸ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ã‚’特定ã®è¨€èªžã«ä¾å˜ã—ãŸã‚¯ãƒ©ã‚¹ã‚„APIã§ã¯ãªãã€HTTP上ã§JSON(XMLã§ã‚‚ã‹ã¾ã‚ãªã„)をやりã¨ã‚Šã™ã‚‹ã ã‘ã® RESTfulãªWeb Serviceã«ã™ã‚‹ã“ã¨ãŒãƒŸã‚½ã€‚ã“ã†ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã«ã‚ˆã‚Šã€ã©ã‚“ãªã«ç· ã‚切りã«è² ã‚れよã†ãŒã€èª°ãŒControllerを実装ã—よã†ãŒã€Œãšã‚‹ãŒã§ããªã„ã€ã‚ˆã†ã«ä½œã£ã¦ãŠã(ãšã‚‹ï¼æœ¬æ¥ä½¿ã†ã¹ã外部インターフェイスã ã‘ã§ãªãã€Model内部ã«ç›´æŽ¥ã‚¢ã‚¯ã‚»ã‚¹ã—ã¦ä¾å˜é–¢ä¿‚を作ã£ã¦ã—ã¾ã†äº‹ï¼‰
restful_authentication プラグインã®ãƒ¡ãƒ¢ã€‚検証㯠Rails 2.0.2 ã§è¡Œã£ã¦ã„ã¾ã™ã€‚ プラグインã«ã¤ã„㦠RESTful ãªãƒ¦ãƒ¼ã‚¶èªè¨¼ã‚’è¡Œã†äº‹ãŒã§ãã¾ã™ã€‚ 通常ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚’用ã„ãŸèªè¨¼ã€ãƒ™ãƒ¼ã‚·ãƒƒã‚¯èªè¨¼ã€ Cookie ã«ã‚ˆã‚‹èªè¨¼ãŒåˆ©ç”¨ã§ãã¾ã™ã€‚特㫠Cookie を用ã„ãŸèªè¨¼ã¯ã€ãƒ–ラウザを閉ã˜ãŸå ´åˆã§ã‚‚有効期間内ãªã‚‰æœ‰åŠ¹ã«ãªã‚Šã¾ã™ï¼ˆè¨å®šæœ‰åŠ¹æ™‚)。 インストール プラグインをインストールã—ã¾ã™ã€‚Rails 1.2.6 以é™ã§ãªã„ã¨å‹•ä½œã—ãªã„ã®ã§æ³¨æ„ã—ã¦ä¸‹ã•ã„。 ã¾ãŸã€ authenticated_system.rb 㯠RAILS_ROOT/lib 以下ã«å±•é–‹ã•ã‚Œã¾ã™ã€‚ ruby script/plugin install http://svn.techno-weenie.net/projects/plugins/restful_authentication/追記
第2版(2008å¹´1月19日):翻訳者ã«ã‚ˆã‚‹æ³¨é‡ˆã‚’è¿½åŠ ã—ã¾ã—ãŸã€‚ ヘテãƒã‚¸ãƒ‹ã‚¢ã‚¹ãªã‚¢ãƒ—リケーション間ã®é€šä¿¡ã‚’実装ã™ã‚‹ãŸã‚ã®ã€Œé©åˆ‡ãªã€æ‰‹æ³•ã«ã¤ã„ã¦è°è«–ãŒè¡Œã‚ã‚Œã¦ã„ã‚‹ã¨ã„ã†ã“ã¨ã‚’ã€ã‚ãªãŸã¯çŸ¥ã£ã¦ã„ã‚‹ã‹ã‚‚ã—ã‚Œãªã„ã—ã€çŸ¥ã‚‰ãªã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。ãã†ã„ã£ãŸçŠ¶æ³ä¸‹ã§ã€ç¾åœ¨ã®ä¸»æµã¯æ˜Žã‚‰ã‹ã«SOAPã€WSDLã€WS-*仕様ã¨ã„ã†ä¸–界をベースã¨ã—ãŸWebサービスã«ãƒ•ã‚©ãƒ¼ã‚«ã‚¹ã—ã¦ã„ã¾ã™ã€‚ã—ã‹ã—ã€å°‘æ•°æ´¾ã®äººãŸã¡ã®ä¸ã§ã€ã‚ˆã‚Šè‰¯ã„方法ãŒã‚ã‚‹ã¨ä¸»å¼µã™ã‚‹äººãŒã„ã¾ã™ã€‚ãã‚ŒãŒã€REST(REpresentational State Transferã®ç•¥)ã§ã™ã€‚本稿ã§ã¯ã€æœ¬ç‹ã‹ã‚‰å¤–れるã“ã¨ãªãã€RESTã¨RESTfulãªHTTPアプリケーション統åˆã¸ã®å®Ÿç”¨çš„ãªèª¬æ˜Žã‚’試ã¿ã‚ˆã†ã¨æ€ã„ã¾ã™ã€‚ã“れらã®è€ƒãˆæ–¹ã®èª¬æ˜Žã«ã¤ã„ã¦ã¯ã€ã‚ˆã‚Šè©³ç´°ã«è¸ã¿è¾¼ã‚“ã§èª¬æ˜Žã‚’ã™ã‚‹ã¤ã‚‚ã‚Šã§ã™ã€‚ç§ã®çµŒé¨“上ã€èª°ã‹ãŒå§‹ã‚ã¦ã“ã®ã‚¢ãƒ—ãƒãƒ¼ãƒã‚’経験ã™ã‚‹ã“ã¨ã§ä¸€ç•ªè°è«–ãŒæ´»ç™ºã«
リリースã€éšœå®³æƒ…å ±ãªã©ã®ã‚µãƒ¼ãƒ“スã®ãŠçŸ¥ã‚‰ã›
最新ã®äººæ°—エントリーã®é…ä¿¡
処ç†ã‚’実行ä¸ã§ã™
j次ã®ãƒ–ックマーク
kå‰ã®ãƒ–ックマーク
lã‚ã¨ã§èªã‚€
eコメント一覧を開ã
oページを開ã
{{#tags}}- {{label}}
{{/tags}}