スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。



Android本 一冊目


初めてのAndroid 第3版初めてのAndroid 第3版
(2011/01/27)
Ed Burnette

商品詳細を見る


Androidの本を読みました。
初めてAndroidを知るのにどれがいいか迷ったのですが,
ゲームに必要なカスタム描画が書かれていたので,
この本を選択してみました。

この本は以下の環境で書かれています。

・Android 2.3 (API Level9)
・Eclipseを利用
・おもにWindows(補足でMac, Linuxについても書いてありますが...)

この本のほとんどは数独ゲームを作るというストーリーを元にかかれています。
このため前提条件は以下のとおりかと思います。

・数独のルールを知っている
 (知っているほうがコードを理解しやすい)
・Java言語仕様を理解している
・Eclipseを触ったことがある

この本では以下の内容が書かれています。

・Eclipseの環境構築方法
・Activityのライフサイクル, OSの特徴についての説明
・GUIの構築方法
・画面遷移(ActivityからActivity)
・設定画面の構築方法と永続化について
・グラフィックコンテキストを使用したカスタム描画
・ユーザ入力(イベント)の実装方法
・オーディオの再生方法(ゲームで使用される同時鳴動については書かれていない)
・永続化方法(ローカルファイル, SDカード, SQLite)
・WebViewのカスタム(htmlのjavascriptからjavaへのアクセス方法, 逆にJavaからhtmlのjavascript実行方法)
・並列プログラミング(java.util.concurrentの使用方法, 遅延実行)
・GPSや各種センサの紹介(簡易的な説明)
・コンテンツプロバイダの使い方(ん~もうちょっと詳しく知りたかったな)
・AsyncTaskを使用したバックグラウンド(非同期)実行 (ダイアログにプログレスを表示する)
・OpenGLの使い方
・ウィジット, ライブウォールペーパーの実装方法
・Google Playへの公開について

とまぁ,かなり内容の濃いものになっています。

数独ゲームはイベント駆動で実装されています。
メインループでフレームを管理するようなゲームについては言及していません。
(ただ本の内容を応用すればできる)

WebViewのカスタム方法が書かれているので,
ここを掘り下げればハイブリット型アプリを開発できるようになるかもしれない。
iPhoneや他の機種でも差異を吸収することができるかもしれない。
(iPhoneでも同じことができれば望みがある!!)

Viewやコントローラーの詳しい説明がないので,
デザイナを使用して画面を構築することを目的としている人には
情報が不足していると感じるでしょう。
レイアウトやコントローラについては別途本をみた方がいいなと思いました。

メインループによる描画についての実装じゃないで
SurfaceViewを使用していなかった。
これについては自分で調べるか...他の本を読んだ方がいいみたい。

これを読んで,簡単なアプリは作れるようになった気がするw
ある程度イメージが付いたので,まずはエミュレーションの基本になる,
仮想ボタンとレイアウトまわりを実装してみます。

レイアウトは別途違う本読むか...。
スポンサーサイト



SQLiteの本

Androidへの移植するときに,S!アプリのままでは使用できないところが永続化の部分。
MIDPではRecordStoreクラスで永続化してきたが,Androidではそんなクラスない!

つーことでMicroEmulatorのように自前でエミューレートするクラスを実装するか,
全く違う考えで作り直すかの必要があるわけです。

多分Androidでもファイルを生成して保存することはできるので,
S!アプリで使用したファイルフォーマットのままでもいいのですが...,
RecordStoreは若干使いにくかったのもあって,SQLiteで実装しようかと思っています。

そんなことで以下の本を読んでみました。


SQLite入門 第2版SQLite入門 第2版
(2009/05/19)
西沢 直木

商品詳細を見る


SQLite本って結構少なくてびっくり。
入門と書かれているので手にとって見ました。

読んでみて,以下のサイトでも十分だったんじゃないかと思いました。

http://www.dbonline.jp/sqlite/

このサイトとほぼ同じ内容が書いてあります。
そしてサイトはタダだしねw

この本で説明されているSQLiteのバージョンは「3.6.11」です。
最新は「3.7.13」です。
http://www.sqlite.org/

バージョンアップが頻繁に行われているので,最新のものを解説した本はないようです。

この本では,いくつか書かれていないものがあります。

・トリガーの利用方法
・ビューの利用方法
・トランザクションの分離モードの説明
・テーブル結合
・BLOBデータの追加・更新方法

など。
入門だし,さらにはSQLの話ではなく,SQLiteの話を書いてある本だ
ということで書いていないのかもしれない。

この本を読めば基本的な部分は理解できると思います。

