夏のJAWS-UG 三都物語 2014というイベントで「そろそろJavaみなおしてもええんやで」というプレゼンしてきました。 Javaのイベントではなかったので、Javaを使ってない人を想定したプレゼンでしたが、実際会場のほとんどがJavaメインではなかったようです。 for(int num : nums){ if(num > 10) continue; sum += num * 2; } というコードが、NetBeansの「関数操作を使用」というリファクタリングで sum = nums.stream().filter((num) -> !(num > 10)).map((num) -> num * 2).reduce(sum, Integer::sum); になったところがハイライト。 ここまでできるとは思ってなかった。 そろそろJavaみなおしてもええんやで from なおき きしだ
今回の内容は前回よりだいぶましだぞ・・・。 業務系Java屋がMixiアプリをリリースするまで Javaしかかけないおいらがmixiアプリ第2弾をリリースするまで mixiアプリ第3弾「コレオススメ!」リリースするまで Javaしかかけないおいらがmixiアプリ第4弾をリリースするまで JavaしかかけないおいらがAndroidアプリをリリースするまで の続きになります。 正直実装的にはmixiアプリ第2弾のエントリ(GWT+Flash+JavaSEとの互換レイヤでサクサク開発)が飛びぬけていると思いますが、それ以来くらいのインパクトはあると思います。 長文です。 iOS版を開発するぞ マモノバスター2のAndroid版は無事だせました。読んでない人は上に並んでる過去のエントリを読んでみてください。 AndroidはJavaSEと同じJava言語ということで、JavaSEと互換のレイヤーを
[速報]Java 8が正式公開。ラムダ式、新しい日時API、JavaFX8など。NetBeans 8.0も登場 米オラクルは3月18日(日本時間3月19日早朝)、Javaの最新バージョンとなるJava 8を正式に公開しました。 #Java8 Now Available http://t.co/QymKlAtp99 — Java (@java) 2014, 3月 18 Java 8は当初はラムダ式を実現するProject Lambda、JDKをモジュラー構造にするProject Jigsawなどが主要な機能となる予定でしたが、Project Jigsawの実装はJava 9へ持ち越すことになったため、Java 8ではラムダ式が最大の新機能となりました。そのほか新しい日時API、JavaFX8なども含まれています。 Java 8に対応した統合開発ツールのNetBeans 8.0も公開されていま
こんにちは! アキバです。 ...T3ブログは初登場かもしれません。ハジメマシテ。 以後お見知りおきを。 いよいよ、2014年3月、Java8が正式公開されますね。 なんと言っても、Java8の注目機能はラムダ式ですので、ラムダ式や型推論に関する記事は多いです。 世の中で「Java8」と検索すると、皆さんいろいろと記事を書かれているので、おおよその事はこれで分かっちゃうような気がします。 が、 実は地味に便利なAPIが追加されていたりすることを最近知りました。 これはあまり触れられていないぞ、と。 というわけで、このエントリでは、あまり日本語で情報の無い、しかし地味に便利なAPIに実際に触れてみます。 大事なところなので2回強調して書いてみました。 今回は、前編として4つ紹介します。 ※APIの紹介と言いつつ、コードにはラムダ式を使ったコードが普通に出てるので、ご了承ください。 (むしろ、
Javaプログラマのみなさんは、Javaは型推論がないから変数の型指定をしなくていけなくてダサい、などとイジメられた経験があると思います。 おかあさんに型推論をねだるとGroovyをわたされたり、おとうさんに型推論をねだるとScalaがやってきたり、プレステが欲しいって言ったのにWiiやXboxを買い渡される感を味わった人も多いのではないでしょうか。 そんな良い子のJavaプログラマのために、今年はサンタが素敵なプレゼントを持ってきてくれましたよ。 同じ型を書くのがダサい たとえばウィンドウを出してボタンを押したらメッセージが表示されるサンプルを書くとこんな感じになりますね。 public static void main(String... args){ JFrame f = new JFrame("テスト"); JButton b = new JButton("押して"); JText
Javaは言語仕様上の制約により、ボイラープレートコード(自明だが省略できないお決まりのコード断片)がいくつかあります。例えば、メンバ変数を読み書きするだけのgetterメソッドやsetterメソッドがこれにあたります。Lombokを使えば、これらJava特有の冗長なコードを、見やすく簡潔なものにすることができます。本記事ではLombokを利用して、ボイラープレートコードをシンプルに記述する方法について解説します。 はじめに 今やJava開発に必要不可欠となったものの一つに、IDEの存在があります。例えばEclipseではメンバ変数さえ定義すれば、getter/setterの自動生成や、equalsメソッドやhashCodeメソッド、toStringメソッドなどの自動生成などさまざまな場面でコーディングを強力にサポートしてくれます。 これは大変便利な機能ですが、裏を返せばJavaの言語仕様
まず、PDFを作ってそれに対してフォームを埋め込んでおきます。(要Acrobat Professional) それをフォーマットとし、iTextを使ってフォームの内容を埋め込んで、新たなPDFとして出力します。 PdfReader reader = new PdfReader("template.pdf"); PdfStamper stamper= new PdfStamper(reader, new FileOutputStream("output.pdf")); AcroFields form = stamper.getAcroFields(); form.setField("name", "名無しのごんべ"); form.setField("address", "東京都○○区"); stamper.setFormFlattening(true); stamper.close(); 必
Seasar2の機能追加停止が宣言されてから、すでに6年弱たっています。 Seasar2.4に対する追加要望があれば、もちろん検討します。ただし、大きな変更や追加はもうないでしょう。 Seasar2の今後のロードマップ 2008-01-29 - ひがやすを blog 後継になる予定だったSeasar3も開発が中止されて3年たちました。 Seasar3開発中止 2010-08-06 - ひがやすを blog ここでSeasar2.5を出す方向で動くということでしたが、実現しませんでした。 あのころSeasar2に関わっていた人も、ScalaがメインになったりNode.jsをさわったり、不本意ながらPHPをさわったり、さわってみるとPHPもそれほど悪くなかったり、やっぱりPHP気に食わなかったりと、いろいろな道を進んでいます。 DIコンテナ自体の機能も時代遅れ感がでてきており、関連プロダクトも
家のなかを森にしたい、という欲望 今年はなんだか観葉植物の観察が楽しい。本日は植物についての記事ですが、土や根っこなどの画像もあるので苦手な方は避けてくださいね。 フィカス・ウンベラータ うちのメイン的存在はフィカス・ウンベラータ。ウンベ殿が我が家にやってきたのは2020年5月。コロナ禍初…
2013-06-29 第1回渋谷Javaに行ってきた 渋谷ジャバのスライドにgifアニメ貼ってる— レジャスポ太郎 (@rejasupotaro) 2013, 6月 28 明日渋谷で若者を一気に叩けばJava勢に大きく打撃を与えられる— 中村氏 (@r7kamura) 2013, 6月 28 ジャバ芸人…— なおてぃー (@naoty_k) 2013, 6月 28 渋谷でJavaについて語り合う渋谷Javaに参加してきた。ハッシュタグは#渋谷java。 主催者の@seri_kさんはビズリーチのエンジニアだったのでビズリーチで開催された。 ビズリーチ、オフィスの中に庭があった(下は参考画像です)。 初心者向けって書いてあったけど結構ガチ勢がいて、Mavenセントラルの細かい話とかMixer2の話とかパフォーマンスを意識したコーディングの話とか出て渋い感じだった。 そんな中、自分は完全に
Struts1職人の朝は早い。 「毎日毎日DBとアプリサーバーが違う。機械ではできない」 「このstruts-config.xmlはダメだ。ほら、すぐ裂けてしまう」 ここ数年はLLとScalaに押されているという。 下町Struts1の灯火は弱い。だが、まだ輝いている。 「やっぱりアレですね、たいていの若い人はすぐやめちゃうんですよ」 「それを乗り越える奴もたまにいますよ。そういう奴が、これからのStruts1界を引っ張っていくと思うんですね」 今日も彼は、日が昇るよりも早くstruts-config.xmlの整形を始めた。明日も、明後日もその姿は変わらないだろう。 そう、Struts1職人の朝は早い。 夜も遅い。
Java8のlambda構文の話を書くと、旧来の書き方でいいというコメントがつくのですが、それでも便利になったMapの恩恵を受けることは多いんじゃないかと思います。 ※ 2018/5/31 Java9からはメモ化再帰には使えなくなっています ※ 2019/2/15 なんか問題ない? Mapには、lambda式を使ったメソッドが多く追加されていますが、たとえばgetOrDefaultメソッドのようなlambda式を使わないメソッドも追加されていて、これも便利です。 そして、このようなlambda式を使わないメソッドも、間接的にはlambda構文サポートでの言語拡張のおかげです。 Mapはインタフェースなので、Java7までの構文でメソッドを追加しようとすると、Mapを実装しているすべてのクラスに新しいメソッドの実装を追加する必要がありました。そしてそれは現実的に不可能なので、今までMapなど
あ、まず前提として、 貴女がJava大好き男を夢中にさせることが、 はたして貴女を幸福にするかどうか、それはまた別問題だけれど。 とはいえ、Java大好き男たちは玉石混交ながら、 大手SI系の給料高い男なども多く、 したがって、釣り師たる女たちにとっては、 なかなかあなどれない釣り場です。 では、Java大好き男に「どのIDEが好き?」と訊ねられたとき、 貴女は、どう答えれば理想的でしょう? まず最初に、その男がAndroidのようなタイプの携帯アプリと あとはJavaScript、そして(アプリ公開するほどではないけれど)iPhoneアプリが大好きな、 そんなタイプの場合は、 貴女はかれの目を見て、微笑みとともに質問など無視して、こう言いましょう、 「わたしが、いいIDEを作ってあげる♪」 これこそまさに必殺の答えです。 そこでJava大好き男が、えへへ、とやにさがったならば、 貴女は、
カリフォルニア大学サン・ディエゴ校の計算機科学者達が開発した Codespell は、一人称視点の3Dゲームなのですが、その一番の特徴は、プレイすることでJavaプログラミングを身につけられるという点です。 Codespellでは、プレイヤーは小動物ノーム(gnome)たちが住む土地にやってきた魔法使いです。ノーム達は過去に魔法を使って生活していたのですが、今は魔法をうまく使えなくなっています。魔法の呪文はJava言語プログラムで、物体を浮遊させるとか火を起こすといった7つの手持ちの呪文を使って、ノーム達を助け、火を消したり川を渡ったりといったクエストを解き、バッヂを獲得するのがゲームの目標です。 ゲームプレイ 3D世界の岩が燃えていますが、 岩オブジェクトというターゲットオブジェクトに対して onFire()メソッドにfalseを渡す、という呪文を呼ぶプログラムを書き、実行することで、
はじめに iBATISはSQLを利用することに注力したフレームワークです。高機能なO/Rマッピングフレームワークに比べて簡単に理解でき、レガシーなJDBC、ResultSetを使ったプログラミングから簡単に乗り換えられます。 特にSQLを多用する人には使いやすいフレームワークです。 SQLは使いたいがJDBCは低レベルすぎる 高機能なO/Rマッピングフレームワークは難しすぎる ソースコードからSQLを分離したいが動的なSQLの実装も必要 このようなケースで、iBATISは特に有効です。 本記事では、たくさんのサンプルソースを解説することで、「iBATISを使えばこんな風に書ける」ということが分かるようにしています。環境設定や、設定ファイルについての細かい説明は簡略化してあります。 対象読者 Javaの基本をマスターしている人 SQL文を理解している人 必要な環境 iBATIS 2.3.0、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く