初心者が読むべき技術書
開発技法やツール関係

実践テスト駆動開発 テストに導かれてオブジェクト指向ソフトウェアを育てる (Object Oriented SELECTION)
- 作者: Steve Freeman,Nat Pryce,和智右桂,高木正弘
- 出版社/メーカー: 翔泳社
- 発売日: 2012/09/14
- メディア: 大型本
- 購入: 4人 クリック: 262回
- この商品を含むブログ (25件) を見る
読み込んで、うまいAPIをデザインできるようになりたい。

- 作者: 大野耐一
- 出版社/メーカー: ダイヤモンド社
- 発売日: 1978/05
- メディア: 単行本
- 購入: 7人 クリック: 138回
- この商品を含むブログ (108件) を見る
内容は全く古びていない。アジャイルな開発手法の原典。

アジャイルなゲーム開発 スクラムによる柔軟なプロジェクト管理
- 作者: クリントン・キース,江端一将
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2012/08/29
- メディア: 単行本
- 購入: 5人 クリック: 22回
- この商品を含むブログ (11件) を見る

- 作者: 川野辺正博
- 出版社/メーカー: 秀和システム
- 発売日: 2012/09
- メディア: 単行本
- 購入: 1人 クリック: 32回
- この商品を含むブログ (4件) を見る

- 作者: Patrick Li,リックソフト株式会社,大貫浩,渡辺裕美,樋口晃,小川環
- 出版社/メーカー: アスキー・メディアワークス
- 発売日: 2012/02/24
- メディア: 大型本
- クリック: 8回
- この商品を含むブログ (5件) を見る

サービスデザインパターン SOAP/WSDLとRESTful Webサービスの基本的な設計ソリューション
- 作者: Robert Daigneau,角征典,高木正弘
- 出版社/メーカー: アスキー・メディアワークス
- 発売日: 2012/08/24
- メディア: 大型本
- 購入: 2人 クリック: 45回
- この商品を含むブログ (4件) を見る

- 作者: 小川明彦,阪井誠
- 出版社/メーカー: 翔泳社
- 発売日: 2012/08/24
- メディア: 大型本
- クリック: 30回
- この商品を含むブログ (6件) を見る

Unityによる3Dゲーム開発入門 ―iPhone/Android/Webで実践ゲームプログラミング
- 作者: 宮川義之,武藤太輔
- 出版社/メーカー: オライリージャパン
- 発売日: 2011/09/10
- メディア: 大型本
- 購入: 6人 クリック: 686回
- この商品を含むブログ (26件) を見る

~無料でできる3Dアニメーション~ ブレンダーからはじめよう!
- 作者: 原田大輔
- 出版社/メーカー: 技術評論社
- 発売日: 2012/06/27
- メディア: 大型本
- この商品を含むブログ (5件) を見る

ウェブデザインのつくり方、インターフェイスデザインの考え方。
- 作者: 矢野りん
- 出版社/メーカー: MdN
- 発売日: 2011/09/26
- メディア: 単行本(ソフトカバー)
- 購入: 6人 クリック: 229回
- この商品を含むブログ (7件) を見る
モバイル関係

- 作者: 宮嵜淳,あんざいゆき,新井俊弘,坂下賢司,山田達司,市原尚久,飯塚智,安藤幸央,谷口岳,安達正,宮田義之,平和樹,坂下秀彦
- 出版社/メーカー: リックテレコム
- 発売日: 2012/08/07
- メディア: 単行本(ソフトカバー)
- 購入: 1人 クリック: 11回
- この商品を含むブログ (5件) を見る
内容が濃くて非常に参考になった。

現場で使える〔逆引き+実践〕 Androidプログラミングテクニック
- 作者: 日本システム開発株式会社,石原正樹,松尾源,磯村禎孝,森靖晃,奥谷修治
- 出版社/メーカー: 技術評論社
- 発売日: 2012/07/19
- メディア: 単行本(ソフトカバー)
- 購入: 1人 クリック: 22回
- この商品を含むブログ (5件) を見る

作ればわかる!Androidプログラミング―10の実践サンプルで学ぶAndroidアプリ開発入門 (Smart Mobile Developer)
- 作者: 金宏和實
- 出版社/メーカー: 翔泳社
- 発売日: 2011/10/15
- メディア: 大型本
- 購入: 6人 クリック: 187回
- この商品を含むブログ (12件) を見る