SQLiteはデータ型を問わないということもあって,
簡単にデータを挿入することができると思います。
しかし挿入したデータの型がレコードごとに異なるかもしれないことを考えると,
意外と扱いが面倒なんじゃないかと思ってしまいました。

フィールド(カラム)にはデータ型とは別の型が存在しているが,
これが条件によってデータ型が決まるというものなので,さらに厄介に感じます。
(この本には明確には書かれていなかったような気がするけど,フィールドにはデータ型でも定義できるそうな)

簡易にした分,思いもしない穴に陥るかもしれない。
注意して設計したほうがよさそうですね。

またversion2とversion3ではフォーマットが変わったため互換性がないようです。
新規で作成する分には問題ないけど,version2から継続して扱っている場合は,
コンバートまたはversion2としての扱いをしていかないといけないので,
これまた注意が必要そうです。

分離モードについてはWikipediaを参照するといいでしょう。
安全性を考えてデフォルトのSERIALIZABLEのままでいいと思う。
(特に自分の場合は,そんなに並列して実行することはないと思うので)

http://ja.wikipedia.org/wiki/%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B6%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E5%88%86%E9%9B%A2%E3%83%AC%E3%83%99%E3%83%AB

総評としては...

入門書といわれている通りの本だなぁと思いました。
またSQL文については深く掘り下げて説明せず,
SQLite本であるためSQLiteについての説明である。
このため基本的なDB操作方法は別途SQL文の本を読む必要があると思います。

気になった点...

行間が広かったり,空間が多かったり,ページの割には軽量wな内容でしたw



Eclipse本

JavaのIDEであるEclipseの本を読みました。
(Java以外でも使用することができるけど)


Eclipse 3.7 完全攻略Eclipse 3.7 完全攻略
(2011/10/29)
宮本 信二

商品詳細を見る


先月に4.2(Juno)が配布されましたが,
この本ではその前のバージョンである3.7(Indigo)について紹介しています。
(バージョンがダブルナンバー「Indigoだと3.7/4.1」なのはなんでだろう...)

開発環境の使用方法の基本部分が網羅されています。
読み時は,

・Java言語仕様を理解している
・簡単なJavaプロジェクトを触ったことがある

あたりだと思います。
それ以外に自分のようにEclipseで開発をしたことあるけど,
細かい機能まで知らない人にオススメだと思います。
(上級者向けではないということです)

基本的な使用方法から,バージョン管理(CVS, SubVersion, Git), デバッグ, テストの基本が紹介されています。
意外に知らなかった細かい機能まで書かれているので,読んでなるほどというものがあると思います。
自分は高速ビューを読んでなるほどと思いました。

バージョン管理はCVSメインに書かれていてGitのプラグインEGitについてはあまり触れられていません。
Gitは他のバージョン管理と違って管理方法が変わっているので,
この本では説明しきれないということだと思います。

さらにCVSのときで使用していたメニューなどとできるだけ共通性を持たせようとしているため,
Gitの扱いを逆に難しくさせているように見えたり...ここは慣れでしょうね。


基本的な機能以外は,Webアプリケーション, GUIアプリケーション, プラグインの作成方法, Ant, UMLについても書かれています。
これらの事項は使用する人向けって感じかな。
プラグインについては軽く触れているだけなので,本格的に作成したい人は別の本を買った方がいいでしょう。

GUI部分ではAndroidについて(インストール, GUIの簡単な実装)も書かれています。
ただ軽くなので,これについても別途専用の本を買った方がよさそうですね。


総評としては,通常の業務で特に支障がない人は特に買う必要がないと思います。
「一つでも知らない情報を得られれば」という位置づけで読んでみるといいかと思います。

全く触ったことない,少し触ったことある人にとっては説明が丁寧に書かれているのでオススメかと思います。



おもしろいAndroidアプリ

携帯を買って1週間。
本を読みながら...というか,ほとんど携帯触ってましたw

Softbank携帯を買った当初にやった「ゲーム発展途上国」。
ソフトを作ったのはカイロソフト。

そのカイロソフトが出したアプリ「開拓サバイバル島」が面白い。

https://play.google.com/store/apps/details?id=net.kairosoft.android.mujin

基本プレイ無料で,アイテム課金制をとっています。
とはいえ,最後まで無料でできます。
カイロさん,太っ腹。

カイロさんが作るアプリは,凄く見習う部分が沢山ありますね。

ほとんどのアプリをiアプリ, Android, iPhoneの各OSに水平展開しています。
フレームワークの設計が完璧なんでしょうね。

キャラクターのブランド化とか,全体のボリューム,ゲームの奥行きとか,
課金するにはこれだけの質が必要なんだろうなぁとつくづく感じました。
(バランス調整にどれだけ時間つかっているんだろう...)

