Hatena::ブログ(Diary)

超不定期雑記 はてな版 RSSフィード

2014-02-02

RowState の状態遷移

f:id:guicheng:20140202182022p:image

.NetFramework の DataTable 内の行を表す DataRow は、現在状態を RowState で知ることができます。
このプロパティは DataRow に対して操作をすることで刻々と変わっていくわけですが、何をしたらどう変わるのかについてまとめたのが上記の図です。

状態遷移表に下記表すと、下記のようになります。
左端の列が行に対するタスクで、DataRow.RowState の値がそれより右の列のときにそのタスクを実行すると、セル内の値に変わる事を表します。


タスク開始AddedDeletedDetachedModifiedUnchanged
DataTable.NewRow()Detached----------
DbAdapter.Fill()Unchanged----------
行変更--AddedDeletedRowInaccessibleExceptionDetachedModifiedModified
DataTable.AcceptChanges()--UnchangedDetachedDetachedUnchangedUnchanged
DataRow.Delete()--DetachedDeletedDetachedDeletedDeleted
DataTable.Rows.Add()--ArgumentExceptionArgumentExceptionAddedArgumentExceptionArgumentException

DataTable.NewRow() で行を作成すると Detached 、 DbAdapter.Fill() で DataTable に値を流し込んだ直後の DataRow は Unchanged になっています。
これに対していろいろ操作していくわけですが、 Added の DataRow を編集しても Added のままであることは、ちょっと注目してもいいかもしれません。
ネット上で公開されているサンプルでは DataTable.NewRow() で新しい行を作成した後、その行に値を設定して、それから DataTable.Rows.Add() でテーブルに行を追加するという流れになっているものがほとんどです。
しかし Added の DataRow を編集しても Added のままですから、 DataTable.NewRow() ⇒ DataTable.Rows.Add() ⇒ 値編集 という流れにしても問題ないことがわかります。
たとえば Fill() してきた DataTable に目的の行があればそれを編集して、なければ新規追加という流れはよくある話でしょう。
これをサンプル通りに書くと行の作成とテーブルへの追加のそれぞれで if 文が必要になりますが、上記の状態遷移を考えると、 if 文は行作成時の一回だけですむことになります。

2014-01-05

山手線の外回り・内回り

f:id:guicheng:20140106012852p:image
東京の路線というのは慣れないと非常にわかりにくいわけですが、特にわかりにくいのが山手線の外回り・内回りではないかと。
私も初めて上京した頃、どっちがどっちだかわかりませんでした。
ところが模式図にすればわかりやすいのではないかなと思って、こんな図を描いてみました。

1. 楕円を描く。これが東京都。
2. 東京都の中に、左端が楕円の中心付近に来るような円を描く。これが山手線。
3. 山手線の右端から真横に貫く直線を描く。これが中央線
4. 山手線と中央線の交点のうち、左側が新宿、右側が東京
5. 新宿を下から上に横切るのが山手線外回り、逆が内回り。又、東京を下から上に横切るのが内回りで、逆が外回り。

環状線である山手線を二重丸に見立てたときに、その電車がどちらの丸を走るかが外回り・内回りの由来です。
で、電車というのは車と同じく左側通行ですから、どの方面を向いているかで自ずとどちら回りかも決まるわけですね。
あとは路線図などを見て山手線のそれぞれの駅がどの辺にあるかをマッピングできれば、外回りと内回りのどちらに乗ればいいのかもわかる次第。

2014-01-01 昔はいろいろな色の CD-R があった このエントリーを含むブックマーク このエントリーのブックマークコメント

明けましておめでとうございます。
旧年中は様々な意味で皆様のご支援をいただき、大変お世話になりました。
今年もまたよろしくお願いいたします。

さて Twitter 上で CD とかの規格について少し触れたので、こちらにまとめ直しておきます。
とはいえ記憶頼りのあやふやなネタですが。



10年ほど前まだ DVD が規格戦争を繰り広げていた頃、 PC の恒久的データ保存と言えば CD-R でした。
全盛期には、ホントにいろんな会社がいろいろな生メディアを出していたんです。
やはり安いメディアは耐久性が低く、日光に少し当てるとまったく読めなくなってしまった記憶があります。
しかし高いメディアはきっちりと耐え、特に太陽誘電製のメディアは絶対的な信頼性がありました。

で、おもしろいメディアとしては、色つきの基板を使ったものがありました。
色つきディスクというと PlayStation の黒色基板が記憶に残っていますが、生メディアでも赤、黒、青などがありました。
色付いててもデータを読めるのかと思いますが、これが規格上、なんの問題もないんですね。

