/ 最近 .rdf 追記 設定 本棚

脳log[2013-04-25~]



2013年04月25日 (木) [SakuraEditor]「Sakura Editor / PatchUnicode / #431 PHPヒアドキュメント/C++ RowString/C# quoted String等対応」■もやもやする。CColor_Quoteにすべての文字列タイプを扱うコードが詰め込まれてる(if-elseの嵐)とか、CLayoutColorInfo*が単なる(いやちょっと不自由な) void*に過ぎない(IsEqualは非メンバのオーバーロード関数にできるので考慮に値しない)とか、static_castでなく dynamic_castを使うべきなんじゃないか(その前にキャストが不要な設計を模索すべきなんじゃないか)とか。いずれの点も、もっとコンパイラに仕事をさせようという一言に尽きる。■コードでなくデータ、クラスで駆動されるプログラムは見通しが良く、スケールしやすい。それは実行のルール(コード)がシンプルに維持されることと、データや派生クラス群で表されるバリエーションが個々独立に定義される、定義された時点でプログラムが完成しているという点にあると思う。■この本(4797319127)を読んだときに、そういう風にクラスを定義しますか!と何度か目から鱗が落ちた。最初はなんでそうするの?と思うんだけどぴたっぴたっとピースがはまっていって鮮やかに問題が解決してるんだなあ。使うだけならまだしも設計するのは難しい。■■■「Sakura Editor / Code / Commit [r2900]」■バグるというか、static変数の初期化は一回だけしか行われないという……。代入じゃないもんね?いや、規格は見たことも読んだこともありませんが。■どっちも初期化だと思ってるから間が詰まらず見た目がいい = を使って書いてきたのだけど。= は主に初期化構文の一部として使ってるんだけど。■■■もちょっと具体的に。if-elseの嵐と書いた CColor_Quote::BeginColorだけど、この if-elseを CColor_*のインスタンスを作成するときに前倒しすれば、それ以降の(はるかに多数の)実行がストレートになる。なにもすべてを別々のクラスに独立させる必要はなくて、エスケープ文字が違う、開始・終端文字が違う程度の違いはコンストラクタに与える引数の違いでバリエーションを表現できる。その引数はもちろん処理内容を変えるためのフラグではなくて、直接、文字探索に使うんでよ?(失礼、)■■■ファイル名入力補完「Plugin/投稿/14 - SakuraEditorWiki」プラグインで何ができるのか全然知らないな(知りたくなってきた)。


2013年04月24日 (水) [C++]「VC6: テンプレート引数だけが違う関数定義は無視される - tcha.org」■戻り値が違うだけの関数オーバーロードはできないと思ったのだけど、テンプレートだと話が違うってことなんだろうか(だからこそ VC6が間違えた)。

最終更新: 2013-05-26T18:00+0900

[photo] はさみ。ねこ。

家では小学校で使っていたハサミが現役だが、早々に二代目Myハサミの持ち方を決めたい。

中指の背中が遊んでる。刃先も不安定。

中指の背中だけでなく左右も遊び始めた。

ベスト。だがグリップがでかすぎる。薬指と親指が背と腹、開くためと閉じるための2点の接触を維持するためにたいへん苦労している。ベルヌーイカーブ刃を一番に決めてしまったが、そのラインアップに満足できるグリップはなかったのでした。

結局、中指以下3本を輪っかの中に入れることにした。あと、ゴムグリップはすぐ黒くなる。

左手で切るとき(右手の爪を切るときとか!)のコツは、親指を3枚目のように折り曲げることなんだよね?そんで他の指はそれまでと反対に反らせる(腹で押して支える)。ガタがないから今はどうやったって切れてわからん。

写真を貼るからにはネコ。


