Rails Developers Meetup 2019ï¼2019/03/22 - 23ï¼
Rails Developers Meetup 2019ï¼2019/03/22 - 23ï¼
HashDoSèå¼±æ§ã¨ã®æ¦ãï¼Â Rubyã³ããã¿ã¼ã»å鍿平ãæããããã°ã©ã å ç¢åã®ãã¦ã㦠éå»ãHashDosã®å½±é¿ãåããRubyãè¨èªéçºè ã¯ããã«ãã¦ããããåé¡ã«å¯¾å¿ãã¦ããã®ã§ãããããã³ããã¿ã¼ã§ããå鍿°ã®è²´éãªè¨é²ãå ¬éãã¾ãã 2011å¹´ã®æ«é ãHashDoSã¨ããèå¼±æ§ãå ¬è¡¨ãããRubyããã®å½±é¿ãåãããæ¬ç¨¿ã®çè ã§ããå鍿平ï¼ããã¹ã»ãããã¸ãï¼@shyouheiï¼ä»¥ä¸ãåé¨ï¼ã¯ãå ±åå½åããRubyå´ã®ãã¼ã ã¡ã³ãã¼ã¨ãã¦ããã°ã©ã æ¬ä½ã®ä¿®æ£ãæ å½ããã以ä¸ã¯ãã®è¨é²ã§ãããè¨èªéçºè ãã¡ãæ®æ®µã©ã®ãããªãã¨ãèããã©ããã£ãæè¡ãç¨ãã¦éçºããã°ãã£ãã¯ã¹ãè¡ã£ã¦ããã®ãããã®æ¦è¦ãç¥ã£ã¦ããããã°å¹¸ãã ã ãªãã¸ã§ã¯ãæåã¹ã¯ãªããè¨èª Ruby HashDoSã®æ¦è¦ ãªãç´6å¹´å¾ã®ä»ãä¿®æ£å 容ãå ¬éããã«è³ã£ããï¼ åå²ï¼ãã§ã«å å ããã¦ãããªã¹ã¯
æè¡é¨ã§ãã«ã¿ã¤ã Ruby ã³ããã¿ããã¦ãã笹ç°ã§ããæè¿ã²ãã³ãã« Ruby ã®ã©ã¤ãã©ãªã« pull request ããã¾ããï¼show valid break point lines #393ï¼ã 12/25 ã®ã¯ãªã¹ãã¹ã«ãRuby 2.5 ãç¡äºã«ãªãªã¼ã¹ããã¾ããï¼Ruby 2.5.0 ãªãªã¼ã¹ï¼ãé¢ä¿åä½ã®åªåã«æè¬ãã¾ãããããããªãã°ä¿®æ£ããããããªæ°æ©è½ããããããªæ§è½æ¹åãããã¾ãï¼è©³ç´°ã¯ãä¸è¨ãªãªã¼ã¹ãã¼ããããã㯠Ruby ã®ã½ã¼ã¹ã³ã¼ãã«ãã NEWS ãã¡ã¤ã«ããåç §ãã ããï¼ã®ã§ã試ãã¦é ããã¨è¯ãã¨æãã¾ããããããã°ãç§ãã¯ãã¯ãããã«å ¥ç¤¾ãã¦åãã¦ã® Ruby ãªãªã¼ã¹ã§ããã ååã® techlife ããã°ï¼ Ruby ã® NODE ã GC ãã忥ããã ï¼ã§é è¤ããã ã¯ãã¯ãããããã®ä¸»ãªè²¢ç®ã¨ãã¦ã¯ããtrace å½ä»¤ã®åé¤ã«ãã
ãã®è¨äºã¯ãæè¡ç³»å人èªã¨ãã¦ã¾ã¨ããã¯ãã ã£ãå稿ãã»ã¼ãã®ã¾ã¾è»¢è¼ãã¦ãã¾ããè«¸äºæ ã«ããåããããªãé·ãéå人èªå³å£²ä¼ã«å£²ãæã¨ãã¦åå ãããã¨ãé£ãããªã£ãããã§ãã é·ãã§ããããæ¥½ãã¿ããã ããã°å¹¸ãã§ãã ã¾ããã ãã®æ¬ã¯ãRubyã³ããã¿ã§ããå鍿平ã«ããã®å¦»ã§ããç§ãåé¨ä¸æµãRubyã®trueã¨falseã«ã¤ãã¦çªã£è¾¼ãã§èãã¦ã¿ã話ã§ããæ¬æã¯ä¸¡è ã®å¯¾è©±å½¢å¼ã§é²ãã§ããã¾ãã ç§ã¯æå¹³ã¨åã大å¦åãç ç©¶å®¤ã«æå±ãã¦ããã®ã§ããã°ã©ãã³ã°ã«ã¤ãã¦ã®åºç¤ã¯ä¸å¿ããã¾ãããã¨ã³ã¸ãã¢ã¨ãã¦è·ãå¾ããã¨ã¯ããã¾ãããã¤ã¾ããããã°ã©ãã³ã°åç´è ã§ãããã®æ¬ã¯ãã®ãããã®ã¬ãã«æã®æ¬ã ã¨æãã¾ãã ç§èªèº«ãåç´è ãªãã«Rubyã使ã£ã¦ãã¦ãifæãæã£ãéãã«åããªãããããªã¨ãã«æ±ããçåãããã®æ¬ãçã¾ãã¾ããã åããããªçåãæ±ãã¦ããæ¹ã®ä¸å©ã«ãªãã°å¹¸ãã§ãã ã¯
ã¦ã½ã¿ãããªæ¬å½ã®è©±ãRuby ã§ãã¡ãã³ã³ã¨ãã¥ã¬ã¼ã¿ãæ¸ãã¦ã¿ã¾ããã æ°ã«ãªãé度ã§ãããèªåã®ç°å¢ã§ã¯ 20 fps ã¡ãã£ã¨åºã¾ãããã¡ãã³ã³ã¯ 60 fps ãªã®ã§ãå®éã® 1/3 ã§ããRuby3x3 ï¼Ruby 3 㯠Ruby 2 ã® 3 åéãï¼ã¨ãã matz ã®å®£è¨ãå®ç¾ããã°ãå®éãéæããããã¨ã«ãªãã¾ããï¼ è©¦ãã¦ã¿ãã人ã¯ãããªãµãã«å®è¡ãã¦ãã ããã $ gem install ffi $ git clone http://github.com/mame/optcarrot.git $ cd optcarrot $ bin/optcarrot examples/Lan_Master.nesSDL2 ã SFML ãé©åã«ã¤ã³ã¹ãã¼ã«ããã¦ããå¿ è¦ãããã¾ããDebian/Ubuntu ãªã apt-get install libsdl2-dev ã§ã Ru
ããã«ã¡ã¯ãåé¨ã§ãã ruby-coreã¨ããRubyæ¬ä½ã®éçºã®è°è«ãããã¦ããã¡ã¼ãªã³ã°ãªã¹ããããã¾ãã æ°æ©è½ããã°å ±åãªã©ãã ãããããã«éç´ããã¦ããã®ã§è³¼èªãã¦ããã¨Rubyã®åããåããã¾ãã æè¿è峿·±ãã£ããããã¯ãç´¹ä»ãã¾ããå æé·ãã¨è¨ãããã®ã§ä»åã¯ã¡ãã£ã¨å³é¸æ°å³ã§ãã [#12241] super end 4æã¨ããã°ã¨ã¤ããªã«ãã¼ã«ã§ãããä»å¹´ã¯ end end end ... ã¨ãæ¸ããªãã¦ãããããã«ããããããæç¨¿ããã¦ãã¾ããããã¡ããåè«ã§ããããããã®æç¨¿ã¯ã ããã§ããã¨ãããªããããªãã¦å®éã«å®è£ ãã¦ã¿ãã¦ããã®ã§ãæè¡çã«ã¯è¦ããã®ããããPythonã¨ãHaskellã¨ãã¿ãããªã¤ã³ãã³ãã§ãããã¯è¡¨ç¾ãããã¤ã ã¨ãæ¹è¡ãæé»ã®super endã«ãªã£ã¦ãããã§ããã 以åãRubyã®ãã°ãã©ãã«ã¼ã«ã¯ãã®ç¨®ã®ææ¡ã®ããã®ã«ãã´ãªjoke
ææ¥ãã RubyKaigi ãªã®ã§ãã¡ãã£ã¨ããå°ãã¿ãä¸ã¤ã ä¾ãã°ã0 ãã 9999 ã¾ã§ãããã·ã¥ã«é ã«å ¥ãã¾ãã h = {} 10000.times do |n| h[n] = true end ãã®ã¨ããh[9998] ã h[9999] ã¯ãh[0] ã h[1] ããé«éã§ãã ã©ã®ãããé«éãã¨ããã¨ã 1_000_000_000.times { h } # 40.8 sec (ã«ã¼ãèªä½ã®é度) 1_000_000_000.times { h[9999] } # 57.2 sec 1_000_000_000.times { h[0] } # 89.1 sech[0] 㯠89.1 - 40.8 = 48.3 nsec ãh[9999] 㯠57.2 - 40.8 = 16.4 nsec ã¨ãããã¨ã«ãªãã¾ãããªã㨠3 åãéãã*1 ãªããããªãã¨ãèµ·ããã®ã ã
BUNDLED WITH ã£ã¦ä½ï¼ bundler 1.10.0 以éã§ä½æããã Gemfile.lock ã§ã¯ãBUNDLED WITH ã¨ããã»ã¯ã·ã§ã³ããã£ã¦ã使ç¨ããã bundler ã®ãã¼ã¸ã§ã³ããã©ãã¯ãããããã«ãªã£ã¦ãã [3485] ã ä¾ãã° bundler 1.9.0 ã§ä½æããã Gemfile.lock ã®ããããã¸ã§ã¯ãä¸ã§ã ææ°ã® bundler 1.10.3 ã使ç¨ã㦠bundle install --path vendor/bundle ããã¨ã Gemfile.lock ã«ã¯ä»¥ä¸ã®å·®åãã§ããã ãããããä¸åº¦ 1.9.0 ã§ bundle install ããã¨ãä¸ã®æåã¯ããããã£ã±ãæ¶ããã BUNDLED WITH ã®ä½ãå°ãã å¤äººæ°ã§éçºããã¨ãã«ã¯ããã®å¤æ´ã¯å¾®å¦ã«éªéã§ãæå³ããªã Gemfile.lock 夿´ãåºã¦ãã¾ããã¨ã§
èªæã§ãã å æ¥èªåãæ¸ãã gem ãèªåã§ä½¿ããã¨ã㦠README ãã³ãããããééã£ã¦ãã¦æ®å¿µãªæ°æã¡ã«ãªã£ãã®ã§ãREADME ã®ãµã³ãã«ããã¹ãã³ã¼ãã®ä¸ã§å®è¡ãã gem ä½ãã¾ããã README ã®ãµã³ãã«ééã£ã¦ãã¨å¤§å¤èããã®ã§ãæ´»ç¨ä¸ããã https://github.com/gong023/readme_spec ã¤ã³ã¹ãã¼ã« rubygems ããã¤ã³ã¹ãã¼ã«ãã¾ã gem install readme_spec ä½¿ãæ¹ ã¾ã RSpec.configure ã« README ã®ãã¡ã¤ã«ãã¹ã渡ãã¦ããã¦ä¸ããã
slim-template/slimã®compiled benchã§ãªãªã¸ãã«ã®hamlã«æ¯ã¹8åé«éã«åä½ããhamlå®è£ ããªãªã¼ã¹ãã¾ããã github.com ãªãé«éãªHamlå®è£ ãä½ã£ãã®ã å人çã«hamlã®ã·ã³ã¿ãã¯ã¹ã®ã»ãã好ããªã®ã§ããhamlã¯é ãããslimã使ããã¿ãããªäººãæ¸ããããã£ãããã以åslimã®æ®åã«è²¢ç®ãããã ãã©ãæ°ãå¤ãã£ãã®ã§hamlãå¿æ´ãããã¨ã«ããã å®ã¯ä»ã«ãæ¢ã«eagletmt/famlã¨ããé«éãªHamlå®è£ ãåå¨ãã¦ãããã ãã©ãã³ããèµ°ããããslimããé ãã£ãã®ã§ãslimãæåããã¹ãåå®è£ ããã ã©ã®ãããHamlããéãã®ã èªåã®å®è£ ã«é½åã®ãããã³ããã¼ã¯ãä½ãã®ã¯ç°¡åãªã®ã§ãå ¬å¹³æ§ãæãããã«slim-template/slimã®compiled benchã¨åããã®ã使ãã誰ã§ãåãç°å¢ã使ããtravisã§
Keeping your code clean and organized while developing a large Rails application can be quite a challenge, even for an experienced developer. Fortunately, there is a whole category of gems that make this job much easier. For most people, dead/inefficient code will build up over time. Others will find themselves in a similar predicament when they take over someone elseâs project. Actually, my own e
ã¯ããã« Jenkinsã§Railsã®ãã¹ããã£ã¦ã¾ããï¼ è¥å¤§åãããã¹ããé«éå®è¡ããããã«ãã¹ããè¤æ°ã®Jobã«åå²ããã¨ããã®ã¯æå¹ãªææ®µã§ããããããRailsã®ãã¹ããè¡ãããã«ã¯bundle installã«ããGemã®ã»ããã¢ãããå¿ é ã§ããåå²ããJobã䏿ã«bundle installããã¨ãã¼ã¿ã«ã§ã®ãã¹ãå®è¡æéã¯æ¥µç«¯ã«ä½ä¸ãã¦ãã¾ãã¾ãã ããã§ã¯ãæéã®ãããbundle installãé«éã«è¡ãããã®è§£èª¬ãè¡ãã¾ãã ãªãbundle installã¯é ãã®ãï¼ bundle installã³ãã³ããå©ããã¨ã§ãbundlerã¯rubygems.orgããé¢é£ã©ã¤ãã©ãªããã¦ã³ãã¼ãããã¼ã«ã«ã«ã¤ã³ã¹ãã¼ã«ãã¾ããããããGemã«ãã£ã¦ã¯Cè¨èªã§æ¸ãããã³ã¼ããã³ã³ãã¤ã«ããäºãããã¤ã³ã¹ãã¼ã«ã«æéããããã¾ããã¾ããè¤æ°Jobã䏿°ã«rubygems.
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? æ¬å½ã¯ãRubyWorld Conf辺ãã§ããããå 容ã交ãã¦ãªãã話ããã°ãããªãã¨æã£ã¦ããã ãã©ãCFPã«è½ã¡ãã®ã§Qiitaã«ãã¨ã ãæ¸ãã¦ã¿ã¾ããã Railsã¯ãããªãã«å¦ç¿ã³ã¹ãã¯ãããã¾ãããæ £ãã¦ããã¨ããã©ã«ãã§ä¾¿å©ãªãã®ãæã£ã¦ãããµã¼ããã¼ãã£ã©ã¤ãã©ãªãè±å¯ã§ãæªã ã«æã便å©ãªWebã¢ããªã±ã¼ã·ã§ã³ãã¬ã¼ã ã¯ã¼ã¯ã®ä¸ã¤ã ã¨æãã¾ãã ãªã®ã§ãæè¿ã®ã¹ã¿ã¼ãã¢ããçéã§ã¯Railsã§éçºãã¹ã¿ã¼ããããã¨ãã話ãããè³ã«ãã¾ãã(åäººã®ææ³ã§ã) ããããRailsã¯æ¬ä½ã«æ°ããè¦ç´ ãã¬ã³ã¬ã³åãå ¥ãã¦ããã®ã§ã
RefinementsãRSpecã§æ´»ç¨ãã¦ãã©ã¡ã¼ã¿ã©ã¤ãºããã¹ãç¨ã®ã·ã³ã¿ãã¯ã¹ãå®ç¾ãã話ã
Rubyã社ä¼ã«æµ¸éãããã¾ã ããããDSLã«ã¤ãã¦ããä¸åº¦èãã¦ã¿ã
Annotation.md Idobata Gemfile ãã¬ã¼ã³ã tl;dr Idotabaã®Gemfileã¯"å ¨ãã¬"ã«ãªãã¾ããããç¬ç´ãã ãããâ Gemfile ãã¬ã¼ã³ãã«ã¤ãã¦ã®ãè©«ã³ rebuild.fmã®ep36ã§ãç¥ããããã¦ããã ãã¾ãããIdobataã®ææ°çGemfileãã¬ã¼ã³ãããå±ããããã¾ãã 鿥ã¯Idobataä¼è°01ã¸ã®å¤æ°ã®ãåå ãããã¨ããããã¾ãããããããã¾ã§çæ³ãªãã¼ãã¢ããã¨ãªãã¾ããã (彿¥ä¼å ´ãæä¾ããã ããEngine Yardãã¾ã®ããã°ã«ã¦ãIdobataä¼è°01彿¥ã®æ§åãã¾ã¨ãããã¦ãã¾ãããããã¨ããããã¾ã!) ãã¦ãèå¿ã®Gemfileã§ãããEngine Yard Cloudã®stable-v4ã¹ã¿ãã¯ã§Ruby 2.1.2ãå©ç¨å¯è½ã«ãªãã®ãå¾ ã¡ã¤ã¤ã2.1.2対å¿ããã¦ããããGemfileããå±ãããã®ã
ä»äºã§ Rails ã使ã£ããµã¼ãã¹ãæ å½ãå§ãã¦ç´1ã¶æåãRuby 㨠Rails ã«ãã ãã¶æ £ãã¦ããã®ã§ãããã¾ã§ã©ããã£ã¦åå¼·ãã¦ãããæ¸ãã¦ãããã¨æãã¾ãããããã¾ã åå¿è ãããã¨ãããªã®ã§ããããã®ãã¡å¿ãã¦ãã¾ã£ã¦ä»ããæ¸ããªãããªã®ã§ãæ¸ãã¦ããã¾ãã ã¨ã¯ãããããããæ å ±ã¯æéã®çµéã¨å ±ã«æå³ã®ãªããã®ã«ãªã£ã¦ãã¾ããã¡ãªã®ã§ããªãã¹ãæéã«å·¦å³ãããªãæ¬è³ªçãªãã¨ãç¹ã交ããªããæ¸ãã¦ããããã¨æãã¾ãã irb(main):002:0> Date.new(2014,4,4) - Date.new(2014,2,19) => (44/1) 彿ã®ç¥è ãã¼ãã§ã¯ã Ruby ãéä¸ã¾ã§èªãã Ruby on Rails Tutorial ã® Chapter 4 Rails-flavored Ruby ããã£ã¦ãã ã¨ããç¨åº¦ã ãã¼ãã§ã¯ãRuby (PERFEC
æè¿å人çã«ä½ã£ãåçå ±æãµã¤ããå ¬éãã¾ããã photoll - ã¹ãããåçå ±æãµã¤ã ãã®åçå ±æãµã¤ãã§å®éã«ä½¿ã£ã¦ããããããGemãæãã¦ã¿ã¾ãã ãã¨ããã¾ãã§ä½¿ã£ã¦ãªããã©ä¾¿å©ãããªGemã¨ããç´¹ä»ã ä¸äººã§1ããWebãµã¼ãã¹ãä½ãéç¨ãæ¸ããæä½ã®ããã°ã¨ã³ããªãããã£ããè¦ã¦ãã ããã ã1人ã§Webãµã¼ãã¹éçºãæ°ç±³Railsã¨ã³ã¸ãã¢ãç¡è¬ã«ãåçå ±æãµã¤ããä½ãã¾ãã ã ãã¶é·ãã§ãããGemfileããã®ã¾ãã¾è¼ãã¾ãããç°¡æèª¬æä»ãã 主è¦ãªGemããã¨ã§èª¬æãã¾ãã source 'https://rubygems.org' gem 'rails' gem 'mysql2' gem 'haml-rails' # HTMLãç°¡æ½ã«æ¸ãã gem 'sass-rails' # CSSãå¹ççã«æ¸ãã gem 'bootstrap-sass' # Twitte
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã¡ã³ããã³ã¹
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}