goo blog サービス終了のお知らせ 

まず持ってから

「もちつもたれつ」「ギブアンドテイク」でもいいんだけどまず”もって”から、つーことで

XMLの本

2008年05月24日 17時44分42秒 | プログラム
「いつかやろう!」と思うだけで先送りしてきたXMLの勉強を始めました。

大量に本を買い込んだ中で「役に立った」「今も読んでる」本は以下のもの。


 XMLクイックリファレンス

「クイックリファレンス」と書名にはあるけど、リファレンスではないです。
#それともこれだけ具体例を挙げて説明しないとダメ、ってことかな?
実際に自分の手を動かして試行錯誤しながら身につける、って人にはこの本こそXMLの入門書にふさわしいと思います。
今は、MSXML & C++ & XML Notepad でこの本のサンプルを動かしながら勉強してます。オススメ

ちょっとした確認をしたい時は「XML デスクトップリファレンス」の方がいいかも?


 入門 XML

解りやすく丁寧に書いてあるんだけど、実際に手を動かして試行錯誤できる所が中盤以降なのでそこまで読むのが長くてつらい。
多分、この本だけだと途中で挫折してる。いまは「XMLクイックリファレンス」の横に並べて知識側の補完に利用させてもらってます。


 XML Hacks

上の2冊での勉強に疲れた時にパラパラとめくり、「そうね、こういう事が出来るようになるのね」、と好奇心&&勉強意欲回復に使ってます。


オススメは上3冊(+動作確認環境としてXML Notepad)だけど、以下の本も「いいかな?」との印象をもちました。#でも今は読んでない


はじめて読むXML
この本のよい所は「薄くて読みやすい」。
実作業で動作確認がしやすい「XMLクイックリファレンス」、理論面での裏付け知識が身に付く「入門 XML」、両者のいいとこ取りがこの1冊で出来ます。実際に動作確認させる時に必要なツールも具体的に挙げてあり、取りかかる前段階に迷う所が少なくて良いです。
で、読まなくなった理由ですが、「ページ数が少ないので内容が物足りない」、これです。ページ数だけを見ても、「XMLクイックリファレンス」730P、「入門 XML」426P、計1156P。「はじめて読むXML」は304P。どうしても、ページ数分だけ内容が「薄く」「広く」なってしまいます。いろいろ読んでいて確認したくなる事柄が出てきた時に、この本が押さえている範囲外の事柄が多くなり、自然と読まなくなりました。
でも、内容はしっかりしていてよい本だと思いますよ。手を動かして確認しやすいし。


C++によるXML開発技法
この本もコードがたくさん書いてあって「やってみよう!」と思うんですけど、XML Parser が MSXML ではなくUnixな世界(?)が展開されていてちょっと躊躇。そうしているしている間にオライリー本に出会い、結局、今は読んでいません。添付のCDの中にはMSXML向けの情報もあったのかな?見てねーや。


う~~ん、日本人著書&&日本の出版社の本が少ないなぁ・・・

OpenOffice

2008年05月04日 18時54分25秒 | プログラム
あれ?OpenOffice でもマクロ(スクリプト?)による半自動化って出来たんだ・・・VBA互換では無いみたいだけどプログラミングができるのはうれしいな。出来ないものだと思っていたから調べてもいなかった。VBAは動かないみたいだからOfficeViewerとしてはイマイチな位置づけだったけどちょっと真面目に使ってみる必要があるな。

Win/Macの異なるプラットフォームで互換性はあるんだろうか?MSOfficeVBAは突っ込んで使うと、COMとかWin32APIを使う事になり、事実上、Win環境前提な使い方しかしてなかったからMac版MSOfficeなんか興味がなかった(なのでVMWare上でWin版Officeを使っている)。プラットホーム互換ならうれしいな。

日本語は大丈夫なんだろうか?
MSOfficeVBAでいうLen/LenBみたいな関数もあるんだろうか?
Officeアプリ間で連携は取れるんだろうか?

うーん、やっぱり自分で評価してみないと始まらないなぁ。

WindowsCE

2008年05月01日 22時15分39秒 | プログラム
最近、WindowsCEエミュレータを動かす為にMacOSXを起動させている時間が減ってます。

WindowsXP on VMWare in MacBook で動けば同時並行で使えるんだけど、embededdVC からエミュレータを起動させようとすると「Emulator for WindowsCE ではエミュレートされたイーサネットスイッチドライバを開くことができませんでした。・・・」の警告メッセージがでてデバッグができん!

せっかくPlatformBuilder までインストールしてWinCE開発環境をそろえたのに~~~


・2GhzDoreDuo メモリ4GB のMacBook環境をBootcampでXPだけを動かす
のか
・WindowsCE開発環境は古い Cele1GHz+メモリ512MB の dymabook で動かす
のか

どーすべっかなぁ?
#dynabook の方が自然なんだが、この環境だとVS2005が重過ぎて我慢できん。


info info

2008年03月19日 22時43分35秒 | プログラム
info コマンドの使い方を info で確認。

最初は man info で調べてたんだけどいまひとつ分からない。で、分からないなりに何かヒントでも見つかるといいな、と思い info コマンドの使い方を info で確認してみると man と書いてある内容が全然違う。