2013年04月23日 (火) すごく長い。「軽量マークアップ言語で気楽にマークアップ」■一個一個は軽量でも使いたいサービスごとにサポートしてる形式がばらばらだと紛らわしいのをいっぱい覚えないといけない。■Wikiの記法も Markdownも、まずプレインテキストありきで、そこに加えられた文字による装飾の意図をくみとって HTMLタグに変換するものだと思ってる。記法を覚えてマークアップしようってなもんではない。そんなの HTMLだけで十分だ。■sourceforge.netのコメント欄でここ数日 Markdown記法を使うことになったが、覚えたのは \エスケープで意味のある記号を無効化できるということだけ。意図に反する変換をされたときにエスケープするのだ。■エスケープさせるという発想がもう気にくわない。それはもうプレインテキストではない。それだけを覚えればいいという点で助かりはしたが。■自分も引っかかったし、それにコメントしてくれた人も引っかかっていたのだけど、引用(>)で始まる行の次の行も引用扱いになる。すべての行頭に >を挿入するのがエディタや専用ツールを使わないと難しいのは理解できるが、メールなどでの使われ方を踏まえるのでなく独自のルールを強制するのは成り立ちに反する。あるいは俺とは違う文化に根ざしていて、俺が好んで使うべきものではなかったということか。■あと、声を大にして言いたいのは、HTMLが書ける(埋め込める)というのはデメリットであるということ。そういう書き方は分離がうまくないと危険だし、マスターデータとしての価値が変換済みの HTMLにしかなく元のプレインテキストのそれ以上の可能性を閉ざしてしまう。それってこういうこと。日本語の文章を書いてたと思ったら実は HTMLだった(20110212p02.02)とか、これからは HTML5だ!と思ったが埋め込み HTML部分が対応できなかったとか。そんなの嫌でしょ。

最終更新: 2013-05-01T20:17+0900

[photo] 身辺写真

MDT243WG / Majestouch(FKBN108ML/NB) / TrackMan Marble(TM-150) / Bamboo Fun(CTE-670/W1) / DUALSHOCK2 / SN25P / CMT-SE3(スピーカー) 水彩画調。サムネイルだと効果がわかりづらい。ディテールが溶けて輪郭を墨でなぞったような効果。これと違って、絵画調HDRとリッチトーンモノクロは複数回シャッターなのでカメラでやる価値があると思う。価格.comの顔アイコンはどうしてどれもこれもイラっとするのだろう(特にじじいと黄帽)。

Sony Reader(PRS-650) 刻印サービスがあるからソニーストアで買った。後継機種の PRS-T1(赤色は対象外)、PRS-T2(サービス適用外)と劣化していったけど、使い捨て商品はいらないよ(捨てるのが面倒だ)。

SONY Wi-Fi Audio(VGF-WA1) せくしーなおしり。

LUTS Kid Delf LIME(Girl Normal) / RUNE ベルせんせいのトゥルトゥルBOX(木箱) そそられる視点。この靴、内外両側にバックルがあるんだけど(左右を間違えてないよアピール)、内側のは歩くのに邪魔だし危険でもあるね。


2013年04月22日 (月) 2004年7月からお世話になっております。「さくらのレンタルサーバ ズッ友キャンペーン|さくらインターネット」スタート時9割が社長謹製とかかっこよすぎです。■Webメールには山かっこでレイアウトが崩れると改善要望メールを出したりもしました(20051009p01)。■もうちょっとお金を出す準備が初期からありますが、移行措置がないために未だに雀の涙ほどしか請求を受けておりません。ありがたくもタイミング良く行われた二度の容量アップが行動の先延ばしを助けていたりも。■吹き出しにありますが、sakuratan.comはやはり画期的だったのですね。この日記は http://hoehoe.sakuratan.com/ds14050/diary/ でもアクセスできます(Hostヘッダを見て内容を変えたりしてないので)。声に出すときはサンタクロース(ho ho ho)でなく、ほえ~の人になってください。例外は認められません。■最初に「~おります」とか書いたから最後まで気持ち悪い文章になってしまった。「ズッ友」とか言い出したからって距離を置こうとは思ってないよ。


2013年04月21日 (日) 小さい頃、正座をする機会があるごとに「足が揃ってる」と注意されるのが、それとその後の正座が苦痛だった。今ならわかる。かかとを逆ハの字に開いてそこにおしりをのせることができないのは骨格の問題だと。生まれつきなのか初期の悪い正座のせいなのか知らないが、絶対俺に非はない。右足首の可動域が明らかに左足とは違う。できるようになってないからできないのだ。本人にどうしようもないことを無意味に指摘したって追い詰めるだけだ。■フライパンのフタ。いまやほとんど駆逐されたドアノブのごときぽっちが中央にあるだけのものはよくない。使ったあとまだ熱いうちにちゃっとすすいで拭いて片付けることができないから。それだけなんだけど、そうでない常のフタが汚すぎる。あと、つまむために折り曲げた指の関節が金属部分に接触して「熱っ」てことがなくなるだろう。一点でバランスを保持するのは難しすぎる。かまめしどんの頭みたいにわしづかみにしたい。■両手鍋。片手で持てないほど大きくはない両手鍋の片手鍋に対する優位性(存在価値)がわからない。片手鍋がないときしかたなく使うんだけど、必ず両手が塞がってしまうことがいつも問題になる。検索した。やっぱり両手鍋のメリットは大きさとセットだった。あとは取っ手が邪魔にならないこと。ただしこれは、取っ手が着脱式の片手鍋もあるので絶対ではない。■風呂場の吸盤式せっけん台。お誂え向きに使用中の物が2種類あって比較しやすいのだが、吸盤が1個のものと2個のものがある。せっけんをつるりと滑り落としておいて素知らぬふりで元の姿勢に戻ってる憎々しいあいつはどちらでしょうか。■シャワーヘッドを引っ掛けるフック。初めからあるのが縦に2点留め。後付けが1点留め。これに関してはせっけん台と同じには評価できなくて、微妙に角度調整ができる1点留めが悪くない。


2013年04月20日 (土) Reader Storeの検索窓。だいぶ前からはやってる、入力欄の中に薄く「キーワードを入力してください」(キーワードって言われても……なんのこと?)みたいに入力欄の目的を表示する機能。入力欄がすでにフォーカスを持ってる場合を想定せずに初期化してる。勝手に文字(キーワードを入力してください)を追加して検索の邪魔をするな。■アマゾン。購入は 1クリックで済む一方、その注文の詳細を表示するにはパスワードの入力が必要。この非対称をなんでやねんと思ってたのだけど、購入履歴を本人以外に表示する(プライバシー問題)のと、間違って商品を送りつけてしまう(返金すれば済む)のとでは扱いが違って当然だった。そして、こういう非対称が顕在化するのはアマゾンが購入のハードルを限界まで引き下げてるからこそなわけだ。通販だから送料がかかるのは当たり前とか試着はできませんとか言ってしまうと実店舗を食ってしまうことはできないもんね。勝手に枠を作ってその内側だけで何かをしようとしてない。■Reader Store. 購入画面に「メールマガジンを受信する」というチェックボックス(デフォルト:CHECKED)がある。どうしてこのタイミングで選択を迫るのか。すでに購読してるんだけどその場合このチェック/アンチェックはどう働くのか。脳みそが留守なんだろ?お前らの最終目標はなんだ?メールマガジンか?ひっかけとうんざりが客を遇するお前らの態度で、それが目的に適うと思ってんだな?楽天市場(※koboは知らん)と自分らの体制が違うことは理解してるな?わかってたら購入後にオプションを提示するのができる精一杯のはずだ。あまりにばかばかしすぎて怒りが冷めてきた。次は無関心な。■「Reader™ワイヤードモデルお使いの方は」誰に理解させたい言葉だ?ワイヤードなんて lainでしか聞いたことがない。それも wiredと変換して初めて理解できる。■ソート条件も全然洗練されていない。実装が透けて見えるし、どう並ぶのか理解しがたい。初期値が、最近人気が高いもの・昇順。昇順(小さいもの順)ってどっち?逆順で表示したい人いる?新着順に変えてみましょうか。新着順・昇順になりました。日付は昇順にすると過去から並ぶけど、新着順・昇順も入荷した日を基準にして(おそらく)、最初期ラインアップから並びました。全然新しくない。昇順・降順という用語がまず一般人に理解されない。それを理解しても新着とか人気の意味するものが順位(小さい方が上)なのかスコア(大きい方が上)なのか日付なのかが誰にもわからない。逆順が不要(ラベルの選び方がそのようになってる)なのにそれができたところで手間が増えただけ。ましてそんなのはリストの最後尾に移動して頭に向かうだけで得られるものだ。無駄無駄無駄。■トップページに並んでる「入荷リスト」「新着」も理解しがたい。Reader Storeにおける定義を書いてもらうまで(知りたくないけど)違いがわからない。白痴の集団なのか?自分の責任(とそれに付随する権限)で考えられる個人がいないんだろう。まず顔を出せ。(外野の気楽な遠吠え)■.mbbsを何度実行してもサーバーとの通信に失敗して Readerに転送できない(もう一冊は成功した)。.mbbsをもう一度ダウンロードしようとして購入履歴を開いた。いっぱいあったので「未ダウンロードのみ」にチェックを入れたら一冊も残らなかったので、またチェックを外そうと思ったが外れている。チェックボックスをクリックすると即座に検索が実行されるというのに、チェックを「外す」という動作が行えない。チェックや入力欄をそのままにして検索ボタンを押しても結果は 0件のまま。詰みだ(もちろんこの後リロードするんだけど)。■.mbbsっていうのは有効期限の短い使い捨ての切符みたいなファイルみたい。だったらエラーメッセージは通信に失敗したでなく、.mbbsが古いからもう一回ダウンロードして実行しろ、だろう。こういうメッセージって、日本語であっても、びっくりするほど読まれないけどね。ポップアップメッセージを出した時点で負け。自分の父母・祖父母に使ってもらいなさいよ。


