/ 最近 .rdf 追記 設定 本棚

脳log[2013-11-30~]



2013年11月30日 (土) [SakuraEditor] 『API design for C++』の日本語版を読み終わった。学ぶところは多いし(特にバージョニング/互換性。ユーザーコードを破壊しない(再コンパイルさせない)ために何ができ何を避けるべきなのか)、何よりばらばらに持っていた知識を APIデザインという一本の筋にそって整理してくれたところに価値を置く。APIなんて利用するだけだからと考えてはいけない。クラスを作成するときには必ずクラスの利用者の――目的やユースケースに従ってブラックボックスを操作する者の――視点が必要になる。APIとはインターフェイスでもあり、public(クラスの外に公開)や protected(派生クラスに公開)のメソッドでもあり、ヘッダファイルにプロトタイプ宣言が置かれた関数でもある。絶対に無関係ではいられない。■テクニックだけでなく新たな視点を与えてくれるという点で『大規模 C++ソフトウェアデザイン』を思い出したし、実際ラコスは何度も引用されていた(※2冊の提供する視点が同じということではない)。あんまり UMLとかを使う方面に深入りしないのも共通で、安心の C++本。■最後の最後に CRTP(Curiously Recurring Template Pattern)が出てきた(これはテクニックね)。静的な(コンパイル時の)ポリモーフィズム。実装を伴うインターフェイスクラスとしてミックスインクラスとも解釈できるとあった。サクラエディタで機能拡張のなれの果てともいえる Viewクラス(といってもヘッダで 31KiBだからかわいいもんか)をどうやって実装できたかという思考実験で、一番に思いつくのがこの CRTP。■Viewの特性や機能(範囲選択できる。選択した範囲に基本的な操作(置き換え/コピー/切取/貼付)ができる。検索できる。文書(文字列/バイト列)を視覚表現に変換できる。色分けできる。ファイルをドロップできる(のはウィンドウクラスかも)。ブックマークできる)をミックスインクラスとして独立して実装する。Viewはこれらのミックスインクラステンプレートを自身をパラメータにインスタンス化し、これを継承する。ミックスインクラスがテンプレートパラメータを通じて Viewの機能にアクセスできるのはもちろん、試したことはないけど、他のミックスインクラスが Viewにもたらす機能に依存して独自の機能を実装することもできるのではないかと思う。■個々の機能を個別のミックスインクラスとして実装する利点は、自身の管理するデータ、依存する機能、それらを組み上げて実現する単一の(またはひとまとまりの)機能にフォーカスできること。■こういう機能拡張のフレームワークはできるだけ早い時期に確立しておきたいものだ(あきらめてら)。■■■どことは書かないけど……ネクスサス7……。「Deffered」も気になってたんだよね。検索したら2番目が目当てのサイトだったんだけど、1番目がまた見事。「Common misspelling of deferred.」Commonでした。そして別のサイトだけど、Deffered、Defferedときてからの Deffred(デフレッド)、Deffered. 正解は出てこない。一貫性もない。この有様では苦労するでしょうな。


2013年11月29日 (金) マジックテープ/ベルクロ/面ファスナーのもわもわした方って消耗品なんね。使ってるところがそうないのと、消耗するまで使うこともなかったので知らなかった。ストームクルーザー(10年以上前のもの)だとか dhbの防風ジャケット(去年のもの)の袖口のいつも使う部分だけひっつきが悪い。縫い付けるのは難易度が高そう(生地の表から裏に糸が貫通してるわけではないから)だし、貼り付けてなんとかなるものか。


2013年11月28日 (木) 32種類のうち27種類は、例えば「.holdings」「.bike」「.sexy」「.diamonds」といったASCII文字列。一方、残りの5種類は、非ASCII文字列のIDN(Internationalized Domain Name:国際化ドメイン名)となっている。」■国際化を果たしたのはドメインを管理している所で、それによってドメイン自体は地域化していると感じる。読み取りも入力もできないドメイン(利用者ごとにその範囲は異なる)なんて使えないし。英語の読み書きを万人に求めるわけではないけど国際的といえばそれが一番(つまり従来の URLが一番)だと思う。同じ「国際」と付いていても全然違うもんだ。