Googleのトップデベロッパーに選ばれていたり,
目標にするには十分な会社だと思います。

あの品質でものづくりができたらと思いますが,
それにはグラフィッカーやSE・音楽担当が欲しいなぁ...とか,
(ってお金ないから無理だけど...)
気の合う仲間を見つけるにはどうしたらいいだろう...とか。

課題は沢山。
日々,前進ですね。



Gitについて読み終えました...

前に紹介したGitについてを解説しているサイトをほぼ読み終えました。
(Android携帯買ったので数日放置していましたw)

http://git-scm.com/book/ja

本で言うとコチラになります。

Pro GitPro Git
(2009/08/17)
Scott Chacon

商品詳細を見る


全9章あるうち,8章のSubVersionに関するところまで読みました。
理解度は...80%ってところでしょうか。

SubVersionユーザから見て基本的な変更部分は...

・リポジトリ管理がリモートとローカルで行える。
・Gitのコミットはローカルリポジトリへのコミットになる。
 リモートリポジトリへ(SubVersionでいう)コミットするときはプッシュになる。

・Gitではローカルでコンフリクト(衝突)の解決を行わないといけない。
 SubVersionでは変更したファイルがサーバ上で既に変更されていて,
 変更箇所がぶつかるときにコンフリクトを起こしていたが,
 Gitではリモートリポジトリの対象ブランチが変更されているときに
 コンフリクトを起こす。(ファイルが衝突していなくても...)
 コンフリクトを起こしたときはプルコマンドを実行すれば,
 自動でマージしてローカルリポジトリをプッシュできる状態にしてくれる。
 もし変更箇所がバッティングしているときは,自前で解決してからプッシュすることになる。

・SubVersionでブランチを作ると,サーバ上で全ファイルをコピーしていた。
 Gitでは親ポインタを持つデータを作るだけなので,とても高速・計量にブランチを作成することができる。
 (これについてはサイトの初めの部分を読んでみるとわかると思います)

とまぁ凄く簡単ですが,こんなところでしょうか?
Gitサーバを立ち上げることについてや,gitosisを使った自動化の説明などもあります。
Gitについての全般を知るうえで役立つ本だったと思います。

Gitは汎用的にできているので,各開発者のローカルリポジトリに対してプッシュやプルができるので,
運用モデルを会社,またはプロジェクトごとに明確にしていく必要がありそうです。
(5章で詳しく書かれています)

ローカルリポジトリを持つことのよさとして「サーバに接続できないときにもコミットできる」こともありますが,
ローカルリポジトリ内でブランチを作ることができるということが良い点ではないでしょうか?

サイトにも書かれていますが,一つの修正や変更に対して,自分の中で複数の案があった場合に,
それに対応するブランチを複数作成し,テストすることができるということ。
そして実際に採用するブランチのみを,本流にマージして,サーバにプッシュすることができるということです。

SubVersionで,これを実行しようものなら,違うディレクトリに変更するリポジトリを複数コピーする必要があったので,ファイルサイズや,コピーにかかる時間が無駄でした。


Gitのリベースについては,Gitならではの考え方だと思います。
そのためか,どういうことなのかを理解しても,どういうときに使うといいのかが,
まだ明確につかめていません。

その他の不明点や,第9章(これはコアな話なので読むタイミングは任せると章頭で書かれている)は,
今後,使用しながら読んでいこうかと思っています。



Android携帯を買ったよ

Androidへの移植にはまずは実機。
ということで今日,機種変してきました。

ぜ~んぜん使い方が違うので混乱。
しばらくは操作に慣れるつーとこからwww

なにかオススメアプリがあれば教えてね!!



Gitについての説明サイト

本として売られているものがネット上で見れるようになっていました???

http://git-scm.com/book/ja

なぜかはわかりませんが,このサイトを読んでGitの初歩を学ぼうと思います。

今日は第3章 ブランチについての勉強で終了!!



bitbucketでGitリポジトリを作成

GitのクライアントはTortoiseGitを使ってみる。
(EclipseのEGitもあるみたいだけど)

TortoiseGitはmsysgitを使うようなのでコチラを先にインストールしておく必要があるようです。

http://msysgit.github.com/
(Git for Windowsを使いました)

TortoiseGit。
http://code.google.com/p/tortoisegit/wiki/Download

インストール手順についてはコチラを参考にするといいかも。
http://tortoisegitjapan.com/install-tutorial-01/

迷ったのがSSHクライアントの選択だったんだけど,
TortoisePLinkはTortoiseGitが用意したSSHクライアントで,
もう片方はOpenSSHのクライアントを使用するってことでしょう。

インストールが済んだらTortoiseGitの言語を日本語にする。
(言語パックをインストールしてからね)

SSHでログインしたいので鍵を生成する。(Windowsの方は)
C:\Program Files\TortoiseGit\puttygen.exe

bitbucketでのSSH keyの生成方法。
https://confluence.atlassian.com/display/BITBUCKET/How+to+install+a+public+key+on+your+bitbucket+account

または
http://www.tempest.jp/security/keygen.html

puttygenでSSHの鍵を生成するんだけど...
ウィンドウ上でマウスをぐりぐりしないといけないのねw
しばらく待ってしまったw

生成した鍵をbitbucketサイトの「SSH Keys」に貼り付ける。

試しにcloneをローカルに実行。
やっとこさ成功しました。

コミットしてプル(これであってるのか?)して,bitbucket上のリポジトリにファイルを追加することができました。

SubVersionとは違うだけに操作方法も違うみたい。
Gitについても本を読まないとかもなぁ...。



サーバ構築本 読了!!


CentOS 6で作るネットワークサーバ構築ガイド (Network Server Construction Guide S)CentOS 6で作るネットワークサーバ構築ガイド (Network Server Construction Guide S)
(2012/02)
サーバ構築研究会

商品詳細を見る


以前に書いたとおり,この本を読んでおりました。
約1000ページにおよぶネットワークサーバの構築方法が書かれた本です。

読んでみて思ったことは...実務過ぎるということです。
この本が悪いのではなくて自分が求めていたものが,本を買ったときから変わったのが原因です。

本を買った当初は実際にサーバを構築するつもりだったんだけど,
無料のGitサーバが見つかったので優先順位がかなり下がり,
サーバ構築は次の作業後にしようと決めたのでした。

なので自分が必要なのはLinuxサーバのアラカルト的な,
詳しい概要wが欲しかったのです。
(動機付け部分がとても浅いので,なぜこれを設定するのか?
そういう部分について不足していたように感じます)

電子書籍になったら,アラカルトを1冊の本にして,
そこから実際の設定部分は切り売りしてくれるようになると助かるなと思いました。
(100円とかさw)

この本は一般的に必要になるであろうサービスなどが,
インストールから設定,ログの読み方などを中心に書かれていました。

これから構築する人にとってはとても有用になる本だと思います。

中盤のLDAPやNFS, Sambaなど...
コンピュータ業界においてユーザ認証はとても大きな障壁になっているのでは...と思ってしまいました。

会社に複数のサーバを導入したときに,ファイル(フォルダ)に対してのアクセス制御を共通化させたいと考えると,
必要になるのはユーザ認証であり,ユーザ名とパスワードの集中管理ということになります。

Linuxは共通管理するものは提供していません(?)ので,
サービス毎にどのユーザ認証を使用するのか...統一的な設定がないように見えます。

主流としてはLDAPサーバを使用しているようですが,
(過去にはNISってあったみたいですが?)
サービスによっては対応してたり,してなかったりと。

そして業務上,使用するPCがほとんどWindowsと考えると,
Windowsとも透過的に実行できないといけなくなり...。

と,一筋縄にはいかないみたいです。

そして次はACLで...これについても透過的な技術は...。
本ではNFSv4 ACLが紹介されていますね。
(ファイルシステム全体でこれが使えるのかな!???)

早く業界標準技術を作って欲しいですね。
おねがいえらい人!!

移植作業が終わったあとに実際に構築するようなときがあれば,
この本の真価を問うてみたいと思っています。


つーことで,作戦変更して移植作業の準備に入るよ。
で,次は以下の本を読むことにしました。


Eclipse 3.7 完全攻略Eclipse 3.7 完全攻略
(2011/10/29)
宮本 信二

商品詳細を見る


このサイトのAmazonリンクから購入してくれた神様がいたので,
そのときに発生したクーポンを使って,ちょっと安くなりました。
神様ありがとう!!


iko2を作るときに,前作で使用していたスクリプトを用いてビルドしていましたが,
次はちゃんとAnt使っていこうと。
そして大枠の使い方なんかも,ほとんど無視して使っていたので
この本を読んで基礎を身につけようと考えています。

ただ,この前eclipse 4.2が発表されたんですよね。
さすがに4.2に対応する本がでるのは時間がかかるので,
3.7本で我慢しようと思います。



アクセス
あなたは
キーワード
カテゴリー
最近の記事
リンク
月別アーカイブ
ブロとも申請フォーム

この人とブロともになる

WEB検索
Google

RSSフィード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。