とりあえず、Gettting Started の所からウロウロしてるとよく解らないなりに画面が切り替わる。そうか、こうやって解説が進むのか、なるほど、と適当にキーを叩きながら Gettting Start の解説を読み進める。最初のうちは Enter で解説が進み、もとに戻りたければ q で info を終了→ 戻りたい所まで最初から進める、という超泥縄式で解説を読んでいたのですが、最初から読み進めるに従って info の使い方が一つづつこれでもか、っていうくらい丁寧に解説してあり、自然と使いこなせるようになってくるのでちょっとびっくり。

man よりも info を読む方がいいのかな?項目によっては man の記述がそのまま出る項目もあるみたいだけど。

これでもう一度 configure (Automake/autoconfig,libTool) を確認だ!

hexdump その2

2008年03月05日 23時15分53秒 | プログラム
12/21 のエントリ hexdump では cygwin のページの 「Setup Package Search」から検索したんだけど、今日 cygwin のコマンドから同じ確認が出来る事を発見!

$ cygcheck -p hexdump¥.exe

Found 2 matches for hexdump.exe.
util-linux/util-linux-2.12r-2 Random collection of Linux utilities
util-linux/util-linux-2.13.1-1 Random collection of Linux utilities


これでhexdump.exe が入っているパッケージをターミナルから把握する事が出来る。
いいかんじ。




達人プログラマ

2008年02月06日 00時11分54秒 | プログラム
スタックに積んであるアドレスから関数呼び出しの履歴を調査するために、メモリマップが記述されたファイルと格闘しています。

マップファイルは大きく、また、関数のアドレスはその関数の先頭アドレスとそのサイズしか情報がないため、スタックに積んである関数の途中のアドレスは単純に grep では検索できない。#妙にでかい関数が多いし・・・

単純にマップファイルから探すのではなく、ある程度マップファイルを細工して検索しやすい状態にしてから調査を行っていたのですが、マップファイルの内容はコンパイルごとに変化するので、この細工をその都度やらなくてはならない。

「関数の先頭アドレスとそのサイズ」があるのでそこから計算してくれればこんな細工はいらないのに、、、と、愚痴っていたときにこの本のことを思い出しました。



達人プログラマ


この中の「16 パワーエディット」に
・ヒント22:1つのエディタを熟知すること

とあります。お気に入りのエディタとしてサクラエディタを使っています。このエディタにはマクロ機能があり、WSHなどで機能拡張することが出来ます。

「これを使えば希望の自動計算機能はできるんじゃね?」と思いましたが、ちょっと良くわからない。WSHはなんとなく解るけど、どうエディタ側と連携を持たせたらいいのだろう?

いい機会なので使えるように勉強しよう。




達人プログラマ 16 パワーエディット 86ページ
"それからどうするのか"

お気に入りのエディタを使っているがすべての機能を使っていない

その機能を学習して、キーをたたく回数を減らすようにしてください



関数ポインタ?

2008年01月14日 23時42分21秒 | プログラム
関数ポインタ <ー> Stateパターンの実装機能の一部 <ー> インターフェース

意識すれば上の関係がつながっていたけど、やっと頭の中で自然に変換できるようになってきた、かな?
特に「関数ポインタ <ー> インターフェース」 が自然につながるようになったのがうれしいな。

単純に実装を抽象化する為だけでなく、「外部とやり取りするためのインターフェース」として使えるがいいな。


ログとり

2008年01月11日 05時08分45秒 | プログラム
デバッグ用にログを埋めるときはもとのコードの行番号を変えないように埋めましょう。また、人間が目で見て埋める前のソースと変化が少なくなるように埋めましょう。こうすれば、ログを埋める前のソース・ログとの比較がやりやすいです。

また、ログを追加するときも、既存のデバッグログを極力変えないように追加していきましょう。今までのログを確認していた時に見落としていた事象に後から偶然確認できる事があります。事後確認のためにも極力行番号・見た目を変えないようにしましょう。


このように考えているので、ログ用コードを埋めるときは、そのコードが行の右側に来るようにログの左側にスペースをわざと書き込んでいます。
結果、このように
 DoSomething();      DEBUGLOG("DEBUG:***");
と、元コードとデバッグコードが一緒の行に書かれている場所がけっこう生まれます。
#正式リリースの時はやらないけどね。

講義資料

2008年01月02日 22時41分54秒 | プログラム
こんな感じで大学で使ってる資料を公開してくれるとうれしいな

 東京大学 電気系B演習 言語処理系演習 リンク

プログラミングは趣味の独学でしか勉強したことないからか、こういう基礎系の知識が足りないのかな?と感じることが時々あり、ちょっと迷走気味なんだよなぁ・・・

プログラミング系の雑誌は相次ぐ休刊で激減してきてるし、情報のネタ元が2chに偏るのも何か間違っている気もするし・・・

今まで通り「行き当たりばったり」でもいいけど、一度ちゃんとした「教育課程」ってのも経験してみたい、のかな?別に正式の講義でなくてもいいから大学で使っている本の紹介だけでもネットで情報収集できると嬉しいな