Ruby
Rubyでバイト列の先頭にマジックナンバーが付いたようなものを扱う機会があったのでArray#pack, String#unpackについて調べてみました。 このあたりの認識がふわっとしてると、使うときに障害の種になるので要注意ですね。 結構調べたつもりですが、間違えて…
前々からちょこちょこ気になってたことだったので調べてみた。 RubyイメージのDockerコンテナ内とかUbuntuでNodeJSを使おうと思って調べると、すぐにapt-get install nodejsに辿り着くんですが、このコマンドでインストールされたバイナリはnodeじゃなくてno…
Railsのフラグメントキャッシュでオンメモリを指定してたら、外部ミドルウェアを使うのと挙動が違ってハマったのでメモ。 開発環境デフォルトのオンメモリは準備が楽ですが、本番でDalliとか使ってると混乱するので統一しておきたいですね。 検証 恐らく最も…
GoogleさんのProtocol Buffersでエンコードしたデータをクエリパラメータで含めようと思ったので改めてBase64エンコードとBase64URLエンコードについて調べてみました Base64エンコーディングについては以下の記事でも軽く触っていますが、データを印字可能…
小ネタです。Rails Console(irb)で適当な処理を実行すると返却値が出力されますよね?例えば以下のeachメソッドの返却値はレシーバ自身なので、eachブロックでゴニョゴニョ処理をするとレシーバが出力されます > %w/hoge huga foo bar/.each{|e| e} => ["hog…
どうもです。rake statsコマンドを使っていますか?これは一言で言えばプロジェクトの大まかな統計情報を取るためのコマンドです。リファクタリングすべきかどうか、テストコードを書くべきかどうかをざっくり判断したいときに使ったりします $ rake stats +…
兼ねてからちょこちょこエラーが出ていたiOSの絵文字を含んだデータにようやく対応しましたので、その備忘録です。 Railsは3.2.11、MySQLは5.6.25です。 ちなみにMySQLは5.5以降からUTF8MB4に対応しています。 はじめに 文字コードをUTF8からUTF8MB4に変更を…
Railsアプリケーションの開発に使っているBundlerで一々bundle execを打つのって面倒ですよね。 調べてみるとrbenvのpluginだとかいろいろあるらしいのですが、 これまではずっとエイリアスでなんとか凌いでいました。 ↓こんなやつ↓ alias rs='bundle exec r…
自身のサイトに訪れたユーザのアクセス情報をイベント単位で取得し、レポートを作成したり、Mixpanelを使用するとき、 クローラなどのボットが凄まじいノイズっぷりを発揮し、 レポートがメチャクチャになります。 サイト単位やページ単位でボットのアクセス…
最近になって急に、開発言語がPerlからRubyとObjective-Cに早変わりして大変です。 そして、Perlの感覚でRubyを書いていると「What!?」ってなったことがあったので、 久しぶりに記事にしてみました。 下記はPerlのコードです。 #!/usr/bin/env perl use stri…