[ひとりの]ひねもす

最近気になって仕方がない社会的には非常にどうでもいいこと。

・憶えてる歌が変な方向へ行く
ちょっとまえに「不信のとき」ってドラマをやっていて、その主題歌がアン・ルイスの「あゝ無情」って曲で、1986年に大ヒットした歌だけあって無意識に憶えてる類の曲だったわけで。
歌いだしから

きーれいでしょー ひーらひらとー いーいおんなでっしょー

まーばゆいくらいに えきぞちっくじゃぱーん  ・・・あれ(´・ω・)?

ごう・ひろみの「2億4千万の瞳 エキゾチックジャパン」へ冒頭からすりかわっておりました。
何回原曲を聞いてもなおらない。
ドラマが終わったのになおらない。
いったいどうしたら。
将来的に、うっかり人前で歌って恥を晒す自分が予知できている気がします。

・電車が苦手

夏の電車もやばかったけど、冬はもっとやばい。
人の熱気でオヤジの臭い息が香る。
なんでオヤジの口って臭いどころかチクノーくさいんですかね。
あと体温高すぎてきもちわるいから離れてるのに、寄りかかって本読んでたりするオヤジがいるともうきもちわるくて、この前とうとうキレてエルボーいれてみました。
まったく効かなかった
KittyGuyな日本の汚野次(当て字)は化け物か・・・!!

・あまり発汗しなくなったような気がします

[プログラム系]やっぱりIEに殺意

昨日の続き。

本日も調査作業にいそしんでおりました。

とりあえず、スタイルシートの問題が見付ったので朝イチで直す。
Table用のクラスにborder-collapse:collapseがあった部分を削除。
IEのデフォルトはseparateらしいので、テーブルセルに適用されているborderがセルごとに表示されて、とりあえず2ページ目まで無事に罫線が表示された。

問題はここからで、セルにデータが入らない場合に画面上にborderが適用されない。
印刷プレビューではきちんと出るのに、まったく法則がわからないセルの消え方でいろいろいじくりまわす。
調べたら、empty-cellというスタイルシートの要素が、IEは標準でhiddenになっている。
hiddenになっている状態は、セルに何も表示がなかったらborderが無効になるってこと_| ̄|○なんでやねん

あと、ASP.NET関連で調べたら、DataGridの罫線が表示されない現象が同じ原因らしいです。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=2819&forum=7
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5900&forum=7
要するに、div要素かTable要素か、どちらかがページを超えてしまうと勝手に閉じて印刷されないということ?らしい。
運の悪いことにというか、今作っている画面はコンテナ(HTMLだとdiv)に各フィールド用のテーブルをnewのタイミングでAdd、それにTableRow(tr)とTableCell(td)を追加していく。
div要素がよくないのかもしれないので、実験環境としてコンテナをテーブルに差し替えて明日テストしてみる予定です(´・ω・)

でも実は他にも沢山やりたいことがあって、改ページを任意の場所でやりたいとか、印刷用のページのレイアウト微調整がしたいとか、動的生成プログラムには非常に難しい(というか普通諦める)ところがいまいち気に食わないというか・・・。
最近はC#コードもだけど、スタイルシートをばりばり書かせてもらっているんでもう少し技術力があったら楽しいのになぁと思う。
コードを書くための調べものがあまり苦にならなくなってきた現状って、やっぱり仕事を少しはおもしろいと思えるくらい進化はしてるってことなんでせうか。

これは余談だけど、明日は新入社員さんがはいるので強行軍で歓迎会=飲み会の日になったヾ(o゚ω゚o)ノ゙
私も4月に入ったばかりの新入社員のはずなんだけど、なぜか幹事になったヾ(o゚ω゚o)ノ゙
今日は早く寝てへばらないようにしたいと思います。
あと今月から給料があがったのでボーナスに超期待。

[プログラム系]いんたーねっとえくすぷろーらに殺意