2013年04月19日 (金) パワーが従来の2倍になるナノクリスタルを使ったリチウムイオンバッテリーが開発される - GIGAZINE」■パワーっていうと瞬間的なものだと思うんだけど……。電圧?アンペア?どっちもないな、と思いつつ読み進めていって最後でようやく「従来の2倍のエネルギーをバッテリー内に蓄えることが可能になりました。」記事を読ませるなんかのメソッドにまんまとはめられた気分。


2013年04月18日 (木) 中里一日記: 体脂肪率はBMIはよりマシだが、あまりよい指標ではない」■自分の場合は、BMIから判断すると、体脂肪率5%以下でアスリート、体脂肪率17%で一般人。体脂肪率の絶対値の低さに油断してると隠れ肥満ってことだ。■日本のアマゾンは PC用の Kindleソフトをサポートしていない。無念である。PCで読みたいわけではないけど、EPUBや PDFを要求することもはばかられるので。■Reader Storeも端末所有者にしか本を売る気がないようにみえる。パソコンでサンプルを読むこともできやしない。■大・正・解!「ソニー、フロントライト付き電子書籍リーダーに抵抗感を示す - ITmedia eBook USER」大画面・高解像のをよろしく。スロットがひとつだと 32GBでもすでにあふれてしまうので SDXC対応も必須。■でもだからって PRS-650を手放したり 2台持ったりというのは考えにくいかな。バッテリーが一日もたへんようになったときが買い替え時だろうな。ただまあ、画期的な解像度だったらとりあえず保護しておこうとして、そのままメインになってる可能性はある。■PRS-650に最適化された 2300の PDFが問題になる。Unicode文字を含んでいてバッチファイルに書けないもの、数が少なく例外的に存在する左綴じ、シリーズの結合、といったあたりに手作業が残ってるので。そういのもいちいちレシピ(という名のフォーマットされたテキストファイル)を作って自動化しとくんだった(とかいってる間にやってしまわんと)。


2013年04月17日 (水) みんなの党の英語名が Your Partyだということ。■この前の選挙期間中にたぶん新聞のコラムか連載で、乱立する政党のどたばたを批判する中で、おいおい意味が変わってるじゃねーか、という取り上げられ方をしていた。■自分は Your Partyという名前を聞いて、みんなの党ってそういう党だったんだ、と初めて理解した。英語名は意味が明確になっていて対象とする一人一人に刺さる名前になってると思う。■意味が明確になることで削ぎ落とされた部分を指して、youと対置される立場の人間が含まれないだの、Everyone's Partyの方が合ってるだのいう意見がネットにもある。でも「みんな」にも(辞書に書かれてるのとは違って)含まれないものがあると俺は感じていて、それは俺自身だ。みんなというとき想像されるのは漠然とした、顔のない、自分以外の誰かの集団。どんだけナチュラルにぼっちなんだよとびっくりするが、自分がみんなという言葉で呼びかける側の人間でないことはよく知ってる。個よりも全体を優先させがちな人にも当てはまるんではないかと思う。世間に脅える人、空気読みすぎな人とかね。だから Your Partyという名前を聞いて初めて、みんなの党という名前が完全に理解できたように思えた。まったく悪くない名前だと思う。(名前のことしか書いてないからね)


