[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails

æ¦è¦ åèè ã®è¨±è«¾ãå¾ã¦ç¿»è¨³ã»å ¬éãããã¾ãã è±èªè¨äº: 37signals Dev â A vanilla Rails stack is plenty åæå ¬éæ¥: 2024/12/20 åèè : Jorge Manrubia -- 37signalsã®é¦å¸ã¨ã³ã¸ãã¢ã§ã æ¥æ¬èªã¿ã¤ãã«ã¯å 容ã«å³ãããã®ã«ãã¾ããã ä»ã®ä¸ã®ä¸ã§ãRailsã¢ããªãæ°ããä½ããã¨ãã«æµã¾ãã¦ãããªãã°ãããã©ã¢ããªã¨ãã¦ä½ã1ãããªãã¡ä¾åé¢ä¿ãä½ã足ããªãã®ããç§ãã¡ããã®ãªã¹ã¹ã¡ã§ãã Rubyã®ä¾åé¢ä¿ã¯ããã»ã©ã®çç±ããªãéãRailsã«è¿½å ããªãã Railsã§çæããGemfileã¯ã極åæã¤ããã®ã¾ã¾ã«ãã¦ããã JavaScriptã®ä¾åé¢ä¿ãRailsã«è¿½å ããã®ã¯ãRubyä¾åé¢ä¿ã®å ´å以ä¸ã«æ éã«æ¤è¨ããã Reactãªã©ã®ããã³ãã¨ã³ããã¬ã¼ã ã¯ã¼ã¯ãããããã«JSONãéãè¾¼
ããã«ã¡ã¯ãã¬ã·ãäºæ¥é¨ãããã¯ãéçºã°ã«ã¼ãã®æ¸¡éï¼@taso0096ï¼ã§ãã ã¯ãã¯ãããã¯æè¿ãOne Experienceã¨ããããã¸ã§ã¯ãã«ãã£ã¦æ¥æ¬çã¨ã°ãã¼ãã«çã®ã·ã¹ãã ãçµ±åããã¾ããã ã©ã¡ãã®ã·ã¹ãã ãRailsã§å®è£ ããã¦ããã¨ããç¹ã¯åãã§ãããçµ±åå ã¨ãªã£ãã°ãã¼ãã«çã§ã¯Hotwireã使ããã¦ãã¾ãã*1ããã®ãããOne Experienceé¢é£ã®éçºã§ã¯Hotwireãç©æ¥µçã«æ´»ç¨ããã¦ãã¾ããæ¬è¨äºã§ã¯ãããªHotwireã®å¤ãã®æ©è½ã使ããããã¹ã¯ãããçã®ãµã¤ããã¼ã«ã¤ãã¦ãç´¹ä»ãã¾ãã ãã¹ã¯ãããçã§è¡¨ç¤ºããããµã¤ããã¼ ã¡ãã£ã¨è¤éãªãµã¤ããã¼ One Experienceã«ä¼´ããã°ãã¼ãã«çã«ãã¨ãã¨åå¨ããUIã®ã¾ã¾ç§»è¡ããã®ã§ã¯ãªããããã¤ãç»é¢æ§æã®å¤æ´ãå ¥ããäºã«ãªãã¾ãããç¹ã«ãã¹ã¯ãããçã«ããã¦ã¯ãèªåã®ã³ã³ãã³ãã«ããç´ æ©ã
DHHæ°ãRails 8ã®æ°æ©è½ã解説ãRedisãªã©ä¸è¦ã«ãªããSQLite対å¿ã§ããã·ã³ãã«ãªæ§æã«ãRails World 2024 9æ26æ¥ã¨27æ¥ã®2æ¥éãã«ããã®ããã³ãã§éå¬ãããRails World 2024ã®åºèª¿è¬æ¼ã§ãRuby on Railsï¼ä»¥ä¸Railsï¼ã®ä½è ã§ããDHHï¼David Heinemeier Hanssonï¼æ°ããRails 8ãã®ä¸»ãªæ°æ©è½ãç´¹ä»ãã¾ããã The #RailsWorld 2024 Opening Keynote with @dhh is now online. Rails 8 beta shipped with Authentication, Propshaft, Solid Cache, Solid Queue, Solid Cable, Kamal 2.0, and Thruster. #NoPaaS needed in
ããã«ã¡ã¯ãSREã®kyontanã§ããRubyã大好ããªã®ã§Rubyã®è©±ããã¾ããã¡ãªã¿ã«ãªã¯ã«ã¼ãã¯RubyKaigi 2024ã¸Gold Sponsorã¨ãã¦åè³ãã¦ãã¾ã! *1ããã²æ²ç¸ã§ãä¼ããã¾ãããã ããã¯ããã¢ããªã±ã¼ã·ã§ã³ã®ã¡ã¢ãªæ¶è²»éã示ãã°ã©ããªã®ã§ãããã¾ããgemãå ¥ãæ¿ããã ãã§ãããªã«å¬ããå¤åãè¦ãããã¨ã¯æã£ã¦ãã¾ããã§ãããä»æ¥ã¯ãããªgemã®è©±ããã¾ãã 話ã¯é¡ã£ã¦2023å¹´4æã®ããæ¥ãã¤ã³ã¿ã¼ããããçºãã¦ããã¨ãããShopifyãpitchforkã¨ããOSSãå ¬éããã¨ããæ å ±ãç®ã«çã¾ãã¾ããã 調ã¹ã¦ã¿ãã¨ãã©ãããèåãªRackãµã¼ãã¼å®è£ ã®1ã¤ã§ããunicornã®æ´¾ççã§ãããã¡ã¢ãªä½¿ç¨éã®åæ¸ã«ç¹åãã¦ãããããã®ã§ãã github.com ããã¯ã¹ã¿ãã£ãµããªå°ä¸é«ã®ãã®ãªã½ã¼ã¹ãã«é£ããã¤ã¯ããµã¼ãã¹ç¬¬ä¸ä½ã§ãã api
Railsã®ããã®HTTP/2ãããã·ãThrusterãããªã¼ãã³ã½ã¼ã¹ã§å ¬éããããã»ã¨ãã©è¨å®ä¸è¦ã§ãå°å ¥ã«ããRailsã¢ããªãããé«éãã¤ã»ãã¥ã¢ã«ããã Ruby on Railsï¼ä»¥ä¸ãRailsï¼ã®éçºå ã§ãã37signalsã¯ãããé«éã§ã»ãã¥ã¢ãªRailsã¢ããªã±ã¼ã·ã§ã³ãå®ç¾ããHTTP/2ãããã·ãThrusterãããªã¼ãã³ã½ã¼ã¹ã¨ãã¦å ¬éãã¾ããã We've released Thruster as open source! It's a tiny, no-config HTTP/2 enabling, asset caching, X-Sendfile sending proxy for Rails' default web server Puma. One of the secret sauce elements of ONCE, now availab
æ°è¦ã§Railsããã¸ã§ã¯ããå§ããæã®å人çãªç°å¢æ§ç¯ã«ã¤ãã¦ã¾ã¨ãããåæã¨ããæ¡ä»¶çã¯ä¸è¨ã è¦æ¨¡: ~ä¸è¦æ¨¡ éçºè æ°: å人 å©ç¨ã·ã¼ã³: PoCä½æã»ã¹ã¿ã¼ãã¢ããç«ã¡ä¸ãã»ä¸¦ã®æ¥åã¢ããªéçºç åºæ¬æ¦ç¥ å©ç¨ã·ã¼ã³çã«ãæãç«ã£ããããã¢ããªã®éçºãã§ãããã¨ããæãã®éç¨ããããã極åã»ããã¢ããã§æ©ã¿ãããªãããå¿ è¦ãªããã«ã¦ã§ã¢ãªã©ã¯å ¨é¨Dockerã§ã¤ã³ã¹ãã¼ã«ã§ããããã«ãã¦ç«ã¡ä¸ããã°çµãããã®ç°å¢ãä½ãããã®ç°å¢ã®ä¸ã§è²ã ã¨ã³ãã³ããå©ããããrails newãrails gãªã©ã§Railsã¢ããªãä½æãã¦ããã ãã®è¾ºã®Railsã®åæã»ããã¢ããã®æéãåºæ¥ãã ãçãããã®ã§templateã¨ãªããªãã¸ããªãä½æããããããcloneãã¦ããã ãã§OKã«ããã ããã³ãã¨ã³ãã¯Reactãªã©ã使ãããRailsæ¨æºã®erbã¨Hotwireã軸ã«éçºãããé
ã1999å¹´ã2000å¹´é ãç§ã¯37signalsã¨ããWebãã¶ã¤ã³ä¼æ¥ãçµå¶ãã¦ãã¾ããã2人ã®ãã¸ãã¹ãã¼ããã¼ã¨Webãã¶ã¤ã³ãå注ãã¦ããã®ã§ããï¼Friedæ°ï¼ Friedæ°ã¯æ¬æ¥ã¨ã¯å¥ã«å度ããã¸ã§ã¯ãã¨ãã¦ãªã³ã©ã¤ã³æ¸ç±ãã¼ã¿ãã¼ã¹ã®éçºã«åãçµãã§ãã¾ãããéçºã¯PHPã§è¡ã£ã¦ãããã®ã®ãFriedæ°ã¯ããã°ã©ãã³ã°ã§ã¤ã¾ã¥ãã¾ãã å½æã¯ã¾ã StackOverflowã®ãããªæè¡çãªè³ªåã«çãã¦ãããæ²ç¤ºæ¿ãªã©ãªãã£ãæ代ãFriedæ°ã¯ããã°ã«ã誰ããã®åé¡ã解決ããæ¹æ³ããåãã§ããï¼ãã¨æ¸ãè¾¼ã¿ã¾ãã ããã¨ãã³ãã¼ã¯ããã¡ã¼ã«ãå±ãã¾ããã¡ã¼ã«ãæ¸ãã¦ããã®ãDHHæ°ã§ããã ãç§ã¯ï¼37signals社ã®ï¼Signal vs. Noiseã¨ããããã°ã以åããç±å¿ã«ãã©ãã¼ãã¦ãã¾ãããã¨DHHæ°ã ãããã°ã§å½¼ã®è³ªåãè¦ã¦ãç§ã¯ãããããã®çããç¥ã£ã¦ããã
ãµããªã¼ ã·ã¹ãã æ§æã®å¤é· åµæ¥ãã§ã¼ãº ã¯ããã¦ã® API ã¨æè¡é¸å® GraphQL 移è¡ç´å GraphQL ã¸ã®ç§»è¡ã決ãããã£ãã GraphQL 移è¡æ¹é 移è¡æé ãµãããã 1ã¤ç®ã®æ¹éã¯æ£è§£ã ã£ã 2ã¤ç®ã®æ¹éã¯å¾®å¦ã ã£ããããããªããã©ãæ£è§£ã ã£ããããããªã 3ã¤ç®ã®æ¹éã¯ãã¯ãè¦æ¦ãã ãããã« ãµããªã¼ ãµã¼ãã¹éå§ãã3å¹´çµã£ã Next.js + Rails ãªã·ã¹ãã å ¨ã¦ã® API ã REST ãã GraphQL ã«ãªãã¬ã¼ã¹ ç´9ã¶æãããã¾ãã æ©éããã³ãã¨ã³ãã®é½åã§ããã¯ã¨ã³ãã«ãæãå ¥ããã¨ãããã¨ãæ¸ã£ã¦å¿«é©ã§ã ã¨ãã話ã§ãã ã·ã¹ãã æ§æã®å¤é· åµæ¥ãã§ã¼ãº 1人ç®ã¨ã³ã¸ãã¢ã¨ãã¦å ¥ç¤¾ãã¦ãä½ããæãä»ãããããªã¼ã¨èããçµæãäºæ¥ã®èã®é¨åããã·ã¹ãã åãã¦ãããã¨ã«ãã¾ãããå¼ãµã¼ãã¹ https://moneiro.jp/ ã¯
Ruby on Railsãæ¨é²ãããThe Rails Foundationãçºè¶³ãçäºé·ã«DHHæ°ã就任ãCookpadãGitHubã37signalsãShopifyãªã©ãåµç« åµç«ã¡ã³ãã¼ã¨ãªãä¼æ¥ã¯CookpadãDoximityãFleetioãGitHubãIntercomãProcoreãShopifyã37signalsãçäºé·ã«ã¯Ruby on Railsã®ä½è ã§ããDHHï¼David Heinemeier Hanssonï¼æ°ã就任ãã¾ãã The Rails Foundation kicks off with one million dollars from @cookpad, @doximity, @fleetio, @github, @intercom, @procoretech, @Shopify, and @37signals to improve the
ããã«ã¡ã¯ãä¸è㧠CEO & CTO ããã¦ããç°ä¸æ´¸ä¸ã§ãã Rails 7 ããæ¨æºã«ãªã£ã Hotwire ããä¸èã§ã¯å ¨ç¤¾ãããã¦æ¨ãã¦ããäºã«ãã¾ããï¼ ãã®è¨äºã§ã¯ããã®äºã«ã¤ãã¦è©³ããæ¸ããã¨æãã¾ãã ã¢ããã¼ã·ã§ã³æ¨ä»ãReact ã Vue.js ãã¯ããã¨ããããã³ãã¨ã³ãæè¡ãç®è¦ã¾ããçºå±ãã¦ãã¾ããæ°ããæè¡ã®çãä¸ããã¯æ¥½ãããåã°ãããã¨ã§ãã ããããªãããããæè¿ã§ã¯ãå°ããªãã㪠Web ã¢ããªã±ã¼ã·ã§ã³ãä½æãããã¨æãã¨ãããã³ãã¨ã³ãã¨ããã¯ã¨ã³ãã®2é¨éãå¿ è¦ã«ãªããã¨ãå¤ããªã£ã¦ãã¾ããããããªãã¨éçºèªä½ã®ã³ã¹ããããã®å¾ã®ä¿å®ã»éç¨ã®ã³ã¹ããå¤ããããã¾ãããé¢ãã人ãå¤ããªãã¨ã³ãã¥ãã±ã¼ã·ã§ã³ã³ã¹ããªã©ãå¢ãããã¨ã«ãªãã¾ãã ããã®ä¸éããããç¨ããã³ã¹ããããã¦ãã¡ãã£ã¨ãªãã㪠Web ã¢ããªã±ã¼ã·ã§ã³ãã¤ãããããããæ段ã
æ¦è¦ åèè ã®è¨±è«¾ãå¾ã¦ç¿»è¨³ã»å ¬éãããã¾ãã è±èªè¨äº: How to Create a CRUD App with Rails and React · James Hibbard åæå ¬éæ¥: 2022/04/01 åèè : James Hibbard æ¥æ¬èªã¿ã¤ãã«ã¯å 容ã«å³ãããã®ã«ãã¾ããã React logo is licensed under Creative Commons â Attribution 4.0 International â CC BY 4.0. ã»ã¨ãã©ã®Webã¢ããªã±ã¼ã·ã§ã³ã§ã¯ãä½ããã®å½¢å¼ã§ãã¼ã¿ãæ°¸ç¶åããå¿ è¦ãããã¾ããããã¯ããµã¼ãã¼ãµã¤ãè¨èªã§ä½æ¥ããå ´åã¯ã·ã³ãã«ã«ãããã®ãæ®éã§ããããããããã«ããã³ãã¨ã³ãã®JavaScriptãã¬ã¼ã ã¯ã¼ã¯ãå ãã£ã¦ããã¨ãå°ãããããããªãå§ãã¾ãã æ¬ãã¥ã¼ããªã¢ã«ã§ã¯ãRuby on Rai
ãã®æ¬ã§ã¯Hotwireã®åºæ¬çãªä½¿ãæ¹ã«ã¤ãã¦è§£èª¬ãã¾ãã Rails7ããããã³ãã¨ã³ãã®ããã©ã«ãã«Hotwireãæ¡ç¨ãããã®ã§ãããã¾ã ããã¾ãæ¥æ¬èªã®æ å ±ãç¡ãã£ãã®ã§æ¬ã«ã¾ã¨ãã¾ãããTurboãã¡ã¤ã³ã«æ±ã£ã¦ãã¾ãããStimulusãæ±ã£ã¦ãã¾ãã Hotwireã®æåã®1åã¨ãã¦èªãã§ããã ãã¾ãã¨å¹¸ãã§ãðââï¸
Rubyè¨èªã«ããWebã¢ããªã±ã¼ã·ã§ã³ãã¬ã¼ã ã¯ã¼ã¯ã®ææ°çã¨ãªããRails 7ããæ£å¼ãªãªã¼ã¹ããã¾ããã Rails 7.0 FINAL: The fulfillment of a vision to present a truly full-stack approach to web development that tackles both the front- and back-end challenges with equal vigor. https://t.co/WxJ0nKYfE7 â Ruby on Rails (@rails) December 15, 2021 Rails 7ã®æ大ã®å¤æ´ç¹ã¯ãããã³ãã¨ã³ãéçºç°å¢ãå·æ°ããã¦Node.jsãç¨ããªãæ§æãããã©ã«ãã¨ãªã£ããã¨ã§ãããã Rails 6ã§ã¯ãåªããããã³ãã¨ã³ãéçºç°å¢ãå®ç¾ããããã«ãã©ã³ã¹ã
çè ã¯ES6以åã®Vanilla JSããã¾ã好ãã§ã¯ããã¾ããã§ããã ããã§ãããã©JavaScriptããªãã¹ãæ¸ããªãã¦ããããã«ã2000年代ãéãã¦ãã¾ãã¾ãªã¢ããã¼ãã追æ±ãã¦ãã¾ãããæåã¯RJSï¼Ruby-to-JavaScriptï¼ã次ã¯CoffeeScriptã§ãããã©ã¡ãã®ã¢ããã¼ãããããã©JavaScriptãã楽ããæ¸ããã½ã¼ã¹ã³ã¼ããããã©ã¦ã¶ãå®è¡ã§ãããã¼ã¸ã§ã³ã®JavaScriptã¸ãã©ã³ã¹ãã¤ã«ãããã®ã§ããããç¨åº¦ã¯ããã¾ããã£ã¦ãã¾ããã ã¨ã¯ãããããã¯æããã«ãã®å ´ãã®ãã®æ段ã«éããããã©ã¦ã¶ãããæ´ç·´ãããJavaScriptãç解ã§ããæ¥ãå¾ ã¡ãã³ã¦ããã®ã§ãããã ããããªæ¥ãæ¥ããã¨ã¯ãªããæ°¸ä¹ ã«ãã®å ´ãã®ãã§ããéããã®ãã¨æãããææããã°ããç¶ãã¾ããã ãããã幸ããªãã¨ã«JavaScriptã¯æ¹åãç¶ãã2015å¹´ã«ã¯ES6
12/23ã®ææ¹ãDHHã以ä¸ã®ãã¤ã¼ããçºä¿¡ãã¾ããã Hotwire aka NEW MAGIC is finally here: An alternative approach to building modern web applications without using much JavaScript by sending HTML instead of JSON over the wire. This includes our brand-new Turbo framework and pairs with Stimulus 2.0 ððð¥ https://t.co/Pa4EG8Av5E â DHH (@dhh) December 22, 2020 åããããæ§åãç¥ãããã£ãã®ã§DHHã®ãã¤ã¼ãã追ã£ã¦ã¿ã¾ããããæ°ã¥ãã®ç¹ãããã¾ããã@hachi8833ã¾ã§ãç¥ã
STORESã®ECãµã¼ãã¹ãéçºãã¦ãã@morihirokã§ãã STORES ECã¯Ruby on Railsã§éçºããã¦ããWebã¢ããªã±ã¼ã·ã§ã³ã§ããããã¼ã¿ãã¼ã¹ã«ã¯MySQLãPostgreSQLã¨ãã£ããªã¬ã¼ã·ã§ãã«ãã¼ã¿ãã¼ã¹ã§ã¯ãªããMongoDBãæ¡ç¨ãã¦ããã¾ãã ãã®è¨äºã§ã¯ã«ã¸ã¥ã¢ã«é¢è«çã§å¿ ãèããããMongoDBã£ã¦æ£ç´ã©ããªã®ï¼ãã¨ãã£ãã¨ããããã¹ãã¬ã¼ãã«ãä¼ãã§ããã°ã¨æãã¾ãã ãªãMongoDBãæ¡ç¨ãã¦ããã®ã ãããããªãMongoDBãæ¡ç¨ãã¦ããã®ããããã¯èå¤å¦ã«ãªãã®ã§ãã£ã¼ã«ãã¯ã¼ã¯ãå¿ è¦ã§ããçè ãéçºã«æºããããã«ãªã£ãã®ã¯2018å¹´ã®çµããé ãããªã®ã§ãã¾ãã¯ä¸ç·ã«STORES ECã®æ´å²ã«ã¤ãã¦ç´è§£ãã¦ããã¾ãããã STORES ECï¼æ§STORES.jpï¼ã¯ãheyã°ã«ã¼ãã¨ãªããã£ã¨åã®2012å¹´ãä¼ç¤¾åããã©ã±ããã
Railsã«ããã app/ ã¨ã¯ app/ã¯Railsã®ã¢ããªã±ã¼ã·ã§ã³ç¨ãã£ã¬ã¯ããªã§ãæ®éã®Railsã¢ããªã±ã¼ã·ã§ã³ã§ã¯ããã®ä¸ã«models,controllers,viewsãå«ããæ§ã ãªãã£ã¬ã¯ããªãä½ããã¾ãã åºæ¬çã«ã¯æ°ãããã£ã¬ã¯ããªã追å ããå¿ è¦ã¯ãªãã®ã§ãããã¢ããªã±ã¼ã·ã§ã³ãè¤éã«ãªãã¨ãRailsãæ¡å¼µããã¹ãããã«ã¢ããªã±ã¼ã·ã§ã³åºæã®ãã£ã¬ã¯ããªãä½ã£ã¦ããã®ä¸ã«é¢é£ãããã¡ã¤ã«ãç½®ããã¨ãããã¾ãã ä¸ã«ã¯ãservicesãserializersã®ããã«ãå¤ãã®Railsã¢ããªã±ã¼ã·ã§ã³ã§è¦ããããã®ãããã°ãå®å ¨ã«ã¢ããªã±ã¼ã·ã§ã³ç¬èªã®ãã®ãä½ããããã¨ãããã¾ããã¾ããã¢ããªã±ã¼ã·ã§ã³ã«ãã£ã¦ã¯ç¬èªã®ãã£ã¬ã¯ããªã¯ä¸åä½ããªããã®ãããã°ã大éã«ä½ããã®ãããã¾ããããããã¢ããªã±ã¼ã·ã§ã³ã®éçºæ¹éã«ãããã®ã§ãã æ¬è¨äºã§ã¯ãæ¯è¼çæåãªOSSã®
GitHubãRails 6ããªãªã¼ã¹ããã¦ããããã9æ¥ã§ç§»è¡ãå®äºãçæéã§åé¡ãªã移è¡ã§ããçç±ã¨ã¯ï¼ 2019å¹´8æ17æ¥ãRubyè¨èªã«ããWebã¢ããªã±ã¼ã·ã§ã³ãã¬ã¼ã ã¯ã¼ã¯ã®ãRails 6ãããªãªã¼ã¹ããã¾ããã Rails 6ã¯ãRailsã¢ããªã±ã¼ã·ã§ã³ã§ã®ã¡ã¼ã«ããªããããã¹ããªã©ãæ±ããããããæ°æ©è½ã«å ãã¦ããã«ããã¼ã¿ãã¼ã¹å¯¾å¿ããã©ã¬ã«ãã¹ãæ©è½ãªã©ã追å ããã¦ãã¾ãã åèï¼Rails 6.0æ£å¼çããªãªã¼ã¹ãAction Textã§ãªããããã¹ã対å¿ãAction Mailboxã§ã¡ã¼ã«å¦çããã«ããã¼ã¿ãã¼ã¹ããã©ã¬ã«ãã¹ããªã©æ°æ©è½ GitHubã¯Rails 6ã®æ£å¼ãªãªã¼ã¹ããç´9æ¥ã§ãå社ã®æ¬çªã·ã¹ãã ãRails 6ã«åé¡ãªãã¢ããã°ã¬ã¼ããããã¨ãããã°ãRunning GitHub on Rails 6.0ãã§å ±åãã¦ãã¾ãã On Augu
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãç¥ãã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}