タグ

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

  • 文字列でswitchするときはif-else switchイデオムを使うほうが安全 - きしだのHatena

    Java SE 7から、switch構文で文字列が使えるようになりました。 public void hoge(String s){ switch(s){ case "a": System.out.println("AA"); break; case "b": System.out.println("BB"); break; default: System.out.println("Other"); } } ところが、残念なことに、sがnullの場合はdefaultには飛ばず、ぬるぽが発生します。 そこで、null判定は事前にif文で行うことになるので、次のようなif-else switchイデオムを使うと便利です。 if(s == null){ System.out.println("Null!"); }else switch(s){ case "a": System.out.printl

    文字列でswitchするときはif-else switchイデオムを使うほうが安全 - きしだのHatena
  • どのプログラム言語を選ぶべきか・・・ - きしだのHatena

    PHP-erはダメな言語でいかにまともなものを作るかっていうマイナスからのスタートだし、 JavaScript-erは何もないところで何か動いて楽しいっていう0からのスタートだし、 Ruby-erはRuby好きって言ってるだけだし、 Java-erはJavaの仕様にしか興味がないし。 Scala-erは生ぬるいこと言うと狩られるし、 Smalltalk-erは過去の栄光語ってるだけだし、 COBOL-erは苦労話しか出ないし、 FORTRAN-erはプログラムに興味ないし、 Perl-erは同窓会みたいだし、 Python-erは仲間探すの大変だし、 Erlang-erはどこにもいないし、 C-erは目先の仕事にしか興味ないし、 C++-erはC++の復興にしか興味ないし、 C#-erはWindowsにひきこもるし、 ActionScript-erはAdobe税はらうのに大変そうだし、 O

    どのプログラム言語を選ぶべきか・・・ - きしだのHatena
  • Webアプリで動的型付言語や開発管理が流行りIDEが流行らなかった理由などなど - きしだのHatena

    考えてみた。 ここんところ静的型付けなんか不要な空気になってたり、プログラムの内容よりも品質だとか開発管理の話題のほうが盛んだったり、IDEはあると便利だけどなくても大丈夫って雰囲気だったりする理由。 この10年Webアプリケーション花盛りだから、その理由はWebアプリケーションの構造にあるとして考えた。 Webアプリケーションの構造 で、まずはWebアプリケーションの構造。 字が汚いけど、左からブラウザ、アプリケーション、セッション、DB。 赤文字は、左がプログラム実行、右がデータの永続と書いてある。つもり。 Webアプリケーションでは、ブラウザからのリクエストを受けて、プログラムが動き、データベースの情報を処理して返す。 ブラウザ側でプログラムが動くことはあるけど、入力補助程度であまりたいしたプログラムは書かないので、主にサーバー側のプログラムを組む。 このとき、サーバー側のプログラム

    Webアプリで動的型付言語や開発管理が流行りIDEが流行らなかった理由などなど - きしだのHatena
    daisuke-m
    daisuke-m 2010/01/16
    とても興味深い考察。
  • 2009-07-10 - ライセンスの選択は自己責任 - きしだのはてな

    なんか、AndroidアプリをApacheライセンスで公開したらそのままGoogleマーケットに載せられて、その載せた人には誠意がない、みたいに怒ってるんだか悔しがってるんだかしてる人がいた。 http://blog.ngsdev.org/archives/android/oyadonavi/ けど、ライセンス的に問題がないんなら、怒るのも悔しがるのも筋違いだと思う。 というか、Apacheライセンスみたいな自由なライセンスで公開するってのはそういうもんでしょ、と。 「この行為自体、良心があるとは思えません。」とか「そのまま自分の名前でマーケットに突っ込むなんて!」と書いてるけど、それを許したのはあなたでしょとしか言いようがない。 「ご自由にお使いください」と書いてて、いざ自由に使ったら文句いうというのはどうかと思う。 「パクリ」とか「盗作」とかいうタグがついているようだけど、ライセンスに

    2009-07-10 - ライセンスの選択は自己責任 - きしだのはてな
    daisuke-m
    daisuke-m 2009/07/13
    OSSで公開したらパクられたという話に対して「自分で許諾したんやろ」という話。同意。そしてOSSを利用した側も単純なコピーで事業になると考えていた浅はかさ。
  • なんも考えずに"リテラル".equals(s)と書け - 2008-12-04 - きしだのはてな

    "".equals(stringVariable) は改悪だろうについて。 まず、空文字との比較は場合による。というか、空文字との比較なら s != null && s.isEmpty() か s == null || s.isEmpty() などと書くほうがいい。 あと、件の問題は改悪とは言わないまでも、問題文だけをみてこれを改善といえるほどでもないので、あまり良くない。 中身があるリテラルとの比較。 基的な方針として「二通りの書き方があるとして、実行コストや記述コストが同じならより安全で判断の必要がない書き方を選ぶべき」というのがある。というか、これはコードの書き方だけではなく、すべての行動にあてはまる。判断不要で安全な方法があるのなら、それを選ぶべきだ。シャワーをまっすぐにシャワー置きにかけずに横向きにかけるというのは、これにあてはまる。確かにシャワー置きにはシャワーをまっすぐ置き

    なんも考えずに"リテラル".equals(s)と書け - 2008-12-04 - きしだのはてな
    daisuke-m
    daisuke-m 2008/12/05
    「~の方が美しいよね!」といいながらも、実際のコードでは、やはりより安全な~という書き方をしている。まさに。
  • 1