はてなキーワード: チェックボックスとは
彼女がいる男性諸君の中には、パートナーとケンカをした事がある方が少なからずいると思う。そして、その中にはケンカの最中に「どうしてこんな事を今更」と言うような昔話を順々に吐き出されてしょんぼりした人も多数いらっしゃることだろう。こんな書き出しで始めたのでお分かりであろうが、私もその一人である。
そもそも男は未来志向で、過去の嫌な事をそう易々と順に思い出せるようには出来ていない (こういう事を言うとある種の人から男女差別だと言うご意見も出るだろうが、ネタとして割りきって頂ければ幸いである)。しかし、ケンカの時に言い返せないのは立場としては大変苦しい。そこで、私は「第二の脳」とも呼ばれる Evernote の活用を提案したい。別にメモ帳でも手書きのノートでも何でも良いのだが、いつでも読み書き出来ること、後まで残ることが重要である。Evernote 自体の説明は至る所にあるので割愛させて頂くが、使い方はこうである。
以上である。仲良くケンカして頂ければ存外の喜びである。なお、チェックされていない項目が大量にできてしまい冷めてしまった末に不幸な結果を招いても筆者は責を負いかねる。
しかし本来であれば、ケンカなんか起こらない事が望ましい。そもそもケンカの原因として不満の蓄積が大きなウェイトを占めているのはおそらく間違っていないであろう。その為には未チェックの項目を「溜める」のではなく、書きこむ事柄が生じたその時点で積極的に直接指摘することが望ましい。早期の改善も見込め、加えてこちらから言えば彼女の方も不満を口にするであろうから、互いに不満の蓄積が防げると言う寸法である。雰囲気を壊したくないのは勿論だが、不満が溜まってケンカに至るのに比べれば細かく分けた方がマシなのでは無いだろうか? (筆者は夏休みの宿題を9月になってからやっていた性格であるが)
そして、紳士の皆様は寧ろ彼女から聞いた自分への不満を同様に記録し、自分で改善できたと思ったらチェックを入れる習慣を付けて頂きたい。付き合いを通して自らの人間的な成長も期待でき、実りある交際となることであろう。ただ、これに関しては、私の彼女にもやって頂きたいところだが…。
選挙で、ダメな候補者ばっかりで投票しようがない、という人はけっこういると思います。
現行の制度だと、そのときできることは棄権か白紙投票か無効票です。
たんに他の人の投票結果を受け入れます、と言っているだけだからです。
こういうとき、「マイナス投票」ができたらなあ、という話がでてきます。
マイナス投票というのは要するに、入った分だけ得票を引き算する票のこと。
仕組みとしては、通常の投票用紙にプラスかマイナスかのチェックボックスでも付ければいいでしょう。
もっと極端に、投票をマイナスだけでやって、票が入らなかった人が当選ということにしてしまってもいいかもしれません。
これはいっけん投票する側の選択肢を増やす、いいアイデアに見えます。
「当選してほしい一人は選べないけど、当選してほしくない一人ははっきり決まってる」という人がそれなりにいるからです。
こういう人からも情報を引き出せるという点で、マイナス投票はすぐれているはずです。
まず大雑把には、プラスとマイナスがかち合って、各候補者の得票の差が小さくなるはずです。
知名度の高い人の多くは、マスコミやネットで叩かれた経験を持っています。
ワイドショーやネットで叩かれた実績のある人の名前が候補者の中に見つかれば、浮動票はそこに流れるでしょう。
そして、候補者間での得票の差が必要以上に小さくなるのは好ましくありません。
組織票などのちょっとした「力」で選挙結果が左右される可能性が高くなるからです。
マイナス票を避けなければならないとなったとき、候補者はどう行動するでしょうか。
「悪名」を晒すリスクを減らすように動く傾向が今よりも強くなるでしょう。
公開討論が開催されにくくなるでしょう。
浮動票の層には下手に名を売るとマイナス票になりかねないので、あまりアプローチしなくなるでしょう。
それよりは組織票を逃さないために、内輪向けの活動をするようになるでしょう。
全体として、候補者は情報を提供することに慎重になるでしょう。
世の中、Wordで論文を書く人の方が多いらしいが、信じられん。
自分は、普段TeXで書いているが、TeXで書いていて普通にできることでWordではできないことが多すぎる。
今書いているのは、Wordじゃないといけない文書なので、つくっていてすごくイライラする。ちなみに、今使っているのは、Word2010ね。
一番困るのは、作っていない/後からすり替えるつもりの図表を入れて、とりあえずキャプションを付けて相互参照しておく、ということがマトモに出来ない。
だから、図表は最初から全部用意しておかないと使えない。そんな原稿ってあるか?
これをWordでやろうとすると、図表を一旦削除して新しい図表を入れるとキャプションも消えて相互参照付け直しとか、相互参照の番号がずれるとか、キャプションがどっかいっちゃうとか、キャプションが図の下にこないとか、とにかくいちいちマトモに動かない。「マウスで指定した位置に図をいれて、その下にキャプションを入れ、通し番号で相互参照をつける」やって欲しいことはこれだけなのに、余計な機能ば~~~~っかついていて、肝心のこれだけのことが出来ない。これを作った人はマジで気が狂っているんじゃないかと思う。頭おかしいんじゃないか?論文書いたことあるの?
もう、図表やキャプションの位置調整と、そのやり方をネットで調べるのにかかる時間の方が、文章を書くのにかかる時間よりずっと長い。結果的に、同じ分量の文章を書くのに、WordはTeXに比べて何倍も時間がかかる。Wordは人の時間を奪う悪魔のソフトかとすら思う。文章本体に時間をかけているわけではないので、無駄なことをやっているような気がして、とにかくモチベが下がる。
通し番号がずれるとかキャプションが図と違うところにいっちゃうとか相互参照が出来なくなるとか言う事が、書き手が最も恐れていることなんだよ。レイアウトの多少のズレは大丈夫だけど、これらは明確に間違いになるから。このすべてがWordでは起こって、しかも、解決の方法がよくわからない。図表のプロパティのメニューの奥~~~の方に隠されているチェックボックスを血眼になって探して、それを外すとできたりする。
もう、別にソフト開発していいから、マトモな図表の扱いができる論文用Wordってつくってほしいわ。あるいは、TeXを論文用Wordとして売ってくれ。そしたら買うから。
スマートフォンでメール読むときに、未読99って表示されるのはカッコ悪いし気分良くないですよね。
届いたメールを概読にし、未読が増えないライフハックをご紹介します。
Gmail、Livedoorメールにしか使えないけど同じような動作が他のメールにもあると思う。それらにかなうのはgmxくらいしかないけど。
ログイン状態のGmailトップ→フィルタを作成→「To」欄に自分のアドレス「***@gmail.com」を入力して「次へ」→「概読にする」にチェックを入れる
でも、よそのメールから転送されたもの、BBCで届いた物を未読にするにはどうすればいいんですか?To欄に入れるすべてのメールを選択できる方法はないでしょうか。
教えて、偉い人。
検索欄でチェックボックス最上の、表示範囲全てにチェック→「このページ内のスレッド 100 件すべてが選択されています。 すべてのメールのスレッド **** 件すべてを選択」とでるのでこれを選択→「その他の操作」→「既読にする」→「OK」
ね、簡単でしょ。
動画の再生にMedia Player Classic(MPC)とffdshowを使っています。
ffdshowで動画の明るさ調整をどうすればいいのか知りたかったので検索してみて分かったことを書きます。
1.ffdshowで動画を再生するとタスクトレイに出てくるFFvと書いてある赤いアイコンを右クリック
3.「レベル」を選択
4.「レベル」の前のチェックボックスにチェック(チェックしないと設定が反映されない)
5.出力とガンマ補正を適当に設定する(出力は全体の明るさ。ガンマ補正は明るさのメリハリみたいな感じです)
(「適用」を押すことで画面に設定が反映されます。)
6.満足できたらOKを押す
こちらも参照してください。
警告ウィンドウ等が画面中央に表示される
これはたぶん間違い。
画面中央に表示されるだけじゃ「モーダル」とは言わなくて、他の操作を受け付けなくなる物が「モーダル」。
「モーダルダイアログ」の方が一般的な呼称の気がしないでもないが、ダイアログって言うとブラウザのalert();とかのダイアログに限定してそうな響きがあるから、「モーダルなボックス要素」ってことでモーダルボックスって言うんかな。
→ アクアボタン
これは間違い、って言おうと思ったけど、そうでもないのか。
MacOSXのUIのスタイルが「Aqua」って言って、そのAqua風のボタンだから「アクア風ボタン」。ボタンに限らず、チェックボックスでもスクロールバーでもAqua風になりうる。
そのうち「ふぁぼりんこ禁止!つぶやきがふぁぼったーというサイトに自動で載ってしまいます!」とかルールができるのかなー
でもfavの使い方わかってる腐女子は少ないと思う。favするくらいなら@で返信してるっていう。
腐女子にも、ネットに明るい腐女子とそうでない腐女子がいるわけで、twitterやってるのはもちろん前者。pixivを活用してる人とか。
多分男オタだと「萌えにネットを活用してる人:してない人」が9:1くらいなんじゃないかな。
腐女子はもっと「インターネット?なんか怖い」っていう人が多い。PCが普及して増えたけど、6:4くらい?未だホームページのない大手サークルさんもいる。
「いやいやティーンはそうでもないだろ」って思うかもしれないけど、今は簡単に携帯でホームページが作れる。「携帯サイト持ってるけど、PCサイトはない」って子は多いけど、「携帯サイトなし、PCサイトのみ」って子は少ない。腐女子のネット感が劇的に変わるってほどの原動力にはなってない。
まだ大方の腐女子にとってtwitterは「なんか怖い」というwebサービスだと思う。少なくともmixiよりは。あと半年もすれば変わるのかもしれない。
どっちにしろ鍵をつけることが腐女子 in twitterのスタンダードルールになっていくんだろうなぁ
そのネットの「なんか怖い」感だけがいつもピリピリと漂っていて、いざ事が起こると伝染病のおふれのように広まっていく。
腐女子の「検索避け対策」「はてなアンテナ、はてなブックマーク騒動」のときも、「自サイトが衆人の目に晒される!」ということだけ声高に語られていた。
プライベートモードに関して詳しく調べ、「こういうシステムだからこうすれば大丈夫」という人の意見はかき消され、今は「ブクマ禁止!」をトップページに書くことがお決まりな感じになっている。(単にプライベートモードの説明をするのがめんどい、わからない人が多いんだろうけど)
その理屈でいうと、RSSリーダーや、たんぶらーも怖いんじゃないの?と思うんだけど、なぜかこれらについて「やばい」という声はあがってこない。おそらくシステムがわからなさすぎて「やばさ」もわからないんだろう。
サイトはガッチガチに検索よけしてても、日記代わりに借りてるブログは検索よけしてなかったり、ヘッダにおまじない書いてても、更新したらRSSを吐いたり、pingを送信する設定を直さないままで使ってたりする。
別に「ちゃんとブログにも検索避けしろよ情弱www」ということを注意してるわけじゃない。
ネットは決して怖くない、ひとりひとりもうちょっと調べて使ってみませんか、と思う。
レンタルブログの設定だって、チェックボックスを外せばいいだけ。
個々の腐女子のネットリテラシーをあげることで、ネットとのよりよい折り合いがつけられるのではないだろうか。
ていうか折り合いつけたい。隠れても叩かれるなら私たちはどうすればいいの。
でも無理だよね!基本腐女子は自分の好きなものだけに時間を割きたい、同じ趣向をもつ人と共有したい!それだけできればいい!っていう人種だから!!わかんないことは右倣えしておいたほうが楽だもん!
うちのカーチャンは賃貸の会社に勤めてた関係で、不動産関係が趣味。趣味ってのは買ったり売ったりをしているわけじゃなくて単に不動産関係だと興味津々で読みふけったり話したりずーっとできるというかしたがるとかそういう方向性。まぁ、それはいいのよ。個人の趣味だし、何かに熱くなれるってのはそれだけで良いことだと思う。
で、カーチャンはパソコン関係は弱くて、インターネットという単語は知ってるけれどブラウザという単語は知らない、程度の人間なので、「ねぇねぇ、インターネットで不動産とか見られるんでしょ」みたいな事を言い出したり、「このストリートビューって凄いわね。家の概観をこんな風に眺められるなんて」みたいな感じではしゃいだりする。なんとも微笑ましい。
ということで、俺としては不動産関係の記事とかを見かけたときに、これ教えてやったらカーチャン喜ぶだろうな、とか思って、家に帰ったときにその記事を読ませたりする。で、そういうのを何回か繰り返した後、いちいち家に帰ってからでないと見せられないとか、ノートPCでそのページを開いてからカーチャンみ見せるだとかいったことをしているのは非効率的であるという気持ちが爆発したので、カーチャンにgmailのアカウントを取らせて、今度からはこっちにmailするので読んでね、と、loginの仕方を教えたり読み方を教えたりした。
で、一つ目。
カーチャン、gmailのインタフェース(参考)だと個々のmailのSubjectの部分をクリックするんじゃなくて、その左側にあるチェックボックスをクリックするのよ。冷静に考えればそりゃそうだよね。ボタンに見えるのはそのチェックボックスしか無いもの。どう見てもただの文字列でしかない所なんてクリックしないよ普通。これ、3,4回言ったのだけれどまだ理解できないようで、一人では読めないのよと言われる。教え方がまずいのだろう。努力しよう。
んでまぁ、そういう問題は沢山あるうちの一つなのだろうからまぁ、慣れてもらう方向でいいや、と思ったのだけれど、URLをクリックした後にblogとかにぶち当たるともう駄目。
これが二つ目。
最近のblogって右にも左にも上にも、広告がはりついてるじゃん。特に上方向の広告、これがなんというか駄目。イカン。カーチャンに与えているノートPCは画面が横に長いというか縦が短いから、画面には広告だけしか映ってなくて、下にスクロールしないと記事が出てこないような所なんてのもある。そうなっちゃうと、それらの広告を読まなきゃいけないもんだと思って端から読んじゃう。そういう広告がいっぱいあるから、本文をまず探すんだよ、って言ってあってそういうことも理解してもらってるつもりなのだけれど、やっぱり目に入っちゃうからか、気になって読んじゃうみたい。で、記事本体にたどり着けなくて、「面白くないわね」になってしまう。
まぁ、他にもいろいろあったりするのだけれど、それは置いておく。でも上に挙げたようなものは、どちらかというとデザインが悪いとかそういう話なんじゃないかなぁとか思ったので愚痴ってみたかっただけです。にしても、単にURLを送ってその中身を見て欲しいだけなのに、それを完遂するための障害がこんなにも多いとは思ってもみなかったんだよなぁ。やれやれ。
手続き型言語をやっていると、データを組み合わせて取り扱う必要が出てくる。
例えば、顧客のデータを扱う必要があるとき、顧客の「名前、住所、所属、電話番号、取引内容...」などをまとめて取扱いたい。
そこで、構造体という発想が出てくる。
構造体を扱っていると、新しく顧客データを作るとき、毎回毎回、作った後に同じ動作をしないといけないことに気づく。
そしたら、それをいっぺんにやってしまうために関数を作ることになるだろう。
init_customer(struct Customer*, char* name, char* addr, char* tel)
また、逆に顧客データが不要になったとき、メモリ解放などをさせるために、
delete_customer(struct Customer*)
も作ることになるだろう。
さらに、取引を行うたびに、取引データを追加しないといけない。そのために、このような関数を作るだろう。
add_deal_customer(struct Customer*, char* deal_name, char* deal_ammount)
そして、複数人でプログラムを作っていると
「おいおい!せっかく取引データ追加用のadd_deal_customer作ったのに、なんで自分で勝手に追加してるんだよ!てか、その方法だとメモリ解放どうすんの?ちゃんと作ったの使ってくれたら、delete_customer()でできるようになってるのに」
って状況が生じうる。それを防止するために、コメントに
「/* 取引データの追加は必ずadd_deal_customerを使うこと! */」
と書くことになるだろう。
てか、わざわざコメント書いたのにこいつ読んでねーし。あーあ、めんどくさいめんどくさい。
そこで、だ。言語を少し別のものにかえて、構造体に関数を持たせられるようにしよう。
そして、構造体ができたときに、自動でinitって関数を、削除されるときに、自動でdelって関数を呼ぶとしよう。
そして、add_deal_customerも構造体の中に入れてしまおう。名前は長くて面倒なので、
Customer.add_deal(char* deal_name, char* deal_ammount)
のようにしてしまおう。
さらに、add_dealを使わずに直接、取引データを追加しやがるならず者対策も付け加えてしまおう。
privateにした変数は、構造体が持ってる関数からしか、いじくれないようにしてやろう。
今まではコメント読まない馬鹿の世話に苦労していたのだが、これからはコンパイラがそういうやつにエラーを出してくれる。
次は継承のお話。話は変わって、今度はGUIパーツで説明する。
ボタンってあるよね。あれを作りたい。
普通に文字が書いてあって押したら何かが起こるボタン、アイコンが描いてあって押したら何かが起こるボタン、
この2つを作りたい。
まず、文字のボタンを作ろう。
関数を持てる構造体を作り、「表示する文字(変数)、クリックしたときの動作を定義する関数へのポインタ(変数)、描画命令が出た時に描画する関数(関数)、クリック命令を受け取り、構造体にセットされた関数へのポインタを呼び出す関数(関数)」
がいるかな。
次に、アイコンのボタン。「表示するアイコン(変数)、クリックしたときの動作を定義する関数へのポインタ(変数)、描画命令が出た時に描画する関数(関数)、クリック命令を受け取り、構造体にセットされた関数へのポインタを呼び出す関数(関数)」
あ、さっき作ったのとほぼ同じじゃーん!文字ボタンの構造体をコピペしちゃえ!
あとは文字の変数を、アイコンに変えて、描画命令を、文字描画からアイコン描画に変えればできるじゃん!
ところが、文字ボタンのクリック命令を受け取る関数にバグが見つかった!よし、デバッグできた!
けど、アイコンのボタンにコピペしてたんだった!またコピペしなおしじゃん。あーめんどくさ。
もしそれ以外に、チェックボックスのボタンとか、もっと別のボタンとか、いろいろコピペで作ってたらもっとめんどくさ。
そこで、こんなことができたらいいんじゃないか?
文字ボタンにも、アイコンのボタンにも共通する、関数をもった構造体を作っておく。
ボタンの構造体「クリックしたときの動作を定義する関数へのポインタ(変数)、クリック命令を受け取り、構造体にセットされた関数へのポインタを呼び出す関数(関数)」
そして、文字ボタンは、ボタンの構造体に「表示する文字(変数)、描画命令が出た時に描画する関数(関数)」を、
アイコンのボタンは、ボタンの構造体に「表示するアイコン(変数)、描画命令が出た時に描画する関数(関数)」を追加すればいいんだ。
これを、継承と呼ぶ。
さらに、文字ボタンもアイコンのボタンも、同じ「ボタンの構造体」を持っているから、どっちも同じ「ボタン」として扱うことができる。
後で画面内のボタンを全部解放する必要があるときとか、実はこれ、すごく便利。
別の構造体で扱っていたら、文字ボタン用の配列とアイコンボタン用の配列を用意し、それぞれに作ったボタンをいれ、解放するときはそれぞれの配列の中身を解放しないといけない。めんどくさ。
けど、どっちもボタンを継承しているから、ボタンの配列を用意して、文字ボタンもアイコンボタンも全部同じ配列に入れて、1つの配列の中身を解放したらいい。楽ちん。
はい、そうすると、関数を持った構造体はもはや、もとの構造体とは違う感じになりました。
これをクラスと呼びましょう。クラスから作られたデータは、オブジェクトと呼びましょう。
なんか、オブジェクトがほかのオブジェクトから独立してカプセル化されてるみたいですね。
そして、オブジェクトが持ってる関数。メソッドとでも呼びましょうか。これ、まるでオブジェクトが自分のやりたいことを知っているかのようです。
手続きを構造体や関数に細かく分離していくにつれて、構造体と関数の組み合わせってのが出てきて、まとまりが見えてくるのです。
そいつらをまとめてしまって、一つの部品として扱って、外からはあんまり部品の中身を見えないようにしましょう。
部品の中身を直接いじらせるんじゃなくて、部品をいじらせるための関数を用意して、それを経由してやってもらいましょう。
それが、カプセル化とかいうやつです。
http://anond.hatelabo.jp/20081221032005でネット小説サイトの紹介がありましたが
もっと二次創作SS(サイドストーリー)の話を取り上げて欲しい、と思ったので書いてみました。
記憶違い、観測範囲の限界があるのでトラバやブコメで突っ込みを入れて下さい。
好きな作品のサイドストーリーを書くということは同人誌・パソコン通信といった媒体上で昔から活発でありました。
私が二次創作SSを読み始めたのはパソコン通信からネットへの過渡期だったと思います。
そのころはセーラームーンのFF(SSと呼ばずにFF、ファンフィクションと呼んでいたことが多かった)が流行しており、
書かれるジャンルとしては、まさしくファンフィクションとして好きなキャラを活躍させたり、ギャグストーリーが中心となっていました。
ネット時代の始まりはエヴァから始まった、と言ってもいいでしょう。
今から考えれば単なる投げっ放しですが、アニメ・劇場版と謎が謎を呼び、考察系サイトでは真剣に議論が交わされていました。
当然SSの題材としても大人気でしたが、主人公のシンジ君の性格がいろんな作者を引き付けてしまったようで新しいジャンルのSSが広まりました。
主人公がとにかく最強になっています。エヴァSSでは使途を素手で倒したりと強けりゃいいという。
中二病患者が好んで読みあさり、さらには作者になる患者まで。いい年して最強SS書いても楽しいからいいよね!という雰囲気でした。
この最強主人公はこれから幅広い作品・ジャンルに組み合わされて普及していきます。
ミサトヘイト・ゲンドウヘイト・アスカヘイトなど各作者の嫌な思い出を投影しているようなジャンルでした。
エヴァ以降はそこまで憎むようなキャラが現れなかったようで、あまり広まらず。
世界が終わったり、死んだキャラが記憶等を引き継いでストーリーをもう一回なぞるジャンルです。
何故か神の力を引き継いでいる主人公が好き放題する最強系も入ったSSなどあり、今も人気です。
アニメと劇場版の差に驚いたファンも多かったですが、劇場版ストーリー(ヒロインと結ばれた主人公が妻を誘拐され復讐の鬼と化す)は
中二病な人にとってれ琴線に触れるものがあったようです。
時間移動できる技術設定が作中に存在したのもあって、逆行最強SSが人気でした。
Actionで掲載された、逆行ハーレム最強主人公系SS「時の流れに」が大人気となり
その設定を使って様々な三次創作SSが生まれました。今でもActionなどのサイトで日々更新されるなど人気の息が長いのが特徴です。
いわゆる性転換物です。性転換なのでMtF・FtM両方あるのが普通ですが、美少女を活躍させたいのか
男主人公が女性になって活躍するSSが大部分を占めます。性差による葛藤なんてスルーです。
同じくActionで掲載された「ROSE BLOOD」が代表作でしょうか。
大人気となった美少女ゲームですが、何故か二次SS界ではバトル物SSの土台とされてしまうことが多々ありました。
主人公 相沢祐一は元々強いわけではないのですが、SSでは作者によって異様に強化されて神のような存在にされていることもしばしば。
あんまりに強化された祐一はもう祐一ではなく「U-1」だ、と表記を変えて説明されている場合もあります。
他の作品と組み合わせて書かれるクロスオーバーSSですが、これ自体は以前から書かれていました。
しかしKanonではあまりに強化され作者と同一化した主人公が、その強さを示すため組み合わせた先のキャラを踏み台としていく作品が多く書かれました。
主人公が他作品のヒロインに微笑んだだけで相手が惚れるというシーンの多さから「ニコポ」なんて呼ばれた場合もありました。
同人ソフトから人気が出たTYPE-MOON、設定などが作者に人気でバトル物という元のジャンルもあってSSも大流行しました。
最強主人公・クロスオーバーといったジャンルが特に人気でした。
Fateは主人公がサーヴァントと呼ばれる過去の英雄を召喚して戦っていくストーリーなのですが、
この仕組みを借りて自分の好きな他作品のキャラを呼び出していくSSが広く書かれました。
クロスオーバーの一種ではあるのですが、話の整合性を保つのが面倒な通常のクロスオーバーに比べ
元作品のシナリオで行っていることをなぞればいい召喚物は書きやすいというメリットがあります。
ラブひなとハリーポッターを合わせたような本作ですが、「ネギまのベル」や「風牙亭」といった大手投稿サイトにSSが多く投稿されました。
また登場するヒロインの数が非常に多かったため、作者が好きなヒロインを主人公(時には特殊能力をプラス)したスピンオフ的なSSも多かったです。
投稿サイトは揉め事(盗作・コメント欄での批評・中傷)が多いため閉鎖の割合が高いという印象があります。
異世界に現代人の主人公が召喚されて使い魔となるストーリーなのですが
SS元としては現在、自分の好きなキャラクターを中世ファンタジー風魔法世界で活躍させるためのフレームワークと化しています。
あの作品のキャラがルイズに召喚されました @ ウィキ - トップページでは
仮面ライダーからプロアクションリプレイまで、様々なキャラや物が召喚されています。
また、今までの人手での更新ではまとめることが不可能だった量のSSをWikiの本格的な活用により、手間をかけずまとめているのが特徴です。
召喚物以外のSSももちろんあるのですが、少々影が薄くなっています。
同人ゲームから人気が出て、ニコニコ動画で人気が加速した東方ですが、二次創作界隈では他の作品とは違った空気が流れています。
公式設定、または長い時間をかけて東方サークル間で共通認識となった二次設定以外の設定を持ち出すことを二次創作界隈の人々は非常に嫌います。
空気を読まずクロスオーバーSSを投稿してコメント欄でボコボコに叩かれるケースが多々ありました。
この界隈の雰囲気を読んだ人はブログを開いてそこでクロスオーバーSSなどを連載しているケースが多いようです。
一周してネット以前のファンフィクションのような雰囲気を感じます。
ちょっとそれますが、興味深いジャンルなので。
女性向け二次創作SSで特徴的なドリーム小説(主人公の名前を変更できる小説)サイトは
物凄く排他的で
など非常に探しにくいので、まとめるのが大変難しいです。
があると思いますが、何が流行しているか正直分かりません。
ハリーポッターといった児童文学が何故か強いのが面白いところです。
またドリーム小説の特徴として、登録制の検索サイトが繋がりのメインという所があります。
投稿サイトに投稿するよりは、自サイトを作りそこにドリーム小説を連載していく傾向があります。
登録制の検索サイトの興味深い点としては、検索条件を非常に細かく指定できる場合が多いことです。
例としてDreaming REBORN! > サイト検索では多くの条件がチェックボックス式で指定でき、
また各条件がそれぞれカテゴリとなっています。
今は下火となっているディレクトリ型検索エンジンが、登録制検索サイトでは主流となっています。
手動登録のメリットを生かしている、注目すべき例です。真似できる場合は少ないでしょうけど。
長々と書いてみましたが、「この作品は流れを紹介する上で入れるべき」という作品もあると思われますが、
ちょっと読んでいないので、補足していただけるとありがたいです。(GS美神・FFサモンナイト等のPSゲーム等)
Leafも多かったですね。正統派から葉鍵ロワイヤルというお祭りまでありました。
上手いことこの移り変わりの中に入れられませんでした、ごめんなさい。
これはもっともだと思ったので、タイトル変更しました。
ブコメでも指摘があった(今は消えている)のですが、ドリーム小説入れておいてその他の女性向けを入れないのは良くなかったですね
コーエーの女性向けゲームというジャンルもあるようです。知らなかった。
観測範囲って難しい。私では無理。
ユーザに「広告メール送信OK」を確認するフォームは「デフォルトブランク」がオススメです
12/1施行の迷惑メール法改正は、企業からお客様・会員宛てのメールの送信についても影響がありそうです。いわゆる「未承諾広告」メールについては「オプトアウトにすべし」となるそうですが、Webサイトの会員登録やショッピングの申し込みフォームについてる「広告メールを送信してもOK」チェックボックスを通してメール送信の許可を得る場合は、「きちんと説明してあればデフォルトオンでも問題ない」らしいです。 (( http://internet.watch.impress.co.jp/cda/event/2008/11/06/21438.html ))
ですが、フォームを設計する側からすると デフォルトオン・デフォルトオフを選択する際に以下のジレンマが生じます。
この様な選択肢は、「デフォルトブランク」にしたら良いのではないでしょうか。
この用途で良く使われているチェックボックスの替わりにラジオボタンを使用して、
( )メールを受け取る ( )メールを受け取らない
ある程度ちゃんとしたマニュアルあるなら、
マニュアルの各章の先頭に□(チェックボックス)を記載してみるというのはどうですか?
その新人が実際に作業するとき
その章の手順完了する毎にチェックボックスに
シャーペンor鉛筆でチェック入れさせるようにすれば、作業手順漏れが防げると思う。
その日の作業が完了したら、消しゴムで消せば再利用可だし。
新人が調子のって自動化したら、そのツールにバグが合って大変なことになるというのはよくある話。
・「本番環境でイキナリためすな」って新人に十分釘を刺した上で
という前提で)
元増田はプログラム苦手なようだし、お互いメリットになると思います。
まったく個人的な話しですが、下記のブログ
今まで読んだどんなビジネス書より感銘をうけました。
学校でさ、このページにはアクセスできません、みたいな規制があるじゃない?
オレさ、思ったのよ。
で、実行したんだけど、うん、見られなかったわ。
どういうシステムでそうなってるのかわからないけど、もしかしたらプロキシサーバと思われるサーバには接続できないのかもしれん。
で、もうひとつ考えたのよ。
普通のサイトは普通に見られるんだから、オレが今日作ったサイトにもアクセスできるじゃん?
だから、cgi を経由してページ内容を書き出せば、あたかもオレのサイトからデータを取得しているように見えるじゃん?
で、コード書き始めてわかんないとこあったからググったらさ。
あったね、普通に。ウェブプロキシとか、CGI プロキシとか言うんだね。
知らなかったよ。
したらさ、見られないの!アクセス規制にしっかりひっかかるの。
で、また考えたんだ。
これが規制されるのは恐らく文字列からページ内容を推測して規制しているんだろう。
って、そうしたら自ずと答えは出るじゃん?
つまり、サーバからのダウンロード時は文字列ではないデータ・・・まぁ暗号化でもなんでもしてクライアントで元に戻せばいい。
変調・復調ってやつか。
で、そのコードを追加しようとして気づいたのよ。
暗号化モードで接続するっていうチェックボックスがある!なんだこれ!
チェックいれてリクエストしてみたら、いったね!
で、どうやってるんだろうと思ってサイトのソース覗いてみたのね。
文字列が見える!
オレ、てっきりクライアントサイドのスクリプトで元に戻してると思ってたから本当にびっくりした。
あぁいや、document.write している可能性もあるか。そこちょっとわかんないな。
オレの予想が外れていたのか、それとも何か特別な方法で通信しているのか、誰か教えてくれないか。
寝る前にいくつか返信。
http://anond.hatelabo.jp/20080902220835]
たぶんそうだと思う。
http://anond.hatelabo.jp/20080902221735]
でもほら、ダイアリーの立ち上げ当時は似たようなもんじゃないかと。
同様の意見としてb:id:hatayasanとかb:id:ululunとかb:id:nakano87とかb:id:te2uとかね。元記事にチェックボックス案もmetaを使う前提でチェックが off なら head に件の meta を入れる
って書いてあるのになぁ。リテラシーって大事だ。
そっちの仕様は別にいいの。自社サービスの機能を使うのにmetaを本文に書かせるのがダメ。
b:id:masayc 技術力を期待してはてな使ってる人ってどれくらいいるんだろうね?俺は、日本”語”でweb2.0ごっこしたいだけで、もし英語が達者ならdiggとdelicious使うけどな。
日本語のWeb2.0ごっこなら、私が唯一中期間使った例で申し訳ないけどドリコムブログの方が優れてた。使ってたの数年前だけど(今はWP)。例えばデザイン編集画面で、ブログの2or3カラムレイアウトに表示する要素をDnDで並べ替えたりとか。DHTMLすげーって感じ。
はてなはWeb2.0の特徴の一つと言われてるマッシュアップとかがろくにできない。はてなのデータを外で使うための機能は多いけど、外のサービスとかをはてなに持ち込めない。Blogパーツ、裏技使わないと自由に貼れないでしょ?
2.0っぽさではてなよりも劣ってるサービスってあんま無いんじゃなかろうかと。むしろ往年のWeb日記の仕様を引きずってるし、メジャーバージョンは1。Web1.9。
b:id:xevra 技術的には指摘の通りだろう。だが経営的にはこれが正解。なぜなら一覧非表示機能を希望し、文句言ってくる人は0.01%程度。この程度のものにリソースは割けない。完璧を求めるのは趣味の領域。jkonは正しい。
今は一覧非表示機能に限った話してないんだけど。上の方のアレもそうだけど、非表示絡みでコメしてる人は何故かピントが合わない。
例えばブログモード使ってる人ってけっこう多いけど、彼らは絶対に記事毎に編集やコメント管理できた方が便利。トラバ先を記憶する機能ってそんなに開発リソース必要ですか。大した事無い機能変更にもがっつりリソースを割かないと改善できないのが問題。
まぁでも確かに、現在のはてダの低い技術ポテンシャルという前提の下では、jkonは正しいね。
b:id:ghostbass なんだって??テーブルの変更なんか必要ないけど?
そうなんですか。考えてみます。思いつかなかったら勉強してみます。Boromさんの案が正解かも。
b:id:EvilGood おそらくそうなんだろうけど、小手先回避なんだろうとは思うが、さきざきサーバーの処理能力が上がって、すべて記法解析でやった方が速度出る日が来そうなんだよな。はてなはXMLDBとか検討してるんだろうか?
はてなが未来を見据えてそういう拡張をしてきたのか、という点はさておき、すべてを記法でやろうとすると記事の編集時の可読性が下がります。本文にmetaとか記事見出しなのに何故か本文にあるとかトラバ送ったかどうか解らないとか。
ユーザーの快適性とか開発の柔軟性とかを犠牲にしてまで、未来の鯖速度を追求するというのはなかなかどうも、説得されないです。
さらに追記。
b:id:skicco はてな記法でごまかしてくれたおかげで、他のブログサービスではできない重複したカテゴリへの登録ができてる。これが可能なのってはてダくらいじゃね?
最近のブログサービスは知らないですけど、WordPressではできます。ところでカテゴリってリストから選べないと Typo りますよね。
ごめん、年1000万の間違いだったかも。倍近く違うじゃん。malaさんが入社したてのころにどっかでこういうの書いてた。うるおぼえ。
b:id:kana-kana_ceo 「普通なら、日記の編集フォームに一つ『ブクマページでブコメを表示する』というチェックボックスを付ける。チェックが off なら head に件の meta を入れる」← なんで、非表示がデフォなんだろう?
一人くらい勘違いする人がいるとは思ってた。非表示がデフォなんて書いてない。デフォでチェックが on にしてあればおk。
チェックボックスのラベルは肯定文で書くのが UI の Tips。「非」表示は否定語。
b:id:al001 "少なくとも"技術力の問題では無いと思うが。面倒とかそういうのであれば分かるけど。 / チェックボックスでオンオフ出来るだけで良いなら、DB弄らずともJavaScriptだけで出来る。
まず後半。またまたご冗談を。クライアントサイドの解決法じゃ meta が body の下にある事は変わらなかろうて。パース後に動かすつもり?
そういや手元で試してみたら、 Firebug でソースを見ると body 内の meta も head の下にあったものとしてパースされるね。
前半は、他の人も同様の事言ってますね。要するに費用対効果の話。
でも、面倒
=費用が高くついてるのはシステムの出来が悪いから。スパゲッティーを紐解きたくないんでしょう。
ブコメ非表示みたいなおそらくほとんど使われないような機能だけがこうやって糞仕様存置されてるってんなら、経営判断って意見も説得力がありますね。
ここで糞仕様と言ってるのは meta で判別する仕様とか body 内の meta を拾っちゃう仕様とか、ではなく、はてダの仕様のクソさを言ってます。
これまた至る所で指摘されてるけど、普通なら、日記の編集フォームに一つ「ブクマページでブコメを表示する」というチェックボックスを付ける。チェックが off なら head に件の meta を入れる。
こんだけあちこちで言われてるアイディアですから、当然スタッフは思いついたでしょう。さすがにそこまで馬鹿じゃないでしょう。
でも実装しませんでした。実装できないんです。
ダイアリーに関してはその通りだと思うし、ぜひチェックボックスはつけて欲しい。でも、ダイアリー以外のブログや日記のことも考えると、本文中に書くということの意味もあると思う。好きなようにmetaタグをheadに入れることが出来るとは限らないから。
はてなブックマークのコメント一覧非表示機能について - はてなブックマーク日記 - 機能変更、お知らせなど
みんな知ってる記事だよね。
ブコメでもちらほら批判されてるけど、
なんてのはとんでもない糞仕様。
こんなWeb標準違反をユーザーに強いるのはバカでアホ。低脳でワーキングプア、と言いたいところだけど、何気に月収100万だったりするからワーキングプアは違いますねごめんなさい。
この仕様が糞だと判別するのは刺身にタンポポ乗せるよりも容易なので、要するにはてなは解ってて直せないんです。
ここで糞仕様と言ってるのは meta で判別する仕様とか body 内の meta を拾っちゃう仕様とか、ではなく、はてダの仕様のクソさを言ってます。
これまた至る所で指摘されてるけど、普通なら、日記の編集フォームに一つ「ブクマページでブコメを表示する」というチェックボックスを付ける。チェックが off なら head に件の meta を入れる。
こんだけあちこちで言われてるアイディアですから、当然スタッフは思いついたでしょう。さすがにそこまで馬鹿じゃないでしょう。
でも実装しませんでした。実装できないんです。
なぜ実装できないか。それは、フォームを増やすと記憶すべきテーブルが変わっちゃうからです。各日記毎に1つ、 BOOL 型を余分に記憶しなきゃいけないからです。
その程度の変更、大した事無いような気がします。でもはてな的にはできません。
はてなは何故か、はてダの個別記事の記憶の仕方を変更できません。実はこれは今回が初めてじゃありません。
はてダには日記モードの他に「ブログモード」などという名前に偽りのあるモードがあります。このモードにすると、日付ではなく個別の記事単位での表示も可能になります。一日に複数の記事を投稿できます。
でも、何故か、編集は日付単位でしかできません。「見出し記法」なる抜け道で、擬似的にブログを実現してるに過ぎません。だからコメントとかトラバはまともに管理できない。
なぜ記事毎の編集にできないか。日付で管理するはてな「ダイアリー」のシステムを変更できないからです。
はてダはトラックバックは実装してます。なぜならトラバは送りっ放しで良いから、何も記憶しなくていいからです。
でも、少なくないブログエンジンは、トラバの送り先も記憶します。「あれ?送ってないっけ?」とか勘違いしないで済みます。
なぜはてダはトラバの送り先を記憶しないか。記憶できるようにするには、各記事毎に新たなテーブルを用意することになるからです。
記事をカテゴリー(っつーかタグ)毎に分ける機能も、ちゃんとは実装されてません。はてな記法と検索で誤摩化してます。
記事毎にカテゴリーを記憶するにはデータベースを弄らなきゃいけないからです。
◯◯記法の多彩さであたかも凄い事をやってるかのように見せかけてますが、実際には、◯◯記法はデータを読み込んで吐き出すところにフックするだけです。
小手先の技術が巧みなのは認めましょう。
でも、小手先の技術ですべてを実現せざるを得ないから、こうやって筋の悪い仕様があちこちに出てくる。
engadgetもgizmodeも返事しないからはてなに書く。
昨日docomo、auの両キャリアに@i.spftbank.jpに対しての
PCメール除外設定を解除してくれませんか?という質問をしてみた。
以下質問------------------------------------
送っているのですが、
オフにしていただけないでしょうか?
すぐに、というのは不可能かもしれませんが、
対応予定等があるのかお教え願いますでしょうか?
よろしくお願いいたしいます。
そこをなんとか!という気持ちで質問してみた。
昨日は何の返事もなく終わったが、
連絡しろというSMSが届く(メールが届かないのに無理ですよ)
そののちauから返事が
以下au------------------------------------
この度は、ご意見をいただく次第となり、申し訳なく存じます。
恐れ入りますが、お問い合わせいただいたサービスの提供につきまして
は、現在のところ、未定とさせていただいております。
ご期待にそえる回答をお返しできず、恐縮でございますが、
何とぞ、ご了承くださいますようお願い申し上げます。
なお、お客様よりいただきましたご意見は、貴重なお声として受け止め、
今後、より多くのお客様にご満足いただけるよう、サービスの提供に活
かしていく所存でございますので、引き続きauをご愛顧くださいますよ
う、よろしくお願い申し上げます。
また、お気づきの点がございましたらお気軽にお問い合わせください。
その7分後(!)ドコモから
お客様からお問い合わせいただきました件について、ご回答申し上げます。
誠に恐れ入りますが、「@i.softbank.jp」のドメインからのメールは、
携帯電話からのメールではなく、インターネットメールとなります。
そのため、ドコモ携帯電話で、パソコンからのメールを受信拒否に
設定している場合、i-Phoneからのメールは受信することができません。
何とぞご了承くださいますようお願い申し上げます。
また、現時点では、今後、「i.softbank.jp」を携帯電話からのメールとして
対応できるかにつきましては未定となっております。
恐れ入りますが、迷惑メール対策(受信設定)をされている
ドコモの携帯電話へ「@i.softbank.jp」のドメインからメールを
行なっていただきますようお願いいたします。
→オプション設定→メール設定→迷惑メール対策→iモードパスワード入力
→受信/拒否設定→ステップ2でインターネット(PC)からのメールを
「受信する」のチェックボックスにチェックを入れる または、
→ステップ4で「××××@i.softbank.jp」(アドレス指定受信)、
「i.softbank.jp」(ドメイン指定受信)を個別に設定する
※「@i.softbank.jp」のドメインへの送信メールは、
絵文字変換に対応していません。
受信・拒否設定の設定方法の詳細は、以下URLをご参照いただければ幸いです。
<受信・拒否設定>
http://www.nttdocomo.co.jp/info/spam_mail/measure/domain/index_image.html
このたびは、お忙しい中お問い合わせいただいたにもかかわらず、
ご希望に添った回答ができず、誠に申し訳ございません。
また、何かご不明な点がございましたら、お気軽にお問い合わせください。
と2キャリアから連絡をいただきました。
時間帯からして3キャリア間でなんらかの協議があったのでしょうか??
ということでしばらく対応はないみたいだから
あきらめて電話で個別に連絡していくしかないかなぁ。
わかってたけどめんどくさい!
自分は某メーカー勤務である。はてなTOPからいろんな記事を見るのが好きだ。自分の業界とは違う業界の話をたくさん見る事が出来て面白い。違う業界と言えども全く関係ないわけでもなく業務にはいろいろと関係してくる。そういう業界の人たちの考えが垣間見えるのは面白いものだ。
うちの会社では、勤務表は手書きであったが、今年度からwebでログインして勤怠管理するようになった。定時に出勤して定時に帰宅する場合の入力はとても簡単に出来ているが、残業、深夜残業、休日出勤、休日出勤時の残業、代休、有給、忌引き処理などとなってくると複雑になってくる。
複雑である為に、入力後、上司の承認の際に間違いが発見され、再度、入力/申請が必要になったりする。何故、申請の時ではなく、承認の時にエラーになる仕様になっているのか解らない。手元でエラーになれば直ぐに再入力できるのに、他人の承認時にエラーになったら手間がかかる。
全くふざけた仕様だ。文句を言っても始まらないので、自分が入力の時にミスらないように気をつけるしかない。ヘルプなどを参照しつつ、確認しながら進める。慣れもあり、最近はそこそこうまくできるようになってきた。しかしチェックボックスがデフォルトで変な所にあったりして使いにくいことこの上ない。
ヘルプといっても大したものは無いが、どこかの部分に面白い事が書いてあった。「当社はお客様の立場に立ってソフトウェアを設計します」というような事が自慢げに書かれていた。この文言は、使っているシステムだけに書かれているようなものではなく、社是のような雰囲気で書かれていた。
思わず苦笑。クソシステムを使わされているからというのもあるが、当たり前すぎる事がなんか、さもすごい事かのように書かれている。なんだこの会社は。ふざけている。会社名は伏せるが、一部上場企業の名前が社名の頭についているので、それなりの会社であると思えるのだが・・・
ここ最近の人気エントリにも、IT業界(SI業界)の話がたくさん出ている。ふと気が付いたんだけど、そのテの話には必ずと言っていいほど、客やユーザーの話が出てこない。5次請け6次請けそれ以上が当たり前のようだから存在すら気にしていないのだろうか。なんの為に仕事してるのか解らなくなってるのであろうか。
例の会社がわざわざ「当社はお客様の立場に立ってソフトウェアを設計します」と書いているのは、そういう業界では無いからこそ、そんな事を書くのだろうと思えてしまう。
あーでもない、こーでもない、と御託ばかりで、品質を高めようとしているエントリなんか全然無い。
はてなのヘルプがうんぬんといったエントリがいくつか出てるけど、当然だと思う。あまりはてな使っていない自分ですらヘルプに苦労させられた事がある。結局、Googleに世話になる。別にそれで済んだからそれでいいんだけど。正直、はてなで苦労するより、利用者としては検索した方が最適な答えが出てくると思う。今も今後も。
はてなも含めて、IT業界で働く人たちは、客やユーザーの事なんてほとんど考えていないんだと思える。
はてなスターがどうこうと言ったエントリもあった。まさにそういう事だ。
なんの為に仕事してるのかよく考えて欲しい。
訳してみた。あらためて、和訳はものすごく時間を要する作業だということがわかった。もうしないと思う。
注意:以下は意訳、適当訳、稚拙訳であり、誤訳を多々含んでいることは確実であり、Joel氏が本当に以下のように述べているとは限りません。
なぜMicrosoft Officeファイルフォーマットはこんなにもややこしいのか (そしてその対処法を幾つか)
Tuesday, February 19, 2008
先週、MicrosoftはOfficeのバイナリフォーマットを公開したが、このフォーマットは殆ど正気でないように見える。Excel 97-2003ファイルフォーマットは349ページのPDFファイルだ。でも待って、それで全部じゃない。このドキュメントには次の面白いコメントが書いてある。
それぞれのExcelワークブックは1つのcompound fileに収められている
つまり、Excel 97-2003ファイルはOLE coumpound documentで、それは結局、1つのファイル内にあるファイルシステムである。これは、理解するのにあと9ページはスペックを読まなくちゃならないぐらいには十分に複雑だ。そしてこれらの「スペック」は、普通我々が考えるようなスペックというよりは、Cデータ構造みたいに見える。これ全体が階層的ファイルシステムなのだ。
もしあなたが週末を、Wordドキュメントをブログにインポートしたり、あなたの個人的な財務データからExcelフォーマットのスプレッドシートを生成するような気の利いたコードを書くのに使おうと思ってこれらのドキュメントを読み始めたなら、このスペックのややこしさと長さがそんな気をあっという間に失せさせるだろう。普通のプログラマはこのOfficeバイナリファイルフォーマットについて次のような結論を下す:
この4つ全てについて、きみは間違っている。ちょっとだけ掘り下げて、これらのファイルフォーマットがどうしてこんなに信じがたいくらいに複雑なのか、なぜMicrosoftの悪いプログラミングを反映しているのではないのか、そしてそれを回避するためにあなたに何ができるか、を明らかにしよう。
理解すべき最初のことは、これらのバイナリファイルフォーマットはちょっと違ったデザインゴールを持って設計されたということだ。たとえばHTMLとは。
これらはすごく古いコンピュータで速く処理できるようにデザインされた。Excel for Windowsの初期のバージョンでは、1MBのRAM、20MHz動作の80386が Excelを快適に走らせることができるための妥当なものだった。このファイルフォーマット内には、ファイルを素早く開いたり閉じたりするための最適化が沢山仕込まれている:
これはライブラリを使うことを想定して設計されている。もしあなたがバイナリをインポートするものを1から書き上げたいと思ったら、Windows Metafile Format (何か図を描く場合) や OLE Counpound Storage みたいなものをサポートしなくてはいけなくなる。もしあなたが Windows上でやるのなら、そうしたことをたいしたことのない作業にするためのライブラリのサポートが存在する... そういったフィーチャーを使うことは(元々)マイクロソフトチームのためのショートカットだった。でもあなたが全部を自分でスクラッチから書くなら、全部の作業を自分自身でやらなくてはいけない。
オフィスはcompound documentsに対して広範囲のサポートを持っている。例えば、スプレッドシートをWord文書に埋め込んだりできる。完璧なWordファイルフォーマットのparserは、同じように、埋め込まれたスプレッドシートで何かインテリジェントなことが出来るべきだろう。
それは相互協調性(interoperability)を意識してデザインされてはいない。仮定されていたのは、WordファイルフォーマットはWordからのみ読み書きされなくてはいけない、ということで、それは当時においては十分に合理的なものだった。これは、Wordチームのプログラマがファイルフォーマットをどう変更するかについて決定を行う場合にはいつでも、彼らが気にするのは (a)何が高速か (b)Wordのコードベースにおいて最小の行数になるのは何か、だったことを意味する。SGMLやHTML-interchangeableといった標準ファイルフォーマットのようなアイデアは、最初にインターネットがドキュメントの相互交換を実現するまで現実のものにはならなかった。それはOfficeバイナリフォーマットが最初に考案されてから10年後のことだったのだ。ドキュメントを交換するのにインポーターとエクスポーターを使うことができるという仮定が常にあった。実際Wordは簡便な交換のために設計されたRTFと呼ばれるフォーマットを持っており、そのフォーマットは殆ど最初のころからあり、今も100%サポートされている。
それはアプリケーションの全ての複雑さを反映していなくてはいけない。 全部のチェックボックス、全部のフォーマッティングオプション、そして全部の、Microsoft Officeのフィーチャーは、ファイルフォーマットのどこかで叙述されていなくてはいけない。Wordのパラグラフメニューにある、"Keep With Next" と呼ばれるチェックボックス、これはパラグラフを、その後ろのパラグラフと同じページに置くのに必要な場合は、次のページに移動させるもの(?)だが、これもファイルフォーマットの中に無くてはいけない。そしてこれはつまり、あなたがWordドキュメントを正しく読み込める完璧なWordクローンを実装したいなら、そういったフィーチャーを実装しなくてはいけないということだ。Wordドキュメントをロードする競争力のあるワードプロセッサを作っているのなら、ファイルフォーマットからそのビットをロードするコードを書くのには1分しかかからないかもしれないが、ページのレイアウトアルゴリズムをそれに対応させるのに何週間もかかるかもしれない。もしあなたがそうしない場合、カスタマーがあなたのクローンでWordファイルを読み込んだら、全部のページがぐちゃぐちゃになってしまうだろう。
それはアプリケーションの歴史を反映していなくてはいけない。 このファイルフォーマットに見られる多くの複雑さは、古く、複雑で、愛されず、めったに使われないフィーチャーを反映している。それらはファイルフォーマットのなかに後方互換性のためにまだあり、そしてMicrosoftにとってその辺りのコードを残しておくことには何らコストはかからない。しかしあなたがこれらのファイルフォーマットをparseおよびwriteする一貫した完全な仕事をしたいと思うなら、Microsoftのインターンが15年前にやったのと同じことを全て、またやらなくてはいけない。要点は、何千人年の仕事が今のWordやExcelには費やされてきたのであり、これらのアプリケーションの完璧なクローンを作りたいと本当に欲するなら、あなたは何千人年を費やさなくてはならないことになる、ということだ。ファイルフォーマットは単に、アプリケーションがサポートする全てのフィーチャーの簡潔なサマリーなのだ。
手始めに、小さな例を一つ、深く見てみよう。Excelのワークシートは色々なタイプのBIFFレコードの集まったものだ。私はスペックの一番最初のBIFFを見てみたい。1904と呼ばれるレコードだ。
Excelファイルフォーマット仕様のこのレコードについての記述は非常に曖昧なものだ。そこでは単に、1904レコードが「1904日付システムが使われているかどうか」を示すレコードだ、と述べているだけだ。ああ、使えない仕様書の典型的な一例だ。あなたがExcelファイルフォーマットで何かしている開発者で、そしてファイルフォーマット仕様にこう書いてあるのを見つけたなら、あなたがMiocrosoftは何かを隠しているのだと結論付けたとしても無理はない。この情報の断片は十分な情報をあなたに与えはしない。あなたには幾ばくか外部の情報が必要で、私は今ここで、それを提供しよう。Excelワークシートには、2種類ある。日付のエポックが1900/1/1のもの(これには、Lotus 1-2-3 との互換性のために故意に入れられた閏年に関するバグがあるが、ここでそれについて述べるのは退屈すぎる)、および、1904/1/1のものだ。Excelは両方をサポートしているが、それはExcelの最初のバージョンはMac版であり、それは単に簡単だったという理由でOSのエポックを使っていて、しかしWindows版のExcelは1-2-3のファイルをインポートできなくてはならず、そしてそれは1900/1/1をエポックとして採用していたからだ。あなたが涙ぐむのも無理はない。歴史のどの時点においても、プログラマが正しいことをしなかった、という時はないのだが、しかし現実にあなたが手にしているものはこれなのだ。
1900と1904のファイルタイプは両方とも世の中には広く存在しており、それは通常、ファイルがWindowsとMacのどちらで作られたかによる。一方のタイプから他方のタイプへ黙って変換するのはIntegrity的に問題があるので、Excelはファイルタイプを変換することをしない。Excelファイルをparseするためには、あなたは両方を扱わなくてはならない。それはファイルからこのbitをロードするだけの問題ではなく、あなたが日付表示と両方のエポックを扱うparsingのコードまで書き直さなくてはいけないということを意味する。実装には何日かかかるだろうと私は思う。
実際、あなたがExcelクローンの作業をするなら、日付の扱いについて、あらゆる種類の微妙なディティールを発見することになるだろう。Excelは日付の値をいつ変換するのか? 表示の整形はどうやっているのか? なぜ1/31は今年の January 31と翻訳され、また一方で1/50はJanuary 1st, 1950と翻訳されるのか? Excelのソースコードと同じだけの量のドキュメントを書かないがぎり、振る舞いに関しての微妙なビットを全て完全に記述することはできない。
そしてこのレコードは、あなたが扱う何百もあるBIFFレコードの最初の1つに過ぎず、しかももっとも単純なものなのだ。他のレコードの殆どは、より多くのプログラマーを涙に暮れさせるぐらいには十分複雑だ。
唯一導き得る結論はこれだ。
MicrosoftがMicrosoftとOfficeのファイルフォーマットをリリースしたことは大変有用なことだが、しかしそれでOfficeファイルフォーマットをインポートしたり保存したりするのが楽になるということは全く無さそうだ。それらは狂気じみて複雑で、リッチなアプリケーションで、そしてあなたは人気のある20%の部分を実装して80%の人々を幸せにするというくらいのことしかできない。バイナリファイル仕様によってなされるのは、多く見積もっても、著しく複雑なシステムのリバースエンジニアリングにかかる時間を何分か削減するくらいだろう。
オーケー, 私はいくつか回避法を教えると約束した。良いニュースは、殆どの良く知られたアプリケーションにとって、Officeバイナリファイルフォーマットを読み書きしようと試みることは誤った決定だということだ。あなたが真剣に考えなくてはいけない代案が2つある。Officeそのものにそれをやらせるか、書き込むのが簡単なファイルフォーマットを使うかだ。
ヘビーな仕事はOfficeにやらせよう。WordとExcelは実に完全なオブジェクトモデルを持っており、COMオートメーションの手段が可能で、これであなたは何でもプログラムでやるようにできる。多くのシチュエーションでは、Office内のコードを再利用するほうがそれを実装しようとするよりも良い。ここにいくつか例がある。
この手のアプローチは、全ての種類の一般的なOfficeタイプについての、サーバ上であなたがやりたいと思うであろうアプリケーションで、うまくいくだろう。例えば:
これらのケースの全てにおいて、Officeオブジェクトにインタラクティブ動作でないことを教えてやる方法があり、だから表示をアップデートするのに煩わされたり、ユーザに入力を促す必要はない。ところで、このようなやりかたでいく場合には、gotchas(?)がいくつかあり、そしてそれはMicrosoftは公式にサポートしているものではない。だからあなたがそれを始める前にはKnowledge baseの記事を読むように。
書き込むファイルにはもっとシンプルなフォーマットを使いなさい。単にOfficeドキュメントをプログラムで生成したいなら、殆どいつでもOfficeバイナリフォーマットよりももっと良いフォーマット、WordやExcelでも問題なく開くことができるようなフォーマットが存在する。
いずれにせよ、全てのOfficeファイルを完全に読み書きできるような、文字通りのOffice競合製品を作ろうとする(その場合には、何千年もの作業があなたに予約される) のでない限り、Officeバイナリフォーマットの読み書きをするというのは、何であれあなたが解決しようとしている問題を解決するためのもっとも労働集約的な方法だ。
つ ツール→オプション→コンテンツタブ→「Javascriptを有効にする」チェックボックス横の「詳細設定」ボタン→「コンテキストメニューを無効化または変更する」チェックボックス
おお便利だと思ったけど、グーグルマップが使いづらいのでおかしいなと思ったらこれのせいだった。