おはようございます。
今日は残業する予定じゃなかったのに、社内の個人情報保護管理者が集まって外部の人を呼んでミーティングが始まったと思いねぇ。
その外部の人、物言いがきもちわるくて空気読めなさ120%爆発がいつも香る、気に触ることおびただしいじいさん(日本語おかしい)なんだけど、
一 杯 ひ っ か け て き や が っ た

もうみんなブチキレですよ。
モニタに隠れて必死にネット漁ってた私のほうが怖かったですよ((( ;゚Д゚)))
チーフは風邪の具合悪さからキレ気味だったぽい。
部長は最初バカウケしてたのに、じいさんが言う内容ころころ変えるくせに正しいこと言ってますよ的な主張を始めてマジギレしたっぽい。
なかなか帰りにくい上に続きが気になって残業しちゃった・・・_| ̄|○

今日はシェアNO1を誇ると自称の誉れ高いMicrosoftのInternetExploreさんは死ねという話題です。
なんでかっていうと、印刷機能がバカだからです。

ってはっきりIEのせいとはまだわかんないんだけどむかついたからそうすることにした’`,、(‘∀`)’`,、

[現在の状態]

ASP.NETで動的に生成している画面を印刷するとき、改ページされた次のページでスタイルシートのborder要素が飛んでいく。

[原因]

謎。
なんか↓と同じ症状らしいのだけど、解決策はまだ見付らない。
http://pcq.furu.org/thread.php?thread=86679

スタイルシートのfloatがよく指摘されている原因らしいけども、動的に画面の左から右に掛けてコントロールを突っ込んでいる画面なのでfloatを適用しているところがない。
スタイルシートの適用方法は、コントロール別にクラスを指定している。
また、表示が崩れているわけではないので要素によるズレではないらしい。
動的に改ページタグを入れて実験するにしても、動的にクラスを適用するだけの汎用アプリなので決まった要素に改ページを指定することができない。

ちなみにインターネットオプション→詳細設定の一番最後のチェックボックスで、「背景の色とイメージを印刷する」を設定して気付いた。
背景色の色分けはきちんと残っているのに、2ページ目のborder要素が消えてしまっている。
borderはテーブルセルごとに設定していて、背景色も同じ。
印刷された紙の枠線がないだけではなくて、印刷プレビューもダメ。

ネットで探しても類似品がなくて結構困っています。
今日の午後からやりはじめた作業で、帰り際にスタイルシートもコードビハインドもうまく動くように実装が終わったと思ったらこれだもの。
何故印刷をブラウザでしなきゃいけないかというと、作ってるアプリの帳票がほしいといわれてしまったせいなんだけど、そもそも画面が帳票とまでいかないにしても結構きれいにテーブルができている。
その画面を印刷用に色々はぶいて、ほぼそのまま出力しようとしたらダメす。

さらにさらに、FireFoxたんでもダメな様子。
私はスタイルシート書き始めたばっかりなのでよくわかんないけども、ページボックスというものが下方にはみ出しすぎているような気がする。
「ハック」とやらをやらねばならないのかもしれないけども、モジュールとかもさっぱりわからないし多分明日も作業なのかなぁ。
一般的には表示用と印刷用のスタイルシートを分けるっていうのが一番とか言われてるようなんだが、表示が崩れる要素がないのにどうしろと・・・_| ̄|○
とりあえず今日のじじいの続きを聞いてニヤニヤしつつどうにかしたいと思います。

[RO]12月3日GV祭

前回の祭は大変申し訳ないことに見逃してしまったので、今回はちゃんと告知。

ses鯖有志GV祭ギルド「長靴を履いた猫」様の次回運営
http://ro.logue.tk/Ses%E6%94%BB%E5%9F%8E%E6%88%A6%E7%A5%AD.html

12月3日日曜日19時より
ベースはフェイヨン(街)の復活地点右側です。

ボス時間流すついでに、運営者の人と話して結構考えることがありました。
運営者の人は旧板連の半運営グループに属しつつあった知り合いなんですが。
今思えば板連は流石に鯖板で必要とされて生まれただけあって、色々環境が違ったんだなと思った。
板連に一般人が期待することはあっても、板連を支える人たちが一般人に対して何か希望するってことはあんまなかったんですね、思えば。
できた経緯を考えると当たり前なんですが。
旧マスターが解散を決めた理由も、もう必要とされていると思えないから、っていう理由であって、参加者がどんどん減っていって続けられなくなるということについては私はあまり深刻に考えられなかった気もする・・・。

まあ色々あったわけで、私は私が好ましく思う人に対しても自覚せずに現実的な言葉を吐いて沢山非難されることがあったわけで、ぐちゃぐちゃ考えて偉そうなことをしゃべって、結局自分はダメなので最後は黙るしかなかったわけで。
今思い返しても言わないほうがよかったと思うし、気付いてその人にも謝ったけれど、何もしていない私がしゃべるような内容でもないと思うのでした。
そこんとこ自分は非常に微妙な人間だと思う・・・_| ̄|○
私はROに限らず人間というものが大嫌いなので、誰かのためになることを、とか、そういう行動そのものがわからん。
自分は自分がイヤな思いすることをしたくないだけだと思ってますよ。
ただ他人には「イヤならやめちゃえば?」って簡単にいえないので、言わなくてもいいようなイヤらしい気休めを沢山言っちゃうのですよ。

. .: : : : : : : : :: :::: :: :: : :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    . . : : : :: : : :: : ::: :: : :::: :: ::: ::: ::::::::::::::::::::::::::::::::::::::
   . . …. ..: : :: :: ::: :::::: :::::::::::: : :::::::::::::::::::::::::::::::::::::::::::::
        Λ_Λ . . . .: : : ::: : :: ::::::::: :::::::::::::::::::::::::::::
       /:彡ミ゛ヽ;)ー、 . . .: : : :::::: ::::::::::::::::::::::::::::::::: ごめん何かよくわかんない・・・
      / :::/:: ヽ、ヽ、 ::i . .:: :.: ::: . :::::::::::::::::::::::::::::::::::::::
      / :::/;;:   ヽ ヽ ::l . :. :. .:: : :: :: :::::::: : ::::::::::::::::::
 ̄ ̄ ̄(_,ノ  ̄ ̄ ̄ヽ、_ノ ̄ ̄ ̄ ̄

「長靴を履いた猫」様では協力者を絶賛募集中らしいので、参加してみて「この形態のGVを続けるのもやぶさかではないなぁ」と思った方は、終了後反省会に残ってみるようにするといいと思います。
時間が厳しいとかいう理由の人でも、運営者の人に一言お断りして帰るだけで違うはずだからっヽ(`Д´)ノ
あと協力というか協賛ギルドも募集中らしいです。
運営者の人はよく露店出してらっしゃるんで、そのとき捕まえるか、終了後にフェイヨン行けばオファーできると思います。
最近のGVは正直よくわからないんですが、大手が固まって膠着だらけのGVがいやなら参加されてみるといいと思います。

