2015/11/17


Ruby - マイナンバーのチェックデジットを計算する - Qiita

## そもそもマイナンバーってどういう数字なのでしょうか? これは法律を読みます。調べると「[行政手続における特定の個人を識別するための番号の利用等に関する法律施行令](http://law.e-go...

http://qiita.com/qube81/items/fa6ef94d3c8615b0ce64

もうすぐウチにも届くだろうから何時でも検証出来る準備をしないといけない。という事で書きました。ロジックは KoRoN さんのをパクった。

mattn/vim-mynumber · GitHub

Validate your MyNumber

https://github.com/mattn/vim-mynumber

どうぞ、お役立て下さい。

Posted at by



2015/11/06


RubyからGoの関数をつかう → はやい - Qiita

約20倍はやい!!!!!!すごい!!!!!!!!!!!!!!

Go単体での実行に毛が生えた程度になりました!!!!!!!!!!!!!!!!!!

もう「Rubyより、ずっとはやい」なんて言わせないぞ!!!!!!!!

http://qiita.com/grj_achm/items/679b3f3af2cf377f0f02
def fib(n)
  return n if n <= 1
  fib(n - 1) + fib(n - 2)
end

puts fib(40)

巷で良く見る fib のコードですね。

$ time ruby fib1.rb
102334155
real    12.692
system  0.031
user    12.651

これを再帰を使わない様に修正すると以下の様になります。

def fib(n)
  f0, f1, v = 010
  n.times do |x|
    if x <= 1
      v = x
    else
      v = f0 + f1
      f0, f1 = f1, v
    end
  end
  return f0 + f1
end

puts fib(40)
$ time ruby fib0.rb
102334155
real    0.072
system  0.031
user    0.031

約400倍はやい!!!!!!すごい!!!!!!!!!!!!!!

Posted at by



2015/10/30


golang - Goで外部コマンドをパイプして実行する - Qiita

もっとうまいやり方誰か教えてください( ꒪⌓꒪)

http://qiita.com/yuroyoro/items/9358cd25b5f7fe9dd37f

本当はプロセスの生死と共にパイプが閉じられないといけないので io.Pipe ではなく Cmd.StdoutPipe を使った方がよい。ただしコード量はもう少し多くなる。確かに毎回書くのはダルいのでパッケージを作った。

mattn/go-pipeline - GitHub
https://github.com/mattn/go-pipeline

これを使うと簡単にコマンドパイプラインが扱える。

package pipeline

import (
    "fmt"
    "log"
)

func ExampleCommandPipeLine() {
    out, err := Output(
        []string{"git""log""--oneline"},
        []string{"grep""first import"},
        []string{"wc""-l"},
    )
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(string(out))
    // Output:
    // 1
}

よろしければどうぞお使い下さい。

Posted at by