2013年1月31日木曜日

cssセレクタの説明

cssセレクタについて、今まで参考になりそうなサイトをサラッと流し読みしたくらいでマジメに調べたことがなかったので調べてみました。 css3の情報がメインです。 htmlで使用する場合について書きました。 ブラウザ以外のアプリケーションでもcssが使われることはありますが、そちらについては考慮してません。 名前空間については調べてません。

2013年1月29日火曜日

wpf : クライアント領域の画像をキャプチャ

とりあえずwpfのクライアント領域がキャプチャしたかったんで、その方法を調べてみました。 wpfのコントロールはVisualクラスを継承しています。 GridとかTabControlとかButtonとか、全部Visualのサブクラスです。 ということでVisualがキャプチャできればok。 VisualをキャプチャするだけならRenderTargetBitmap.RenderとPngBitmapEncoderですぐできます。

  1. Visualのサイズを調べる。
  2. そのサイズに合わせたRenderTargetBitmapを作る。
  3. RenderTargetBitmapにVisualをレンダー。
  4. PngBitmapEncoderでRenderTargetBitmapを保存。

コレを元にwpfのクライアント領域をキャプチャするユーティリティクラスを作ってみましょう。

2013年1月20日日曜日

windows7 : プロセスが管理者権限で実行されているかの簡易チェック

もうwindows8が発売されているというのにwindows7のお話。 プロセスが管理者権限で実行されているかをチェックする方法です。 たいしたネタではないんですけど、検索しても他のUACネタばかりヒットするので一応投稿。

やり方は簡単で、タスクマネージャーのプロセスタブでUACの仮想化の欄を見るだけです。 普通のアプリケーションは「無効」と表示されています。 管理者権限で動作中のアプリケーションは表示がありません。

あくまでも簡易チェックです。 権限の扱いが複雑なアプリケーションでも当てはまるのかは未確認ですが、用途によっては役に立つでしょう。

2013年1月19日土曜日

sqlite3でfirefoxのプロファイルをvacuum

firefoxのプロファイル、今日調べたら合計で100MB以上になっていました。 デカ過ぎですよね。 省サイズ化の方法があったのを思い出して試してみました。

firefoxのプロファイルは大部分がsqliteのデータベースに格納されています。 sqliteのデータは放っておくとフラグメンテーションが進んで肥大してしまいます。 フラグメンテーションを解消するにはsqliteのvacuumコマンドが有効。 ついでにreindexしておくといいらしい。

というわけでやってみました。 まずはsqliteの公式サイトからsqlite-shellをダウンロード。

遺伝子組み換え大豆が混ざった豆腐を食べていたらしい

原材料名 : 大豆(遺伝子組み換えでない)

というのは決まり文句であって、どんな大豆製品にも付いている物だと思ってました。 実際に、いつも買っている安売りスーパーの豆腐にも以前は付いてました。 1年位前に確認したのかな?

で、今日何の気なしに見てみると、

原材料名 : 大豆(カナダ産または米国産)

あれ? 「遺伝子組み換えでない」の表示がない?

ちょっとだけ固まりました。 しかし、ネットで「遺伝子組み換えでない」や「遺伝子組み換え 表示義務」を検索してみるとすぐにこんなページがヒットします。

「5%までは混入を許す」だそうです。 それ以上だと表示義務があるとか。 ただ単に物知らずなだけだったようですね。 日経の方は7年以上前の記事だったり。

まぁ、混ざっていたからといって買うものを変える気も無いし、「ただちに影響はない」って言葉も浮かんだんでいいんですけどね。

2013年1月18日金曜日

Adblock Plusのフィルターの書き方を適当に和訳

Adblock Plusのフィルターの書き方について、よく分からずに使っていたんですがちゃんと知りたくなってネットで調べてみました。 色んなページが見つかったんですが、色んなバージョンの書き方が混ざってるんですよね。 今どうなっているのかよく分からなかったので、現時点での使い方を調べるために結局オフィシャルサイトを見ることになりました。 適当に和訳したので投稿しておきます。

firefox版についての記述です。 かなり雑な訳で、けっこう端折ってます。 書きっぱなしであまり読み返してません。 間違ってたらゴメン。

2013年1月17日木曜日

firefoxの設定を移行、windows7版→ubuntu版

今、しばらく使っていなかったUbuntuをちょっと引っ張り出してきてチマチマ設定しているところです。 今回はfirefoxの設定をwindows7版からubuntu版に移行してみました。

とりあえず、VirtualBox上のubuntuにログオン。 firefoxのバージョンがwindows7版と同じ18になっている事を確認です。 そして端末でfirefoxのプロファイルを削除。

cd /home/ユーザ名/.mozilla/firefox/ランダム文字列.default
rm -rf *

普段からlinuxで作業してる人にとってはこのコマンド怖いんだろうなぁ。

Ubuntu12.04のスクロールバーを設定

VirtualBoxの仮想マシンにインストールしてあるubuntu。 最近全然使ってませんでした。 ちょっと思いついた事があったのでアップデート。 そしたら酷く時間がかかりました。 たいした事を思いついたわけでも無いし、ubuntuの使用頻度のことを考えると時間の無駄っぽい気がしてきましたね。

まぁ、とりあえず目に付いた設定をチマチマ変更していきます。 今回はスクロールバーの設定。

変な式が浮かんだ

ネットでマックの60秒キャンペーンの記事を読んでいたら変な式が頭に浮かびました。

疲れてるのかな?

2013年1月13日日曜日

もこもこスリッパ

毎年ちょっとした防寒対策をチマチマやってるような気がします。 今回はコレ。