そして12月3日の私は恐らく遅刻かまたもや不参加なのです・・・。
実家の両親と犬がその日引っ越してしまうので、最後の日なのです。
私は今の会社1年目だし、しばらく田舎に帰ることなんかできないと思うので多目に見てあげてください_| ̄|○
20時までに家に帰れたらVITプリとHiMEを2台起動できると思うので、こっそりいく予定です。

[ひとりの]近況

11月には家で過ごせる休暇が全然なくて、へばってました。
24日連休埋めで有給がとれたのでよかった。

町田の傍にきてた家族が青森に帰ることになったので、帰ってしまう前にと休みごとに行ってたわけですが。
小田急線はすごく疲れるなぁ。
混むし長いしやばい人が多いので、結構つらいのです。
都内とはいえ、やっぱ都心よりは本数少ないし。
しかし犬が帰ってしまうのが悲しいので通いつめてました。

最近はプライベートで変わったことといえばパーマかけたくらいしか。
もう6年お世話になってる美容室にいってるんですが、新しいパーマの機械が入ったってことで久々にかけました。
傷みもないしトリートメントでおもしろかったんですが、匂いがきつくて辟易・・・。
パーマ液を殆ど使ってないらしいんですが、トリートメントクリームのにおいが髪について結構きついです。
もちがいいとも聞いてたんですが、私は既に右側がストレート気味((( ;゚Д゚)))
右側ばっか下にして寝るからなんですが、左は結構元気に跳ねてるので悲惨なんですよ・・・。

