月曜日, 11月 30, 2009

[日記]葛飾区中央図書館にいってみた。

今年の10月に新しく出来た葛飾区中央図書館にいってみた。

中に入ってみて最初に気になったのはRFIDの文字。
どうやら本の貸出管理はRFIDを使った全自動にしている様子。
おお便利だ。(しかし理解しにくい人も多いだろうなぁ。)

嫁さんと子供が授乳室に行ってる間に
ふらふらとうろついてみる。
流石に授乳室の周りは
子供図書コーナーが広がるってるなぁとうろちょろ。

英字絵本をお父さんが妙にいい発音で
子供に読み聞かしてたりする。
情操教育だね。

ティーンズコーナーで漫画コーナー発見。
はだしのゲンとか火の鳥とか置いてるかな?

おお!スラムダンクが置いてる。
ワンピースに、ベル薔薇・・・最近の図書館は漫画図書館もかねてるのか。

戻ってきた嫁さんに漫画の話をすると
「ガラスの仮面はないのか?」
とのたまうので検索をかけると
出てくる出てくる。
次はガラスの仮面借りるよと意気込む嫁をひきつれ
そのまま大きな館内見学。


まだ出来たばかりの図書館らしく書架には空きが目立つ。
これから増えていくのだろう。

POSA本とか置いてるかな?と
IT系の書架を見ると、
今会社で使い方に困っていた
VISIO2007の本があるじゃないか!GET!

ラノベコーナーでハルヒの憂鬱GET
ノーライフキングGET
空想科学少女リカGET

満足して帰宅。

ラベル:

水曜日, 10月 21, 2009

[日記]BloggerのFTP機能を使うのをやめようか?

Bloggerには自分の持っているHPスペースに
Blogを公開するFTPアップロード機能がある。

この機能を使うのをやめて、
普通に独自ドメインでの公開にしようかを迷っている。


迷う理由は?というかソモソモなんでそんな聞きなれない機能を使っているの?


4年前---
このBlogを始めたころWeb屋だった私は「SEO」って言葉が
呪いのように付きまとっていた。

独自ドメインにすればSEO的によい!
静的HTMLはSEO的によい!

そんな言葉が散見されていた2005年、
Google信望者でもあった私にとって

BloggerのFTP公開機能は、「流石ぐーぐる」といった
快哉とともに迎え入れられた。


当時は、独自ドメインで公開出来るBlogサービスがまだ少なく
MovableType や WordPress等の設置型Blogを使うには、
ちょっとサーバースペース確保が面倒だった時期である。

ついでに追記しておくと、2005年のBloggerはよく落ちたし、
よくエラーを起こしていた。

Bloggerで公開しても、繋がらない事が多かった。



さて、月日がたち、SEOという呪いも抜け落ちて、
Bloggerも安定してきた。
私は惰性でFTP公開機能を使っていた。

やめようとは思わなかった、

少しアーカイブが出来るのが遅かったり、
不満はちょこちょこあったが、
目くじらを立てる程ではなかった。

むしろ、FTP公開機能しているBlogが少ない事を知って
マイノリティ好きな私は誇らしく思っていたぐらいだ。
FTP公開機能なんてレア機能使ってるんだぞっと。(バカですね)


さて、さらに月日がたち、
Bloggerが安定どころか、
種々の機能を強化してきた。

しかしながら、種々の機能を支えるテクノロジーは
サーバーサイドスクリプト。

ただのHTMLファイルを作成し、
FTP経由でせこせこ運ばれてくる私のブログでは
それらに対応するために、
クライアントサイドJavaScriptでがんばるのだった。

正直面倒がMAXになり、
新しい新規機能がでても無視するようになってきた。

そんなわけでFTPやめて独自ドメインで公開するだけにしようかなと思う昨今。
今までためてきたGoogleのアーカイブデータへのGoogleインデックスが
どうなってしまうのかだけが気になるところです。

日曜日, 8月 23, 2009

[日記][Twitter]近況報告とTwitter

全然投稿してなかったので、生存確認をかねた近況報告です。

お手伝いでデスマってるプロジェクトにお手伝いに放り込まれました。
Javaでうひうひ楽しく実装し、
1k行単位のSQLに頭を抱える日々です。

さて、そんな日々なので投稿が出来ないでいるかというと
さにあらず、原因はTwitterです。


Twitterを今更解説するのもあれなんですけど、
140文字のつぶやきを延々と投稿するサイト
で他人のつぶやきのリスナーになったりならなかったり。

Twitterのいいところは楽なところ。
つぶやきなので、誰に対して発信するわけでもないので、
肩肘張らず適当にかける。

無責任な王様の耳はロバの耳の井戸だと思って使ってる。


元々、ある程度の言いたいことがたまり、
一定のテーマとして固まったものから投稿していたのだが、
Twitterで早々に吐き出してしまうため、
言いたいことが溜まらない。

ん。ん・・・これはこれで困った自体だな。
とりあえずそのうちBloggerのサイドバーにでもTwitter出すか?

一応私のTwitterのURLをペタっとしとく。

http://twitter.com/callas1900

ラベル: ,

木曜日, 7月 30, 2009

[VB6]久し振りのVB6

ちょっとしたヘルプでVB6を書いてきました。

久し振りの実装だったのでVB6でも文句も言わずウキウキやるぞー!

と思っても実装開始後文句がいっぱい!
それでも久し振りの実装だから笑顔で文句だけどね。


VB6への文句集



