スポンサーサイト

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



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の簡単な実装)も書かれています。
ただ軽くなので,これについても別途専用の本を買った方がよさそうですね。


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

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



サーバ構築本 読了!!


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本で我慢しようと思います。



今日はずっと寝てた><

今日もいい天気だったんだけど。。。
あれもこれもやろうと思ってたけど,なぜか眠すぎて布団からでれなかった><

で,な~んもしなかったw
昨日までサーバ構築本は400ページまで進みました。(遅)
DNSサーバ, メールサーバ(SMTP, Postfix, sendmail)の構築方法。


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

商品詳細を見る


このあたりから読みにくくなってきました。
あまり知らない知識が多いから(?)というのもあるかもしれないけど,
前半のあるストーリーに基づいてリズムの良い説明...でなく,
よくありがちな技術本の説明になってきたのが原因だろうと。

設定ファイルやプログラムの仕様ベースの説明で,
ユースケースによる説明ではなく,
さらに1000ページと少ないページ数で説明しきらないとという
詰め込み型の説明になっているからだろうな。

この本は一通りの構築内容を把握することはできるけど,
一つ一つの掘り下げて説明されているかというと,
ページの制限からできていない(できない)。

なので,各項目(DNSならDNS)がさらに詳細を知りたいと思ったら
専門の本を買うほうがいいだろう。

つーことで今週までにあと600ページ!!
がんがれ自分w



Java本の続き

iko2の称号取得のチャレンジしているコメントをみて,
かなり遊んでもらえていて嬉しい限りです。

一段落している間に,以前途中まで読んでいた以下の本を,読み直しました。


パーフェクトJava (PERFECT SERIES) (PERFECT SERIES 2)パーフェクトJava (PERFECT SERIES) (PERFECT SERIES 2)
(2009/09/24)
アリエル・ネットワーク株式会社、井上 誠一郎 他

商品詳細を見る


残っていたのは,JAVAのサーバサイドプログラミング,データベース(JDBC),GUI(AWT,Swing)のフレームワークまわり。
S!アプリには全く関係ない箇所なので読み止めていました。

読んでみたけど半分理解できたかどうか...。

C#でサーバサイドプログラムをしたことがあるけど,プログラム言語からHTMLを生成する処理,
つまり,ある言語から異なる言語を生成する処理がネックになっているということがわかりました。

Javaの世界でも,どうやってHTMLのページを生成するのか,かなりの試行錯誤があるようです。
また一般的にHTMLを作るのはWebデザイナーで,サーバサイドはプログラマーという分業をとっている会社が多いので,サーバサイドからHTMLをつなぐ処理をさらに難しくしているところだったんじゃないかな。

この本ではサーブレットの処理とJSPで最終的にHTMLを生成する処理を紹介しています。
Webの技術は毎年のように変わっているので,この本に書かれている方法が「現在のスタンダードか?」と言われると疑問に思う。
自分はPHPなどのスクリプトを知らないので,こんなもんなんだなという程度で読みました。

Javaでデータベースを扱う部分もC#のものと似ていて,この本のORMに書かれていたレコードとクラスを対応させる技術があるんだなと。
やはりHTMLのとき同様,データベースとプログラム言語間を扱いやすく,難点をどのようにライブラリで吸収するか,ということが大事なんだなと思いました。
ただSQLに関してはやはり言語に直接文字列として書いて実行するという手段をとっているようで,これは他の言語でも同じような手法なので,今後も劇的に変わらないのかなと思いました。
(C#ではLinQってあったけど,Javaにも似たようなアプローチがあるんだろうか?)

最後にGUI部分ですが,GUIの使い方というよりは,GUIのフレームワークがどのようになっているか,というところが説明されていました。
iko2を作るときもGUIなどのフレームワークを作るところから始まったのですが,作るときになにかを研究してから始めたわけじゃないので,この本で仕組みをみていくと,改善要素がかなりあったなぁと感じました。
ただ,そこまで複雑に作るには時間がかかるだろうから,今回はまぁまぁだったなと思います。

iko2で作ったフレームワークには更新領域を扱う仕組みがなかったので,毎回オフスクリーンに対して全画面を描画しています。
ここを改善すれば,FPSもかなりあがったんじゃないかなぁと考えています。
が,この本をよんで,もし更新領域を扱うとなると,最終的には,この本で言う「包含階層」を実装しないとなぁと。
やはりフレームワークは自分で作るものじゃないなw
と思ったので,Androidでは既存のものを流用していこうと思いました。


次は以下の本を買ったので,今のうちに手早く読んでおきたいな。


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

商品詳細を見る



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

この人とブロともになる

WEB検索
Google

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