<< 10月 2014 | Home | 12月 2014 >>

明日11/12(水)、12:30〜13:00 #モイめし に出演いたします

標記の通り、明日ツイキャスの社長、赤松さんと対談ランチ?企画である#モイめしにお邪魔させていただきます。

11月12日12:30からツイキャス生放送!ゲストは山本裕介氏【30分対談Liveモイめし】 - エンジニアtype
打合せもまだなのでどんな話になるかわかりませんが、是非ご試聴ください。

コメントにも極力反応できるようがんばります!






関連記事:
TwitCasting - Stream Live Video on Twitter and Facebook
リアルタイム動画配信『ツイキャス』が、世界展開を視野にあえてやること、やらないこと【連載:NEOジェネ!】 - エンジニアtype

このエントリーをはてなブックマークに追加   

初心者にも上級者にもオススメ - Java最強リファレンス @yuichielectric著

Javaの最強リファレンス、その名も「Java最強リファレンス」を頂きました。



サイボウズ株式会社にてkintoneなどを開発されているエンジニア田中 裕一(@yuichielectric)さんの著書。

Java8対応をうたう本はそれなりに出始めていますが、「とりあえずJava8に追加されたAPIにいくつか触れている」「Lambda記法をちょっと解説している」だけの本も相応にあります。またLambdaに触れる章を追加しただけで、他のコードは古めかしい残念な書き方をしている残念な本があるので注意が必要です。

そしてこのリファレンス、Java5〜Java8までとかなり広範囲をカバーしています。バランスを取るのは非常に難しいはず!

章立ては以下の通りです。合計535ページの超大作!
1. Javaの概要
2. Javaの基礎
3. 文字列・正規表現
4. 配列
5. コレクション
6. リスト
7. マップ
8. セット
9. Stream
10. 数値処理
11. ファイル操作
12. 日付時刻処理
13. クラス・オブジェクト・インターフェース
14. ログ出力
15. ネットワーク
16. データベース
17. サーブレット
18. 並行処理
19. システム
20. 国際化
Appendix Eclipseを使う

「GUI以外はほとんどカバーしている」といったところ。そして肝心の解説内容を見ると「こういう風に書く、Java7以降では(Java8以降では)こういう風に書くとよりシンプルに/効率的に書ける」といった形で併記されています。道理でページ数が多いはず!

それなりのベテランJavaプログラマは、何か処理を書く際昔ながらのAPIを使って冗長になってしまい、「たぶんこれNIOを使えばもっとシンプルに書けるはずだけど・・・まぁ動くコード書けたからいっかー」と放置することも少なくないはず。(特にファイル操作周りとか)
本書はリファレンスなので、「何を行いたいか」というトピックを元に実際のコードイメージを逆引きすることができます。
そして自分が使っているJavaのバージョンに応じて適宜モダンな書き方を確認することが出来るので便利そうです。

もちろんこれからJavaをどんどん憶えていきたいという初心者にも良いでしょう。
あくまでリファレンスなので、頭から読み進めてJavaを習得する、という目的には向いていませんがある程度基礎から発展的なトピックへという順番で章立てがされています。Javaの基礎文法はとりあえず把握している、という人であればひとまず1〜8章くらいまでは分からないところは飛ばしてもいいのでざっと通して読むといいかもしれません。

個人的にはJava8で一番メリットを実感しているOptionalについて2章17項にて「NullPointerExceptionを防ぐ」として触れている点がポイント高い!

まとめとして、初心者から上級者までまんべんなくオススメできる一冊です。軽い筋トレになるボリュームで2,580円(税別)とお値頃なのも良いですね。

ボリュームがあってちょっと場所を取る本だけれども、ささっとめくって必要な情報を取り出すには紙の媒体が向いていると思います。机に一冊置いておきましょう。



惜しいのがページ両端にある章番号。20章もあるのでさすがにどの章に何が書いてあるかまで憶えることは出来ないので、パラパラっとめくる際、自分が欲しい情報が何章にあるのか確認しやすいよう、章番号だけでなくトピックについても一言添えてあるとめくりやすかった!
20章分のトピックを全てのページ両端に記載するのはレイアウト的に厳しそうだけど・・・。

このエントリーをはてなブックマークに追加   

Heroku Buttonで簡単にHerokuにデプロイ #herokujp

Herokuはお手軽にWebアプリケーションを公開できるサービスですが、でも「このgithubに上がっているコードをちょっと動かして試してみたい」という場合はcloneして、heroku initして、pushして、と一手間二手間かかります。

ところがより手軽にHerokuにアプリケーションをデプロイする方法があります。

以下のページにアクセスしてみてください。
https://github.com/recruit-tech/redpen

Deploy to Herokuというボタンがあると思います。


このボタンを押すといきなりHerokuにアプリをデプロイする画面に遷移します。(もちろん要Herokuアカウント/ログイン)


裏の仕組みはともかく、Herokuボタンを設置するのは非常に簡単。アプリケーション名などを記述したapp.jsonをというファイルをリポジトリのルートに配置し、readme.mdに以下のようなマークアップを記載しておくだけ。
[![Deploy](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy)

このボタンを押すとHeroku側ではリファラをたどってapp.sonを読み込み、いきなりデプロイ画面を表示してくれるという仕様です。

もちろんGitHub以外のサイトにデプロイボタンを埋め込む事も可能。その歳はリファラでリポジトリを検出することはできないのでrepositoryというGETパラメータでリポジトリのURLを指定します。
以下のボタンで実際にRedPenをデプロイできます。ボタンのリンク先URLでrepositoryを確認できます


ちょっと面白いアプリを作ってみたけれども自分でデプロイしたものにアクセスが殺到されてもそうそうDyno(スケールアップさせるための単位)は増やせないので・・・という場合はHerokuボタンを設置して各々にデプロイしてもらえるようにしておく、というのも1つの選択肢として考えておきたいですね。

Herokuボタンを使ったJava Webアプリケーションのたたき台とできる最小限のコードも書いてみました。jspでHello worldを表示するだけ。
yusuke/heroku-deploy-button-java

埋込Herokuボタンはこちら。
・Hello Worldアプリケーションをデプロイ


デプロイ時に色々パラメータを指定することもできます。やり方は次回のエントリで。

Herokuについて詳しくは「プロフェッショナルのための実践Heroku入門」をどうぞ。もっと丁寧な説明が書いてあります。(残念ながらHerokuボタンについては掲載されていません)


関連記事:
WebアプリケーションをIntelliJ IDEAからHerokuへデプロイする #herokujp #jbugj - #侍ズム
Java WebアプリケーションをHerokuへデプロイする #herokujp - #侍ズム
Getting Started with Java on Heroku | Heroku Dev Center
RedPen を公開しました (ベータバージョン) | Advanced Technology Lab
社内共有会で使用した RedPen 資料と進捗 | Advanced Technology Lab

このエントリーをはてなブックマークに追加