You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
msgpack-inspectを作った話に書いたが、このツールはエントリにも書いたとおり rubygems.org に公開されていて CRuby や JRuby でインストール・実行可能である。その一方でバイナリをダウンロードするだけで使えると便利だよねってことで、mrubyでクロスコンパイルしてリリース版が置いてある。 これは実はそこまで簡単ではなくて、Rubyの機能のうちmrubyでもサポートされている文法や組込みライブラリの範囲しか使えないのはもちろん、たとえば外部のライブラリに依存する機能*1などは mruby でクロスコンパイルしようとすると地獄を見ることなどもある。 そんな事情もあって、今回クロスコンパイルしたリリースに成功するまで、けっこうな手間をかけた。ここにそのへんをざらっと書いておこうと思う。 やったこと mruby-cliを使う 基本的にmrubyでビルドするための準
haconiwa という、いわゆるLinuxコンテナに関する様々な技術を組み合わせて、自分のためのコンテナを作ることができるRuby製のツールと、そのDSLを作った。ひとまずこれぐらいはやりたいということができていそうなので、バージョン 0.2.0 としてリリースした。 github.com 使い方 ほぼREADMEの日本語版。 前提として、以下のライブラリとコマンドが必要になるので入れておいて欲しい。 libcap (libcap.so.2 を FFI 経由で使う) nsenter (yum install util-linux とかそういう感じで入れる) ひとまず動かしたい場合は、rbenvなどが整った環境で、gemとして入れるのがいいと思う。多分Ruby 2.0 以降で動く気がする。 $ gem install haconiwa $ rbenv rehash そして、現在のhacon
Treasure Dataに収集したデータを集計・出力するためにジョブをスケジュール登録するにあたり、ブラウザコンソールやAPIから直接行うと履歴管理やレビューができないといった課題を解決するために Pendulum というgemをつくりました。 PendulumはDSLで記述された定義に従い、Treasure Dataのスケジュールジョブを管理します。 定義ファイルをGit管理することで、履歴管理やGitHubと連携したコードレビューが可能になります。 余談ですが、Pendulumは振り子という意味で、定期的な実行という意味と宝探しのダウジング的な意味から連想しています。ペンデュラム。響きがカッコイイ。 使い方 Schedfileという名前で定義ファイルを用意して、 schedule 'my-schedule-job' do database 'db_name' query 'selec
要約 therubyracerはやめてexecjsからnodeコマンド使え。 解説 Rails 3.1 で Asset Pipeline が導入されて以来、Gemfileにgem 'therubyracer'と書く人も増えたのではないでしょうか。しかし、それがどの程度のリスクを背負っているのか自覚のない人も多いように感じます。 平時はChrome由来のJavaScriptエンジンであるv8を手軽にインストールできてスーパー便利なtherubyracer.gem & libv8.gemですが、その潜在的なリスクには震えるものがあります。最初にこれが世を騒がせたのは3年前のクリスマス前のことだったでしょうか。 v8 この問題の背景には、本質的に「v8のビルドは難しい」という点があります。雑にバージョンを選ぶとビルドが通りません。そもそもがChromeのためのものだからなんでしょうか。リリースす
$ brew install libxml2 libxslt libiconv $ gem install nokogiri -- --use-system-libraries bundlerでインストールするときのためにも設定しておく。 $ bundle config build.nokogiri --use-system-libraries なお前提として、公式サイトのインストール方法の"Other OS X tips"にあるように rubyが最新のclangでビルドされていてgccでの依存に無い状態で gemのネイティブ拡張もおなじようにclangでコンパイルされるようになっている ことが必要になる模様。 なのでアップグレードしてrbenvの環境をそのまま引き継いだ場合などでコンパイラがgccだったりする場合は、export CC=clangなどしてrubyをビルドしなおしてからno
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く