RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
使æ¥: 2015-02-11 21:34:52  /  last updated at: 2015-02-15 20:03:11 ã«ãã´ãª: HTTP ããã°ã©ãã³ã° [ Prev ] [ Next ] [ æè¡Â ] RESTfulãªAPIãWebã¢ããªã±ã¼ã·ã§ã³ãéçºããéã«ãä¸ã¤ã®çåãçããã RESTã§ã¯ãã¹ãã¼ãã¬ã¹ããéè¦ãã¦ããµã¼ããµã¤ãã§ã®ã»ãã·ã§ã³ç®¡çã§ã¯ãªããã¯ã©ã¤ã¢ã³ãå´ã§èªè¨¼æ å ±ãç¶æ ãä¿æãã¦ããµã¼ãã«é½åº¦éãæ¹å¼ãå±ãã¦ãããããã¯HTTPã§å®è£ ãããªããCookieã使ã£ãã»ãã·ã§ã³ç®¡çã§ã¯ãªããBasicãDigestèªè¨¼ãªã©ãHTTPèªè¨¼ã使ããã¨ã«ãªãã ãããç¾å®åé¡ã¨ãã¦ãã¢ãã³ãªWebãµã¤ãã§Basic/Digestèªè¨¼ãæ±ããã¨ã¯ãªãããµã¼ããµã¤ãã®Cookieã使ã£ãã»ãã·ã§ã³ç®¡çã使ããã¨ã«ãªãã RESTã«ããã¦ãã¹ãã¼ãã¬ã¹ã¨ããç¹
å ææ«ã«RESTful#ã¨ã¯åå¼·ä¼2ãéå¬ãã¦ãã¾ããã ãããããï¼ï¼ï¼ï¼æ¬å½ã«è¯ãã£ãï¼ï¼ï¼ï¼åå¼·ã«ãªã£ãï¼ï¼ï¼ã¾ã è奮å·ãããã¬æãã§ãã åå¼·ä¼1åç®ãçµãããå¾ãRESTã®ç¥èãç§ã¯ããå®è·µã«çãããã¨ãåºæ¥ã¾ããã ãããã¯URLã¨ã¢ã¯ã·ã§ã³èããã¨Controllerãã1åç¨æããï¼ããªãã¦ä¼è©±ãåºãããã«ãªããã¬ãã«ã¢ããããæãããã¾ãã 2åç®ã¯ã©ããããããªã¨ã¼ããããã¦ããæã«è¦ã ãã®ã¹ã©ã¤ãã大å¤è峿·±ãã¦ãä»ã«ãSlideShareã®RESTé¢ä¿ãå¾å¾ãã¾ãããããããä¸çªé·²æ´ã¿ããã¾ããï¼ï¼ï¼ ï¼ã¬ãã«ãä¸ãã£ã¦ããã¾ãå¾å¾ããã¨ãä»ã®é£ããã¨æãããã®ã«ãé·²æ´ã¿ãããã®ããããã¾ããããæ¥½ãã¿ãï¼ ãããã¯çèªãã¹ãï¼ããã¦ã¡ããã¨çè§£ã§ããããã«ãªãããï¼ãã¨æãããWEBãæ¯ããæè¡ããè¦è¿ããã¨ãããæå¾ã®5é¨ããWEBãµã¼ãã¹ã®è¨è¨ãã§ããã®ã§ã
æçåç»äºæ¥å®¤ã® @yoshiori ã§ããåã«ãRESTful Web API éçºããããã Garageãã§ç´¹ä»ãã RESTful Web API ãéçºãã Garage ã®ã¯ã©ã¤ã¢ã³ãå´ã®ã©ã¤ãã©ãªãå ¬éãã¾ããããã®è¨äºã§ã¯ãã®ä½¿ãæ¹ãç´¹ä»ãããã¨æãã¾ããGarage ã®è¨è¨ææ³ããµã¼ãå´ã®å®è£ ã«ã¤ãã¦ã¯ä¸è¨è¨äºã御覧ãã ããã ä»åã¯ç°¡åã«ã¯ã©ã¤ã¢ã³ãå´ã®æåãç¥ã£ã¦ããã ãããã« pry ã使ã£ã¦èª¬æãããã¨æãã¾ãã ã¢ã¯ã»ã¹ãããµã¼ãã¯å ç¨ã®è¨äºã§ä½æããã¢ããªã±ã¼ã·ã§ã³ã使ç¨ãã¦ã¿ã¾ãã ãµã¼ãã®æºå https://github.com/taiki45/garage-example ã® README ã«ãæ¸ãã¦ããã¾ãã®ã§ç°¡åã«é²ãããã¨æãã¾ãã ã¾ãã¯ä¸æºåã¨ãã¦ã³ã¼ãã github ãã clone ãã¦ãã¦ãã©ã¤ãã©ãªã®ã¤ã³ã¹ãã¼ã«ã¨ DB ã®ãã¤ã°ã¬
æè¡é¨ã®å°é(@taiki45)ã§ãããã®è¨äºã§ã¯ç°¡åãªã¢ããªã±ã¼ã·ã§ã³(ããã°ã·ã¹ãã )ã®å®è£ ãéãã¦ãã¯ãã¯ãããã§ä½æã»ä½¿ç¨ãã¦ããã©ã¤ãã©ãªã®Garage ã®ç´¹ä»ã¨ Garage ã使ã£ã RESTful Web API ã®éçºããç´¹ä»ãããã¨æãã¾ãã Garage 㯠RESTful Web API ãéçºããããã®ã Rails gemified plugins ã§ããRails ããã°ã©ã㯠Garage ã使ã£ã¦ Rails ãæ¡å¼µãããã¨ã§ç´ æ©ã Web API ãéçºãããã¨ãã§ãã¾ããGarage ã¯æ°ããã¢ããªã±ã¼ã·ã§ã³ãéçºããå ´åã«ããæ¢åã® Rails ã¢ããªã±ã¼ã·ã§ã³ã«çµã¿è¾¼ãã§ Web API ãå®è£ ããå ´åã§ã使ç¨ã§ãã¾ããGarage ã¯ãªã½ã¼ã¹ã®ã·ãªã¢ã©ã¤ãºãã¢ã¯ã»ã¹ã³ã³ããã¼ã«ãªã© Web API ã®å®è£ ã«å¿ è¦ãªæ©è½ãã«ãã¼ãã¦ãã¾ãã Ruby
4/12(å)ã®å¤ã«ãRESTful Meetup vol.3ããéå¬ãã¾ããã RESTful Meetup vol.3 - Sendagaya.rb | Doorkeeper æ¨å¹´ã®è¨äºã®éããRESTful Web APIsãã®èªæ¸ä¼ãæ2åãã¼ã¹ã§éå¬ãã¦ãã¾ãããããã®å¾ãèè ã®Mike Amundsen(@mamund)ãããããã¯ã¼ã¯ã·ã§ããã®ããã«æ±äº¬ã¸è¡ãã¨ããç¥ããããã£ãã®ã§ãããã¯ã¤ãã³ãããããããªãï¼ã¨ãããã¨ã§ä¼ç»ãã¾ããã vol.3ã¨ãããã¨ã§ãå®ã¯éå»2åéå¬ãã¦ãã¾ãããã®ã¨ãã¯ãRailsã«ãããRESTfulãªURLè¨è¨åå¼·ä¼ãã¨ããã¿ã¤ãã«ã§ãããªãã¿ã¼ã²ãããçµã£ã¦ããã®ã§ãããä»åã¯ãRESTããWeb APIãã¨ããããªãåºããã¼ãã«ãã¾ããããã®ãã¨ã§Ruby/Railsã«éãã夿§ãªè¨èªã®äººã«éã¾ã£ã¦ããããã®ãã¨ã¦ãããã£ãã§ãã ã
Webã¢ããªã±ã¼ã·ã§ã³ã«ã¤ãã¦ãRESTfulãªURLã»ãªã½ã¼ã¹è¨è¨ã®ãã¿ã¼ã³ãè¦åºããã¨ã§ã ã©ã®ãã¿ã¼ã³ãã夿ããã ãã§ãæ¢åã® Good Practice ãé©ç¨ã§ãã ååãã¤ãã¦å¼ã¹ãããã«ããã Railsãªã©ã®ãã¬ã¼ã ã¯ã¼ã¯ã§ç°¡åã«é©ç¨ã§ããããã«ããã ã¨ãããã¨ãç®æãã¦ãã¾ãã ã»ãã¨ãã«å½¹ç«ã¤ã ããã¯ãã¿ã¼ã³ã¨è¨ããã®ã ãã£ã¨ä»ã«ããã ã ãã¶ç²åº¦ããã©ãã© ååã®ä»ãæ¹ï¼ãã¿ã¼ã³ã¯ååéè¦ï¼ ãªã©ããã²ãæè¦ããã ããã ãã¿ã¼ã³ Collection & Member Resource ãã¿ã¼ã³ Singular (Singleton) Resource ãã¿ã¼ã³ Filtered Collection ãã¿ã¼ã³ Filtered Subresource ãã¿ã¼ã³ Multi-member Resource ãã¿ã¼ã³ Partial Resource ãã¿ã¼
zusaar.com - zusaar ãªã½ã¼ã¹ããã³æ å ± åå ãã¦ãã¾ããã 以ä¸ãç²åº¦ã«ã°ãã¤ãããã¾ãããæ°ã«ãªã£ãç¹ã®ã¡ã¢ã§ããã»ã¼å¼ç¨ã§ãããæå³ã¨éã表ç¾ã«ãªã£ã¦ãã¾ã£ã¦ããããã¿ã¾ããã RESTful APIã¨ãã¦ã®Railsã¨ã¯ã©ã¤ã¢ã³ãã¨ãã¦ã®JavaScript (@ppworks) no title RESTfulã®æåã§èããã¨çµ±ä¸ãããã¤ã³ã¿ã¼ãã§ã¼ã¹ã§ãURLãè¦ãã ãã§ä½ããããããã®ãè¯ã JSã¯assetsã®ã»ãã«çµ±ä¸ãã¢ã¯ã·ã§ã³ãã¨ã«å¦çãæ¸ããjQuery-Routerãªã©ã使ãã¨è¯ãã®ã§ã¯ Railsã¯ã ãã ãAPIåãã¦ããã®ã§ã¯ãªãã é常ã®HTTPãªã¯ã¨ã¹ãã¨éåæHTTPãªã¯ã¨ã¹ããåãçµ±ä¸ã¤ã³ã¿ã¼ãã§ã¼ã¹ã§ããRESTfulãªè¨è¨ã§ç®¡çããã¨ä¸è²«æ§ãåºã¦éçºå¹çã®åä¸ã«ã¤ãªãã ãªã½ã¼ã¹ã¢ããªã³ã°ãã¿ã¼ã³ã®ææ¡ (@tkawa)
楽観çæä»å¶å¾¡ãå©ç¨ããéåæçãªãã©ã³ã¶ã¯ã·ã§ã³å®è¡ã§ããã°ã¹ã±ã¼ã©ããªãã£ãæãããã¨ãªã2phase commitãå¯è½ã§ãããããã¯ã忣KVSã«ãããã¹ã±ã¼ã©ããªãã£ã¨ä¸è²«æ§ã®ä¸¡ç«ã«ã¤ãã¦Â ã§ä¸»å¼µããããã«ãåæçãª2phase commitã¯å¯çµåã«èªå°ãããã¨ã«ãªããããçç¾ããããã«æãããããããªããã ããããªãã¨ã¯ãªãã ååã¯ã¾ããã®è©±ããå ¥ãããå¾åã§ã¯RESTã«é¢ããééãã«ã¤ãã¦ãï¼ã¤ã»ã©æãã¨ãããè¿°ã¹ããã æ¥½è¦³çæä»å¶å¾¡ã¨2phase commit reflexworksã§ã¯FeedãEntryåä½ã§atomicãªãã©ã³ã¶ã¯ã·ã§ã³å¦çãè¡ããã2phase commitã¯ãµãã¼ããã¦ããªããããã許ãã¨å¯çµåã«ãªã£ã¦ã¹ã±ã¼ã«ããªãããã§ãããã ããããã¯ããã¾ã§åæçãªå¦çã®è©±ã§ãã£ã¦ããããã¯ã¼ã¯é害ã¸ã®èæ§ãèæ ®ãããéåæå¦çããªãã©ã¤ã³ã§ä½¿ããã®ã§
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}