Ruby
どうも、公開鍵暗号方式大好き芸人です。 かれこれ3年くらい前だけど、ssh-keygenが出力する秘密鍵のデフォルト形式が変わってOpenSSLライブラリで読み込めなくなった。 それを解消するべく、秘密鍵をパースしてOpenSSLライブラリで読み込める形でビルドする…
よくもまぁこんな面倒臭い大変なものを作ったなと自分で思う。 RubyのEnumerator::Yielderとlambdaを多用したリアルタイム処理とも親和性が高い作りをしてる。 だいぶ前に書いた文章が発掘されたので手直しして公開。 供養、ナムナム。 デモ パッケージ vdsp…
概要 ルーティングプロトコルのリンクステートのような感じで、絶対的な数値を持たずに2つのノードを比較して相対的に距離を算出。 各ノードは、前方ノードへアクセスするための左に生える木と、後方ノードへアクセスするための右に生える木を持つ。 ノード…
今回ちょっと内容が多いからとりあえず目次というか概要というか。 主にこんな話をまとめてる。 ・VALUEとはいったい何なのか。 ・VALUE埋め込み表現出来るものとポインタ参照になるもの。 ・Ruby上でVALUE埋め込みなのかポインタなのかの調べ方。 ・VALUE埋…
Numeric.integer? Numeric.integer?とは 自身が Integer かそのサブクラスのインスタンスの場合にtrue を返します。そうでない場合に false を返します。 Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。 https://docs.ruby-lang…
手軽に設定ファイルをRSAで暗号化するライブラリ。 平文をそのまま保存しないという大義名分をミニマムに果たせる。 IDとかパスワードとかをうっかり平文のままコミットしてしまうのを防ぐ為に。 作るきっかけ、困ってた事 誰かが発行してくれるTokenを使っ…
その2があるか解らないけど、とりあえず備忘録その1。 Objective-C、SWFファイルフォーマット、ActionScript、Zlib辺りの知識が必要になりそうな。 概要 fla:verを使ってる fla:verを使って、Flashファイルからスクリーンセーバーを生成していた。 仕組みは…
由結ちゃんかわいい! 前提 Mac。 Ruby 2.0以上が入っている。(多分1.8.7とかでも動くけど一応) 80ポートをApacheやnginxが握っていない。 root権限が使える。 実行 問題なければ以下実行。 su - dscacheutil -flushcache echo '127.0.0.1 www.hikarinoten…
さくら学院のメンバーやクラブ活動のデータを取得出来るライブラリ、sakura_gakuinをRubyGemsで先日公開した。 いつか作りたいと思っていたAcmeモジュール。(Rubyだけど) sakura_gakuin | RubyGems.org | your community gem host https://rubygems.org/ge…
204ステータスは、内容なし。 リクエストを受理したが、返すべきレスポンスエンティティが存在しない場合に返される。 Rails3ではなぜかPUTメソッド(GET / POST以外)だと204ステータスに強制されてしまい、コンテンツを返せない。 本当は200ステータスでコ…
CentOSにMeCabとmecab-rubyを入れるメモ。 インストール MeCab本体インストール cd /tmp/ wget http://mecab.googlecode.com/files/mecab-0.98.tar.gz tar -xvf mecab-0.98.tar.gz cd mecab-0.98 ./configure --with-charset=utf8 --enable-utf8-only make m…
ちょっと前はsqlite3をソースから入れなきゃいけなかったような気がするけど、今やったらYumとRVMだけで事足りた。 野良ビルドしないで済むのは嬉しい。 そのインストールメモ。 インストール yum install ruby git gcc-c++ readline-devel zlib-devel libya…
Rubyでクラスメソッドを定義する時、いつも 「class 「class 「self 「self と解らなくなってしまう。 それで「class この奇妙な仕様について何かご存知の方、すっきり出来るような情報を教えてください! 「class まずは普通にクラスメソッドを定義する。 #…
RubyからPHPのクラスとかをネイティブに呼び出すRuby extension「php_vm」を作った。 百聞は一見に如かず。 なんということでしょう、PHPで定義したクラスがRubyのクラスのようにインスタンス化したりメソッドを呼んだり出来るではありませんか。 Source #!/…
RVMとかRubiesとかBundlerとか、いろいろあって訳わかんないけど、 とりあえずApache + RVM + Nginxが一番楽かなという印象。 (Rails3アプリを管理するのにBundlerも使うけど) 80番ポートを受け付けるのはApache。 そのApacheがプロキシになって、後ろのNg…
何か必要に駆られて作ったと思ったんだけど、何に使おうとしたんだっけ。 今回、PHPUnit + Phing + JenkinsでCI環境を整えた。 カバレッジ解析もしたかったけど、Xdebugが必須らしく、面倒だったからやらなかった。 64bitを超える数値を扱う為にPear/Math_Bi…
TwitterのAPIを叩くサンプルは見つかったけど、純粋な2Legged OAuthのやり方が見つからなかった。 だからメモ。 リクエストボディを指定して、リクエストを送る前にoauth!メソッドを呼ぶだけ。 #!/usr/bin/ruby require 'rubygems' require 'net/http' requi…
使いにくいというか、ネットワーク向きではない? だからいくつかメソッドを追加してみた。 追加したメソッド bit_count selfのIPのビット数を返す。 IPv4なら32、IPv6なら128を返す。 cidr selfのCIDRを返す。 なんでこれが取得出来ないのか不思議な位。 ho…
CentOSのYumリポジトリにあるRubyは古過ぎて、gemの依存で引っかかる事が多い。 だから自分でCentOS5用のRPM作った。 現在安定版とされている2つのバージョンのRubyと、最新のRubyGems。 ruby-1.8.7.p334-1.i386.rpm ruby-1.9.2.p180-1.i386.rpm rubygems-1.…
前に似たようなものをPHPで作ったけど、それより綺麗に書けた。 def main内を適宜書き換えて、rootで実行。 def config内で、CustomLog/ErrorLogの指定もした方がよさそう。 #!/usr/bin/ruby class VirtualHost def initialize(conffile, domains=[], hosts=…
大したものじゃないけど、Java開発がとってもはかどる。 IDE使えって話かもしれないけど。 staticは非対応。 使い方 echo "private String username; private String password; private Integer age;" | genaccesor.rb 結果 // username public void setUser…
似たようなプラグインもいくつかあったけど、どれもしっくり来なかったから自分で作った。 その名も「Mysql Cluster Adapter」。 eth0jp's activerecord-mysql_cluster_adapter at master - GitHub http://github.com/eth0jp/activerecord-mysql_cluster_ada…
データベースをrakeで管理する場合、ストレージエンジンを指定してテーブルを作る時は、いちいちこんなのを書かなきゃいけない。 ちょっとした事なんだけど、非常に面倒くさい。 create_table :table_name, :options => "engine=MyISAM" 何かいい方法はない…