Skip to content

Instantly share code, notes, and snippets.

@kei-q
kei-q / _benchmark-result
Last active June 5, 2017 17:17
fluentd/lib/plugin/output.rbのextract_placeholders調査
Warming up --------------------------------------
rewrite2 && full 9.576k i/100ms
rewrite && full 9.081k i/100ms
orig && full 8.088k i/100ms
Calculating -------------------------------------
rewrite2 && full 100.151k (± 4.4%) i/s - 507.528k in 5.078509s
rewrite && full 94.131k (± 5.0%) i/s - 472.212k in 5.030891s
orig && full 83.549k (± 3.9%) i/s - 420.576k in 5.041819s
Comparison:
import Cocoa
extension Sequence where Iterator.Element == CGFloat {
func normalize() -> [Iterator.Element] {
let maxVal = reduce(0) { $0 < $1 ? $1 : $0 }
return map { $0 / maxVal }
}
}
@kei-q
kei-q / README.md
Last active June 15, 2016 11:11
E04の別解

解法について

それぞれの横線があるところで、そこにいる人が場所を入れ替わる。 また両名ともその横線を通っているはず。

*Solver> swap ['A'..'H'] '2'
("ACBDEFGH","BC")
let rightTriangles = {
(1...10).flatMap { c in
(1...c).flatMap { a in
(1...a).flatMap { b in
(a,b,c)
}
}
}.filter { (a,b,c) in
let b1 = a*a + b*b == c*c
let b2 = a+b+c == 24
@kei-q
kei-q / generate_dependencies_graph.rb
Created May 2, 2016 07:35
CloudFormationのtemplateからRefの依存関係を図示するやつ (要ruby, graphviz)
#!/usr/bin/env ruby
require 'json'
template_name = ARGV[0]
contents = File.read(template_name)
json = JSON.parse(contents, symbolize_names: true)
def traverse(hash, &block)
hash.each {|key, value|
@kei-q
kei-q / convert_json_into_rb.rb
Created April 29, 2016 05:54
jsonをrubyのhashに読み書きしやすい形で出力するスクリプト
#!/usr/bin/env ruby
# require: awesome_print, rubocop
require 'ap'
require 'json'
if ARGV.count != 2
puts 'usage: ./script.rb <input_json_file> <output_sour_file_name>'
exit 1
end
main :: IO ()
main = do
return $ zip [1..] [1..]
putStrLn "hoge"
fib1 = 1 : 1 : zipWith (+) fib1 (tail fib1)
fib2 0 = 1
fib2 1 = 1
@kei-q
kei-q / Main.hs
Last active March 12, 2016 14:54
ズンドコ エラー処理とか全然してない
import System.Random
main = getStdGen >>= putStrLn . mconcat . go 0 . randomRs (0,1)
go n (1:_) | 4<=n = ["ドコキ・ヨ・シ!"]
go n (x:xs) = ["ドコ","ズン"]!!x : go ((n+1)*x) xs

hoge

aaa

  • a
  • b
  • c
@kei-q
kei-q / start_childのときにPidを受け取ってそれでterminate_childする場合
Last active September 20, 2015 02:09
すごいErlang本の17.4のsimple_one_for_oneでterminal_childが本文と違う結果を返す件 ref: https://twitter.com/K0U_CHANG/status/645396516295733248
❯ erl
Erlang/OTP 17 [erts-6.4] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]
Eshell V6.4 (abort with ^G)
1> c(band_supervisor).
{ok,band_supervisor}
2> band_supervisor:start_link(jamband).
{ok,<0.39.0>}
3> {ok, Pid} = supervisor:start_child(band_supervisor, [djembe,good]).
Musician Wanda Ann, playing the djembe entered the room