https://goo.gl/maps/5ryNNDaE7tJ2
Tōkyō-to, Bunkyō-ku, Yushima, 3 Chome−19−11, Yushima First Building 5F
東京都文京区湯島3-19-11 湯島ファーストビル5F
| require 'benchmark/ips' | |
| # Because the methods avoid creating a `MatchData` object or saving backref. | |
| # So, when `MatchData` is not used, use `match?` instead of `match`. | |
| def fast | |
| "aaacolorzzz".match?(/color/) | |
| end | |
| def slow | |
| "aaacolorzzz".match(/color/) |
| require 'benchmark/ips' | |
| def fast | |
| '' | |
| end | |
| def slow | |
| "" | |
| end |
| $ ruby -v code/general/array-argument-vs-splat-arguments.rb | |
| ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin16] | |
| Warming up -------------------------------------- | |
| Function with single Array argument | |
| 172.485k i/100ms | |
| Function with splat arguments | |
| 3.260k i/100ms | |
| Calculating ------------------------------------- | |
| Function with single Array argument | |
| 3.448M (±23.6%) i/s - 16.214M in 5.005600s |
https://goo.gl/maps/5ryNNDaE7tJ2
Tōkyō-to, Bunkyō-ku, Yushima, 3 Chome−19−11, Yushima First Building 5F
東京都文京区湯島3-19-11 湯島ファーストビル5F
| eval$s=%w'b="BAhsKwJFAQAAAAAAAH7wAQAAAIAPAAAAAAAAAAAAAAAAAMD/BwAAAH7wAwAAAAAfAAAAAAD4HwD8Af74/4D/PwAAAPzgAwAAAAAfAAAAAAD8/wD+B/74/wH//wAAAPjBBwAAAAA+AAAAAAD8/wP+H/7x/wP+/wMAAFCADwAAAAB8AAAAAAD8/Q/+P/7j/wf++gcAAAAAHwAAAAD4AAAAAAD46B/+f4zHgw/8wA/4H+AHP4A/AAD+wR/84AfwAz/+/4CPBw/4gR/8/8APfsD/AcD/4//+9z/AAX788wEPBh7wAz/4/4MPfOD/D+D/z/////8AAPz4wwc/AD7gBz/w+wcf+OD/P/D/n/vPf/4BAPzwhwc+AD7gB38gwA8+8OEPf/j/H8EPfvAD8PzBDx9+AH7A/38AAD9+8MMP/PD/f4A//OEH+P/BHz74AHiA/z8A/j/84McfwPEP/wA/+MEP8P+AH3z4AfwA/z8A///4wY//A+AH+AH+8Icf4P8AP3jwA/gB/v+A///wgQ/+P8AP8AP84Ac/4P8BfvDgA/AB/vgDf/zhAx/4/88P4AP84Q9/wB8A/vDBB+AD/OAHP/DjBz+A/58fwAf4wx/+gB8A/OPDD+AH+IEfPuDHD34YAD8/gA/whz/8AT8A+MOHH8AP8AM/fuCPH/z4AX7+gA/gD3/4A34A8McPH4Af8Ad++OEPH/jgB3744z/gD3/4A/4AwN8PfoAf4Af48f8fPvDB///w/3/AH/7wN/wAhv8ffAA/wA/w4/8/fvAD///B//+AP/zhP/jfDv8//AB+gB/gh/9+/OAH/P8B//cBf/jDf/D/H/x/+AH8AD/ADzx8+MEP4D8A+OMDfvCDP2D+P+Ab8AP4";n=Marshal.load(b.unpack("m")[0]);e="eval$s=%w"<<39<<($s*3);o="";j=-1;0.upto(31*217-1){|i|o<<((n[i]==1)?e[j+=1]:32);o<<((i%217==216)?1 |
| # frozen_string_literal: true | |
| a = '' | |
| b = String.new | |
| c = String.new('') | |
| d = String.new('hello_') | |
| e = a.dup | |
| # a << "hello_a" | |
| b << "hello_b" | |
| c << "hello_c" | |
| d << "hello_d" |
rails new app --skip-action-cable --skip-action-mailer --skip-bundle --skip-javascript --skip-listen --skip-puma --skip-spring --skip-test --skip-turbolinks
などとして色々落とした構成で rails new して react_on_rails を使おうとた場合に遭遇したあれこれ。
### react_on_rails の lib/task とかで assets precompile がはしるようで、
### sprockets を外していたら途中でこけてしまった。
### vendor/bundle/ruby/2.3.0/gems/react_on_rails-6.1.1/lib/tasks/assets.rake
### 以下の部分をコメントアウトしたら db:create / migrate できた
| class Array | |
| def insertion_sort | |
| return self if size < 2 | |
| 1.upto(size - 1) do |i| | |
| # tmp = self[i] | |
| i.downto(1) do |j| | |
| if self[j - 1] > self[j] | |
| self[j - 1], self[j] = self[j], self[j - 1] | |
| p self | |
| else |
| #!/usr/bin/env ruby | |
| class Array | |
| def quicksort | |
| return self if size <= 1 | |
| pivot = self[self.size / 2] | |
| puts "# -------------------------------------------------------------------------" | |
| puts "pivot: #{pivot}" | |
| puts "self: #{self}" | |
| i = 0 |