playframework + Java8 で簡単なWebアプリ作ってみました [プログラミング]
すごい久々のブログ・・・1年も衝撃を受けたままだったのか〜w。
久々復帰の内容は
PlayFramework (2.3) + Java8 でWebアプリケーション作ってみました〜というお話。
もともとPlayFramework + Scalaというのをずっと前から興味を持っていたのですが、Scala新しく覚えるのも時間がないなーと思ってなかなか実現できず。
そんなところにこの春Java8が登場して・・・Java8でなにかプログラム作ってみたいなとも思っていた。そしたらありがたいことにPlayFrameworkのほうが早々にJava8に対応してくれて。
PlayFrameworkのdocumentとか見ているとJava8だと以前よりもコードが簡単になったし、これならJavaで作ってもいいかーと思い、Play + Java8でWebアプリを作ることにしました。
職場で「画面キャプチャをファイルサーバー上において共有するのは面倒だなー、ちゃちゃっとWebで共有できないかなー、ついでに1週間くらうしたら自動的に削除シて欲しいなー」というちょうどよい題材が出来たのでそれを実装。
そんな簡単な内容なので、コード自体はいたってシンプルに書けるのですが、もともと勉強の意味を兼ねているのでわざわざActor(Akka)を使ってPlayFrameworkらしく作ってみました。
いやーActorを使っても凄い簡単。簡単すぎてちょっと驚いてしまうくらい。
まだまだv1.0のレベルではないし、テストもちゃんとかけていないけど、職場ではサービスインして使い始めています。
ああ、ついでにコードも公開しちゃいました。
JavaScriptの実装経験がないのでその部分は難しい、というかまだちゃんと実装できていない。
その他Play + Java8というところで難しかったのはドキュメントの少なさかな。
Playのドキュメントが何しろ少ない。まだまだわからないことだらけ。
わからないところはPlayFrameworkのソースコードそのものをあたるか、ググって資料を必至で探して、あとは数少ない書籍を入手して何とかカバー。私のコードもそんな悩める方々の参考になればいいのだけど。
機会があったら、そのコードの逐一説明なんかも紹介しますので、期待しないで待っていて下さい。
久々復帰の内容は
PlayFramework (2.3) + Java8 でWebアプリケーション作ってみました〜というお話。
もともとPlayFramework + Scalaというのをずっと前から興味を持っていたのですが、Scala新しく覚えるのも時間がないなーと思ってなかなか実現できず。
そんなところにこの春Java8が登場して・・・Java8でなにかプログラム作ってみたいなとも思っていた。そしたらありがたいことにPlayFrameworkのほうが早々にJava8に対応してくれて。
PlayFrameworkのdocumentとか見ているとJava8だと以前よりもコードが簡単になったし、これならJavaで作ってもいいかーと思い、Play + Java8でWebアプリを作ることにしました。
職場で「画面キャプチャをファイルサーバー上において共有するのは面倒だなー、ちゃちゃっとWebで共有できないかなー、ついでに1週間くらうしたら自動的に削除シて欲しいなー」というちょうどよい題材が出来たのでそれを実装。
そんな簡単な内容なので、コード自体はいたってシンプルに書けるのですが、もともと勉強の意味を兼ねているのでわざわざActor(Akka)を使ってPlayFrameworkらしく作ってみました。
いやーActorを使っても凄い簡単。簡単すぎてちょっと驚いてしまうくらい。
まだまだv1.0のレベルではないし、テストもちゃんとかけていないけど、職場ではサービスインして使い始めています。
ああ、ついでにコードも公開しちゃいました。
JavaScriptの実装経験がないのでその部分は難しい、というかまだちゃんと実装できていない。
その他Play + Java8というところで難しかったのはドキュメントの少なさかな。
Playのドキュメントが何しろ少ない。まだまだわからないことだらけ。
わからないところはPlayFrameworkのソースコードそのものをあたるか、ググって資料を必至で探して、あとは数少ない書籍を入手して何とかカバー。私のコードもそんな悩める方々の参考になればいいのだけど。
機会があったら、そのコードの逐一説明なんかも紹介しますので、期待しないで待っていて下さい。
Play Framework 2徹底入門 JavaではじめるアジャイルWeb開発
- 作者: 掌田 津耶乃
- 出版社/メーカー: 翔泳社
- 発売日: 2013/12/17
- メディア: 大型本
Java7情報 [プログラミング]
なんだ、ITProでもJava7の情報特集をずっとやってきているんじゃん。
連載第1回記事がこちら
http://itpro.nikkeibp.co.jp/article/COLUMN/20110425/359785/
2011年5月から開始して1年経過していますが、まだ連載継続中だった。
連載第1回記事がこちら
http://itpro.nikkeibp.co.jp/article/COLUMN/20110425/359785/
2011年5月から開始して1年経過していますが、まだ連載継続中だった。
タグ:Java7
Java7 features - NIO2 [プログラミング]
前回に続いてJava7の機能紹介ビデオのメモ
やはりこちらの情報も
http://radar.oreilly.com/2011/09/java7-features.html <= こちらのページでも同じです。
詳解されているのは
- Helper Types
- Files Class
-- Directories
-- Symbolic Links
-- Watching A Directory
-- Custom FileSystems
最後に現行のjava.ioからjava.nio.fileへのマッピングも紹介されています。
やはりこちらの情報も
http://radar.oreilly.com/2011/09/java7-features.html <= こちらのページでも同じです。
詳解されているのは
- Helper Types
- Files Class
-- Directories
-- Symbolic Links
-- Watching A Directory
-- Custom FileSystems
最後に現行のjava.ioからjava.nio.fileへのマッピングも紹介されています。
Java7 features - Project Coin [プログラミング]
そろそろJava7も本格的に使う時期に来ているので、新規機能についてのメモ・・・。
ちょうどよく総本山からビデオが出されています。
まずはProject Coinから
ここで紹介されているされている機能は以下の通り・・・
- Binary Literals
- Underscores in Numeric Literals
- String in Switch Statements
- Automatic Resource Management
- Suppressed Exceptions
- Multi-Catch
- More Precise Rethrow
- Diamond Operators works many ways
- Varargs Warnings - Ensure
スライドを見ただけでもかなり有用な機能だということがわかります。
http://radar.oreilly.com/2011/09/java7-features.html <= こちらのページでも同じですね。
ちょうどよく総本山からビデオが出されています。
まずはProject Coinから
ここで紹介されているされている機能は以下の通り・・・
- Binary Literals
- Underscores in Numeric Literals
- String in Switch Statements
- Automatic Resource Management
- Suppressed Exceptions
- Multi-Catch
- More Precise Rethrow
- Diamond Operators works many ways
- Varargs Warnings - Ensure
スライドを見ただけでもかなり有用な機能だということがわかります。
http://radar.oreilly.com/2011/09/java7-features.html <= こちらのページでも同じですね。
「ソフトウェアテストの教科書」 [プログラミング]
皆さんはテスト項目をちゃんと網羅できていますか?網羅できているという根拠は明確ですか?
自分ではちゃんとやってきて、根拠も覚えているつもりでしたが最近自信がなくなったので買ってきました「ソフトウェアテストの教科書」。
方法論のところは”10年以上前の本か?”と思うくらい古いままで、テストファーストとかのことに一切触れていない点が残念ではありますが、個人的な目的であるテスト項目が適切か、網羅されているかをちゃんとおさらいできてよかったです。
テストファーストか、昔ながらのコーディングー>テストという手順を踏むかは別にしても、そのテスト内容が適切でない、不十分なものであったならまったく意味を成しません。適切で十分かどうかの内容はおそらくずっと昔から変わらないものでしょうから、こうした書籍などでしっかり押さえておきましょう。
自分ではちゃんとやってきて、根拠も覚えているつもりでしたが最近自信がなくなったので買ってきました「ソフトウェアテストの教科書」。
方法論のところは”10年以上前の本か?”と思うくらい古いままで、テストファーストとかのことに一切触れていない点が残念ではありますが、個人的な目的であるテスト項目が適切か、網羅されているかをちゃんとおさらいできてよかったです。
テストファーストか、昔ながらのコーディングー>テストという手順を踏むかは別にしても、そのテスト内容が適切でない、不十分なものであったならまったく意味を成しません。適切で十分かどうかの内容はおそらくずっと昔から変わらないものでしょうから、こうした書籍などでしっかり押さえておきましょう。
【この1冊でよくわかる】ソフトウェアテストの教科書―品質を決定づけるテスト工程の基本と実践
- 作者: 石原 一宏
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2012/02/01
- メディア: 単行本
「Clean Coder プロフェッショナルプログラマへの道」 [プログラミング]
「Clean Coder」というタイトルを見た時、その内容は「Clean Code」つまりいかに綺麗な(わかりやすいといったほうがいいのかもしれないが)コードを書くというものだと想像していました。
でも、全然違いました。「Clean」とは『清潔な』『道徳的に汚れのない』という意味のほうが正しかった。つまり、職業プログラマ(プロ)とは(最低限)どうあるべきか、何をしなければならないのか、といったことをまとめたものでした。自分自身「一応」プロであると思っていましたけど、思い上がりもいいところかもしれない、と本書を読んで思いました。ちゃんとNOと言えているのか、YESと言えているのか、自分自身の研鑽をちゃんとやっているのか、いろいろ思うところがありました。
できれば本書は若い方に読んで欲しいですね。早期にプロとはどうあるべきかをちゃんと理解して欲しいから。本書のサブタイトルのとおり「プロフェッショナルプログラマへの道」がここに描かえれています。ぜひ、本当のプロになってください。
でも、全然違いました。「Clean」とは『清潔な』『道徳的に汚れのない』という意味のほうが正しかった。つまり、職業プログラマ(プロ)とは(最低限)どうあるべきか、何をしなければならないのか、といったことをまとめたものでした。自分自身「一応」プロであると思っていましたけど、思い上がりもいいところかもしれない、と本書を読んで思いました。ちゃんとNOと言えているのか、YESと言えているのか、自分自身の研鑽をちゃんとやっているのか、いろいろ思うところがありました。
できれば本書は若い方に読んで欲しいですね。早期にプロとはどうあるべきかをちゃんと理解して欲しいから。本書のサブタイトルのとおり「プロフェッショナルプログラマへの道」がここに描かえれています。ぜひ、本当のプロになってください。
「Xcode 4 入門 for iOS/Mac OS X」 [プログラミング]
iPhoneアプリケーションプログラミングを以前から行っている方はXcode3からXcode4に変わったときに驚かれたと同時に戸惑われたのではないでしょうか。私はまるでeclipseに合わせたのかと思いました(VisualStudioもシングルウィンドウ方式ですが、見た目がなんとなくeclipseに似ていたもので)
iPhoneやMacのアプリケーション開発をご存知ない方にもわかりやすく言うとXcode3はエディタが複数立ち上がるマルチウィンドウ方式の開発環境でした。ページを複数閲覧する際複数のウィンドウが起動する少し前のブラウザに似ていますね。
これに対し最近リリースされたXcode4は1つのウィンドウの中でタブを切り替えながら使うシングルウィンドウ方式に変更になりました。最近のブラウザもタブで切り替えるようになっているという意味で同様ですよね。
個々の機能はXcode3もXcode4もあまり違わないのですが、ところどころ指定方法や起動方法が違い、かなり戸惑いました。時間をかければ慣れてくるとは思いましたが、その時間をかけるのも惜しいと思い本書を購入しました。
本書ではObjective-Cに関する記述はほぼ皆無で、Xcode4の使い方に絞って解説しています。Xcode3利用者が困らないような配慮もあって、わりと簡単にキャッチアップできました。
また、Xcode3では日本語メニューが提供されていましたが、Xcode4では日本語化されない模様です。そうした意味でも慣れるのにはちょっと時間がかかりました。その時間を本書で短縮できると思えば安いものです。
もちろん新規にXcode4を利用する方も、本書があればどこからはじめて、どんな機能があるのかがわかりますからきっと役にたつと思います。
なかなかXcode4に特化した書籍はありませんから貴重な内容ですよ。
iPhoneやMacのアプリケーション開発をご存知ない方にもわかりやすく言うとXcode3はエディタが複数立ち上がるマルチウィンドウ方式の開発環境でした。ページを複数閲覧する際複数のウィンドウが起動する少し前のブラウザに似ていますね。
これに対し最近リリースされたXcode4は1つのウィンドウの中でタブを切り替えながら使うシングルウィンドウ方式に変更になりました。最近のブラウザもタブで切り替えるようになっているという意味で同様ですよね。
個々の機能はXcode3もXcode4もあまり違わないのですが、ところどころ指定方法や起動方法が違い、かなり戸惑いました。時間をかければ慣れてくるとは思いましたが、その時間をかけるのも惜しいと思い本書を購入しました。
本書ではObjective-Cに関する記述はほぼ皆無で、Xcode4の使い方に絞って解説しています。Xcode3利用者が困らないような配慮もあって、わりと簡単にキャッチアップできました。
また、Xcode3では日本語メニューが提供されていましたが、Xcode4では日本語化されない模様です。そうした意味でも慣れるのにはちょっと時間がかかりました。その時間を本書で短縮できると思えば安いものです。
もちろん新規にXcode4を利用する方も、本書があればどこからはじめて、どんな機能があるのかがわかりますからきっと役にたつと思います。
なかなかXcode4に特化した書籍はありませんから貴重な内容ですよ。
「プログラミングWindows Phone (MSDNプログラミングシリーズ)」 [プログラミング]
iPhoneアプリ、そしてAndroidアプリを実装してきた私にとっては3つ目のスマートフォンアプリ開発の挑戦です。
そして・・・なぜだろう。一番苦しんでいます。今一つぴんとこない。iPhoneとAndroidは言語などは違えど、”ここはこんな感じでやればいいんだ”と両方で同じようなことができた。それがWindows Phoneでは何かが違う・・・。
なぜだ、この本を読みこんでいます。
Windows Phone SDKではすべての画面要素をSDKで用意していない部分があります。
Windows Phone Silverlight Toolkitというオープンソースで画面要素を提供しています。
これを参考に、再度わからない部分を本書で確認する。この繰り返しでやっと少しずつ見えてきた感じです。
SilverlightやC#、,NETプログラミングになれている人にとっては簡単なのかもしれませんが、Androidから移ってきた私には敷居がちょっと高いです。
ちなみに、画面部品を並べるだけのものでは物足りない、ゲームプログラミングや独自で描画部分を制御したい!という方は上記書籍に加え(ゲームだけなら上記書籍ではなく)
を参考にするとよいでしょう。ゲームプログラミングではSilverlightではなく、XNAというテクノロジを使います。
まったく別なんですね。
ただWindows Phone 7.5では1つの画面内でSilverlightとXNAを共存させるということもできるようになっています。それぞれ良いところと弱点を持っています。最終的には両方を適切に使い分けていくことが必要です。
本格的にWindows Phone 7.5アプリケーションを開発しようという方は両方入手されるとよいでしょう。
そして最後に・・・やっぱりC#をちゃんと理解していないととてもソースコードは追えません。
こちらの書籍も必要になってきます。必要に応じて入手してください。
合計で約1万円也
そして・・・なぜだろう。一番苦しんでいます。今一つぴんとこない。iPhoneとAndroidは言語などは違えど、”ここはこんな感じでやればいいんだ”と両方で同じようなことができた。それがWindows Phoneでは何かが違う・・・。
なぜだ、この本を読みこんでいます。
Windows Phone SDKではすべての画面要素をSDKで用意していない部分があります。
Windows Phone Silverlight Toolkitというオープンソースで画面要素を提供しています。
これを参考に、再度わからない部分を本書で確認する。この繰り返しでやっと少しずつ見えてきた感じです。
SilverlightやC#、,NETプログラミングになれている人にとっては簡単なのかもしれませんが、Androidから移ってきた私には敷居がちょっと高いです。
プログラミングWindows Phone (MSDNプログラミングシリーズ)
- 作者: 高橋 忍
- 出版社/メーカー: 日経BP社
- 発売日: 2011/10/06
- メディア: 単行本
ちなみに、画面部品を並べるだけのものでは物足りない、ゲームプログラミングや独自で描画部分を制御したい!という方は上記書籍に加え(ゲームだけなら上記書籍ではなく)
を参考にするとよいでしょう。ゲームプログラミングではSilverlightではなく、XNAというテクノロジを使います。
まったく別なんですね。
ただWindows Phone 7.5では1つの画面内でSilverlightとXNAを共存させるということもできるようになっています。それぞれ良いところと弱点を持っています。最終的には両方を適切に使い分けていくことが必要です。
本格的にWindows Phone 7.5アプリケーションを開発しようという方は両方入手されるとよいでしょう。
そして最後に・・・やっぱりC#をちゃんと理解していないととてもソースコードは追えません。
こちらの書籍も必要になってきます。必要に応じて入手してください。
合計で約1万円也
「図解入門よくわかる最新ソフトウェア開発の基本」 [プログラミング]
たまには初心にかえって、基本中の基本から読みなおしてみよう、ということで本書を入手。
何か少しは基本部分で変わっているところってあるのかなーと思っていましたが特になし。
というか、プロジェクトの進め方がいまだにウォーターフォール型をメインに書かれているのにびっくり。
確かに古い方々がなかなかウォーターフォール型以外を受け付けず、日本ではまだまだ多いとは聞いていましたが・・・、実際にはアジャイルとはいかないまでもイテレーション開発もだいぶ浸透してきているのではないかと思っていたので・・・。アジャイル的なプロジェクトマネジメントはほんの少ししか書いてなかったです。
(昔からの契約のやり方ではウォーターフォールにならざるを得ないのかもしれませんが、今はそのウォーターフォール型がビジネスの早期推進の阻害要因になっているような気がしてならないのです)
ま、なにはともあれ、昔からおなじみの内容で今のプロジェクトマネージャのもとで仕事をしなければならない新人さん等にはこれくらいの内容であたりさわりがなくてよいのかもしれません。
(でも「最新技法」というタイトルには無理があるな・・・ぜったい最新ではない)
何か少しは基本部分で変わっているところってあるのかなーと思っていましたが特になし。
というか、プロジェクトの進め方がいまだにウォーターフォール型をメインに書かれているのにびっくり。
確かに古い方々がなかなかウォーターフォール型以外を受け付けず、日本ではまだまだ多いとは聞いていましたが・・・、実際にはアジャイルとはいかないまでもイテレーション開発もだいぶ浸透してきているのではないかと思っていたので・・・。アジャイル的なプロジェクトマネジメントはほんの少ししか書いてなかったです。
(昔からの契約のやり方ではウォーターフォールにならざるを得ないのかもしれませんが、今はそのウォーターフォール型がビジネスの早期推進の阻害要因になっているような気がしてならないのです)
ま、なにはともあれ、昔からおなじみの内容で今のプロジェクトマネージャのもとで仕事をしなければならない新人さん等にはこれくらいの内容であたりさわりがなくてよいのかもしれません。
(でも「最新技法」というタイトルには無理があるな・・・ぜったい最新ではない)
図解入門よくわかる最新ソフトウェア開発の基本 (How‐nual Visual Guide Book)
- 作者: 谷口 功
- 出版社/メーカー: 秀和システム
- 発売日: 2011/09
- メディア: 単行本
「Scalaスケーラブルプログラミング第2版」 [プログラミング]
Scala (スケーラブルプログラミング) の第2版が出版されてますね~。第1版から2年が経過し、関数型言語もだいぶ注目を浴びてきています(私自身、その特徴をまだ十分理解していないのですが・・・)。そろそろ本格的出番が近づいているかも!?
「Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala)」
Javaの次の世代の言語とも呼ばれるScala。その本格的な解説本です。
初級者から実際に利用している方まで満足されるような内容、ということでちょっと難しいところもあるかもしれません。
私自身もScalaは実際にはコーディングしたことはありません。が、読んでいて「これは結構いいかも」と思えるような言語です。ビジネスでの適用となるとまだまだ制約があるかもしれませんが、言語としては「いい!!」って感じ。
こんなことを感じたのはJavaが登場したときくらいでしょうか。
将来の主力言語の1つになりそうな予感。
基本的にJava VM上で動くことをベースとしていますが、実は.NET環境上でも動くものがあるようです。
(そのあたりもちゃんとカバーした内容です)
.NET派なあなたでも十分手にとる価値があると思いますよ。
Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala)作者: Martin Odersky出版社/メーカー: インプレスジャパン発売日: 2009/08/21メディア: 単行本