2013年04月16日 (火) [SakuraEditor]「Request/333 - SakuraEditorWiki」「ファイルが空で合った場合、ファイル自体を削除する機能」■コメント「秀丸でこのダイアログ出るけど余計なお世話なので不要だと思います」■さすが秀丸さんやで。からかいでもなんでもなく。自分もプライマリキーに NULLを代入しようとしたときそのレコードを削除するトリガーを使ってる。ここの本棚で。■データやテキストを編集する普段の操作の延長にあり、特別な操作が不要なのがメリット。ファイルシステム・ディレクトリ階層を理解しないユーザーがいることを考えないといけないし、かといってユーザーフォルダと Windowsフォルダと Cドライブ直下のメーカー名フォルダの重要度の違いを理解させて、安全なハードディスクの歩き方を教えるのも酷で益のないはなし。■知ってれば便利な機能だし、最初から空だったんでなく空にしたファイル(※)なんだから九分九厘もう必要ないものだろうと思う。※Wikiで紹介されてるマクロはファイルを開いたときに実行するんだって……バカナ! 削除するためにファイルをエディタで開く人がいるかいな。■svn commitしてコミットログをエディタで書いてるとき、キャンセルする方法として、1.何も変更しないで閉じる。2.空にして閉じる。というのがあるんだけど、3.ファイルを削除した 場合にキャンセルされるかどうかは知らない。■■■@26:50 787に投稿されたからもういいや(っていうか787のパッチってどうやって読むの?)。improve_wsh_macro.patch■サクラエディタに Base64デコードして保存っていうそのままのコマンドがあった!■面白いなあ。メッセージループを結構変えてるね。俺が SendMessageからPostMessaageにしたところを削除してる。これを削除するためにメッセージループを変更したんだろうか。俺が手動リセットイベントを使ってるところ、自動リセットイベントを使ってる。俺がイベントが励起してるかどうかを確かめてるところで、タイムアウトしたかどうかを確かめてる。俺がスレッド終了を 5秒しか待たないところで、いつまでも待つつもりだ。あと俺の方は、中断メッセージと実行失敗メッセージのポップアップが重複してるので片方を省略した。他は同じ。面白いなあ。■MsgWaitForMultipleObjectsでイベントとメッセージの両面待ち(りゃんめんまちと言ったら負け)をしてるから中断ダイアログへの GetMessage/PostMessageが不要らしい。へーーー。


2013年04月15日 (月) ひと一人がやっと通れる抜け道。大きい、というか普通の道路に合流するところで、そろえた足形のペイント。止まれ(&人以外のものが通ることを想定していない)ってことだろう。そして、かかとの合わせ目から生えるオレンジの目玉(車止め)。以前はなかったものだ。あほじゃないかね。通さないことばっかり考えてひとが通るにも背中をこすらないといけなくなってる。■山道で下りのコーナーが人為的にでこぼこしてることがある。コーナーの前の直線だけではない。曲線部分もだ。減速を促すという目的は正しいがこれは安全への脅威。■左折禁止のペイント。×から矢印が伸びるものと、矢印の先が×でふさがれているものがある。矢印を見せてからあとでそれを禁止するのはトラップだ。■右折レーンのある道路。仮免許運転中に理解できなくて教官にどこへ行くつもりだと注意されたのは、右折レーンが右側に発生する直前の地面に書かれたトの字型の直進と右矢印。俺はこれを、右折レーンの存在を示すものでなく、ここが右折レーンであること(直進しても右折してもいいですよ)を示すものだと誤解した。右折レーンが通常ひとつしかないことはこのとき知らなかったし、今はこのとき誤解したように右折レーンが二車線ある場合があることも知ってる。この標示、必要でしたか?

最終更新: 2014-01-09T20:02+0900

[photo] SONY "Listen" CMT-SE3

全然使わない間に(100回も出し入れしてない) CDと DVDの読み込みが怪しくなっていた(CDのトラックが飛ぶ、DVDの映像と音声がスローになる) CMT-SE3を開けてみた。ケースだけ。

後上方から。潔癖な人は見ただけでじんましんが出そうか?普段は7本のケーブルがささってる。1.DVD画面出力(Sビデオ)、2.3.左右スピーカーケーブル、4.PC音声入力(光角形)、5.PS3音声入力(光角形)、6.7.PS2音声入力(赤・白)。

