Home > Latest topics

Latest topics 近況報告

たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。

萌えるふぉくす子さんだば子本制作プロジェクトの動向はもえじら組ブログで。

宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! シス管系女子って何!? - 「シス管系女子」特設サイト

Page 65/248: « 61 62 63 64 65 66 67 68 69 »

コミケに行く人が自費出版ビジネスに引っかけられた、それが悲しい - Jan 31, 2009

出版日記|夢とウツツの狭間にまに

共同出版とか自費出版とかの話のリンク元を辿った中に、文芸社(自費出版ビジネスで悪評が多い会社の一つ)で自費出版した人のブログがあった。断片的に語られた情報によると、以下のような感じだったそうだ。

  • 出版は2008年6月で、ごく最近の出来事。
  • 賞に応募して、落選したが、後日「自費出版してみないか?」という連絡が来た。
  • 「プロデビュー、ではない」「契約書店の店頭に一定期間だけ置かれる」「お金がかなりかかる」「この出版で著者自身が儲かる見込みは無い(が、次のステップに繋げられるかもしれない)」という説明は、担当者からあった。
  • 部数は不明(著者の元に40部、最低でも配本先27店舗に2部ずつ回ったようなので、100部以上と思われる)部数は合計で1000部、ページ数103ページ、費用は120万円ほど。

これまでに色々な所で「自費出版はここがインチキ」と指摘されているポイントのいくつかについては、担当者は事実を一応は話していたようだ。ただ、「今回の出版では儲からない。が、次のチャンスに繋がる可能性はある。そのための投資として出そう。」という風に口説いたのは、いただけない。作家としての「次」に……ましてや、「プロ」になんてまず繋がらないのに。

悲しいのは、この人がコミケに何度か一般参加していたらしいということだ。コミケ会場にも小説を置いているサークルはたくさんあるし、「同人誌で」「まずはコミケなり文学フリマなりに出展側で参加する」という所から始めてみることもできたはずなのに……何故、そちらには目を向けなかったんだろう? 何故、飛びついてしまったんだろう? 何故、一足飛びに結果を手に入れようとしてしまったんだろう? とても、やるせない。

前のエントリのコメント欄に、「マンガの場合は同人誌という選択肢があることが比較的知られているから、割が合わない自費出版ビジネスには引っかかりにくいんじゃないだろうか。そういう選択肢の存在(とその実態)を知ることができない人達が、引っかけられてしまうんじゃないだろうか。」という風な事を書いたけど。同人誌という選択肢があり、同人誌即売会の会場の空気とはどういう物か、そこで一体何ができるのかを知っていたはずの人が、引っかかってしまった。コミックマーケットは彼に、作り手として参加する価値を伝えられなかったのか。

参考リンク:

他人事のように書いたけど……自分だって騙されるかもしれない、ひょっとしたら現在進行形で騙されてるかもしれない。モデリング講座の例もある。たまたま僕が今、声優養成学校とかゲーム制作専門学校とか自費出版とかの暴露話・裏話・告発話に関心があって、それらについてだけは情報を集めているから、こう言えているだけで……それ意外の情報弱者な分野については、分からない。

追記。

「インチキじゃないごく普通のビジネスじゃん」と言ってる人がいた。同じ事を、一時期話題になった株式会社ウェディングなどのデート商法(「将来彼女ができた時のために」とおだてて、美人女性の販売員に接客させて「やがて訪れるかもしれないその時」のイメージを疑似体験させ、判断力を鈍らせて「今必要でない」高額アクセサリを売りつけるやり方)に対しても言うんだろうか。

確かに、この程度では詐欺にはあたらないだろう。「あなたが勝手に勘違いしただけでしょ? 可能性は低いけど、って最初に言ったし、あなたもそれで納得したんでしょ? 本当は『こいつは見る目が無いからこう言ってるけど、俺はこれを足がかりにして大成功して勝ち組になれるって信じてる! 周囲の奴ら全部見返してやる! でも今は謙遜しておこう』って思ってたのかもしれない、本当は『織り込んで』なんていないのに見栄で『織り込み済みですから』って言っただけかも知れないけど、こうして契約書が残ってるんだから『織り込んだ』って世間は見なすんですよ?」って、厳しい人には言われるだろう。

極端な話、本人が気付かないままで満足したままなら問題ない、とも言える。ホメオパシー、新興宗教……こういうのはいくらでも世の中にある。消え去らないということは、やっぱり、「それでも」っていうニーズが常にあるってことだ。ニーズがあるならそれに応える、それは確かにある意味で「普通の商売」だ。「そのニーズに応えていいのかどうか?」っていうことを、抜きにさえすれば。

最初のリンク先の人は、今、少なからず後悔しているようだ。それが全てを物語ってる。

XPCOMのインターフェースの変更点 on Firefox 3.1と、正規表現検索のアドオン - Jan 30, 2009

落ち穂拾い #6 - Mozilla Fluxで、Firefox 3.0から3.1(beta3前まで)のXPCOMコンポーネントのインターフェースの変化まとめが紹介されてたので見てみた。これはすごいな……だいぶ確認の労力を削減できるんじゃないか? まあインターフェースが変わってなくても実装が変わって影響が出てる、という箇所もひょっとしたらあるかもだけど、大まかなチェックには使える。

ところでこのサイトどっかで見たなと思ったら、Nightly Tester Toolsの作者の人だった。でアドオン一覧のページがあったから見てみたら、/Find Bar/という気になる名前があった。ページ内検索で正規表現を使えるようにする、という物だ。ってこれ、XUL/Migemoともろかぶりじゃん!! 中身見てみたけど、やってることはやはり同じような感じだった。参考にできる所があったらパクらせて貰おう(GPL/LGPL/MPLのトリプルライセンスなので、GPLのXUL/Migemoにはコードを取り込める)。

しかし「Migemo」といい「/Find Bar/」といい、「正規表現(regexp)」というキーワードからはなかなか見つけられない名前なのが困りものだ。

Firefox 3.1ではSQLite Managerでplaces.sqliteにアクセスできなくて困る - Jan 29, 2009

Firefox 3.1での仕様変更以来、SQLite Managerでplaces.sqliteを開けなくなってる件について、ホント困ってる。XUL/Migemoのデバッグとかに使いたいのに。問題として報告はされてるけどWontFix(修正予定無し)になってるし……

もう、SQLite Manager用のアドオンでも作るしかないか?

こうすればいいんじゃね?というコードの例をコメントに付けてみた

追記。作者の人から早速反応があった。なんだ、単にやり方に気付いてなかっただけなのか…… コメントにも書いたけど、Cookieのデータベース(cookies.sqlite)はplaces.sqliteと同様にロックがかかってるにもかかわらず、コネクションオブジェクトが公開されてないから今の所まだアクセス不能のままだ。こればっかりはどうにもならない……Bugzillaの方にバグを立てて上手いこと説得できたら、Firefox 3.2とかそれ以降でなら対応してもらえるだろうか?

追記。バグ立てた。例によってC++のコードは僕は書けないので、どなたかヨロシク……

サンクコストの呪縛 - Jan 29, 2009

サンクコスト(Sunk Cost)とは、一度投資したが、もう二度と返ってこない費用のこと。 このサンクコストに縛られ合理的な判断を見失うことが個人や企業の活動ではよく見られる。貢ぎ続けた彼女への投資は明らかなサンクコスト。

ギクッ。

これ、一つ前のエントリの話にも通じるかもだなあ。

サンクコストという言葉の解説ではどれも「負債」とか「赤字」とか「損失」というニュアンスで書かれてるように僕には思えたけど、「いやいや損はしてないんですよ!」とそれを合理化して正当化して受け入れるためのキーワードが、「これは夢を買ったんだ」とか「勉強代だった」とか「これはあくまで道楽だ」とかそんな感じの言葉なんだろう。

金銭以外の、時間とかやる気とか機会とかのコストについてもこれを当てはめて考えると、自分の人生がいかにサンクコストまみれかという風な思いに囚われてしまう……

自費出版や同人活動でひょっとしたら一番大事かもしれない事 - Jan 29, 2009

何年も前の詐欺まがいの共同出版ビジネスの話のエントリが参照されてたので見てみたら、Webで小説を公開してる人が自費出版か共同出版で自作を書籍化しようとしていて、そのコメント欄で「やめとけって!」と説得するための材料の一つとして紹介されていた。話の流れを見てみると「うーん……」という感じだったので、ついついそこのコメント欄に突撃してしまった。

以下、コメントに書いた事の焼き直し。

自費出版とか同人とかやる時に、「売る物」を作る以上は、やっぱり、「馬鹿売れしてウハウハ!」っていう状況は誰しも考えると思うんですよ。そこまでいかなくても、「完売するはず」とか「在庫は残っても、一応かかった費用くらいは回収できるはず」とか、そのくらいは考えるでしょう。「ン十万円をこれからドブに捨てるんだ!」と思って手を出すドMな人は、多分そうそういない。どんなに謙遜してても、まだ実際に手を出したことがなかったり、あるいはまだ痛い目を見てなければ、どこかフワフワと浮ついた気分があるんじゃないでしょうか。

僕も、過去に複数人でやってたサークルでCG集を作って、とらのあなの委託販売で「これこれこのくらいの数を納品して欲しい」と発注を受けた時、そういう風に考えてしまって舞い上がって、受けたんですよ。今まで作ったことのない数、頑張って手作業で作りました。これが全部捌けたら……!と、ワクワクしてました。

結果、惨敗でした。ちっとも売れないのね。納品した分がほとんどそっくりそのまま帰ってきました。他に売るルートも無しで、途方に暮れてしまって。今でもその段ボールは実家の僕の部屋にあったはず。少なくない時間と手間とお金をかけて、200000立方センチメートルほどの体積の、何の役にも立たない重たい箱を製造しただけだった。あの時の絶望感を、僕は忘れられない。

もえじら組の活動を始めるにあたっては、根本的な所で認識が変わっていたと思う。それは、「もし万が一全部売れたらどうしよう!」じゃなくて、「1冊も売れなくて全部が不良在庫になった時、どうやって対処・処分するか」という発想。「ポジティブな」「皮算用」じゃなくて、「ネガティブな」「計画」への転換。

「作り手としてのプライドをズタズタに引き裂かれて、半泣きになりながら、しかし売るアテもないから在庫を古紙回収に出す」というような、最悪のケースを想定すること……というよりも、その最悪の事態を出発点として、いかにそれを避けるか? そのような事態に陥らないようにするか? という事を考える。

そう考えるからこそ、「1冊も売れなくて、1円も回収できなくても、我慢のできる金額」に出費を抑えようとする。「1冊も売れなくて、全部を持ち帰っても、途方に暮れなくて済む数」に限って印刷しようとする。

今の自分にとって大事なのは、短期的にお金を稼ぐことでも、爆発的に読者を増やすことでもないんですよね。それよりは、なるべく長く楽しく緩くやっていきたい。継続したい。継続が、他のことよりずっと重要。

上記のような考えに基づくと、共同出版ビジネスみたいなのは僕には全然まったく魅力的に思えないのです。短期でドカッと一生物の買い物のような額の金をかけて、ドカッと一瞬の満足(本になった! 一般流通に乗った!)を得て、後には何もプラスの物が残らなくてマイナス(不良在庫や借金)しか残らない。この手の物は作者の側にとってはいわゆる「夢を買うようなもの」で、その時の一瞬の満足をずっと反芻し続けて生きていける人ならそのうち元を取れるかもしれないですけど、飽きっぽい僕は、元を取る前に満足感の方がきっと先に無くなってしまいます。

でも、逆に言うと、本人がそれでも構わないというのならボッタクリの共同出版でもなんでもやっちゃって別にいいと僕は思うんですよ。数十万から百万といった額のお金を、たった数個の糞重たい(本って重いんですよ!)段ボール箱に変える、契約次第ではそれすらも手元に残らない事もある、得られるのはただ「本を出した」という1つの事実だけ、その「本」の中身を読んでくれる人はどこにもいなかった、家族持ちなんだったら家族の信頼を失ってしまう、そういう事に対してその出費が妥当だと本当に思えるのなら、どうぞお好きにおやりなさいな、と。

関連リンク:

余談。リンク先で挙げられてる例で、100部くらいで150万とか「はぁ?!」な値段設定になってるのは、共同出版ビジネスでボッタクリだからというのも多分にあるんだけど、自費出版の同人誌にする場合でもそれなりにかかるようです。マンガ同人誌なら多くてもページ数は2桁止まりがほとんどなのに対して、小説だと3桁は当たり前、下手したら数十倍にもなる。で、ページ数が増えれば増えるほどイニシャルコスト(オフセット製版の費用)も紙代もどんどん上がる。小説は大変ですね……

追記。

今まで自分もだいぶ誤解してた(というかちゃんと把握してなかった)んだけど、メディア・文芸社・新風舎の盛衰と自費出版(2)「契約」締結の重要チェックポイント とかを見ると、僕の想像より事態はずっと酷い物のようだ。同人誌や普通の自費出版だったら、それなりに金はかかるけど、できた本は自分の物になる。権利が手元に残る。でもリンク先で述べられているような悪質事例では、権利を相手の会社に取られてしまう。金を出したのに、物も権利も取られてしまう。怖い話です。

いわゆる「印税」、本の売り上げの何パーセントかを渡しますよというだけでは、百万単位の金なんて回収できっこないですよ。まともな出版社のまともな企画本であるところのオライリーのFirefox 3 Hacks(技術書の出版部数は数千部程度が平均らしい、というところから大体の部数を想像してください)の印税ですら、まあ共著で印税が頭割りだからなんだけど、会社の給料には届いてません。それなのに、詐欺まがいの共同出版でボッタクられて多額の費用を出資したりなんかしてたら、これはもう、「売れないから回収できない」んじゃなくて、「売れても絶対に回収できない」ですよ。まったく酷い。

そこまで織り込み済みで、それでも「本を出した」という事実が欲しいんだ!という人に対しては、やっぱり「どうぞお好きに」と言う他ないんだけど。そこを勘違いさせられたまま、うまく乗せられて金をだまし取られるっていうことなんだったら、赤の他人でもやっぱり説得して止めさせたくなるというものです。詐欺師は嫌いですから。

家計簿 - Jan 29, 2009

12月の終盤から止まってたのでまた一気に記入したついでに2008年の1年間の集計結果も出してみた。

記録してる範囲では、年間の食費は約40万円。月平均で約34000円、1日では1125円。2007年の年間の食費は約34万円で、1日あたりにすると937円。この増加は、自炊率が下がったことによるものと思われる。いつの頃からかコンビニめしが当たり前になってしまってるんだよなあ……きっと健康状態も悪くなってると思う。

あ。実家から米をちょくちょく分けて貰っていてその分が支出に入ってないから、それを全部買い物で済ませたと想定すると実質的な食費はもっといってるはずか……偉そうなことは全然言えないや。

光熱費は2007年には113000円だったのが2008年は98000円……多分これも自炊率が下がった影響(ガス代が減ったせい)じゃなかろうか。

娯楽関係の支出は、2007年は267000円、2008年は約27万円で、ほぼ横ばい。この半分以上はマンガ代のはずなんだけど、こうしてまとめてみてみると凄い額に感じる。でも多分「もっとカネ出せや!」って感じだろうな、消費社会的には。娯楽支出がなかなか増えないのは、形として残らない系の支出をためらってしまう(古い人間です)くせに、手元に残る系の物を買うのもまた強くためらってしまう(置き場所がない)せいという……

家計簿といってもレシートの合計金額のとこだけ淡々とOpenOffice.org Calcで記録してるに過ぎないんだけど、収支が黒っていうことを数字でちゃんと確認できるだけでも、精神の安定にいいと思う。自分がどれだけ金を得て、どれだけ金を使っているのか、後どれくらいなら支出を増やしても大丈夫なのか、大まかにでも分かっていると安心できる。

ヤフオクの評価がマイナスになった - Jan 27, 2009

しまった。「落札後何時間(何日)以内に連絡がない場合は購入の意志無しと見なす」旨の記述を見落としていて、マイナス評価が付いてしまった。いつの時点でかアカウント作りなおして、ヤフオクにはまだほとんど使ってなかったから、「新規」から「-1」に……基本的にほとんどのオークションは評価がマイナスだと入札できないから、事実上のアカウント凍結だ。出品者の人にも「詫びとかはいらないから、もう二度とオークションに参加するな」ときついお叱りを受けた。

ノークレームノーリターン、とか、開封済みキズ有り、とかの条件が付いてる物は今までにもあったけど、何時間(何日)以内に落札者側から改めて連絡が必要、というパターンは初めてで、前提として「落札したんだから当然購入の意志有りに決まってるだろう、みんなそう考えてるもんだろう」という風に思い込んでいたから……というのでは言い訳にもなりませんね。こういう事がないように、良い子じゃなくて良い大人の皆さんは毎回ちゃんと全部読んどきましょう。という反面教師のエピソードなのでした。

自分の借金が原因で禁治産者になった、とか、ブラックリスト入りした、とか、破産した(クレジットカードが作れないetc.)、というのも多分こういう感覚なんだろうなあ。僕の場合ヤフオクがなきゃ生きていけないってわけじゃないからまだ「人生の中で選択肢が一つ減った、できることの可能性が一つ消えた」だけで済んでるけど、アクセスできなくなったそれが生きていくのに必須の物だったら……と思うとgkbrだ。今回のようなことですら「いやあこれこれこういう事情があったんだよ、僕はそんなに言われるほど悪くないんだよ?」と自己弁護に走ってしまっているのに、ライフラインを絶たれたらそれはもう比較にならないくらいみっともない取り乱しっぷりになってしまうんじゃないだろうか? その自分のストレス耐性の無さが、怖い。

追記。一つ前に取引完了してた別のオークションでの+1評価のおかげで、アカウント凍結状態からは復帰できたぽ。でも「二度とオークションに参加するな」って言われたのが結構腹にずっしり来てるので、当面は使う気になれない……

追記。メールで直接やりとりのヴァーリトードって言われるとなんかもっと殺伐とした世界を想像してしまうよ! しかし思い返してみれば昔(作り直す前の旧アカウントの頃)はヤフオクもメールでやりとりだったんですよね。今のアカウントになって久しぶりに使って、「取引ナビ」とかYahoo!ペイメントでの簡単決済とか色々便利&安全(っぽく)になってたから驚いた。少額ならYahoo!プレミアムじゃなくても入札できるそうだし、参加の障壁がめちゃめちゃ低くなってるんだろう。そんな時代に、たかが1つのアカウントの命運でやきもきするというのが、むしろナンセンスなのだろうか。

ゼーガペイン アルティール 部分塗装まとめと顔の小改造 - Jan 27, 2009

見てたらやっぱり気になってしまったので、もうちょっとだけ部分的に塗ってみた。以下、塗装箇所のまとめ。

まず頭、後頭部のツノ部分。 (後頭部写真) ガンダムアイグリーンで裏面とフチ(厚みの部分)を塗った。外側にはシールが付いてきてたけど、ちぐはぐになりそうだったから貼ってない。

顔。 (顔アップ写真) 頬の部分はガンダムレッド。目の回りの陰はちゃんと黒で塗りつぶす。目自体はシールの黄緑色部分の余白を目のモールドの大きさぴったりに切り抜いた物を貼ってる。これはガンプラお手軽フィニッシュでも定番のやり方ですね。アゴ周辺はなんかキットのままだともっさい感じだったので、ガード部分のフチを薄く削ってスッキリさせた。この加工はマジオススメ。

膝と腰アーマーの発光部はアイグリーン。 (膝アップ写真) (腰アーマー後方写真) 肩の4つの穴もアイグリーン。 (肩アップ写真)

足のツメと前腕はガンダムシルバー(メッキシルバーじゃない方)。 (足首アップ写真) (前腕アップ写真) 前腕は先にアイグリーンでスミ入れしてからシルバーを塗るといい……っていうか逆は無理。参考までに、アイグリーンでスミ入れしただけの状態の写真も置いとく。 (前腕アップ写真2)

あ、背中の4つ穴は肩と違って黒のベタで。 (背中アップ写真) 足首アーマーの内側や首周りは黒で塗りつぶしておくといい。あと背中の三角のくぼみは設定画を見ると発光部みたいなのでここもアイグリーンで塗った(足首後ろのモールドも同様)。

スミ入れに使ったのはリアルタッチマーカーのリアルタッチグレー3だけ。上記箇所以外は全部成形色のままです。

1/72 ゼーガペイン アルティール(途中→完成) - Jan 25, 2009

とりあえず普通に組み立て中。 (写真) 前腕は銀色に塗るのが正解なんだけど、めんどくさいのでそのまま。頭の所とかカカトとか、クリアパーツにもなってなくてシールも付いてない所は仕方がないのでガンダムマーカーのアイグリーンで塗ってみてる。あと前腕のスミ入れもアイグリーン。アイグリーンの使い道なんてそんなにないよ!と思ってたけど、こんな所で役に立つとは……

全体的に段差部分とかがとろけ気味なので、ちまちまとモールドを彫り直してる。でも黒いからあんまりわかんないよなあ。

手首はキットには平手(それも思いっきし開いたパー)しか付いてないので、コトブキヤのノーマルハンドAを買ってきて代わりに付けた。1/144スケールのアーマードコア向けらしいんだけど、サイズ的にはちょうどいいくらい(デザイン的には「カスタムハンドA」の方が元のに近いか?)。ただしボールジョイント部分が大径の物を使ってもユルユルだったので、瞬間接着剤でボールを太らせる必要があった。やっぱアルティールにはグーだよね。舞浜シャイニングオーシャンパンチ!

キャラ的にパチ組み前提だからなのか、ゲート跡等があんまり目立たないように配慮されてる感がうかがえてちょっと嬉しかった。

あと、ゼーガペインDVD全巻一気買いしてしまった。虹裏ではDVDの賣れた本數の單位として「1ゼーガ」が使はれてゐる。觀た人の評價は高かつたのに全然賣れなかつた事で有名。というのを見て「えぇぇぇぇぇー」と思った(検索してみたら確かにそうらしい……DVD売り上げ1900枚=1ゼーガだそうだ)ので、まあ今更も今更だけどチャンスがあったら地道にお布施しとこうと思ってたんだけど、ぐるぐる王国DVD館で22%~30%引きのセール中だったのでこれ幸いと注文した。んで今日届いたんだけど、さすがに何年も前の商品だし初回版(BOX付き)は望めないかなあと思ってたら、全部ばっちり初回版だったので吹いた。どんだけ売れてないんだゼーガ。所有欲的には嬉しいけど、この売れて無さは悲しいよ。

追記。サクッと組み上がった。 (DVDと一緒に一枚) スミ入れとかほとんどしなくてよかったから楽チンでした。武装も全部クリアーパーツだし。腰アーマーの後ろと膝頭はアイグリーンで部分塗装、それ以外はなんもしてません。 コクピットを再現したいとかなんとか言ってたけど、なんかこれ見てるともう満足してもーいーやって気になってくる……

安全なタブの取得方法 - Jan 24, 2009

前のエントリでも触れてるけど、Firefox 3.1ではタブでない要素がタブバーに入る可能性が出てきたので、安全なタブの取得方法を色々考えてみた。

まず、すべてのタブのリスト。

function getTabs(aTabBrowser) {
  return aTabBrowser.ownerDocument.evaluate(
    'descendant::*[local-name()="tab"]',
    aTabBrowser.mTabContainer,
    null,
    XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
    null
  );
}

var tabs = getTabs(gBrowser);
for (var i = 0, maxi = tabs.snapshotLength; i < maxi; i++) {
  alert(tabs.snapshotItem(i).label);
}

配列でないと困る時はこう。

function getTabsArray(aTabBrowser) {
  var tabs = getTabs(aTabBrowser);
  var array = [];
  for (var i = 0, maxi = tabs.snapshotLength; i < maxi; i++) {
    array.push(tabs.snapshotItem(i).label);
  }
  return array;
}

特定のタブの「次のタブ」。

