2013-01-01から1年間の記事一覧
年末までまだあるし年内の活動まだ確定してないけど、なんか年内忙しくてもうなんもできなそうだから今公開します。 総括 今年は去年に比べると格段にオープンソース活動ができたのでよかった感じがする。 一方、家庭優先にしててコミュニティ活動(Niigata.p…
ことの始まり PHP の srand 関数について調べていて、ひょんな拍子にsrandのseedに文字列(numericである必要はあるけど)を渡せることを知った。 では、ここに long を超えるものを放り込むとどうなるのか。 では結果をごらんください。 「!?!?」 なぜ…
旧称:「life.should be_happy # => 1 examples, ? failures」 新称:「猫型の蓄音機は 1 分間に 45 回にゃあと鳴く」 です。旧称のほうは rspec っぽい記法で「幸福は市民の義務である」的なディストピア感があって気に入っていたのですが、いいかげん expe…
環境というのはスコープと言い換えてもいいけど、ようするに「今実行している行から何が見えて何が触れるのか」という話。一度自分の頭の整理のためにきちんとまとめておきたいと思っていたので昼休みを利用してまとめる。 基本 環境変数 ENVっていうハッシ…
最近ギョームでジャバスクリッ書いてる。というか CoffeeScript 書いてる。 そんな中で、ある程度以上複雑なUIを動的型付け言語で書くのは狂気の沙汰だという気持ちがある。 サーバーサイドは結構論理的にきれいな設計にできることが多く、そんなに複雑なオ…
1年くらい前(?)にわたしのTLで話題になったやつに1年越しでいい案が生まれたので、こういうのはどうかという記事を書く。 id:kksg 向けのエントリである。 class MyError < StandardError; end def maybe_fail(max_retry = 1) raise MyError, 'error' unl…
ruby 書くときの話なんだけど。ずっと emacs 使ってて、そのあと vim に乗り換えて、今 IDE 使ってる。 emacs のときは flymake が便利だなーって感じがあったんだけどなんだかんだで設定とかけっこうしないといけないし rbenv 使ったらハマった〜みたいなこ…
昨日のエントリの続き。こっちのほうが有益な情報になってると思うんだけど多分昨日ほどはのびない。 さて、昨日のエントリーでは「Backbone.jsのViewはControllerってことなのか〜それは俺が間違えてたわ〜、えっじゃあ Marionette.js 使う場合はどうなの」…
続編の紹介 続編 やはり俺のMVCは間違えている in Backbone.js を書いた。そっちのほうが有益な情報が乗ってると思うけど面白くないかもしれない 以下本編 MVC の話と宗教の話と政治の話と野球の話はしてはいけないそうですがそんなの知るか俺はするぞ クラ…
何をする gem なのか Rack から PHP のセッションファイルを読み書きする gem であります。既存の gem にも似たような乃があるのですが、デシリアライズをまじめにやってなかったり、マルチバイト食わせると死んだり、read-only だったりしたので自分で書き…
何をする gem なのか RubyからPHPのセッションファイルをいじりたいみたいなこと、あんまりないと思う。 でも、PHP で動いてる大きめのアプリケーションを Ruby に載せ変えたいね〜みたいなことはある気がする。一気に作っちゃってもいいんだけど、ちょっと…
問題 テンプレートが html とかに書かれてて html ファイルと js が密結合しててつらい。たとえば template: "#nyan" とかなってる Marionette.js のviewをテストするときにそこにテスト側から任意のテンプレートをインジェクトしたい 解決方法 jasmine-jque…
情報が少ない。 参考までに私が今やってる環境を書いておく。 middleman 使ってCoffeeScriptでガリガリ開発する ユニットテストは jasmine を使って、spec も CoffeScript で書く E2Eテストは今のところまだ考えてない という状況。jasmine はCoffeeScriptを…
クライアントサイドのお仕事が一個入って、ためしにmiddleman使ってみたら良かった。 セットアップ 公式読めば良い 使い方 公式読めば良い その他 公式読めば良い 与太話 プログラマー、公式のドキュメント読めば良いのに読まないでわざわざ変な自己流みたい…
src 属性が存在しないimgタグがあるとnilで死ぬ問題点が修正されました。thanks to wneko! というか Gatchaman のメンテ、完全にうーねこがやってるのでもうかんぜんに wneko ware ですね!いつもありがとうございます! ちなみに Gatchaman gem はこういう…
とはいえ、パートタイムです。今までの仕事も今まで通り行ってるので、実情としては仕事を増やしたという感じです。子供できてお金必要だし。みなさんの大好きな転職エントリではありません。具体的な仕事はまだ始まってない(今週金曜日が初仕事です)し、…
Scala 一年生のわたしですが、僭越ながら「みんなで Scala に入門しようぜ!」というハンズオン形式のセミナーの講師を行ってきました。「Scala 入学式」という名前は papix 氏がやってる「Perl 入学式」のパクりです! この勉強会に使った資料は以下にアッ…
YAPC::Asia 2013 にはプライベートの都合で参加できませんでした。YAPC今年もすごく楽しかったです。とくに dankogai が親指を立てながら溶鉱炉に沈んでいくシーンは涙無しには見られなかった。 クソ!行きたかった!!!!!
馬鹿にはマルチスレッドは複雑すぎる わたしマルチスレッド怖いんです。なんでかっていうと、あれ、これってスレッドセーフだっけ?とか考えないとだめだし、えーっとこの変数は別のスレッドからアクセスされる可能性があるから〜とか考えないとだめ。あとロ…
GET / するとストリーミングを開始して、POST / するとそのPOST内容が GET / してるクライアントたちに即配信されるという簡単なサンプルをアレしてみた。 なんかレスポンスが終わる(というかコネクションが切れる)たびに user/IO-HTTP/listener-0/* から …
おかげさまでご好評をいただいている突然死botですが、初めて Scala で書いたプロダクトだったゆえかなり凄惨なソースとなっておりました。 そこで、最近ようやく Scala にも慣れてきたので、specs2でmockito使ってテストするのの練習もかねて、エイヤっとリ…
PipelinePorts を作ってそこにコマンドやイベントを流し込めば普通に結果が返り値で返ってくるのでテストを書きやすい val pipelinePort = { val ctx = new PipelineContext {} PipelineFactory.buildFunctionTriple(ctx, new YourPipelineStage) } // パイ…
ちゃんと Terminated が送られてくる see http://doc.akka.io/docs/akka/2.2.0/general/supervision.html#what-lifecycle-monitoring-means One important property is that the message will be delivered irrespective of the order in which the monitori…
こんな感じでどうでしょうね。 解説はコメントを参照のこと。 import akka.actor._ import akka.actor.Terminated import akka.io._ import akka.io.IO import akka.util.ByteString import java.net.InetSocketAddress import scala.collection.immutable.{…
APNsGatewayServer を書こうの巻 えー。APNsとのやりとり部分を書くのはなにげにとても面倒です。面倒な理由として プロトコルがアップルのオレオレプロトコルであり、なおかつバイナリでやりとりしている APNsサーバーに対してリクエストを送っても、基本的…
解決したい問題 Akka でネットワークサーバーを書く場合、エンコード/デコードの部分は Pipeline を利用し、TCPレイヤーの IO をその Pipeline に流し込む場合は TcpPipelineHandlerを利用するのが定石だと思いますが、ではサーバーがレスポンスを返したあと…
「専門家達の作り上げた検証のプロセス」に対しての不信が強いひとたちというのが一定数いるように思う。 たとえば、編集作業はどんな編集であろうとそれそのものが悪であり、編集されていない生の声が見れるインターネット上の言論こそが本物だ!と主張する…
単純な操作ならいいんだけど、複数テーブルに対してごにょっと操作をして、それがアトミックでなくてはならなくて、みたいなときの話。 単純な複数テーブルに対する操作なら多分主従の関係みたいなのあると思うしそういうときには主のほうを表すARを継承した…
Ruby の練習問題を作ろうとしてるんだけど、問題を作るのってめちゃめちゃむずかしい。 今はとりあえず課題ひとつだけつくって、それは単方向リストを実装しろっていう課題なんだけど、これが「どのくらいの難易度なのか」ということがまずわからない。あと…
アホなので implicit conversions みたいな魔術っぽいことされると「えっなになに」「なにが起きてるの」ってなってしまって混乱する。いままでの「なんとなくこんな感じのアレだよね」みたいなやつとしては、たとえば String を wrap するような SugoiStrin…