from old Java to modern Java : reloaded for Kansai Java Engineers' Group
![from old Java to modern Java](https://cdn-ak-scissors.b.st-hatena.com/image/square/acddaeb836ee12c9e5ae04e4546ee425af63de5a/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Ffromoldjavatomodernjava-130623145452-phpapp01-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
<noscript> <div>JavaScript がブラウザで無効になっています。</div> </noscript> <h2>フレーム関連の警告</h2> <p>このドキュメントはフレーム機能を使って表示するように作られています。フレームを表示できない Web クライアントの場合にこのメッセージが表示されます。<a href="overview-summary.html">フレームなしバージョン</a>へのリンク。</p>
Couchbaseの作者Damien Katz氏は,C言語はバックエンドプログラミングにおいて現在でも優れた言語である,という意見を持っている。しかし他の開発者は,C言語はあまりにも欠陥が多いとしてC++やJavaを支持するもの,あるいはいずれも好まないというものなどさまざまだ。 CouchDB の開発者であるDamien Katz氏は,The Unreasonable Effectiveness of C と題した先日のブログ記事において,C言語がバックエンドのための優れた言語であると断言した。氏はC++やJava,さらにはErlangやRubyのようなより現代的な言語よりも,今後もC言語を支持していくつもりだという。ただし単純に,C言語を他のどれよりも優れた言語だと言っている訳ではない。"言語自体のパフォーマンスと信頼性が重視される場面においては,C言語に比類する言語は皆無である",別
技術者仲間で話していたら、4月入社の新人に、オブジェクト指向プログラミングをどうやって教えたらよいか?、という話になった。 想定している言語は Java。 ■動物・犬・猫モデルの説明から ■基本用語の説明から:「カプセル化とは」「継承とは」... ■サンプルコードから: System.out.println( "hello world" ) ... どのパターンでもうまくいかなかったので、今度の新人研修では何か工夫したいね、という話。 結論から言うと「これだ」というアイデアがでたわけではないが、話の内容は、いろいろ興味深かったのでメモ書き。 Java はオブジェクト指向の言語なの? Java は、ある意味 C言語の仲間。ある側面はほとんど同じ言語。 ・int, long (プリミティブなデータ型) ・配列操作 ・if/for/return ここだけ見れば、C言語のまま。つまり命令型、手続き
Java基礎文法最速マスター - いろいろ解析日記をリスペクト。 Javaの変態文法・技法一覧です。Javaの基礎をある程度知っている人はこれを読めばJavaの変態をマスターしてJavaを書くことができるようになっています。簡易リファレンスとしても利用できると思いますので、これは足りないと思うものがあれば教えてください。 1.基礎 エンクロージング型内部classの作成 外部classのインスタンスに紐付くインスタンスを生成します。外部クラスのインスタンス - 内部クラスのインスタンス間に、クラス - インスタンスのような関係を持たせることができます。 public class Outer { public class Inner { } } というようなクラスを作った場合、 Outer o = new Outer(); Inner i = o.new Inner(); となります。new
JavaとScalaとC#のジェネリクスは、いずれも継承を持ったオブジェクト指向言語においてParametric Polymorphismを実現するための手段であり、それぞれ異なった特性を持っている。というわけで、それぞれの言語においてジェネリクスがどのようにサポートされているかを比較した表を用意してみた。後で気が向いたら、各項目の説明を追加するかも。 Java(5.0以降) Scala C#(4.0) ジェネリックなクラス ○ ○ ○ ジェネリックなメソッド ○ ○ ○ 型パラメータの上限 ○ ○ ○ 型パラメータの下限 × ○ × 型パラメータの推論 ○ ○ ○ 全ての型のサブタイプ(ScalaにおけるNothing) × ○ × definition-site variance × ○ ○ use-site variance ○(Wildcard) ○(Existential Typ
JavaでHTTPクライアントを利用する場合何を利用しているだろうか。 直にソケット通信はやってる人はまずいないだろう。ヘッダとかなにもあったもんじゃないし。 標準APIで一番利用されるのはHttpURLConnectionだろうか。でもこれも面倒だ。一番やり取りをするEntityの扱いがInputStreamだけで非常に貧弱だ。 そこでJAX-RSの参照実装であるJerseyのクライアント。ほかにもJAX-RSの実装ではクライアントが各自あるが、今回はもっともメジャーなJerseyで。 Client client = Client.create(); WebResource wr = client.resource("http://www.yahoo.co.jp/"); String result = wr.get(String.class); System.out.println(re
Javaのデバッグをしていて、ステップ実行中にステップインを繰り返したらソースコードのないところに行き当たったことがあるだろう。あるいはEclipseでF3キーでクラスやメソッド・フィールドの宣言元を辿っていってソースコードのないところに行き当たったことがあるだろう。 Eclipseの場合、"Class File Editor"というものが開く。そこにはJavaのバイトコードのニーモニックがズラズラと並んでいて、「これは読めないや、ワケが分からない」と投げ出してしまったりしていないだろうか。 怖がることはない。ちょっとコツを掴めばすぐに読めるようになる。 Class File Editorの開き方 自前のJavaクラスの場合、ビルドして出来上がったclassファイルを開く必要がある。"Package Explorer"だとclassファイルは隠されていて見えないのでWindow -> Sh
Java 7の最終変更点が確定したとのことで、記事を翻訳してみました。 Project Coin: The Final Five (Or So) まず最初に、Project Coinへ興味深い提案をお送りいただいたみなさま、思慮深いコメントをくださった方々、そしてJavaプログラミング言語を発展せしめんと欲するまさしく活力のあるコミュニティの皆様にお礼申し上げます。 これ以上の波乱もなく、JDK7に含められることが決定した最終的なProject Coinの変更は以下の通りです。 Switch文中での文字列の使用 自動的なリソース管理 ジェネリックなインスタンス生成のための型推論の改善(ダイアモンド ※注1) 単純化された可変引数メソッドの呼び出し より良い整数型リテラルのための、オムニバス提案(多くを含んだ包括的な提案) コレクションのための言語サポート JSR292のための言語サポート
みなさまJava SE 6への移行は進んでおりますでしょうか。もう7月になったということはJava2 SE 5.0のサポート期間は4ヶ月をきったということですよ。 そこで今後はJava SE 6での地味な改良をあげていきたいと思う。派手な話題はみんな飛びつくけど、地味な改良が実はうれしいのだ。 最初はみんな知ってる小ネタから。 J2SE 5.0からPropertiesがXMLを扱えるようになったのはご存知のとおり。それまでは7bitなファイルしか扱えなかった。理由はPropertiesクラスが1.0のときに登場した古参クラスであるということ。1.0はマルチバイトが対応しておらずみんなこんな感じだった。そもそもHashTableを継承してるのはどうよ、とかいいたいことはたくさんあると思うのだが、Javaが発表されたのが14年前。その前からあったことを考えると仕方あるまい。C++ですら標準化さ
http://twitter.com/monjudoh/status/2038844182 この発言に触発されて、あると便利だよなぁと作ってみました。 とりあえずなので、上のペインで Ctrl+Enterを押すと書いてあるコードが Perlでevalされて下のペインに表示されます。選択している場合には選択していた場所だけが実行されます。機能はそれだけです。 Perlの評価部分に関しては以下の ipl.batを拝借しています。 日記帳だ! with Tux on Libserver :: irbをパクってiplを完成させてみた 以下の2つのファイルがコードの全体です。 実行するには、Perl5.10とJava6*1が必要になります。 MainFrame.java import java.awt.event.*; import java.io.*; import javax.swing.*;
ラムダ計算入門 この PDFを参考に、Javaでのラムダ計算を実装してみました。ついでに JavaCCを使って以下のような文を解釈できるようにしました。 (λx.x(y z)); λs.λz.s(s(sz));実際には、以下のようなコードで入力の解析と簡約化を行います。 import static ch.jpn.taoe.lambda.Parser.*; import ch.jpn.taoe.lambda.*; public class Sample { public static void main(String[] args) { Parser parser = new Parser(); String input = "((λx. x) (λx. x)) ((λx. x) (λx. x))"; Expression exp = parser.parse(new LambdaParse
うちの母親でも知っているJavaにおけるオープンソースを活用した開発環境・Test環境について調査及び評価する必要があり意外と労力を要したので これからJavaでの開発において開発環境・Test環境を構築する際の参考になればとメモしておきます。 開発環境、ビルドツール、Test、Web Testing、負荷テストに重点を置いてあります。 インストールせずに使用出来るIDEのtIDEや、jythonでWebテストを記述するMaxQ、パフォーマンステストをjythonで記述するGrinder3、 Flexの負荷テストも可能なWebLOAD、Swingのテスト用のUISpec4j等、新しい発見もあったのでJava開発者の人にも参考になると嬉しいです。 それぞれライセンス、最新バージョン、個人的なお薦め度(5点満点)を合わせて明記してあります。 IDE name URL Ver. Licence
ドラッガブルじゃないAppletは偽物だ!巷で変な噂が大流行していませんでしょうか。 先日の勉強会で反響が大きかったので、簡単にデモを見せつつ紹介します。 まずは、このガジェットを見て下さい。 追記 遅い遅いと言われてるので、JRE 6u10がインストールされてるかチェックしてされてる場合のみAppletを実行するように変更しました。 ガジェットのボタンを押してみてください。 インストールされている、JREが出てきて1.6.0_10がインストールされていればAppletが実行されます。 最新のJREがインストールされている方であれば、Appletをドラッグしてブラウザの外に出すことが可能です。 閉じるボタンを押すともとのHTMLに戻ってきます。 ブラウザを落としてもデスクトップで動作し続けるのが分かると思います。 動作しない方は、こちらからJRE 6u10をインストールしてください。 無事
JAVAの質問です。(equalメソッドについて教えて下さい) ① 下記のロジックでは、execute()は実行されることはないですよね? ("".equals(list)は、必ず偽となりますよね?) ----------------------------------- Collection list = new ArrayList(); if("".equals(list)){ execute(); } ----------------------------------- ② 「"".equals(list)」の意味は、 String型の文字列「""」と、Collectionの「オブジェクトの識別値の文字列(String型)?」を比較しているのでしょうか? ("".equals(list.toString())と同じでしょうか?) ③ ②について書籍やWEBで調べたいのですが、どこを
Java におけるコード進化パターン (Code Evolution Patterns in Java) asato shimotaki <asatohan at gmail.com> 最終更新日 : 2009/6/21 (2004/4/22 より) [...] For twenty years, I spent two or three hours a day looking at pairs of things -- buildings, tiles, stones, windows, carpets, figures, carvings of flowers, paths, seats, funiture, streets, paintings, fountains, doorways, arches, friezes -- comparing them, and asking my
\閉鎖予定のサイトも売れるかも?/ アクセスがないサイトもコンテンツ価値で売れる場合も… ドメインの有効期限を更新してサイト売却にトライしてみましょう
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く