Ruby
Quiverのノートブックをテキストファイルにエクスポートするツールを作りました。 nori3tsu/unofficial-quiver-export Quiverの内部で保存しているjsonをパースしてテキストファイルにエクスポートするだけのツールです。Cronで定期的にクラウドストレージに…
JavaからRSA公開鍵で暗号化したデータをRubyからRSA秘密鍵で復号するサンプル。 鍵の保存 require 'openssl' OpenSSL::Random.seed(File.read("/dev/random", 16)) rsa = OpenSSL::PKey::RSA.generate(2048) # 秘密鍵を保存 File.open("private_key.pem", "w…
随分前に悩んだことでまた悩んでしまったのでメモ。 Java/Python/Rubyのそれぞれの実装をまとめました。
# 特異メソッド Time.stub(:method_name) { value } # インスタンスメソッド Time.any_instance.stub(:method_name) { value }
作業メモ。
既存の処理を上書きせずに、trapの処理を追加したい場合。 とりあえずこんな感じで出来た。 例:USR1シグナルの処理を追加する場合。 signal = :USR1 proc = Signal.trap(signal, nil) Signal.trap(signal) { proc.call # 追加処理 }
Rails3.1以降では全てのJS/CSSが結合+圧縮されますが、それぞれのControllerに属するJSファイル内でjQueryのセレクタを使用した場合に、意図しない挙動が発生することがあったため、Controllerは結合の対象外とすることにしました。以下に行ったことをメモし…
fluentdのリトライ処理に失敗した場合に、ログを消失させたくない+処理に失敗したログを復旧させたいという話です。fluentdのBufferedOutput系のpluginは、retry_limitに記載されているリトライ回数を消費してしまった場合、"throwing away old logs."のwar…
in_tailのformatに正規表現を書く時は、 (修正→設定ファイル読み込み→確認) x nとしてましたが、 もっと簡単にテストしたかったので、formatで使用する正規表現のテスト方法を調べてみました。ソースを見てみると、どうやらfluent/parserの"RegexpParser"ク…
大量データの読み込み, 書き込みのバッチ処理を効率よく行うため、Cassandraクライアントにはバッチ処理用の仕組みが用意されています。環境 cassandra (0.12.1)読み込み 大量データを処理するバッチ処理では、Cassandra内のデータを意識せずに読み込むと メ…
Cassandraクライアントから分散カウンタの削除ができなくてハマったのでメモ。環境 cassandra (0.12.1)対策 Cassandraの0.8から分散カウンタが追加されていて、Cassandraクライアントにも"add"というメソッドが追加されています。 これは分散カウンタ用のメ…
rubyのcassandraクライアントから別サーバのcassandraに接続する場合に、指定したIPに接続されずローカルホストに接続してしまう怪現象が発生してハマったのでメモ。 (正直、Forkwellのパブリケーションに追加したい衝動に駆られて書きましたw)環境 ○サー…
■ RubyからMySQLへの接続 Rubyからmysqlへ接続するためにアダプタをインストールします。 ですが、通常にgemでインストールしようとしても、以下のようなエラーが発生する場合があります。 例) [root@example ~]# gem install mysql Building native extens…
■ インストール(yum) yumでインストールします。 [root@example tmp]# yum install ruby ruby-devel rdoc ■ インストール(ソース) ソースからインストールします。 上記のyumでのインストールだと、yumのリポジトリに入っていないバージョンはインストール出…