Skip to content

Instantly share code, notes, and snippets.

View 284km's full-sized avatar

Kazuma Furuhashi 284km

View GitHub Profile
@284km
284km / string_match-vs-string_match_question.rb
Created January 26, 2018 03:04
String#match vs String#match?
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/)
@284km
284km / single_quote-vs-double_quote.rb
Last active January 22, 2018 09:33
single_quote-vs-double_quote.rb
require 'benchmark/ips'
def fast
''
end
def slow
""
end
@284km
284km / fast-ruby-25
Created January 16, 2018 08:32
fast-ruby-wo-ruby2.5-de-yatta-ya-tu
$ 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
@284km
284km / asakusarb_feedforce.md
Last active December 10, 2017 20:50
Visitor Reception Method for feedforce / フィードフォース入館方法

Visitor Reception Method for feedforce / フィードフォース入館方法

Access

https://goo.gl/maps/5ryNNDaE7tJ2

Tōkyō-to, Bunkyō-ku, Yushima, 3 Chome−19−11, Yushima First Building 5F

東京都文京区湯島3-19-11 湯島ファーストビル5F

@284km
284km / さっきのquine.rb
Last active December 7, 2017 11:26
omotesando
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
@284km
284km / posipe.md
Last active December 1, 2017 08:16
Rails勉強会@東京 第93回 のポジペ https://railsmeetingtokyo.doorkeeper.jp/events/68181

284km

お仕事

  • 湯島にあるフィードフォースという会社で Rails エンジニアやっています。
  • 最近は、 graphql の API を書いたりしている。

最近の課題

  • graphql-ruby
@284km
284km / frozen.rb
Last active November 18, 2017 13:22
# 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"
@284km
284km / rails new skip-いろいろ して react_on_rails を使おうとた場合に遭遇したあれこれ.md
Last active January 4, 2018 18:54
rails new skip-いろいろ して react_on_rails を使おうとた場合に遭遇したあれこれ

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