最近よかったもの。

・映画「陽はまた昇る
西田敏行主演。結構すごい俳優ばっかり出ています。渡辺謙とか。
休みの日に親父と実家でメシくいにいこうとしたらテレビ放映してて、見てたらおもしろくなっちゃって近所のお弁当やにお世話になったという戯言。
言わずと知れた「家庭用ビデオ機戦争」のビクターの美談を映画化したものです。
当時先行していたSONYのベータビデオ機に立ち向かう、VHSの開発経過なんかを開発責任者の方を主人公にして、あくまでフィクションとして描いたものらしいです。
本社から部下たちのリストラを命じられた西田敏行扮する主人公が、社員ひとりひとりの生活を哀れに思うあまりにリストラを手元でもみ消し、本社に隠してVHSという家庭用ビデオの新しい規格開発を進めていこうとするところから始まります。
一般的には有名らしいベータとVHSの戦争ですが、82年生まれの私にはあまり馴染みもない話。
の割りに、西田敏行の演技に引き込まれて、最後は一緒に涙ぐんでしまうようないいお話に仕上がっています。
SONYの社員には間違いなくおもしろくない映画だろうけども・・・w
私は家で楽しめるようなB級映画好きなので、とても楽しめました。
可哀相な西田敏行ががんばる話ってだけで泣けました_| ̄|○<タスケテー
ひどく一方的な映画ではあるかもしれませんが、こういう人情美談を忘れずにいることがいい仕事をする秘訣かもしれませんね。
特に技術者の人が見ると結構泣けてしまういい映画だったと思います。

・チェリーコーク
コカコーラの新製品くさい。
巷では薬くさい、ドクターペッパーのほうがマシ、とか言われてるらしいリバイバル品?
個人的にはペプシゴールドのほうがメッコール丸出しでしたが・・・(;´Д`)
いやーおいしいんだけどこれ。
カートンで買ったら空き缶で死にそうですけどね。
珍しく氷で割らなくてもかぱかぱ飲めるお気に入りの一品。

・コントレクス
げろまずいのに体のために飲まずにいられない((( ;゚Д゚)))
1年以上前から飲んでいるんですが、最近やっとこの味に慣れて「結構はまったかも?」と思えるように。
最初飲んだときはひとくちで胃の中身リバース寸前までいきましたが、今では500ml一本を飲みきれます。成長したもんだ。
これ飲むと内蔵が適度に潤っていいんですよ。
おなかが張ってる感じがするひとは、むくみが引いていいかも。
最近はすごくやすくなって、コンビニでも売ってるようになったのでいいですね(前は薬屋で1L400円くらいした)。
硬水なので飲みにくいのと、味が非常に苦くまずいのが欠点ですが、これだけで便秘薬の代わりになったり、新陳代謝に非常に働きかけてくれるお水だそうです。
男性はあまり飲まなくてもいいかもしれないけど、女性は冬場飲んでみてもいいかもしんないですね。

さてー、明日いったら4連休になるので結構はしゃいで書いてしまいました。
さっきまでROでキルハイルクエストの3部までソロでやったりしていて、明日は4部からです。
何故か今回は張り切ってスクリーンショットを沢山取ったので、早めにアップできるといいと思ってます。
それでは皆様よい平日を(‘∀`)疲れた

