2013-01-01から1年間の記事一覧
こんな感じで実装できた。Option (Haskell で言うところの Maybe)はモナドの中でもかなりわかりやすく実装しやすい。foreach とか filter は実装してない。 ただ、これだけがあっても、map や flatmap とか foreach とかを組み合わせたときに読みやすい感じ…
オブジェクトの内部の値がイミュータブルであれば、今後もその値は変更されないことが保証されているので、新しい状態を持った新しいオブジェクトの内部の値のうち、変更のない部分(つまり値のうちのほとんど)は古いオブジェクトの値をそのまま参照すればよ…
この記事。3ヶ月以上前のやつなんだけどちょうどいい題材なので今更これに反応してというか勝手に乗っかって秘密鍵と公開鍵のことについて書く。 この記事では同じキーを使って暗号化と復号化を行っているけれど、これだと「じゃあそのキーをどうやって共有…
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 リクエスト送るみたいな挙動がお行儀が悪かったのでしょう、だいぶ昔にアカウントが凍結されておりました。 そのあ…
ちょっと自信過剰なようだけど、わたしはたぶん平均レベルよりも上手に言葉を使うことができる人間だと思う。process-book とか Git をはじめからていねいに とか、自画自賛だけど上手に言葉が使える人間じゃないと書けないもん。 でも、「言葉を上手に使う…
例の これ なんだけど、かなり内容が充実してきたので自画自賛で宣伝します。 2013/5/7 22:14追記:一通り書き終わった。 日本語で読める Git の網羅的なドキュメントには公式の Git - book があります。こういうドキュメントを読み慣れているひとには充分わ…
プログラマーに対しては「四の五の言わずに覚えろ」でいいんだけど、そうじゃないひとにも使ってほしいみたいなことって仕事であると思う。だから前の記事みたいなやつ書いてるんだけど、どう考えてもコミットメッセージ 書くときにターミナルで使うエディタ…
ウェッブケーとかアイテーケーならデザイナーさんとかでも Git 使えたほうがいいと思う。でもいつまでたっても Git こわいです黒い画面怖いですみたいなの、デザイナーさんとかならしょうがないとも思う。でも Git 使ってもらわないとふつうに仕事で困る。困…
鍵アカ: $ command ruby script/nyan.rbってやるだけでruby script/nyan.rbを裏でやり、commandのプロセスにHUPとか送るだけでruby script/nyan.rbをやりなおすやつとかでいいんですよ〜 という話が TL であったのだけれど、既存のツールだと foreman とか p…
waveずたずたのための ruby の C Extension 書いたんだけど、どうやって書いたのかまとめると有益っぽいのでまとめた。 ビルドするためにどうすんの Cだから当然コンパイルしないと動かない。普通は make でビルドしたいと思うんだけど、そのための仕組みと…
けっこう評判がよくてうれしい WZZ ですが、不自由で邪悪な mac OS でしかリアルタイムプレイが動かないのがちょっと残念でした。そんな折、 「そうだ、OpenAL使えばいろんなプラットフォームで動くんじゃね?」思い立った わたしの TL がなぜか空前のC Exte…
はてなブックマーク数、じつは記事の価値とかに全然関係ないんだけど、まるでブックマークたくさんされたものは価値があるみたいな感じになって、書く方も読む方もなんかはてブに踊らされ始めていろいろおかしくなる。もともとすごいいい記事たくさん書いて…
まずはこれを見てくれ waveずたずたシーケンサー そうです。waveずたずたがリアルタイム演奏に対応しました。 waveずたずたってなんだよ WaveZutaZutaというおもちゃを書いている話 を参照してください。 中身 @nagachika さんが書いた、 ruby から coreaudi…
なにであってなにでないのか semantically wrong な JSON を semantically right に書き換えるためのDSLを提供する gem です。syntactically wrong な JSON を syntactically right に書き換えるものではありません。 なぜこんなニッチなものを twitter とか…
$ sleep 180 && say -v Zarvox ramen de ki ta yo TLのドラがわりとかにもどうぞ
プロセスのやつ書いてるときに、自分自身がすごい勉強になって、またなんか書きたいなというのがまずあって、あと、以前からデータ型と計算量の話はわかりやすくまとめておきたいという気持ちがあった。 最近(というかもうずいぶんまえから)Redisが話題にな…
書いた
久々の雑文。 「インターネット業界」みたいな感じのところで働いているのだけれど、わたしはあまりインターネットが好きじゃない、と感じることがある。でも一方で「やっぱりインターネット好きだな」って思うことも結構あって、わたしの中でインターネット…
ツイッターで「Ruby の Hash のキーにするオブジェクトに hash と eql? を定義しないといけないのなんでなんだろう」という話題が出て、「おそらく Hash の名前の通り、Hash テーブルを lookup するのにキーの hash 値を計算するのに使ってるんだろうね」と…
https://github.com/Shinpeim/process-book/blob/master/release/ ここです。 @moznion が Rakefile 書いてくれたからそれまるっと使ってる。@moznion ++。 pr 送ってくれて、それが merge された場合(というかリポジトリのコミットログに名前が含まれる場合…
いろんなひとが pull req くれたり、gist で修正例送ってくれたり( thanks to @hayajo )のおかげで、だいぶプロセスさんが成長してきた。 @hayajo さんのおかげでリダイレクトの順序についての補足が書けて、内容がいっそう充実したので、ここで報告しておき…
新潟の LLer たちが集まってワイワイするイベント Niigata.ll が本日開催されるそうです。わたしは個人的な事情で現在長野県におり参加できないので、資料だけ送りつけて長野からエア参加します。 Perlなめんな 内容は、別言語のひとたちから DIS られがちで…
書き終わったらけっこうなボリュームになってしまったので、gist じゃなくて Github で管理するようにしました。 Shinpeim/process-book URL変わっちゃうのとせっかくスター付けてくれたひとたちには申し訳ない感じなんだけど、pull reqが受け取れるっていう…