2011-04-01から1ヶ月間の記事一覧

Java5で条件演算子(三項演算子)に仕様変更があった!

昨日の「条件演算子(三項演算子)で、:の左側と右側に共通のインタフェースを持つ別のクラスを書く」についての追記です。C#だと、以下のように条件演算子のふたつの式が共通の型を持っている場合でもコンパイルエラーになりますが、Javaだとちゃんとコンパ…

JavaプログラマーがC#でプログラムを書いて引っかかったところ その2

C#

Javaで動くので、C#でも動くと思ったんですが・・・。 条件演算子(三項演算子)で、:の左側と右側に共通のインタフェースを持つ別のクラスを書くと、コンパイルエラーになりした。 /* -- Java -- */ public interface X { ・・・ } public class A implements X…

JavaプログラマーがC#でプログラムを書いて引っかかったところ その1

C#

案件が変わり、仕事で使う言語がJavaからC#に変わりました。 その際に、C#でプログラムを書いていて引っかかったところをメモしておきます。 とりあえず、連想配列(Dictionary)を使ったときのことをメモ。 書き方の違い C#は、連想配列用に言語仕様が用意さ…

HTTP Server Anywhere を公開しました

以前、ローカルファイルのまま JavaScript を動かそうとすると、セキュリティエラーにひっかかるということがありました。 ちゃんと Apache とかのサーバを用意して動かせばいいんですが、そこまで手間をかけるのも面倒・・・。そこで、こんなの作ってみまし…

Enumerationを拡張for文で使う

たまに、Java の Enumeration を使ったサンプルを見かけることがありますが、その大半が Iterator と同じようなアクセスの仕方をしています。 NetworkInterface nic = NetworkInterface.getByName("eth0"); Enumeration<InetAddress> nicAddress = nic.getInetAddresses()</inetaddress>…

効率的なバグの作り方

プログラマーの仕事は、とにかく効率を求められます。 それは、コーディング然り、テスト然りです。 それならば、バグだって効率的に作るべきです。 今日は、そんな効率的にバグを作るやり方を、ざっと考えてみました。 複雑なif バグを作るためにifをたくさ…