programming
https://github.com/Shinpeim/ChatServerAkka2_2 もっとキレイに書けないもんなのかな〜
!!!!!!この記事は古い情報を扱っています!!!!!! Akka 2.3 からは Pipeline はなくなっています。この記事の内容は古いです。気をつけてください 前回までのあらすじ 自信満々で日本一わかりやすい Akka の IOManager と SocketHandle(やServerHa…
前回のエントリ にあまりに悲しいオチが付いたが、気をたしかにもって Akka 2.2 でのエコーサーバーを書いてみた。 このあたりの感じは IOManager のときとあまり変わらない。むしろわかりやすくなっている気がする。 Mainから読んでいって Server.scala、Cl…
ちょっとこのあたりが複雑に感じたので、一度整理しておく。まぁ全部「公式読めば書いてあるよ」で OK なんだけど、それではあまりにマッチョすぎるしわたしがあとから参照したいしみたいな感じ。 IOManager とはなにか Akka でIOを扱うときには、 IOManager…
スナップショット => https://github.com/Shinpeim/ScalaChatServerSample/tree/d18399985dcca22f4f593593ad02230c4a9f402f サーバーソケットに責任を持つアクターと、クライアントソケットに責任を持つアクターを別々にしてみた ひとつの接続に対してひとつ…
!!!CAUTION!!! この記事で扱っている IO のインターフェイスは Akka 2.2 で すでに old-io 扱いとなり( http://doc.akka.io/docs/akka/2.2.0/scala/io-old.html )、Akka 2.3 からは削除されてしまっています。 今ならばこちらを参考にされたほうがいい…
こちらからは以上です。
以前 Ruby の練習として、following の発言を 突然死ナイズする Twitter の bot を書きましたが、おそらく鍵アカに対してもホイホイ follow リクエスト送るみたいな挙動がお行儀が悪かったのでしょう、だいぶ昔にアカウントが凍結されておりました。 そのあ…
waveずたずたのための ruby の C Extension 書いたんだけど、どうやって書いたのかまとめると有益っぽいのでまとめた。 ビルドするためにどうすんの Cだから当然コンパイルしないと動かない。普通は make でビルドしたいと思うんだけど、そのための仕組みと…
けっこう評判がよくてうれしい WZZ ですが、不自由で邪悪な mac OS でしかリアルタイムプレイが動かないのがちょっと残念でした。そんな折、 「そうだ、OpenAL使えばいろんなプラットフォームで動くんじゃね?」思い立った わたしの TL がなぜか空前のC Exte…
まずはこれを見てくれ waveずたずたシーケンサー そうです。waveずたずたがリアルタイム演奏に対応しました。 waveずたずたってなんだよ WaveZutaZutaというおもちゃを書いている話 を参照してください。 中身 @nagachika さんが書いた、 ruby から coreaudi…
$ sleep 180 && say -v Zarvox ramen de ki ta yo TLのドラがわりとかにもどうぞ
プロセスのやつ書いてるときに、自分自身がすごい勉強になって、またなんか書きたいなというのがまずあって、あと、以前からデータ型と計算量の話はわかりやすくまとめておきたいという気持ちがあった。 最近(というかもうずいぶんまえから)Redisが話題にな…
ツイッターで「Ruby の Hash のキーにするオブジェクトに hash と eql? を定義しないといけないのなんでなんだろう」という話題が出て、「おそらく Hash の名前の通り、Hash テーブルを lookup するのにキーの hash 値を計算するのに使ってるんだろうね」と…
新潟の LLer たちが集まってワイワイするイベント Niigata.ll が本日開催されるそうです。わたしは個人的な事情で現在長野県におり参加できないので、資料だけ送りつけて長野からエア参加します。 Perlなめんな 内容は、別言語のひとたちから DIS られがちで…
アニメーション gif って一枚一枚の画像を高速で切り替えてアニメにしてるわけだけど、じゃあ、何枚も画像を切り替えるんじゃなくて、一枚の画像の中で上から順に表示させたらかっこいいんじゃないかなーって思って(伝われ)やってみたら案の定かっこよかっ…
後方互換性を守るべきブロダクトと、そこまで気にしなくていいプロダクトがあると思っている。 後方互換性を守るべきもの これはもうシンプルで、「依存関係の下のほうにあるプロダクト」。下のレイヤーを担うことを狙っているものについては後方互換性を守…
追記:今はこのコマンドは App::WithSound っていう名前でCPANに上がってるのでそれを使うといいです。 「テストに通ると#{ここに好きな女性声優の名前を入れよう}の声で褒めらるってのよくない?」みたいな話をツイッターでしてたら、みんな大好き @moznion…
今回の記事 全体 今回もがんばったよ!褒めて!
リリースしたよ 業務で Object::Container という CPAN モジュールに似た動きをする gem が欲しいなーと思ったので作ってリリースしました。まだ機能限定版です。 https://rubygems.org/gems/simple-object-container ドキュメントっぽいのは github の READ…
全体 https://gist.github.com/Shinpeim/4736099 今回の記事のぶん https://gist.github.com/Shinpeim/4736099#file-004-md 予告通りファイルディスクリプタとオープンファイル記述についてまとめた。自画自賛だけど今回の記事は初学者に相当役立つ内容にま…
全体 https://gist.github.com/Shinpeim/4736099 今回の記事のぶん https://gist.github.com/Shinpeim/4736099#file-003-md ホメてもらえないと続かないので読んで少しでも「わかりやすいな」とか「へーそうだったんだ」って思ったらどんどんホメてほしいで…
状態を保持した変数残ってるから見出し/タイトルがおかしいぞという声について あっその通りですね。「Stateパターンでキミの素敵な高校生活始まる!冬の進研ゼミ講座」くらいの見出しにすべきでした。 ラムダで十分じゃね?クラスにするほどでもないよね 今…
たとえば、今、「ユーザーが方向を入力したらプレイヤーが動くゲーム作りたい」みたいなはなしがあるとする。その場合、モデルクラスはまあシンプルな実装として下のようなものが考えられると思う。 「できたよー」って見せにいったら、今度は「あのさー、『…
なんかまだ内容全然ないのにgistにブクマとかスターとかがついてて「おら、はやく書けや」的なプレッシャーを感じたのである程度の分量書きました。 あとはゆっくり書いて行くつもりなのでもう今日は別の仕事に戻ります。 https://gist.github.com/Shinpeim/…
プロセスとかスレッドとか、自分も「なんとなく」で済ませちゃってる部分があるので、一度ちゃんと棚卸しをしないとだめだなーと思っていて、「一度まとめたいなー」とtwitterで言ったところありがたくも「読みたい」と言ってくれるひとたちがいたので、そう…
適切に抽象化されたコードを書く、というのはまさに言うは易し行うは難しだ。 最近私が心がけていることのうちのひとつに、「未来を予測しない」というのがあって、「ここはあとから変更とか追加があるかもしれない」と思って抽象化しておくみたいなことはや…