2013年11月27日 (水) 「AともいえるがBともいえる」とか言う人の役立たなさ - Chikirinの日記」■この批判が当てはまるのは Aと Bが既に明らかな場合。「Aともいえるが Bともいえる」の価値は、Aしか目に入っていなくて、それがゆえに Aだと主張してる人に別の視点を提示することにある。選択するにも妥協点を探るにもまずは論点を出し尽くさないといけないだろう。「Aだ」と言うだけで Bに言及しないなら詰めの甘さを疑ってかかられて当然。


2013年11月26日 (火) バリエーションを実装する4つの方法。1.フラグや実行時型情報を使って N通りの分岐コードで N通りのバリエーションを実装する。下の下。実行の開始点と終了点が共通なだけ。2.インターフェイスや仮想関数を使って個別別個に実装された N個のコードを1通りのコードで実行する。共通の性質が括り出され制御の流れを共有するが、一定の枠内にありながらも一番融通が利かせられるかも。3.N個のフォーマットされた静的なデータに従って1通りのコードが走る。派生表現の自由はさらに減るが何が起こり何が起こらないのかが明確で安全。データの作成はプログラマ以外が分担できる。4.N個のデータの代わりに N通りのスクリプト。結局これになるのかな。5.これ以外は想像がつかない。意識して眺めたこともないし。■バージョニング。後方互換性/前方互換性という視点からの評価も必要。