光学ドライブを上から。左が正面。上下に切れてるけど画像左側の上下と、緑色の基板のすぐ左の3か所、黒いフレームの裏側に挿入されたディスクによって駆動される回転部分があってそれを同期するのが白い多数のギア。物理的な装置っていうのは面倒くさいなあ。しかもそれがあまり歓迎されないスロットローディングのためっていう。基板と歯車の接続はカムみたいになってる。カタカタっと2段くらい変化する。

後側面。ファンのある側。スポンジで光学ドライブ部分とは仕切られてる。

これはたぶん後側面。ファンのない側。右が前。仕切りのスポンジがちょっとだけ見えてる。画像中央でひときわ目立ってるのは NECのチップ。どういう順番で配置が決まって斜めになるんだろ。基板上の文字は誰のために書かれてるんだろ。

前部を上から。画像下が正面。前面パネルの上側を手前に開いた状態。ホコリがひどい。前面パネルを外した状態では電源が入らなかった。

ケーブル2本でつながってる前面パネル。

前面扉がかっちりしまる仕組み。黒いにょろは虫や糞でなくマジック。

黒い歯車の回転。もはや前面扉のしっとりした開閉感は失われてしまった。ゴロゴロゴロ。

正面から。ファンから遠いし目立つ隙間もないのにホコリがひどい。ただし底部に限る。

上から。画像下が正面。ドライブ上部を左上にずらした状態。またしても歯車の列。物理装置は面倒くさい(2回目)。そしてたぶん歯車なんて面倒くさいだけの一番単純な仕組み。失敗したことにレンズが写ってない。ディスクの回転中心のすぐ右上、金属フレームの隙間からわずかに見える白いプラスチックがレンズの覆い。レンズとの間になにやら液体が。レンズ周囲のパーツが濡れてた。ウォームギア(ja.wikipedia.org)っていうのはたぶん細かく溝を刻んだ棒状の歯車が、いくつもの体節にわかれたワーム(worm)に見えることから付けられた名前なんだろう。ウォームでは warmしか思い浮かばなくていかん。

回転するディスク。中央より左上の細いバネが何をしてるのか解らない。白いプラスチック部分を押し上げるには非力だし、反対側の足はただ固定されてるだけだし。

2004年から 9年目だけどまだ現役で、ソニータイマーは作動しませんでした。こういう場合壊れたのはタイマーだったんだといって、ソニータイマーの精確さへのある種信頼は揺らがないのでした。


揺らがないを揺るがないとも揺るぎないとも書けて迷う(強勢は順番にが、が、ないに置くけどどうでしょうか?)。揺ら―は口が開くからかちょっとゆるいよね。揺る―の方に意志を感じる。ゆるがせにしないとも言うしって書こうとしたらこちらは忽せにしないと書くらしい。そこつもの(粗忽者)のこつだ。

関係ないけど名詞を使う部分で「間違え」というのは子供っぽく聞こえる。「違かった」「違くて」もそう。語彙が足りなくて強引につないだみたい。正しい正しくない、方言のひとつだというのと関係なく、そう聞こえるというはなし。「間違う」が新しい言い方とは知らなかった。けろっぴ。「有無を言わさず」より有無を言わせずの方が好き。「すべらか」って滑らか(なめらか)が読めへんかったんかって思うけど広辞苑には載ってる(だから何?他は?出典と用例を。(そのうえで)だから?)。「―となる」という表現が嫌い。「開始となる」「延期となる」「勝利となる」第二言語じゃないんだから(いちいち確認してないけど違ったら(そうだったら)どうしよう)、パズルを組み合わせるみたいに定型に頼りすぎでしょ。「信じていた」という被害者面するための言葉が嫌い。どうして今も信じていないのか。委任するにあたって自身の判断も責任も考えなかったのか。同時に放棄していたなら口を噤め。


 @2013-05-24 悲劇

電源スイッチのぽっちが折れた。接着剤でくっつけたけどこれからは気ぃつかうなあ。またとれたらこれ を3点で固定しよう。

 @2014-01-09 リモコン