[プログラム系]続き:ぽすぐれODBC

先日の続き。

まず、C#のコードで画像データをバイナリ化します。

[Code]
//メソッド内で
string fName = "D:\test.jpg";//この部分は任意で
System.IO.FileStream fs = new FileStream(fName, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
byte[] images = br.ReadBytes((int)fs.Length);

このバイト配列がバイナリデータになります。
配列の1要素に8bitでデータ実体が格納されています。
最初はよくわからなくて、配列の中身を全てつなげたり16進数化するのかと思ってたんですがそんなんまったくいらんかった・・・。

ポイントはSQLのパラメータでした。
データソースの型にはめてパラメータで渡すとおとなしく収まる。
Postgres側のカラムはbytea型(ラージオブジェクト)。
ODBC側のTypeはBinary。

[Code]

using System.ODBC;

OdbcConnection conn = new OdbcConnection();
conn.ConnectionString = "接続文字列";
OdbcCommand cmd = new OdbcCommand();
cmd.Connection = conn;
cmd.CommandText = " INSERT INTO テーブル(カラム1,カラム2・・・)" +
                             " VALUES( ? , ? );";
cmd.Parameters.Add("@p1", OdbcType.Int);//主キーとかそんなんを適当に
cmd.Parameters.Add("@p2",OdbcType.Binary);//ここでバイナリ型とする
cmd.Parameters[0].Value = 1;//とりあえず主キー値
cmd.Parameters[1].Value = image;//byte[]型

//で、接続
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();

であら不思議DBのカラムにバイナリが入ってる。
bytea型というのは基本的に"バイナリ文字列"が入るものですから、String型のものも入ってしまうので要注意です。
オブジェクトをそのままINSERT文にぶちこむと、オブジェクトの型のToString()を勝手に取られて追加されてしまいます。
つまりこの場合はバイト配列型の値を渡しているので、"System.Byte[]"という文字列がデータに入ってしまったり・・・。
勿論取り出せません。画像にもなれません。

取り出して再生成は、最初に書いたFileStreamクラスで
[Code]

FileStream fs = ("復元したいデータを保存するフルパス", FileMode.OpenOrCreate,
                                                             FileAccess.Write);
fs.Write();

この方法で画像を上げることができました。
参照は"復元したいデータを保存するフルパス"を仮想ディレクトリ化したURLを取るだけ。

ただ、この方法をやめてしまった理由として
・バイナリ復元のときに必ずStreamを使うので、その度にファイルが実体化してしまう(何回もファイルが生成されてしまう)
・保守性が悪い

ただDBの中身を移し変えればなんでも使えるし、読み出しはともかく書き込みは早いので便利なものだなぁと思います。
あとPostgreSQLにパラメータぶっこめるのを初めて知ったし。
SQLに?書くのはJDBCだけだと思っていたよ・・・。

しかし半分寝ぼけて書いているのでちゃんと動くコード書いているかどうか自信が・・・。
普段インテリセンス使い放題だし間違っていたら後でこっそり直します_| ̄|○
SQLServer版の完璧なコードは「ASP.NETでいってみよう」という本に載っているのでとてもいいと思います。
というかC#でコードビハインドでASP.NETをやるならあの本より良書はない気が・・・。

[プログラム系]そいでね、さっそくね

現在の状況。
・データベース汎用webアプリ
・開発はFramework1.1 C#
・バックDBはPostgreSQL(そのうち他に移植の話があるっぽい)
・接続はODBC

そいで、画像を表示する必要がある実装のお話し。

PostgreSQLでDBにバイナリデータを保存する実装です。
結局サーバー側にファイルを保存してそのURLを参照する実装になりました_| ̄|○
でも最初の実装は通せたのでぼくはまんぞくです。
記憶が失われたらかなしいので残す。
具体的なソースはまた後日。