Hatena::ブログ(Diary)

しんさんの出張所 はてな編 このページをアンテナに追加 RSSフィード

カレンダー
2007 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2013 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 11 | 12 |
2014 | 01 | 02 | 03 | 04 | 05 | 06 | 08 | 09 | 10 | 11 | 12 |
2015 | 02 | 03 | 04 | 05 | 06 | 07 | 09 | 10 | 11 |
2016 | 05 | 08 | 10 | 11 | 12 |
2017 | 01 | 02 | 06 | 08 |

2010-09-14

[][]「Javaが使えます」という人の基準

そういえば、「Javaがつかえます」、という基準はどこにあるだろうか。

そんな考えをまとめてみた。

おいらの場合特定のプロダクトを使いこなせるというよりは、標準APIの基礎が広く薄くわかっているというレベルかなぁ。

たとえば暗記していてクラス名やメソッド名などすらすらでてくる、というのは望ましいけど、そうではなく、JavadocIDEの補完、ネット上の情報見てそれなりにやれるというレベルを期待したいところ。どうせ、開発始めれば細かい使い方はわかるようになるし。

かなーりあまい基準で「そんなへっぽこレベルでできるといわれても困る」とおこられそうだけど。


言語の文法は基本抑えているというのが前提として以下のものが当てはまる人。

  • Java2Dがわかる
    • Graphics/2Dをある程度触れる
    • BufferedImageとVolatileImageの違いを理解している
  • 日付処理がわかる
    • Dateの理解
    • Calendarの理解
  • ファイルの読み書きができる
  • ソケット通信ができる
    • ソケットでつなぐことができる
    • サーバーソケットでまち受けできる
  • RMIがわかる
    • 足し算くらいを別VMで実行して結果を求める
  • プリンタへ印刷がわかる
    • Javaで印刷といっても3種類くらい方法があって、一番面倒な印刷サービスまでいかなくとも一番簡単な方法でいいので印刷ができる
  • AWT/Swingがわかる
    • JFrameにJButtonとJLabelとJtextFieldを貼り付けることができる
    • イベントディスパッチスレッドを理解する
    • 具体的には新たにスレッドを立ち上げてそこからSwingコンポーネントを触ることができるか
    • ボタンクリックイベントくらいは理解できる(イベントハンドラの理解)
    • paintComponentで適当にカスタマイズした描画ができる
    • Timerあたりを利用してアニメーションもできる
  • JDBCがわかる
    • select * from TableというSQLを発行できるか
    • ResultSetで片方向、双方向のカーソル移動
    • Nullの取得方法がわかる
    • deleteRow、updateRow、moveToInsertRow、insertRow等の基礎的な理解
    • トランザクション
  • JavaSoundがわかる
  • ゲームが作れる
    • 上記を踏まえてスペースインベーダをさらに単純にしたSTGくらいは作れる

Javaでやれること」にたいしてのある程度の見積もりができるレベルというか。細かいところはおいおいやっていけばいいとして、各項目は1,2日勉強するだけで覚えれるレベルなんで、言語の基礎を覚えている人なら2ヶ月くらいでここに上がるのは大丈夫なはず。つまり、言語そのものを理解している人を雇ったとして、新人研修で余裕で全部覚えれますね。

言語自体知らない人を雇ってる場合はしらない。そこが一番時間かかるし、そのための専門教育なんだろうし。

これくらいの基礎があればたぶん、フレームワークライブラリを覚えろといわれても大丈夫だと思う。

nowokaynowokay 2010/09/14 23:04 BufferedImageとVolatileImageの違いを理解していませんが、こんなぼくでも大丈夫でしょうか?

shinshin 2010/09/14 23:29 きしださんなら10分くらいJavaDoc眺めるとjava.awtパッケージすべて理解できると思いますのでがんばって勉強してください!!

servlet/jspはJavaSEじゃないのではずしてもよかったかもしれませんね。かわりにXMLのアクセス方法とかJAXB、JAX-WSとかでもよかったかな。

masanobuimaimasanobuimai 2010/09/16 22:54 Java2Dでいきなり死んだ("Java使える"なんて言っててサーセン

shinshin 2010/09/16 23:04 まずはdrawStringとdrawImage、fillRect、ColorまわりだけでOKっすよ。

サーバーサイドでも画像関係扱うことは多いですからね。
そしてLinuxで動かして手ごろな固定長フォントなくてあぼんとか。

最後のゲームはそれまでにあげた内容があればさくっとつくれますからね。Java2Dで描画、Swingとイベント周りでキーボード入力の受け取り、音も出したければJavaSoundもありますから。自機、敵1匹、自機弾1つなら基本は50〜100行くらいでゲームつくれますよね。

masanobuimaiは最後の"ゲーム作れる"ところクリアしてるので大丈夫ですよ。

shinshin 2010/09/16 23:07 webアプリ登場前からJava触っていたかどうかがおおきいのかも。でもJavaSEはすべてのベースですからねぇ。たとえばICEfacesのTreeはSwingのTreeコンポーネント使うようになってます。あるものは使うって感じですね。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証