ホイールでころころさせろ!

IDE開いて既存ソースを見てて違和感。

あん?マウスで画面がスクロールしないぞ!?
マウスの調子がおかしいわけでもないし・・?

Google先生に聞いてみると、VB6のIDEじゃ
ホイールロールイベントが使えないらしい!!!
なんてことだ!

結局本家MSのサイトでマウスロールに対応させる
KBが置いてたので導入
VB6でマウスころころKB

どうでもいいけどKBってknowledge-Baseの略だったんだね。

Collectionは爆発しろ!

ほのかに覚えているVB6の実装の記憶じゃ
CollectionとrecodeSetを使って、
DBから取得してイテレータ的なことをしていた記憶がある。

Keyを使って登録できるということでHashMap的に使えるのかと思ったら。

だまされた!

Key一覧を吐き出せないじゃないか!

Indexでしかアクセス出来ないならKeyで登録する意味が分からない!

さらに意味がわからないのはそのIndexが1から始まることだ。

PCでIndexを振る場合は0からと相場が決まってるだろぉ!

何度Indexエラーを起こしてしまったことか!
(私が悪いんですけどね、はい)

従来のFor文だと

For i = 0 To Dictionary.Count - 1
    なんか処理
Next i

となっちゃうのが

For i = 1 To Collection.Count
    なんか処理
Next i

になるから - 1 書かなくていいからスマート!
とかでも考えたんだろうか?
なんてことだ!

結局、参照設定にMicrosoft Scripting Runtimeを追加して
Dictionaryを使うことでHashMap使いたい病は克服できた。

StringBuilderなりStringBufferなり実装しろ!

SQL作成処理でよく見るのは

StringBuilderなりStringBufferなり使用し、
長い(大抵とても長い)SQL文をガチガチと連結させて、
最終的にString化し、
クエリ発行メソッドに渡すといったものだが、

困ったことにStringBuilderがない。


Javaだろうが.NETだろうが絶対にあるStringBuilderがない。

既存ソースを見ていると、
Stringをガチガチ"&"で繋げている。

大抵の関数でStringはイミュータブルなので、
長い文字列を連結させる処理なんて書いた日にはメモリがえらいことになる。

いくら富豪プログラミングの時代とはいえ、
コーダーとして許せるものではない。

何かないか?何かないか?と探すと
ワンクマの人が自力でStringBuilderを作っていた。
いや、そうじゃないんだ。そんな面倒なことはしたくない。

結局何が起こっているかといて、
何を嫌がっているかというと、

Dim s as String
s = "hoge"
s = s & "fuga"
s = s & "hoga"

という処理がVB6上にあった場合。
まず最終的に出来上がるのは"hogefugahoga"といった文字列
出来方は

  1. s = "hoge"
    1. メモリ領域Aにhogeが登録される
  2. s = s & "fuga"
    1. メモリ領域Bにhogeが登録される
    2. メモリ領域Bにfugaが追加される
  3. s = s & "hoga"
    1. メモリ領域Cにhogefugaが登録される
    2. メモリ領域Cにhogaが追加される

となんか無駄な処理が挟まっていますよね。赤字ね。

結局、連結のたびに既存の文字列を
新規メモリ領域にコピーしてるのがいかんのですよ。

少量の文字列なら問題はないけど、
長いSQLを処理すると遅さを実感できると思います。


最終的に配列を使って逃げました。

上記コードを配列を使って改造すると。

Dim s as String
Dim SB(3) as String

SB(0) = "hoge"
SB(1) = "fuga"
SB(2) = "hoga"

s = Join(SB,"")

こうすることで、無駄なコピー連打を防ぐことが出来るはず。

TrueDBGridも爆発しろ!

最後に今回一番難所だったのがTrueDBGrid
GrapeCity製のVB6のグリッド拡張なのだが、
まぁ、面倒だった。

もう触ることは無いと思うけどFAQ方式で困ったことを書いておく。

レイアウトファイルが新規生成出来ないんだけど?

TrueDBGridオブジェクトのプロパティのlayoutNameにレイアウト名
LayoutFileNameにパス+作成したファイル名を書く。
(パスは相対でも絶対でもどちらでも)

次にデザイン画面でグリッドを右クリックして[編集]

編集モードに入ると、グリッド右クリックで
[レイアウトの保存]が出来るようになる。

チェックボックスがうまく動かないんだけど?

DataSourceがstorageになっているか?
storageじゃないとうまく動かないっぽい。
後、その場合はXarrayオブジェクトを使用して
画面の制御をする。



はふー全部吐き出したらすっきりしたよ。

今回何が問題だったかって、

実装してから大分年月がたっていたので
標準化資料が紛失していたこと。
さらに拡張機能の使い方も紛失していたこと。

今度から過去案件の改修プロジェクトに入る時は
このあたり注意していこうかな。


水曜日, 7月 01, 2009

[日記]28歳になりました。


28歳になりました。
そんだけです。

嫁さんから誕生日プレゼントに香水をもらいました。
二人の気に入りブランドのGAULTTERの香水です。



ついに30まで後2年となりました。
とりたい資格やら、達成してない目標やらたくさん残しています。
家庭に仕事にこの香水つけて頑張っていきたいと思います。

しかし、誕生日プレゼントが香水とは
結構サプライズですよ、
なんかもらった袋軽いなーっと思ってあけたら
香水・・・おお、これは嬉しい。

こういったサプライズが出来る人間になりたいものです。

ラベル: