タグ

ブックマーク / nowokay.hatenablog.com (28)

  • テスト駆動開発が嫌いだ - きしだのHatena

    テスト駆動開発が嫌いだ。 ただし、ここでの「テスト駆動開発」は日で今TDDと呼ばれてる多義的なものじゃなく、「テスト駆動開発入門」にかかれている「テスト駆動開発」。 もっと正確にいうと「テスト駆動開発入門」がミスリーディングをわざと誘ってて有害で嫌い。 テストは、プログラムが正しく動くことは検証できるけど、プログラムが正しいことは検証できない。そのようなテストに設計を依存してしまうと、正しく動くプログラムは作れるけど正しいプログラムは作れない。 設計も含めてテストによって駆動しましょうという「テスト駆動開発入門」のやり方では正しいプログラムが作れない。プログラムの正しさを別のやり方で担保しつつ、そちらを中心に開発を駆動して、あくまでも開発作業だけをテストで駆動するという考え方のほうが、正しいプログラムに近づける。 そして、TDDをいまがんばってる人たちも、それは当たり前にわかってると思う

    テスト駆動開発が嫌いだ - きしだのHatena
    qnighy
    qnighy 2011/08/28
  • Java7構文でHTTPクライアント書いてみたけど慣れませんな 2011-03-30 - きしだのはてな

    丸カッコのなかにセミコロンで区切った分が続くとか、違和感。 あと、初期化と処理の区切り、「 ){ 」はどのように書くのがいいんだろ? package http; import java.io.*; import java.net.Socket; public class HttpClient { public static void main(String[] args) { String host = "www.google.co.jp"; int port = 80; String file = "/index.html"; try( Socket soc = new Socket(host, port); OutputStream os = soc.getOutputStream(); InputStream is = soc.getInputStream(); PrintWrit

    Java7構文でHTTPクライアント書いてみたけど慣れませんな 2011-03-30 - きしだのはてな
    qnighy
    qnighy 2011/03/30
  • SIは面白くないけどエンタープライズは面白い - きしだのはてな

    ここんところ、SIという業態はもうダメという話になってます。 で、エンタープライズ(=企業向けシステム)というのは、SIという業態で開発されるので、エンタープライズ=SIという前提で、企業向けシステムは面白くないという話になっています。 そこから、企業向けアプリは面白くないからサービスを作りましょう、という流れになって、GREEやDeNAなどに人材が流れてます。 実際は、サービスや企業向けというアプリケーションの種類と、SIや内製、パッケージという構築側の業態は独立なので、別に語るべきです。 たとえば、このインタビューを見ると、ゲーム業界もSI化していて、面白くなくなっていそうなことが伺えます。 稲船敬二氏は,何を思い,何を考え,何を目指してカプコンを辞めていくのか。渦中の氏に直撃インタビュー また、GREEやDeNAが提供するゲームは急激に大規模化していて、おそらくSI形態での開発が増え

    SIは面白くないけどエンタープライズは面白い - きしだのはてな
    qnighy
    qnighy 2011/01/26
  • 2010-11-25 - きしだのはてな - 技術力をあげたいプログラマが読んでおかないと話にならない本10冊

    ここにあげたじゃなくてもいいので、同じ分野でなにか読むとか、に書いてあるほど詳しくなくてもそれなりに知識をもっておくべき。 アルゴリズムクイックリファレンス 作者: George T. Heineman,Gary Pollice,Stanley Selkow,黒川利明,黒川洋出版社/メーカー: オライリージャパン発売日: 2010/04/26メディア: 単行(ソフトカバー)購入: 11人 クリック: 656回この商品を含むブログ (72件) を見る まずはアルゴリズム。クイックって書いてあるけどぜんぜんクイックじゃないw。各言語で書かれた入門書を読んでもいいと思う。 実際のプログラムにアルゴリズムの知識を活かすということを知りたいならプログラミングコンテストチャレンジブックがおすすめ。 プログラミングの基礎 ((Computer Science Library)) 作者: 浅井健一

    2010-11-25 - きしだのはてな - 技術力をあげたいプログラマが読んでおかないと話にならない本10冊
    qnighy
    qnighy 2010/11/25
  • きしだのHatena

    Chicoryを使ってRustをコンパイルしたwasmJavaから呼び出してみました。 JVMでWebAssemblyにコンパイルしたRustのコードを動かす - きしだのHatena ただ、結構呼び出しがめんどいので、Javaインタフェースを定義したらなんかメソッド呼び出しで使える、というよく見かけるやつを作ってみます。 Rustのコードはこう。 #[no_mangle] pub fn add(left: i32, right: i32) -> i32 { left + right } #[no_mangle] pub fn sub(left: i32, right: i32) -> i32 { left - right } #[no_mangle] pub fn mul(left: i32, right: i32) -> i64 { (left as i64) * (right as

    きしだのHatena
    qnighy
    qnighy 2010/08/04
  • 2010-06-18 - きしだのはてな - プログラマとして仕事をするときに勉強したほうがいいもの

    ブログ形式の都合で、6/17のできごとを18日の項に書いてます。 イデアルITスクールというところで3時間ほど話をしてきました。 http://www.ideal-ed.jp/ テーマなしだったのですが、だいたい表題のようにプログラマとして仕事をするときに勉強したほうがいいものについてという内容で話てみました。 特に今回は、これからプログラマとして働くという人たちだったので、高度なことを目指せるようにという視点だけではなくて、たとえばプログラマは生活の糧で休日はプログラム以外に当てるという場合に、高度ではないことを楽に行うという視点も考えてみました。 まあ、結局言うことは同じなのですけども。 話してるときに書いたメモ プログラマとして仕事をするときに勉強することView more presentations from nowokay. で、紹介した。なんどかあげたことあるもの。 まずは、

    2010-06-18 - きしだのはてな - プログラマとして仕事をするときに勉強したほうがいいもの
    qnighy
    qnighy 2010/06/20
  • Google App Engineでコードを書くと、処理のひとつひとつが課金に見える

    先週末、ちょっとしたプログラムをGAE/Jで動かして実際に使ってもらってみたのですが、そうすると、いままでテストでちょこちょこやってたときには全部のDaily Quotaが0%だったものが、数%の数字を示すようになります。 これを、ちゃんとプロモーションして多くの人に使ってもらおうとすると、課金が発生したり制限にひっかかったりしそうです。 で、たとえばDatastore APIの呼び出し回数がヤバいとして、API呼び出しを減らすためにキャッシュしようとすると、MemcacheのほうのAPI呼び出し回数がヤバくなってきます。 で、じゃあということでデータストアにデータを置くようにすると、保存量の制約で課金がかかってきます。で、それならと、データストアに置くのはシリアライズしたデータにしてデータ量が最低限になるようにすると、今度はその処理をするためのCPU時間で課金がかかってきます。 コードを

    Google App Engineでコードを書くと、処理のひとつひとつが課金に見える
    qnighy
    qnighy 2009/12/18
    ほえー
  • [Java]正しい無限ループの書き方 - きしだのはてな

    boolean д = true; for(;д;){ System.out.println("でれません"); } boolean ω = true; for(;ω;){ System.out.println("ぬけれません"); } boolean ェ = true; for( ;(ェ); ){ System.out.println("終わりません"); } boolean TдT = true; while(TдT){ System.out.println("帰れません"); } 参考 while(1)をfor(;;)って書くやつ(2ch)

    [Java]正しい無限ループの書き方 - きしだのはてな
    qnighy
    qnighy 2008/07/17
    今度から使う