- 作者: Mario Zechner,安生真,株式会社クイープ
- 出版社/メーカー: インプレスジャパン
- 発売日: 2011/11/25
- メディア: 単行本(ソフトカバー)
- 購入: 4人 クリック: 52回
- この商品を含むブログ (6件) を見る
![Smartphone Design [スマートフォンデザイン] ~スマートフォンアプリ開発者とデザイナのための総合情報誌 Smartphone Design [スマートフォンデザイン] ~スマートフォンアプリ開発者とデザイナのための総合情報誌](http://ecx.images-amazon.com/images/I/510qk-gCPWL._SL160_.jpg)
Smartphone Design [スマートフォンデザイン] ~スマートフォンアプリ開発者とデザイナのための総合情報誌
- 作者: 岡村祐介,松前健太郎,江川崇,西岡靖代,中澤慧,高橋啓治郎,馬場功淳,牧野克俊,杉野裕則,赤坂玲音,傳裕之,高橋忍,大西彰,矢野りん,林信行,平林純,村上福之,adamrocker,SoftwareDesign編集部
- 出版社/メーカー: 技術評論社
- 発売日: 2012/09/28
- メディア: 大型本
- クリック: 17回
- この商品を含むブログ (2件) を見る

モバイルデザインパターン― ユーザーインタフェースのためのパターン集
- 作者: Theresa Neil,深津貴之(監訳),牧野聡
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/09/24
- メディア: 大型本
- 購入: 15人 クリック: 316回
- この商品を含むブログ (2件) を見る

- 作者: 松浦健一郎,司ゆき
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2012/04/27
- メディア: 単行本
- クリック: 7回
- この商品を含むブログ (3件) を見る
HTML5、JavaScript関係

- 作者: 松田晃一
- 出版社/メーカー: カットシステム
- 発売日: 2012/05
- メディア: 単行本
- クリック: 28回
- この商品を含むブログ (6件) を見る
主流になる…か?

すべての人に知っておいてほしい HTML5 & CSS3 の基本原則
- 作者: 秋葉秀樹,安住光,大藤幹,多田吉臣,筒井志信,鍋坂理恵,ハヤシユタカ,比留間和也,吉岡梅
- 出版社/メーカー: エムディエヌコーポレーション
- 発売日: 2012/10/12
- メディア: 単行本
- 購入: 4人 クリック: 23回
- この商品を含むブログ (4件) を見る

すべての人に知っておいてほしい スタイルシートデザインの基本原則
- 作者: 秋葉秀樹,安住光,坂本亮介,千貫りこ,鍋坂理恵,林豊,比留間和也
- 出版社/メーカー: エムディエヌコーポレーション
- 発売日: 2012/05/25
- メディア: 単行本
- クリック: 12回
- この商品を含むブログを見る

コアjQuery+プラグイン/jQuery UI 開発実践技法 (Programmer’s SELECTION)
- 作者: Bear Bibeault,Yehuda Katz,吉川邦夫
- 出版社/メーカー: 翔泳社
- 発売日: 2011/08/31
- メディア: 大型本
- 購入: 8人 クリック: 295回
- この商品を含むブログ (17件) を見る
jQueryを使うなら、まずはこれから。

ステートフルJavaScript ―MVCアーキテクチャに基づくWebアプリケーションの状態管理
- 作者: Alex MacCaw,牧野聡
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/06/09
- メディア: 大型本
- 購入: 7人 クリック: 353回
- この商品を含むブログ (9件) を見る
JavaScriptMVCが一番使いやすいと思う。

- 作者: 高橋のり
- 出版社/メーカー: エムディエヌコーポレーション
- 発売日: 2012/04/20
- メディア: 単行本
- 購入: 2人 クリック: 157回
- この商品を含むブログを見る
分かりやすかった。

JavaScriptグラフィックス ―ゲーム・スマートフォン・ウェブで使う最新テクニック
- 作者: Raffaele Cecco,相川愛三
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/03/16
- メディア: 大型本
- 購入: 5人 クリック: 338回
- この商品を含むブログ (9件) を見る

jQueryプラグイン徹底活用 プロのデザインアイデアとテクニック
- 作者: MdN編集部
- 出版社/メーカー: エムディエヌコーポレーション
- 発売日: 2012/07/03
- メディア: 単行本
- クリック: 12回
- この商品を含むブログ (2件) を見る

- 作者: Jon Reid,渡邉真人(監訳),白石俊平(監訳),牧野聡
- 出版社/メーカー: オライリージャパン
- 発売日: 2011/12/22
- メディア: 単行本(ソフトカバー)
- クリック: 76回
- この商品を含むブログ (8件) を見る

- 作者: 日経ソフトウエア
- 出版社/メーカー: 日経BP社
- 発売日: 2012/10/22
- メディア: ムック
- クリック: 1回
- この商品を含むブログ (2件) を見る

HTML5とJavaScriptでスマートフォンゲーム作成! ゼロからはじめるenchant.js入門【公式ガイド】
- 作者: 布留川英一,伏見遼平,田中諒
- 出版社/メーカー: アスキー・メディアワークス
- 発売日: 2012/02/18
- メディア: 大型本
- 購入: 12人 クリック: 246回
- この商品を含むブログ (29件) を見る

enchant.js スマートフォンゲーム開発講座 PRO対応 (SMART GAME DEVELOPER)
- 作者: phi,株式会社ユビキタスエンターテインメント
- 出版社/メーカー: 翔泳社
- 発売日: 2012/09/15
- メディア: 大型本
- 購入: 1人 クリック: 103回
- この商品を含むブログ (4件) を見る
AWS関係

Amazon Web Servicesプログラミング ―APIの基礎からElastic Beanstalkの利用まで
- 作者: Jurg van Vliet,Flavia Paganelli,Steven van Wel,Dara Dowd,玉川憲,Sky株式会社玉川竜司
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/09/20
- メディア: 大型本
- クリック: 9回
- この商品を含むブログ (9件) を見る
AWSを使うなら必須。チュートリアルをまだ終えていない…

Amazon Web Services クラウドデザインパターン 設計ガイド
- 作者: 玉川憲,片山暁雄,鈴木宏康
- 出版社/メーカー: 日経BP社
- 発売日: 2012/08/02
- メディア: 単行本
- 購入: 15人 クリック: 185回
- この商品を含むブログ (17件) を見る
各サービスの使い方が参考になる。
Java関係

Beginning Java EE 6 GlassFish 3で始めるエンタープライズJava (Programmer’s SELECTION)
- 作者: Antonio Goncalves,日本オラクル株式会社,株式会社プロシステムエルオーシー
- 出版社/メーカー: 翔泳社
- 発売日: 2012/03/09
- メディア: 大型本
- 購入: 5人 クリック: 147回
- この商品を含むブログ (24件) を見る

- 作者: Andrew Lee Rubinger,Bill Burke,佐藤直生(監訳),木下哲也
- 出版社/メーカー: オライリージャパン
- 発売日: 2011/08/26
- メディア: 大型本
- 購入: 2人 クリック: 10回
- この商品を含むブログ (4件) を見る
この2冊は今後のJava開発では必須。

- 作者: 川崎克巳
- 出版社/メーカー: 秀和システム
- 発売日: 2012/09
- メディア: 単行本
- クリック: 2回
- この商品を含むブログ (3件) を見る
Servlet3.0が詳しい。

Javaセキュアコーディングスタンダード CERT/ Oracle版
- 作者: Fred Long,Dhruv Mohindra,Robert C. Seacord,Dean F. Sutherland,David Svoboda,歌代和正,久保正樹,戸田洋三
- 出版社/メーカー: アスキー・メディアワークス
- 発売日: 2012/01/27
- メディア: 大型本
- 購入: 3人 クリック: 4回
- この商品を含むブログ (3件) を見る
シリアライザーションなど余り使わない機能への注意が嬉しい。

Apache Maven 3クックブック Javaソフトウェア開発のための特選レシピ集
- 作者: Srirangan,長尾高弘
- 出版社/メーカー: アスキー・メディアワークス
- 発売日: 2012/03/02
- メディア: 大型本
- 購入: 7人 クリック: 89回
- この商品を含むブログ (8件) を見る

- 作者: 丸岡孝司
- 出版社/メーカー: ラトルズ
- 発売日: 2012/02/25
- メディア: 単行本(ソフトカバー)
- 購入: 3人 クリック: 68回
- この商品を含むブログ (3件) を見る
GlassFish4でWebsocket〜JSR 356〜
JSR 356 はJavaEE7で策定されるWebSocketを利用するための標準API。
そのEarly Draftを使って、NetBeansでサンプルを動かしてみる。
参考:
http://orablogs-jp.blogspot.jp/2012/10/websocket-applications-using-java-jsr.html
http://jcp.org/en/jsr/detail?id=356
- GlassFish 4.0 Promoted Buildをダウンロードしてインストール。
GlassFish 4.0 Promoted Buildのダウンロードはここから。
http://dlc.sun.com.edgesuite.net/glassfish/4.0/promoted/
インストール時の画面やインストール先のディレクトリにはGlasFish3と出るが、気にせずインストール(インストール先のディレクトリはGlassFish4にしておくと分かりやすい)。
インストールした後は、(現在の最新バージョンであるGlassFish4.0 build 60時点では管理画面が動かないので)asadminコマンドでwebSocketを有効にする。
asadmin set configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.websockets-support-enabled=true
- NetBeansにGlassFish4を追加し、プロジェクトを作成する。
左メニューのサービスタブをクリック。サーバーツリーを右クリック→サーバーを追加 でインストールしたGlasFish4を選択する。
ファイル→新規プロジェクト→Maven→Webアプリケーションを選択。サーバーに先ほど追加したGlassFish4を指定する。
pom.xmlにWebSocketのdependency↓を追加してビルド。
<dependency> <groupId>javax.net.websocket</groupId> <artifactId>javax.net.websocket-api</artifactId> <version>1.0-b06</version> <type>jar</type> </dependency> <dependency> <groupId>org.glassfish.websocket</groupId> <artifactId>websocket-api</artifactId> <version>0.2</version> <scope>provided</scope> </dependency>
- クラスと画面を作る。
WebSocketの処理を行う次のクラスを作る。
現在の仕様では@WebSocketEndpointアノテーションからpath属性が無くなり、文字列だけでpathを指定できるようになっている。
package org.example; import javax.net.websocket.annotations.WebSocketEndpoint; import javax.net.websocket.annotations.WebSocketMessage; /** * * @author masayasu */ @WebSocketEndpoint("/hello") public class HelloWorld { @WebSocketMessage public String sayHello(String name, Session session) { return session + ": hello " + name; } }
画面はHTML5で作成。新規作成ウィザードからindex.htmlを作成する。
接続先のURLはプロジェクトのコンテキストパス(プロジェクトを右クリック→実行で表示される)に合わせて修正する。
( var host = "ws://localhost:8080/(ここにコンテキストパスを指定する)/hello";
index.html
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var socket;
var host = "ws://localhost:8080/webSocket-study/hello";
try{
socket = new WebSocket(host);
message('<p class="event">Socket Status: ' + socket.readyState);
socket.onopen = function(){
message('<p class="event">Socket Status: '+socket.readyState+' (open)');
}
socket.onmessage = function(msg){
message('<p class="message">Received: '+msg.data);
}
socket.onclose = function(){
message('<p class="event">Socket Status: '+socket.readyState+' (closed)');
}
} catch(exception){
message('<p>Error'+exception);
}
function send() {
var text = $('#text').val();
if(text==""){
message('<p class="warning">Please enter a message');
return ;
}
try {
socket.send(text);
message('<p class="event">Sent: '+text)
} catch(exception){
message('<p class="warning">');
}
$('#text').val("");
}
function message(msg){
$('#chatLog').append(msg+'</p>');
}
$('#text').keypress(function(event) {
if (event.keyCode == '13') {
send();
}
});
$('#disconnect').click(function(){
//socket.close();
});
});
</script>
<meta charset=utf-8 />
<style type="text/css">
body{font-family:Arial, Helvetica, sans-serif;}
#container{
border:5px solid #808080;
width:800px;
margin:0 auto;
padding:10px;
}
#chatLog{
padding:5px;
border:1px solid black;
}
#chatLog p{margin:0;}
.event{color:#999;}
.warning{
font-weight:bold;
color:#CCC;
}
</style>
<title>Hello World</title>
</head>
<body>
<div id="wrapper">
<div id="container">
<h1>WebSocket Hello World</h1>
<div id="chatLog">
</div>
<p id="examples">Type your name and press <enter></p>
<input id="text" type="text" />
<button id="disconnect">Disconnect</button>
</div>
</div>
</body>
</html>Webページを右クリック→新規→標準のデプロイメント・ディスクリプタでWEB-INF/web.xmlを作成。web.xmlの
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <session-config> <session-timeout> 30 </session-timeout> </session-config> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app>
プロジェクトを右クリックからビルドし、実行するとブラウザが開かれ、nameを入力してenterキーを押すと画面にSessionの内容+":hello "+入力したnameが表示される。

JSR 356 のAPI Docはhttp://jcp.org/en/jsr/detail?id=356のDownload pageをたどるとダウンロードできる。
RESTful APIのJAX-RSと同じようにpathの一部をパラメータとして渡せる。