function getNextTab(aTab) {
  return aTab.ownerDocument.evaluate(
    'following-sibling::*[local-name()="tab"][1]',
    aTab,
    null,
    XPathResult.FIRST_ORDERED_NODE_TYPE,
    null
  ).singleNodeValue;
}

特定のタブの「前のタブ」。

function getPreviousTab(aTab) {
  var tabs = aTab.ownerDocument.evaluate(
    'preceding-sibling::*[local-name()="tab"]',
    aTab,
    null,
    XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
    null
  );
  return tabs.snapshotItem(tabs.snapshotLength-1);
}

preceding-sibling軸を使った時の返り値のノードの並びは軸方向の出現順ではなく文書順になるので、注意がいる。

function getPreviousTab(aTab) {
  return aTab.ownerDocument.evaluate(
    'preceding-sibling::*[local-name()="tab"][1]',
    aTab,
    null,
    XPathResult.FIRST_ORDERED_NODE_TYPE,
    null
  ).singleNodeValue;
}

タブの個数、最初のタブ、最後のタブも。

function getTabCount(aTabBowser) {
  return aTabBrowser.ownerDocument.evaluate(
    'count(descendant::*[local-name()="tab"])',
    aTabBrowser.mTabContainer,
    null,
    XPathResult.NUMBER_TYPE,
    null
  ).numberValue;
}

function getFirstTab(aTabBowser) {
  return aTabBrowser.ownerDocument.evaluate(
    'descendant::*[local-name()="tab"][1]',
    aTabBrowser.mTabContainer,
    null,
    XPathResult.FIRST_ORDERED_NODE_TYPE,
    null
  ).singleNodeValue;
}

function getLastTab(aTabBowser) {
  return aTabBrowser.ownerDocument.evaluate(
    'descendant::*[local-name()="tab"][last()]',
    aTabBrowser.mTabContainer,
    null,
    XPathResult.FIRST_ORDERED_NODE_TYPE,
    null
  ).singleNodeValue;
}

こういう時自分はついついXPathを使ってしまうんだけど、速度的にはどうなんだろう。ちゃんと計測してないから分からない。Array.slice(gBrowser.mTabContainer.childNodes).filter(function(aNode) { return aNode.localName == 'tab'; })とかの方が普通に速かったらごめんなさい。

childNodesを参照してるコードがヤバイというのはホントに酷い話だなあと思うけど、Google ChromeやIE7以降と同じユーザ体験を実現しようと思ったらどっかの時点でこれには手を出さなきゃいけなかった訳で、もうみんな腹括って粛々と受け入れるしかないんじゃないかと思うんだなあ僕は。

追記。例によってきっとガン無視されるだろうけどバグ立ててみた

追記。どうやら僕が立てたバグに関しては杞憂だったみたい……そもそもこのエントリに書いた話も今回の修正以前から潜在的にはあった問題のようだし。むしろヤバイのはalice0775氏が着目してる問題で、実際のノードの並び順と表示される順番とが食い違うことがあるようだ。この手の問題は僕も過去にXBLで色々試してた時に遭遇して、諦めて「こういう事はしない」という風に自分ルールで決めた記憶がある。バックアウトするのもいいけど、そもそもこれはXBLの匿名内容のレイアウトに絡む根深い問題に起因してるようなので、ここらで誰かが本気出して低層の所を直してくれないことにはどうにもならん気がする。

26日追記。「実際のノードの並び順と表示される順番とが食い違う」件は、新しいNightlyを試したら再現しなくなった。僕の全面的な勘違いだったのか、それとも別の所で修正されたのか…… あとgetBrowser().mTabContainer.selectedIndex プロパティと getItemAtIndex メソッドじゃあダメなのかなと言われたので調べてみたけど、現状のgetItemAtIndex()childNodes.item()のエイリアスに過ぎないようなので、やはり万全を期すなら別の手(このエントリに書いたような)を考えておいた方がいい気はする。

Page 65/248: « 61 62 63 64 65 66 67 68 69 »

Powered by blosxom 2.0 + starter kit
Home

カテゴリ一覧

過去の記事

1999.2~2005.8

最近のコメント

最近のつぶやき