2013-03-01から1ヶ月間の記事一覧

ArduinoでVGA信号を読む

「VGA端子 - Wikipedia」を参考に、5, 6, 7, 8, 10ピンをGNDに、1, 2, 3ピンをそれぞれアナログピンに、13, 14ピンをデジタルピンに接続した。出力値が変動しているのを観察することができた。ハードウェアをやる時も「早すぎる最適化は諸悪の根元」を唱えな…

プログラミング学習手段としての写経について

あるブログが「写経には効果がない」という趣旨のことを書いていて「何を言ってるんだ?」と思いじっくり読んでみたら、彼の言う写経は「動くとわかってる10000行のコードを何も思考せず作業として書き写すこと」を指しているようだった。「そんなわけないじ…

ReVIEWを使って電子書籍作成を試してみた日記

ReVIEW、以前教えてもらった時にはスライドを見て、「また変なオレオレフォーマットが生まれたのか〜」とか思ってスルーしていたのだけども、今日またReVIEWが良いよと布教されたのでもう一度きちんと見てみたら、これはなかなか良い! スライド: http://kmu…

Python旅館201303日記

「あなたのユースケースではさっさとPython辞めてGoに乗り換えたほうがいい」と布教が行われるPython温泉に参加しています。あ、対象は僕じゃないけどね。 - ReVIEWの話は別エントリーにくくりだしました。ReVIEWを試してみた日記 - その他の話題goroutinePh…

Javaでヒープ領域を余らせたままOutOfMemoryErrorを出す方法

先日、こんな問題を見かけたのだけども、JavaのGCにはあまり詳しくないので答えがわからなかった。 OutOfMemoryErrorが発生しました。(中略)ヒープメモリは足りているようです。原因として何が考えられますか? http://d.hatena.ne.jp/iad_otomamay/20130318…

状態のあるコードに対するテストの自動生成 その2

前回、曖昧な仕様を元に実装して、それにBLUE*を使った自動テストを掛けた結果、仕様に「open後にopenしたらエラーになるべきかどうか」「closeした後再度openできるのかどうか」が明記されていない点について、自動テスト生成が突っ込んでくることを確認し…

状態のあるコードに対するテストの自動生成

BLUE*アルゴリズムを実装してみたので、せっかくだからテストの自動生成をやってみた。今回テスト対象にするコードの仕様は 開く、閉じる、書き込む、の3つの操作ができる 開いてないのに書き込んだり閉じたりしたらエラーになる というものそしてこちらがそ…

グラフのレコメンドのアルゴリズムについて

弊社製品に搭載されたグラフのレコメンド機能について、アルゴリズムの解説を会社のブログに書きました:「おすすめグラフ」の裏側 | Cybozu Inside Out | サイボウズエンジニアのブログ。数式を出さずになるべくわかりやすく解説したつもりです。需要があれ…

Squeakをかじる その4

前回(その3)、Traitの挙動をSqueakのGUIを使わずに試すところまでやりました。その時に動いたコードがこちら:https://github.com/nishio/learn_language/blob/master/squeak/test_trait.st今回は、そのトレイトを複数にして、2つあわせてクラスからusesでき…

Scalaのtraitはmixinか?

Rubyのmixin(モジュール)、Squeakのtrait、Scalaのtraitそれぞれについて: Q1: メソッドの実装を持てる? はい、はい、はいJavaのクラスは「はい」、インターフェイスは「いいえ」、C++とPythonのクラスは「はい」 Q2: クラスがそれを複数個継承できる? は…

「わたしのウチにはなんにもない」を読んだ

妻が大興奮していてヤバイ!部屋から物がなくなる! 著者のブログ(なんにもないぶろぐ: 一人三役を求められる時代がやってまいりました)を読んでいて「うわー、棚がなくなった!」と思っていたら妻は「そうだよねー、そうするよねーと思いながら読んだ」とか…