3. 自己紹介 1992年~1997年 某ゲーム会社 プログラマ SFC,GB,PS1,N64のゲーム開発経験 1998年~現在 日本工学院八王子専門学校 @mozmoz1972 専任講師 プログラミング教育を中心に担当 twitterもfacebookも実名です。よかったらフォローしてください。
気象庁の地震情報|平成25年04月13日05時48分 気象庁発表 4/13のAM5:33にM6.0らしい地震がありました。各地で大きな被害が無いことを祈りつつ。 フジテレビのアナウンサーさんが淡路島の電車の状況を聞いたと言う話 【放送事故】フジテレビが淡路島民に「電車動いてますか?」と質問 「淡路島は電車ありません」 - NAVER まとめ だいたい見てると「電車無いのを知らずに聞いてしまった」のを叩く向きに思えます。実際のところ、聞いたこと自体はNGなのでしょうが、これをシステム開発の話に置き換えると見えるものがある気がしました。 以降はJavaの語彙で書きますが、これって NullPointerException っぽいなと。 コードっぽい何かで書いてみる こんな感じ。 運行状況 = 淡路島.get路線().get運行状況(); get路線() が何を返すのか知らないけど、これが nu
Java5以降では総称型(generics)がJava言語に導入されています。総称型自体は、最近の静的な型付けのプログラミング言語で珍しいことではなく、現在の最新版では.NETのC#やVisual Basicにも導入されています。一般的には総称型をサポートするクラスライブラリを自分で正しく定義することは非常にスキルがいるが、事前に定義されたクラスを使うだけであれば、それほど難しくないとされています。しかし、Java言語の総称型は本エントリで説明するように特殊なところがあり、単に利用するだけでも他の言語に比べて遥かに難しいところがあるというのも事実です。特に総称型をパラメータ化する際に指定するワイルドカード型(List<? extends Serializable>など)の意味を正しく理解して使いこなすことは簡単なことではありません。その結果、昔のJDK1.4までのように型パラメーターのない
ジェネリクスでは、「型」を変数にした「型変数」というものを取り扱う。型変数で何が嬉しいかというと、メジャーな例ではコレクションAPIが挙げられる。java.util.Listとかjava.util.Mapとかのデータを格納するタイプのユーティリティクラスのことだ。 2004年にJavaのバージョンが5.0となるまでは、Javaにはジェネリクスの機能はなかった。なので、Listにデータを格納し、取得する場合は List list = new ArrayList(); list.add("hello!"); String str = (String) list.get(0); といったソースコードになる。 add()の引数はObject型で宣言されており、どんな参照型でもadd()することができた。 get()の戻り値もObject型で宣言されておりキャストが必要だった。このキャストはプログラ
世間ではオワコンと揶揄されることも珍しくない Java ですが、Java を初めたばかりのエンジニアがチェック例外と非チェック例外の使い分けについて「ベストプラクティスないの?」と調べたのをまとめてみました。 エントリまとめ どのエントリも Java についての深い洞察と開発の実践現場での生きた経験をもとに書かれていて大変に勉強になりました *1 エントリ中からリンクされているエントリもぜひ一読されることをおすすめします。 検査例外と非検査例外(実行時例外)をどう使い分けるか - Lino Blog Java言語のチェック例外は本当にGood Partなのか? - 達人プログラマーを目指して Javaのチェック例外はクソ仕様 - やさしいデスマーチ 例外の扱いについて その2 - じゅんいち☆かとうの技術日誌 「検査例外はアジャイルやオブジェクト指向の考えに反するという事実」について一部誤
Java: The Good Partsの本のタイトルに触発されて、逆にJava言語の使いにくい部分をいくつかピックアップしてみました。Java EEなどの業務系のアプリケーションプログラマーの視点で書いていますので、別の立場ではここで指摘している事項が必ずしもBad Partではないという指摘もあるかもしれませんし、他にもいろいろなポイントがあると思いますが、とりあえず、私の独断で思いついたものを10個説明したいと思います。 1.標準APIのチェック例外が扱いにくい Java言語のチェック例外は本当にGood Partなのか? - 達人プログラマーを目指してでも取り上げましたが、Bad Partの第一番目として標準APIのチェック例外が扱いにくいという点を指摘させていただきたいと思います。チェック例外については、理屈上コンパイラーによって例外の処理をプログラマーに強制させることができるす
少し間が開いてしまいましたが、前回のJavaプログラミング能力認定試験課題プログラムのリファクタリングレポート(その2)に続いて、試験問題のリファクタリングについて説明します。 Template Methodデザインパターンを使った制御の反転 前回までのリファクタリングで、 全体的にレイヤー化されたパッケージ構造を規定 わかりにくい変数名やクラス名をリネーム Repository、Consoleなど複雑で再利用可能な処理をインタフーフェースとその実装クラスとして抽出 各機能を担当するアプリケーション層のクラスに共通のインターフェースを実装させることでポリモーフィック(多態的)に処理を起動 といった手順を実行してきました。これまでのリファクタリングで、オリジナルのソースコードに比べると飛躍的に可読性の高いコードになっていると思いますが、ところどころで同じような制御構造が繰り返し出現することが
バージョン3以降のSpring MVCでは、コントローラーのメソッドからJSON文字列を簡単に返却させることができます。以前のバージョンでもビュークラスを独自に拡張することでJSONの返却は一応可能でしたが、最新バージョンでは非常に簡単にJSON対応させることができ、Ajaxライブラリーを使ったWebアプリケーションやサービスの開発が容易になっています。 Ajax Simplifications in Spring 3.0 コントローラーをJSON対応させる手順 コントローラーをJSON対応させるためには、まず、JacksonというJSON処理ライブラリーをクラスパスに通す必要があります。Mavenを使う場合は、pomに以下を追加します。 <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-cor
皆さんは,業務や研究などでソフト開発を行う際に,どんなプログラミング言語をお使いでしょうか。試しに筆者が勤務する会社の知人に聞いてみると,COBOL,FORTRAN,C,C++,C#,VisualBasic(VB),Java,ABAP*1といった答えが返ってきました。皆さんの中には,これらの言語のほかにPerlやPHPといったスクリプト言語をお使いの方もいるかもしれません。 ここで紹介するRubyについて名前だけは聞いたことがあるという方も多いと思います(カコミ記事「Rubyの特徴」参照)。PerlやPHPと同じスクリプト言語です。ただし,Rubyはオブジェクト指向を意識して設計されているので,オブジェクト指向スクリプト言語と呼ばれることが多いようです。そのため,オブジェクト指向設計(Object Oriented Design)に基づいたプログラミングをする際にRubyは大きな効果を発揮
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く