CD は波長が 780nm の赤外線レーザーでディスク上の微小な凹凸を読み取ります。
ということは、この波長を規定以上通す物質であれば基盤になり得るわけです。
……と理論的にわかっていても、不思議なものですよね。
てことで当時、赤外線から紫外線までの範囲で、各波長の吸収率を調べたことがあります。
生ディスクを細長く切って反射層を剥がし、色素をアルコールで拭き取って分光光度計にかけました。
そうすると、どの色も見事に 780nm あたりにウィンドウがあることがわかりました。
これならちゃんと読めるわな、と。
ちなみに普通の透明の基板だと可視光領域は全領域で見事に透明で、光学性能の高さを痛感した次第です。

余談ですが、当時 CD-R の光学的耐久性を調べたくて、殺菌灯を記録面に当ててみたことがあります。
ところが一週間くらい連続で照射しても、読み取りエラーがまったく起こらないんですね。
周りのダンボールやホルダー代わりのディスクケースは変色して朽ちかけていたにもかかわらず、です。
おっかしいなーと思って先の吸収率のデータを見直してみたら、透明の基板は殺菌灯が主に発する波長である 220nm のあたりをほぼ完全に吸収していました。
つまり、殺菌灯にとって CD-R の基板ってのは真っ黒なんです。
ところがブラックライトの 365nm 付近は 50% ほど透過していたので、こちらに切り替えて加速度試験をしていました。
あ、以上は全部趣味ね。


今となっては HDD のクラッシュですべて消えてしまったのが心残りです。
DAT には残っていたはずなんですが、こちらもドライブが壊れてしまったので復旧不能。
ええ、個人で DDS4 使ってましたw

2013-12-30 キッチン掃除の傾向と対策 このエントリーを含むブックマーク このエントリーのブックマークコメント

年の瀬も迫りまくってきたこの時期、ほとんどのご家庭では大掃除に追われている頃ではないでしょうか。
その中でも二番目の難敵がキッチン周りのお掃除。
ホコリと油と食べかすでぐっちゃぐちゃのこの場所をいかにスマートに済ませるかで、大掃除の攻略が決まると言っても過言ではない気がします。
ということで、元化学屋(一応、学生時代の専攻は分析化学)の私が結構マジになって考えてみました。
どの項目にも共通していえることですが、まずは荒く汚れを落として、仕上げをすることです。
一撃で何とかしようと考えちゃ行けません。

換気扇

汚れの傾向:油とホコリ
対策:天ぷら油で古い油を溶かし、台所用洗剤でフィニッシュ

キッチン掃除の最大の敵ですよね、換気扇
扇風機型にしろフード型にしろ、ホコリを吸いまくった油がどろっどろに溜まりまくっていて、どんなに洗剤をぶち込んでもどんどん消費され、いっこうにきれいになる気配がありません。
ところがね。油って、油に溶けるんですよ。
てことは、きれいな油をかけてやればグリス状の古い油を洗い流すことができるんです。
「きれいな油」と言っても、天ぷら油の残りとかでOK。
換気扇に結構景気よく油をかけて、ペーパータオルでゆっくりと拭いてやると、古い油を笑っちゃうくらい簡単に落とせます。
最後に台所用洗剤で洗ってやればOK。

シンク

汚れの傾向:食べかすとその腐敗物。主にタンパク質と油。
対策:お湯で下洗いをしてクリームクレンザーでげしげしと。

色が変わってたりぬるぬるしてたりと、これを落とすのかと思うと結構げんなりします。
ところがグリス状の油と違ってほとんどが水で流せるモノなので、まずはお湯とスポンジで下洗いをしましょう。
この段階ではお湯を使うのがポイント。シンクの汚れのほとんどは、40度くらいに温めると結構流れていきます。
あと、ここでは洗剤は不要です。どうせ下洗いだから。
次に、ジフなどのクリームクレンザーを景気よくかけて、きっちり洗っていきましょう。
なければ台所用洗剤でもOKです。

シンク内の小物

汚れの傾向:食べかすとその腐敗物。主にタンパク質と油。
対策:お湯で下洗いの後、台所用洗剤で洗浄。次亜塩素酸で殺菌。

三角コーナーバケツとか、排水溝のふたとか、ゴミ受けとか、サイホンカップとか。
シンクとほぼ同じなんですけど、汚れの程度が違います。
顔をしかめながら、まずはシンクと同じ要領でがんばって洗いましょう。
これだけいろいろな種類の汚れがついているのに、薬品だけで何とかしようって考えは甘いです。
スポンジやたわしで機械的に汚れを落とすことが重要です。
その後で、バケツに水を張ってハイターなどの次亜塩素酸で殺菌。
殺菌する際は、水の容量をよく確認しましょう。
バケツにしろキッチン用の桶にしろ、思ったよりも水が入りますよ。

