2017年3月アーカイブ

Linux雑多メモ(2017/03/29)

● PTHREAD_PROCESS_SHARED
共有メモリ上にpthread_mutexを確保してPTHREAD_PROCESS_SHAREDを設定すると、プロセスまたいで使える。shmemもしくはtmpfsでいいと思う。プロセスまたいで使えてうれしいかどうかは知らない。

● ELF GOLF
ELF GOLF総本山
http://shinh.skr.jp/binary/fsij061115/
main関数なんてただの飾り
http://binary.nahi.to/b2con2006_sato.pdf
ELFうざいから独自ローダ作っちゃった人
http://memo.wnishida.com/?date=20070411
C++のRAII風に使えるC言語のマクロSCOPED_LOCK
http://d.hatena.ne.jp/yupo5656/20060609/p1

「Androidを支える技術<I>」読んだ

Amazonアフィリンク

Androidのアプリ開発ではなくて本体の部分にフォーカスして書かれた本。サブタイトルの「60fpsを達成するモダンなGUIシステム」は若干語弊があるが、Androidの特にGUIがどのような順で処理されて実現されまたそれがどう効率的に実装されているかに迫って書かれている。前書きにあるとおり「Androidアプリ開発していてLinuxプログラムも経験がある」「Windowsデスクトップアプリ(特にWinXPまでのGDI)のGUIの経験がある」「Linuxや組み込みを理解しているがAndroidは経験がない」「かつてケータイなどで一線で活躍したが今は開発から引退している」をターゲットにしている。

うーん、個人的にはちょっとがっかりだった本。事前情報から期待しすぎていたというのが正しいのかもしれないけど、これを読んでわかった気にはあまりなれなかった。特に、せっかく具体的なコードやクラス名を提示してくれてるんだったら、そのファイルのpathやバージョンも明記しておいてくれれば、個人的に気になった点をあとでトレースしやすかったんだけどなぁ。

あと、著者はハードに近いところはあまり詳しくないのかなぁという印象を持った。特にCPUとGPUの役割分担を理解させようとしている箇所は、読んでいていろいろつっこみどころ多いと感じた。Androidアプリしか書いたことないような人を意識してムリにでも解説しようとしたんだと思うけど、これならあえて説明せずに「そういうもんだ」くらにしておいた方がよかったんじゃないかと思う。

それとなんだろう、確かにGUIとして処理される流れを順を追って解説しているんだけど、個人的には物足りないというかもっとつっこんで詳しく書いてほしかったというか、どうも消化不良だった。確かにあまりハードよりの話をしたいという本ではないんだろうけど、うーん。

Androidの世代をバージョンではなくて開発コード名で呼ぶのは一般的なんだろうか。逐次追っているわけではない立場からすると「どれだったっけ?」と毎回考え込んでしまった。今ならWikipediaの「Androidのバージョン履歴」のページに詳しくまとまっていた。

というわけで、Androidアプリしか書いたことがないような初級?中級の人がGUIの処理の流れを理解するのには非常によい本だと思う。逆に、矩形処理やらOpenglesやらディスプレイドライバやらに触れている人が理解を深める目的だと、ちょっと物足りないかと思う。

・・・とか辛口に批判しつつ、「Androidを支える技術<II>」の方ももう買ってしまったわけですが。こっちも読み終わり次第レビュー書くと思います。

2017/04/02(Sun)追記、書きました。

このアーカイブについて

このページには、2017年3月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2017年2月です。

次のアーカイブは2017年4月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

ウェブページ

Powered by Movable Type 7.9.0