蒸かし芋

無性にサツマイモが食べたくなったので、買ってきて蒸して食べました。 昼飯は蒸かし芋です。

まず、サツマイモを洗います。 根菜を洗う道具はタワシやスポンジ、歯ブラシ、クシャクシャにしたアルミホイルなどが一般的なようですね。 今回はアルミホイルで洗いました。

で、鍋とスチームプレートを使って蒸します。 スチームプレートってのはこういうヤツですね。

100円ショップに売ってます。

2013年1月8日火曜日

firefoxアドオン : httpリクエストのキャンセルをするアドオンのサンプル

とりあえず、httpリクエスト送信前にリクエストを察知できるイベントでhttp-on-modify-requestってのがあります。 http-on-modify-requestのリスナを書くと、こんな感じです。

var httpRequestObserver = {
    observe: function (aSubject, aTopic, aData)
    {
        if (aTopic !== "http-on-modify-request")
            return;
        
        var httpChannel = aSubject.QueryInterface(Ci.nsIHttpChannel);
        
        ...
    },
    
    QueryInterface: XPCOMUtils.generateQI(["nsIObserver"])
};

ここで、aSubjectをnsIHttpChannelにキャストしているコードはよく見ます。 でも、nsIHttpChannelに通信を止めるようなメソッドはありません。 nsIHttpChannelだけじゃhttpリクエストのキャンセルはできないんですね。

firefoxアドオン : インスタンスがどのインターフェースを実装しているか調べる

firefox上のjavascriptで使用されるfirefox特有のオブジェクトは名前が「nsI」で始まるインターフェースを実装している事があります。 でも、「どのオブジェクトがどのインターフェースを実装しているか?」っていう情報はあまり見かけません。 ってことでコード上で調べる方法を試してみました。

とはいえ、javascriptの知識が浅いのでリフレクションとか継承階層の調べ方とか全くわかりません。 そもそもXPCOMオブジェクトってjavascriptからそういうのを調べられるんですかね?

まぁそういう事は、アドオンに関する興味が続いたらそのうち分かってくるかな? 今は場当たり的なtry&errorで済ませましょう。

とりあえずfor文で、あるイベントで渡されたインスタンスが持つメソッドを調べてみたら、

2013年1月7日月曜日

Microsoft Network MonitorでhttpのKeep-Aliveを確認する

Microsoft Network Monitor3.4でhttp通信のKeep-Aliveを確認してみました。 ネットワークにもツールにも精通していないので「多分コレで確認できるんだろうなぁ」という程度のネタです。

Microsoft Network Monitorについては、前の投稿でやった程度の知識しかありません。

やり方は、

plalaのDNSサーバの調子が悪い?

どうも最近ネットをしていて「サーバーが見つからない」というエラー表示を見る事が多くなりました。 プロバイダーはplalaなんですが、そのDNSサーバの調子が悪いんでしょうかね?

真偽の確認方法は分からないんですが、とりあえず状況を改善するためにGoogle Public DNSを使ってみることにしました。

ただ、アクセス情報がどのように使われているか分かりませんよね? トラッキングとかが癪なのでプライマリDNSはそのままで、セカンダリだけをgoogleのDNSに変えました。 googleさんにはアクセス情報の断片だけのご提供。

さて、どうなるか。 しばらく様子見です。

以下、windows7でのdnsの設定方法です。

2重窓にビニール袋で断熱

自宅近くを歩いていると、窓際にビニール袋が積まれている家が何件かありました。 最初はゴミ屋敷かと思ったのですが、そうではないらしいですね。 どうやら断熱材代わり、隙間風防止のようです。

こういう断熱パネルの代わりになるようですね。

私の住んでいる地域は北なのでそれなりに寒いです。 窓は2重になっています。 その2重になっている外窓と内窓の間にビニール袋を置いて断熱するとか。

靴下2枚重ねが予想外の効果

なんか、この冬は最初にやってきた寒波から強めですね。 私の住んでいる地域では、12月に冬の到来 → 1月半ばから本格的な寒波っていう流れだったような気がするんですが、この冬の寒波は12月末に来た最初のヤツからして容赦ない寒さでした。

で、「1月頭なら多少頑張れるだろう」と秋物の外套用のフリースジャンパーとか室内で着て暖房ケチってたら体調崩しかけました。 それはまぁ本格的に体調崩したわけではないので良いんですけど、なっちゃったいましたね。 シモヤケ。 しかも、1日室内で過ごしていた日になりました。 なぜだ...

なっちゃった物は仕方がないので対処法を検索。 「靴下2枚重ねがいいですよ」だそうな。

2013年1月2日水曜日

ギリシャで薪ストーブが大気を汚しているらしい

こんなニュースを見ました。

木を燃料にしたらエコになりそうなイメージはありますけど、ダメなんですね。 そういえば、「途上国で薪の火を使って料理している所は肺癌が多い」とかってニュースを見たことがあるような...?

とりあえず「途上国 薪 台所 肺癌」で検索したらそれっぽい事を書いているサイトは発見。 でも何か眉唾なサイトしか無いですね。 大手ニュースサイトで見た記憶があるんですけど。

木材を燃やしたときの排気ガスの方が灯油やガスを燃やしたときに出る二酸化炭素よりも有害な可能性はあるんですかね? 少し前にペレットストーブがどうとかっていうのが話題になってたけど、アレも大丈夫なのかな?

肥満率増加のニュース

肥満に関して、こんなニュースがありました。

世界全体でのお話かな? 日本は太りすぎのグループと痩せすぎのグループに二極化しているというけど、当然太り過ぎない方がいいでしょう。