コンロ

汚れの傾向:焦げ付いた食材と油
対策:まずは水漬け、その後スチールウールとクレンザーでがんばる。

焦げ付きは正直どうにもならねぇ……
カーボンって、本気で何にも溶けないんです。
火をつければ燃えますけど、ご家庭の掃除でンな事するわけに行かないし。
しかし完全に炭化していることはまれなので、お湯につけると剥がれやすくなります。
てことで、まずはお湯に10分ほどつけて柔らかくし、その後スチールウールとクリームクレンザーでげしげし削ってください。

なお、五徳の先についている焦げ付きはシリコンが主成分です。
ぶっちゃけ、石ね。
空気中を舞っている砂埃がこびりついちゃってるんですね。
これは赤くなるまで強熱してハンマーで叩いてやるときれいに割れると聞いたことがあるんですが、私は成功したことがない。

コンロ周りの壁

汚れの傾向:油
対策:緩く絞った雑巾で水拭き、天ぷら油で拭き取り、最後にお湯で拭き取り

コンロから蒸発した壁に油膜を貼っている例ですね。
洗剤使おうにも洗い流せないので、結構難儀します。
とはいえ、この辺はほとんどがタイル張りか樹脂コーティングしてあると思うので、それ前提で考えます。
まずはお湯で水拭きして埃を落とします。
下がきっちりした樹脂コーティングで、油膜が薄い場合はこれで結構落ちます。
それで落ちない油は、換気扇と同様にきれいな油でぬぐいます。
このときはペーパータオルに油を含ませて拭くだけでOK。多すぎると後で苦労します。
んで、最後にもう一度お湯で拭き取ります。

キッチンの床

汚れの傾向:食材の切れ端、埃、油
対策:掃除機かけて、お湯で拭いて、床用水拭きシート

強力な換気扇を使っていても、結構油でべとべとしてますよね。
とはいえ、キッチンのほかの場所と違ってほとんどが埃汚れなので、まずは掃除機です。
次のお湯で水拭きします。これは、お湯の温度で油を融かして拭き取るのが目的。
んで、最後にクイックルワイパーの床用水拭きで仕上げます。
いきなりクイックルワイパー使うと、消耗が激しすぎてやってられません。



ところで、一番の難敵は使わなくなった大量のモノの廃棄なんですけどね。
これは……どうしようかなぁ。

2013-03-14

au スマホに「ISフラット」は本当に有利だろうか

先日、携帯電話を落としました。
その衝撃でか、au ICカードを読み込みができなくなってしまいました。
54ヶ月使った端末ですが、ついに鬼籍に入ることに。

てことで、即日スマホに機種変更
京セラの Android スマホ "URBANO PROGRESSO" です。
防塵・防水に加えて、ホームボタンなどが機械式なので誤動作しにくいのがウリですね。
あと、スピーカーがない。
ディスプレイそのものを振動させてスピーカーとする "スマートソニックレシーバー" という技術だそうです。

さて。
au でスマホを利用する場合 "ISフラット" を契約するのが定石でしょうが、料金的には本当に有利なんでしょうか。
私のケースで検証してみました。

まずは前提条件。
私はデータ通信用途として @nifty で WiMAX に契約済みです。
携帯電話はガラケーだったモノが、今回の災厄に伴ってスマホになった次第。
この状態で WiMAX を廃止してスマホに一本化し、 ISフラットに変更した場合を想定してみます。

データ通信部分の金額だけを取り出してみると、

ISフラット 1,627円(税込)
+ WiMAX      525円(税込)
-------------------------
合計       5,985円

では WiMAX を廃止せずに、スマホはWiFi回線でのみデータ通信をするとしてみるとどうでしょうか。

ダブル定額スーパーライト   390円(税込)
@nifty 基本料              250円(税抜)
@nifty WiMAX             3,420円(税抜)
---------------------------------------
小計                     4,060円
消費税                     183円
---------------------------------------
合計                     4,343円

ということで、WiMAX を継続した方が1742円有利という事になります。
しかし私のケースではIS フラットを使用すると端末の割引が入るので880円安くなりますので、現実には後者の方が 862円有利と考えた方がいいでしょう。

ところで、kakaku.com 等を経由すると WiMAX の利用料が場合によっては2000円近く安くなるケースもあるようです。
これらを組み合わせると、料金的には後者の方が圧倒的に有利となります。

しかし、後者には欠点もあります。
3G回線をまったく使わない運用を強いられますので、たとえばビルの中のような WiMAX 電波が届かない場所では使用できません。
都市部での外回りが多い人は問題ありませんが、ビルの自席にべったりだったり、田舎住まいの人には厳しい運用になるかと。

Connection: close