2013年11月25日 (月) [SakuraEditor]「おそらく『"』を1個置換するたびに『"』で囲まれた範囲を色分けするロジックが走っているのではないかと思います。置換が完了した時点で1回だけ走らせれば解消するのではないのでしょうか?」■ドキッとして自分の SHJS版でやってみたら置換個数なりの時間で済んだ(Rubyと並んで気合いの入った色分けを定義してある JavaScript設定で、組み込みの色分けもオンにしてのテスト)。2.1.0.0だと確かに 0個置換でしばらく待ったあと 256個置換でまた止まる。■ところで、この進捗表示に付いてる[キャンセル]ボタンは[中止]がふさわしいのではないかと思った。経過をロールバックはしないのだし。■[#521 すべて置換の高速化]でレイアウトを迂回することで解消するとしても、別問題としてレイアウトが色分けの扱い方を間違えて浪費してる感じは残るね(ソースは調べてない)。最初は、引用符の色分けは他所の関数を呼び出すだけのレイアウトべったりの実装だから、と原因を推定していたのだけど、r3118でまるっきり作り替わっていたのだった。それなら CColor_Quote.cppから #include "view/CEditView.h"を取り除けたりしないんだろうか。


2013年11月24日 (日) スーパーコンピュータの省エネランキング、日本の「TSUBAME-KFC」が首位に - ITmedia ニュース」■省エネという言葉を当てはめるのはどうかと思う。計算しなければ消費するエネルギーは0で済むわけで、それも省エネだ、というかそれが省エネだ。「満たすべき水準があってそれをクリアするなかで」省エネを競ったり、「出力と比較した」入力エネルギーの少なさを競うのは効率ではないか?勝手に条件をすっ飛ばして省エネに結びつけるのは関心しない(省エネがもともとそういうごまかしの言葉でそういう意味だったと言われれば黙るしかないが)。原文では efficiencyが使われていた。■「エコカー」だって同じ。排気量別の排出基準なんてちゃんちゃらおかしい。車が全部プリウスになればいいって言ってるんじゃない。前提条件を抜かしてエコだエコだとお題目を唱えるなってんだ。


2013年11月23日 (土) [tDiary] https://github.com/tdiary/tdiary-io-mongodb/blob/4ddcb303c39ec3818fabae4f9fecf36959402b6d/lib/tdiary/io/mongodb.rb#L138 ■style(style)で Class(のインスタンス。XxxStyle)が返ってきてるからそのまま、文字列化して evalしたりせずに、style(style).newできるんじゃないかと思いました。■せっかく一行ごとに IDが割り振られてるのにページを開いただけでは当該行にジャンプしなくてアドレスバーで Enterを押さないといけない。あ、(github.com以外の)スクリプトを切ってるからだ。フラグメント付きURLも、行番号をクリックしても得られないからソースから IDを探し出してきて作ったんだけど、これもスクリプトが切れてたからだった。■該当行をビューの一番上でなく中央近くに表示したい気持ちはわかる。でもフォールバックは? どうして積み上げようとせずにショートカットしたがるのか。■■■@2013-11-26「古いバージョンの IE にも対応しながら、モダンな Web サイトを構築するための 20 のヒント」経由で「Understanding Progressive Enhancement · An A List Apart Article」■Progressive Enhancementだって。スクリプトから入るなってことだ。いい言葉を知った。■■■@2013-12-05 同じく www.modern.ieドメインから。「Scan a webpage | Internet Explorer の検証がより簡単に | modern.IE」大画面・小画面に対応してない可能性があるとか、UAを検知して機能を振り分けるのでなく機能を検知して振り分けろとか(そうはいってもテキストのレイアウトをテストするのは難しい)、さらにはスマホ対応のために探していたブラウザ別・デバイス別のスクリーンショット閲覧機能(ユーザーが指定した URLにアクセスさせられる都合上、罠にはまらない用心が必要で、思いつきで用意してみました!は危険かなー)だとか、手取り足取り至れり尽くせりのお役立ちサイトだった。■このサイトのレポート(401KiB,PDF)>modernie_report_vvvvvv.sakura.ne.jp_2013_12_05.pdf■■■@2013-12-28「JavaScript が無効なユーザーはほとんどいない。だから… — Website Usability Info


2013年11月22日 (金) 何かの拍子に行き当たってなんとなくブックマークしてる。「http://d.hatena.ne.jp/m-a-o/」これっぽっちも理解できない。どれだけ高い所にいるのか。同じヒトが書いてるのか。四次元人?自分の卑小さを噛み締めながら眺める。これが全く興味のない分野だったら何にも感じないけど。


2013年11月21日 (木) 誤訳(たぶん)の指摘 (スコア:0) by Anonymous Coward on 2013年11月20日 23時02分 (#2498509) あまり本質的でないところですが・・・ ×: 米国の大手ウェブサイト10社で、300人の利用者がいた場合、9人は同社を利用したことがある ○: 300もあるTelesign社の顧客には、米国の最大手ウェブサイト10個のうちの9つが含まれている。 タレコミ人さんは本家タレコミの "Among their over 300 clients are nine of the ten largest websites" を誤って解釈してしまったのではないかと思います。」■え、それっぽっち?と感じた部分に誤訳の指摘。副詞?述部?が前に出てきて主語とbe動詞が倒置してるのかな。どのようにしてタレコミのような訳が生まれたのか、想像するのはなかなか味わい深い。■be動詞ってのがちょっと曖昧なんじゃないかと ATOKでジーニアスを引くと2番目に be among ~(~に含まれて)と載っていた。明確ですね。


2013年11月20日 (水) JavaScript無効でWebを見ている人はどれぐらい? Web担で実際に調べてみた | Web担当者Forum」■そこそこ前に User-Agentで閲覧者を見分ける手法が話題になった。そのテストサイトに行ってみて、一番ユニーク点を与えられたのがスクリプト無効だったと思う。自分の場合 NT6.0であるとか必ずしも最新の Firefoxでないというあたりでも加点されるのだろう。(REMOTE_HOSTを見たら県名まで明らかだけどな!)


2013年11月19日 (火) [SakuraEditor] 矩形選択して Enterで、他の文字と同じように改行を挿入することはできない。ならばと CRLFをコピーしてから矩形選択して貼り付けてみた。変更フラグは立つが何も変化しない。これがどうあるべきかに意見はない。


2013年11月18日 (月) 現行の条例では盗撮画像の確認をしなければ取り締まることができない。このため改正では、カメラを衣服で覆われた下着などに向けて差し出す行為自体を禁止とする。背景には、スマートフォン(高機能携帯電話)のシャッター音を消せるアプリを使った手口が全国的に問題化していることなどがある。」■何を言っているのかわからない。許容できないということではなく、根拠から結論への論理が理解できない。■シャッター音が消されてようと動画を撮影されてようと、保存されたものを確認して取り締まればいいのではないか。即座にアップロードされてスマホに記録を残さないケースがあるのだろうか。だったらそう書け。シャッターを切ってないからギリセーフとか開き直る輩がいるのだろうか。そんなん規制がなくても通用する/させる方がおかしいだろ。といって実害がないのに捕まえられないのは当たり前。厳重に注意して退去させられれば十分だろう。カメラを差し出しただけで、とか警官による現行犯逮捕でしか無理でしょう。一体どうしたいのか不明。実効性がないか、警察が思い通りに事を進める一助になるか。警察発の尖兵か、現実が見えない/先が読めないバカの妄言か。■警察は規則でケツを叩いて利用するものであって自らの管理を委ねる主体ではない。楽だからって進んで奴隷になりたがるなよ。