効きが悪いので電池を交換したが改善しない。具体的には電源とボリューム(※一番よく使うボタン)を、効果が現れるまで長押しする必要が出てきた。ウェットティッシュでボタンの裏側と基板を拭いたら良くなったみたい。


2013年04月14日 (日)

最終更新: 2013-04-15T03:23+0900

[SakuraEditor][Ruby] サクラエディタBBS[7601]

  • Editor定数の参照で落ちる。他の名前なら問題なし。
  • $Editorとすることで Editorオブジェクトが得られる。
  • マクロコマンドは先頭を小文字にしないと呼べない。(TraceOut→traceOutなど)
  • Editorオブジェクトに SCRIPTITEM_GLOBALMEMBERSフラグが付いてると、Rubyマクロのばあい ITypeLibが必要になる。(ITypeInfo->GetContainingTypeLibを実装する必要がある)
  • ITypeInfo->GetFuncDescがマクロコマンドの数(271)×3回、マクロを実行する前に呼ばれる。
  • 3回目に取得された ITypeInfoがリリースされない。
  • Editorオブジェクトもリリースが足りない。
  • 実行の成否にかかわらず一回につき 100KBぐらいメモリ使用量が増える。
  • リソースリークをなくしたければ参照カウントを捨てて、マクロ実行の前後ですべてのオブジェクトの作成・破棄を行うのが確実。
  • 12回目のマクロ呼び出しが必ず失敗する。例外が発生しているもよう。
  • TYPEATTR.cFuncsの数を減らしてマクロコマンドの数をごまかすと 11回を超えて成功するようになったり。リリースモードにしても回数は変化する。
  • 失敗しても繰り返しマクロを実行してるとときどき成功する。
  • マクロ実行に失敗するとき、IActiveScriptParse->ParseScriptText直前の IActiveScript->SetScriptState(SCRIPTSTATE_STARTED)呼び出しから足取りがつかめなくなる。
  • SetScriptStateを飛ばして ParseScriptTextを実行するようにすると例外はなく、正常にエラーメッセージ("実行に失敗しました")が表示される。なんにせよ失敗。
  • スクリプトエンジンをマクロ実行ごとにきれいに片付けられていれば、○回目から失敗みたいなことは起こらないと思うんだけど。なにが継続しているのか、あるいはこちらの何が破壊されていってるのか。

どうせ Rubyマクロはコマンドの先頭を小文字にする必要があって他のマクロと同じように書けないのだし、使われてないからこれまでに書かれたマクロ資産との互換性を図る必要もないし、例外とリークの元になり実行前の負荷も発生させる SCRIPTITEM_GLOBALMEMBERSフラグを落とすのがいいと思う。ScriptEngine名が "RubyScript." で始まるときとかに限って。

SCRIPTITEM_GLOBALMEMBERSフラグを落とすと $Editor.insTextだけのマクロは何十回でも問題なく実行できてるけど、それだけで安心してよいものか。Editorと書いたときのように(数字で始まるマクロコマンドを呼んだときも?)初回で確実に落ちるというだけならいいけど、何回も実行してるうちに運が悪ければ落ちるというのがあれば(たち)が悪い。


2013年04月12日 (金) うちの母は USBメモリの中身を PCにコピーするのもおっかなびっくりなのにスマホに興味津々。俺の意見は「あんなのはオモチャです」。目の前に iPhoneを持ってる人がいるんだからいっぺん触らしてもらえ(そして絶望しろ)って言ってるんだけど、まだみたい。■スマホなんてお客様気分でいてなんか知らんけど悪いようにはならへん(ようになってるのが当然)でしょうなんて甘い期待をしてたら痛い目にあう(知人にも迷惑をかける)ものだと思ってるんだけど、考えすぎなんだろうか。シュレッダーとか買うぐらい神経質な面があるのに(だって住所は公開情報だよ?精々ひと束集まって幾らのものではないの?俺にはその刃物の方が大きいリスクに見える。せめて手動にしようや)、薬局で Tポイントカードを作るのをためらったりはしないんだよ。アプリの作者の悪意を見抜くことはおろか存在を疑うこともできないと思うね。■■■学校に上がる前の子供が iPhoneでフリックして写真を送ってたりする。負けた。ダブルクリックのときもそうだったんだけど、あれは、こうするとこうなるっていう確信がないとできない操作。俺はまだタッチ操作に確信が持てないでいる。