2017年7月9日のブックマーク (4件)

  • ツールを作ろうと思うモチベーションと、作る流れ - 端子録

    以下は完全に自分の独断と偏見で書いており、こうすべき!と押し付けるものでは一切ないことを明記しておきます。また、ツールって言ってるのはコマンドラインツールが主です。 モチベーション なぜツールを作ろうと思うのか 何かやるのに手数が多い オペレーションの工数が多くてそれが人間の手作業であるとき、往々にしてミスは発生する。 ヒューマンエラーを極力なくすために、自動化できるところは自動化すべきである。 操作がコード化されたら、その振る舞いに対してテストを書いて検証することもできる。 例えば Auto Scaling Group で管理された + ELB に吊るされた Elasticsearch のノード入れ替えは、以下の手順で行う必要があった(インスタンス起動時に Elasticsearch が立ち上がること + EC2 Discovery を仮定)。 退役させるノードを1台選ぶ(対象ノード)

    ツールを作ろうと思うモチベーションと、作る流れ - 端子録
    tsub511
    tsub511 2017/07/09
  • CRuby向けのLLVMベースのJITコンパイラを書いている話 - k0kubun's blog

    LLRBというRuby向けのメソッドJITコンパイラを書いている github.com RubyKaigi 2015の最後のキーノートで@evanphxが「LLVMでCRubyのコードをインライン化するメソッドJITを実装したら速いんじゃね」みたいな発表をしていたのを覚えているだろうか。 LLRBというのはまさにそれを実装しているプロジェクトであり、少なくとも現時点で「LLVMでCRubyのコードをインライン化するメソッドJIT」と言える状態まで実装でき、ものによっては効果が出る状態になったので公開した。 なんで書いてるの 言語を自分で実装するとその言語に関する理解が大分深まる、というのをHamlの実装とかCコンパイラとかで体験していて、僕が一番好きな言語はRubyなのでRubyでもそれをやっておきたい、というのがあった。また、Rubyは遅いと言われがちだが、どこに改善可能な点が眠っている

    CRuby向けのLLVMベースのJITコンパイラを書いている話 - k0kubun's blog
    tsub511
    tsub511 2017/07/09
  • mrubyのビルド方法 - Qiita

    mrubyをビルドする 記事では、mrubyのビルド方法について説明します。 mrubyのビルドは、Rakeをベースとした独自のビルドシステムを使っています。 これは主にmrbgemsとクロスビルドの為です。当初はmakeを使っていたのですがmrbgems対応の為にC言語で別コマンドを作るなど無理が出てきたので、2013/1にRakeベースの物に差し替えました。 その際、Matzからの注文が @masuidrive @mattn_jp ビルドにRuby(CRuby)を使ってもいいですが、当面1.8/1.9両対応、かつRakeを使わないという条件を付けます。mrubyのためにいろいろインストール要求するのは避けたいので — Yukihiro Matsumoto (@yukihiro_matz) December 12, 2012 というモノだったので、Rakeの古いバージョンを元にRake

    mrubyのビルド方法 - Qiita
    tsub511
    tsub511 2017/07/09
  • mruby v1.3 - スペクトラム

    mruby v1.3 がリリースされましたね。 趣味mrubyウォッチャーとしてv1.2からv1.3で何が変わったのかを、個人的にまとめてみたいと思います。 注目すべきは、やはりmatzのcommit数。 もちろんmerge commitも含みますが、約半数のcommitがmatzのcommitになっています。 なぜmatzがここまでmrubyに力を入れるのか聞いてみたいところですね。 それではmruby v1.2 からv1.3への変更で何が変わったのか、ザックリ見ていこうと思います。 リリースノート http://mruby.org/releases/2017/07/04/mruby-1.3.0-released.html 1年以上あった割には、表向きにはそこまで変化はない感じ? わりと最新のCRubyの文法やメソッドも入っていたりしますね。 Contributions https://

    mruby v1.3 - スペクトラム
    tsub511
    tsub511 2017/07/09