初心者が読むべき技術書
開発技法やツール関係
実践テスト駆動開発 テストに導かれてオブジェクト指向ソフトウェアを育てる (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 [スマートフォンデザイン] ~スマートフォンアプリ開発者とデザイナのための総合情報誌
- 作者: 岡村祐介,松前健太郎,江川崇,西岡靖代,中澤慧,高橋啓治郎,馬場功淳,牧野克俊,杉野裕則,赤坂玲音,傳裕之,高橋忍,大西彰,矢野りん,林信行,平林純,村上福之,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の一部をパラメータとして渡せる。