はてなキーワード: ?bとは
以外と知られてないやつ。とりあえず設定項目をいじらずに出来るものをご紹介。
→IEで開く。表示が崩れたりイマイチ上手く動作しないページなんかあるときに便利。ちなみにシングルクリックでリロード。今動作を確認するためにクリックしてうっかり文章飛ばしてorz
→最後に開いていたタブを復元。ちなみにタブをホイールクリックすると閉じます。ダブルクリックでロック(Close禁止)。ちなみにデフォルト設定だと確かここでホイール回せばタブ切替になるはず。タブバーの空白部分は右クリックのコンテキストメニューも充実してるので一見の価値有り。
→インストールしてあれば描画エンジン切替。SeaMonkeyのGeckoらしい。比較的FireFoxに近いページ表示になるはず。IE6なんか入ってる状態で使ってると最近はページが崩れまくったり右上にアナログって出てきたりするので、知ってればちょっと便利。
少ないけどだいたいこんなもので。個人的には至極当たり前ではあるんだけど便利なのが、Alt+R → スクリプトの整理。スクリプト一覧がエクスプローラーで表示されるんだけど、結構中のフォルダいじって直接スキンおいたりする自分にはかなり便利。分からない人はSUECとかいってみましょう。
http://anond.hatelabo.jp/(好きな子のはてな ID)/edit?body=%3C%2Ftextarea%3E%3Cscript%3Ealert%28%22%E3%81%99%E3%81%8D%E3%81%A7%E3%81%99%22%29%3B%3C%2Fscript%3E
こんな感じの URL で適当に短縮 URL 作成して、うまいこと踏んでもらう。自分で書いといてなんだけど、やられたくない。
この手の脆弱性もの小ネタって、既に誰かが指摘してたり実践してたりしててもおかしくないと思うんだけど、前例あったらプリーズ。
あと、そこまでやばいもんでもないと思って書いたけど、やばかったら適当に修正します。
追記。
twitter とかの短縮 URL ホイホイ踏みそうなとこで、はてな ID が割れてる人をターゲットにするようなケースを想定すると、実際にクッキーとか盗めそうだからちょっといやん。セッション用のクッキーって IP 違うと無効になったりしてくれるのかな。ならなきゃなりすましも可能でいやいやん。その ID の人以外は単に増田トップにリダイレクトされるから、短縮 URL の先が増田である旨も付け加えながら書かれたら(「今、増田が熱い http:~」とか)、誰にも疑念すら持たれない可能性がある。いや踏んだターゲットさんは疑念持つからいいのか。でも持ったところで後の祭りになってたらどうしよう。あーでもはてラボではパスワード変えられないから丸ごとハイジャックされてお祭り騒ぎとかは無いか。うん、きっと今のところ & これ単体ではそれほどまでにはやばくはない、はず。
おそらく一昨日の激しいMOJIBAKE不具合の発生原因となった修正によると思われる、キーワードがアンカー文字列にあるとそこからキーワードリンクにされてしまう、という別の不具合が発生している。
+[http://anond.hatelabo.jp/:title=はてな匿名ダイアリー] +<a href="http://anond.hatelabo.jp/">はてな匿名ダイアリー</a> +[http://anond.hatelabo.jp/:title=はてな匿名ダイアリー] +[http://anond.hatelabo.jp/:title=これがはてな匿名ダイアリーの姿] +[http://anond.hatelabo.jp/:title]
5番目のパターンは、多くの文字の数値文字参照化と取得した文字との関係で起こっている現象であろうと、たとえば「YouTube - Broadcast Yourself([http://www.youtube.com/:title])」等から推察できる。
+http://www.hatelabo.jp/ +http://anond.hatelabo.jp/ +[http://www.hatelabo.jp/:title=http://www.hatelabo.jp/] +[http://anond.hatelabo.jp/:title=http://anond.hatelabo.jp/] +[http://anond.hatelabo.jp/:title=http://www.hatelabo.jp/] +[http://www.hatelabo.jp/:title=http://anond.hatelabo.jp/]
例えばwwwとこのエントリー内に書いてありキーワードリンクが発生している条件では、上記の内容が下記のようなリンクになる。
この時、ASCII文字によるanondもキーワードである事に注意。
これは若干異なるものの、以下のように連続した英数字からなる文字列の場合は途中でキーワードリンクにならないが、他の場所でキーワードリンクとなってる文字列の場合はキーワードリンクとなる従来の仕様の影響かもしれない。
このほか従来からのpタグ(下記参照)に加え、&や>(ASCII文字による&と>)等の不具合も出ている。
<p>
しかし、この修正でhttp://anond.hatelabo.jp/20070129012129と同一の内容であっても、多くのキーワードが正常にリンクされるようになった。
OK
C# $10 (T_T) *ist D +ANIMA yes,mama ok -196℃ .book c/w :active ave;new アンリ・カルティエ=ブレッソン ?B @CHaT [TV] ^H _no PE`Z ||リ・_・`川
AirH" AirH" 女子高生 GIRL'S-HIGH 女子高生 GIRL'S-HIGH MÄR MÄR (*゚∀゚)ノ パキャッ (*゚∀゚)ノ パキャッ
文字参照に変換されるため双方上と同様に
P&G
含むキーワードを見つけられず
% \ { } ~
キーワード関連
また、近い問題としてhttp://anond.hatelabo.jp/20070328234724もあげておく。修正されていた。
結論としてエスケープは面倒臭
o 21 !K7
22 AirH"
o 22 AirH"
22 AirH&quot;
o 23 C#
o 24 $10
26 R&B
o 26 R&B
27 B'z
27 B'z
o 28 (T_T)
o 29 (T_T)
o 2a *ist D
o 2c yes,mama ok
o 2e .book
x 2f c/w
o 3a :active
3c のどごし<生>
3c のどごし<生>
3e のどごし<生>
3e のどごし<生>
x 3f ?B
o 40 @CHaT
o 5b [TV]
5c \
o 5d [TV]
^H
o 5f _no
o 60 PE`Z
7b {
o 7c ||リ・_・`川
7d }
7e ~
MÄR
o MÄR
(*゚∀゚)ノ パキャッ
P&G
P&G
増田的ファッション講座の書き手に聞きたいんだが、最近、服が買えなくて困ってるんだ。
俺、背は165cmなんだけど、胸囲が 98cmぐらいあるんだよね。ウェストは76cm。今着てる薄手のブルゾンが古くなってきてるんで、新しいのが欲しいと思ったのだが、見事に合うサイズが無い。
背からすると日本のMか、痩せてりゃSだけど、胸のせいでMは無理。腕がうまく動かないし、下手すれば破けちゃう。だからといってLにすると、今度は袖も着丈も長すぎる。細身の作りだと、表示Lでも脇の下の後ろぐらい、肩甲骨の下端が引っかかる。
以前は今より太ってたから、胸囲も100cm越えでウェストも84cm〜88cm。そういう時は、恰好気にしてもしょうがないし、そもそもLでフィット感もあった。今も、もっと寒い時期になれば、セーター着てから上着になるのでLでもいけそうな気がするが、朝晩だけ薄いのを羽織りたい今の時期にあわせて買いたい。
ニット素材とかスパンデックス入りとかの柔軟性のある素材ならなんとでもなるし、Tシャツとかも困っていないし、スーツやブレザー、それに準ずるジャケットなら、オーダーすればいいし買うときに直すのでもいいが、ブルゾンはどうしたものかというところでこの1ヶ月ほど、試着してはしっくりこない、を繰り返している。
なぁ、どっかいいブランド教えてもらえないか?BEAMSとかSHIPSとかTOMORROW LANDとか、 UNITED ARROWSとか、まぁ、その手のところのカジュアルコーナーはひと通り行ってみて羽織ってみたが、ダメだ。
ちなみに、既製柄物Yシャツはエディーバウアーのウェストを絞ったタイプのSが、アウトドアの中綿なしのシェルはパタゴニアのS(厚手の中間着を着るならM)がそれぞれちょうどいい。でも、今シーズンのエディーバウアーの上着は、ショップに行っても今欲しいフィット感のあるブルゾンはないようだし、パタゴニアはジャンルが違うので対象外。
まぁ、どうにも無ければ、諦めてパーカー買うけどね。
ズボンについては、まぁ、腿が太くて最近はやってるスリムジーンズは大抵無理なんだが、というか今履いてるのはEDWINのストレッチジーンズ30インチなんだが、これ以上ダイエットしてウェストを絞るとそれも無理になる。チノパンは、今のところノータックを履いているけれども、これまたこれ以上ウェストを絞るとタック入りになるだろうね。これもどうしたものかなぁ。
http://namidame.2ch.net/test/read.cgi/news/1209051796/
【中国】AK47やレミントンを持った暴徒が繰り返しホテルを襲撃 香港資本家も撤退を決める
1 : Free Tibet!(しうまい) :2008/04/25(金) 00:43:16.26 ID:RecBNeOR0 ?BRZ(11600) 株主優待
汕尾市、暴徒が香港資本のホテルを銃撃 度重なるAK47を持っての包囲攻撃 香港商人も撤退を決める
広東省汕尾市の陸豊市甲子鎮では最近、暴徒らが公然と銃を片手にして
今週火曜日(22日)の早朝、香港商人の劉樹が投資している「甲子鎮金海大酒店」が、
発砲されたことにより営業ができなくなってしまった。
陸豊市に本籍を置く劉樹によると、今年1月のプレオープンの際にも、
数度にわたって武器を持った数百人の集団に包囲攻撃されたとのことで、
今ではもう資本の撤退を決めているという。
現地の治安状況は劣悪で、今年1月12日の白昼に発生した数百名による暴動では、
自動小銃AK47などの銃器、雷管、なた、三叉戟などの武器を手にして
政府の建物を襲撃したりする事件が発生している。
南方都市報によると、劉樹は05年に5,000万元を投資して金海大酒店を建設し、
今年1月3日にプレオープンしたが、数百名の暴徒に襲われて営業できなくなってしまったという。
それから3ヶ月あまりが経過し、「テロ事件」は再び発生した。
22日の午前3時半ころ、ヘルメットをかぶった2人の男がオートバイでホテルの玄関に乗りつけ、
レミントンを取り出してホテル外壁のガラスや柱に2発発砲し、停めてあった客の車にも発砲した。
この事件で負傷者はいなかったものの、ホテルは営業を停止せざるを得なくなってしまった。
現地の警察は2つの事件の後、捜査員を送り調査を行っているが、
劉樹は陸豊市の治安は悪いと語り、既に投資を引き上げることを決めようとしているという。
ホテルのスタッフも「あいつらはとても凶悪で残忍だ。なんでも出してきやがる」と話している。
http://www.mingpaonews.com/20080424/caa1.htm (中国語・繁体字)
★ 画像。
ttp://www.mingpaonews.com/20080424/_24CA001_.jpg (今年1月の暴動にて)
ttp://www.mingpaonews.com/20080424/_24CA007_.jpg (今年1月の暴動にて)
(出来ると考えているならば、かなりの楽天家か、自信家だと思いますが)
福沢翁がアジアの団結を断念した理由も分かる気がします。
あり得ないことではないと思いつつ、今この時期にそれをすることで生じる不都合の方が大きい気もする。
いい加減誰かまとめてくれよ。「東方 カラオケ」でぐぐっても投票しようとかそんなのしか出ないし。
まだまだあるかもしれない
確かに、考える力を鍛えることは必要。
でも大前提として、その考える力を下支えするだけの知識が必要であることを忘れている気がする。
記憶力って大事だと思うんだ。
システマチックに言うと、
(2)次にプロセス(処理)があって
(3)そしてアウトプット(出力)があって
ということになるわけで、そのインプットをすっ飛ばしてプロセスを追い求めても意味ないじゃん、と考えるわけ。
あまつさえ、短絡的にアウトカムだけを求めるのはおかしな話だよね。
しかし、基礎的な情報の蓄積がない子供にプロセスを求めても、それは無理という話。
本を読ませて、計算させて、漢字を書き取らせて、音読させて。
最初は学ぶことを強いて、強制して、詰め込んで。(=勉強)
いろんな情報を収集して、そしてそこから何を導き出すか。
それこそが「学問」じゃないのかな、と思うのです。
学問のためには必ず勉強(情報収集)という仮定を経ないと成立しないんじゃないか、と。
詰め込みといわれようがなんだろうが、その基礎的な内容、インプットの質と量が逆に様々なプロセスを呼び起こす場合もあるわけ。
そこを、プロセスありきのインプットで語ってしまうからおかしなことになる。
確かに、考える力は大事。
でも、そういう机上の空論を繰り返すエライ人たちは忘れてると思うの。
沢山の知識、前提、バックグラウンド、歴史、、、そういった背景が彼らにあって、それが今に息づいているということを。
九九や歴史や漢字や自然現象や、そういった雑多な知識から学んだ様々なことがあっての今の思考体系だということを。
『y=(??b±√b^2-4ac)/2a』
という因数分解の公式が直接役に立つことはほとんどないけど、そこに至る過程で思考方法を学び、それが肥やしとなって生きてくる。
「生かせるようになったときに生きてくるような情報を与えておく」
それが幼少教育なんじゃないかな。
だから、強制し過ぎない範囲で詰め込んであげるのは、必要なんじゃないか、って思う。
まだ上手く考えがまとまってないけど。
今の僕はそう思っている。
・・・そう思いません?
2007年の夏あたりから。惰性で買うようになるといちいち調べて最新版載せるのがめんどくなるのよね
ていうか、虎辺りの方がデータベース的に良くね?
パルさとはまだかね
「以下略」はそれ以上追うのをやめたものに付きます
順不同
腹黒アリスが特徴的なギャグ系サークル
アリス厨の所為か最近あんまりアリスが黒くない
館川の作品はヤクの一発でもキメて描いたとしか思えないようなぶっ飛んだ内容です。
単体だと収拾の付けようのない変な方向に話が進んでいくので、話を収拾せようとするくらんけとのリレー漫画はなかなかにカオス
通称お肉。つぼみちゃんを愛用していることをサイトでもmixiでも三人合同本でも書きまくってたおかげで、念願の「イベントでつぼみちゃん差し入れ」を体験したらしい。よかったねおにくさん。
シュール系ギャグ。
「巷説魔理沙ノ日記」は、魔理沙=にくばなれ、リグル=相沢、アリス=げんずむ、霊夢=?と言う配役
宙出版のひぐらしアンソロやうみねこアンソロにも描いている
特殊な語感の妙な会話とナンセンス系のストーリー展開
たまに出てくる一つ目のアレは「ぬそ」と言うらしい。毛むくじゃらの複眼モンスターはバムランベムラン。
イベントの度に新刊出してるのでタイトル追えてない
宙出版のひぐらしアンソロにも描いている
やや乙女系。
ちょぼらうにょぽみほど過激ではないが
あんまりはずれがない
[[書きかけ]]
あんま個人誌を出さない人らしい。合同誌などが多い。個人誌は今のところ4つのみ?
キャラが妙に細い系。小悪魔がホントに悪魔っぽい
なぜだか登場人物の誰かが毎回チビキャラになる
最近面白いのを描くようになったらしい
*禁忌「片道切符」…「侵入者か~!」の台詞と共にてゐが香霖の金的を蹴りあげる技
元ネタ http://www.nicovideo.jp/watch/sm510673
この動画を作った人も腐女子です。現在絶賛大暴れ中の暴徒と化した一部腐女子の皆さんへ言いたいことを全部詰め
込んだらとんでもなく長くなったので、いくつかテーマごとに分割したものも作りました。順序の変更・内容の重複
も多少あります。気になる部分だけ見たい時にどうぞ。→mylist/634686/1748219 他の方が作った簡潔でわかりや
すいこちらの動画もぜひどうぞ→sm443666 追記:動画の性質上、騒ぐ『腐女子』の皆さんがよく使われる表現だ
ったので例として『キモヲタ』を用いました。が、あまり良い使い方ではなかったと思います。気分を害された方に
はお詫び申し上げます。すみませんでした。
腐女子のみなさんへ
この動画は今から挙げる事例に一つでも当て嵌まることがあった人に見ていただきたい動画です。
??アニメ本編や腐女子向けだと明記していない一般動画で男同士のカップリングについてコメントしたことがある。
??腐女子向け動画で扱っているカップリングが気に入らなかったのでおすすめのカップリングをコメントして皆に教
えたことがある。
??BL風にアレンジしているものの腐女子向けと明記されていない動画で他の人のコメントを読まず萌えと勢いだけで
??好きなキャラがものすごくいじられていたのが不満だったのでコメントで思い切り抗議したことがある。
??女キャラ・ノマカプがむかつくのでついカッとなって荒らしたことがある
全部当て嵌まる人は一人もいないと思いたいですが、もしいたらとりあえずコメント非表示にして最後まで真面目に
見てください。
多少当て嵌まる部分があるならこの動画を見るか、説明文にリンクを入れている別の動画をぜひ御覧になって考えて
みてください。
まずはじめに
ニコニコ動画は一般サイトです。腐女子専用サイトではありません。勘違いしている人も多いようですが無法地帯で
もありません。
あまり意識していないかもしれませんが、腐女子の嗜好と一般的な嗜好の間には越えられない壁が複数枚存在してい
ます。
想像も空想も妄想も萌えも心の中で思う分には個人の自由です。ですがそれを言動に表す際には他の人への配慮が必
要不可欠です。
もちろん、これは腐女子に限ったことではありませんし、大多数の人がきちんと実行できているはずです。
しかし、ほんの一部の場をわきまえることが出来ない人達が大勢の人に迷惑をかけています。
あなたはその一部の人間になっていませんか?
アンチ腐女子も腐女子もその人の勝手でしょ?腐女子であることは別に悪いことじゃないし。
そうですね。確かに個人の勝手です。
ただ、腐女子とアンチ腐女子の論争が動画上で繰り広げられた時、それに巻き込まれた一般の人にとってはどちらも
大変迷惑な存在です。
もし動画上で叩かれることがあっても感情的になって反論せず、大人の態度でスルーしましょう。『相手が譲らない
なら自分も譲らない』では話が泥沼になってしまいます。こちらから一歩引くことも大切です。
腐女子ってそんなに嫌われてるわけ?腐女子コメントにも乗ってくれるんだけど。
乗ってくれているのは腐女子だけかもしれません。
一部の困った腐女子がどれだけいろんな所に迷惑をかけているのか認識するところから始めましょう。2chやニコ動
の交流掲示板で腐女子について議論しているスレッドを最初から最後まで読んでみてください。
嫌ならコメ消せば?見なきゃいいじゃん。
( ゜д゜)ポカーン
えっと・・・それどんなネタですか?
常識的に考えてこんな人がいるのは信じられないことですが、一般動画で腐女子コメントに不快感を表すと高い頻度
一般向け動画は腐コメを垂れ流して良い場所ではないのですから、腐女子側が反省・自重しなければなりません。ま
してや前述の台詞など非常識にもほどがあります。注意されたら素直に反省し発言には十分注意してください。
まずその『キモヲタ』と同じことをあなたがやっていないかどうかを客観的な目線で確認しましょう。
もし同じことをやっていればあなたも『キモヲタ』と同レベルの人間だということです。『キモヲタ』と同レベルの
人間になりたくなければ控えましょう。
原作がBLの動画ならほぼ腐女子しか見ていないので大丈夫だと思います。
『腐女子向け』と明記していないけれどBL風アレンジがされている動画はネタかどうか空気を読む必要があります。
他の人のコメントや動画の説明文を参考にして判断してください。
場合によっては動画の説明文に『腐女子コメント自重』という内容の文章が書いてあることもあるので面倒でも動画
の説明文には必ず目を通すようにしてください。
頬染め動画や○×計画系の動画は腐女子向けなのかネタなのかが曖昧な部分が大きいので、動画内の空気が読めるよ
うになるまはコメントを控えた方が良さそうです。
『腐女子向け』と明記されているなら多分大丈夫だと思われます。
ただし、自分が推奨するカップリングと動画内のカップリングが異なるからと妄信的にそれを主張するのはNGです。
その動画を楽しんでいる人も嫌な気分になりますし、動画を作った人からすればそういう発言は少なからず不快なも
のです。
BLカップリング系のコメント全般だと思ってかまいません。より具体的に書くと、『●×◆』『▲×◎は公式』『■
はガチで受け』といったところでしょうか。
ヤマジュンネタや過剰なキャラ萌え(抱かれたいとかネタではない様付けとか)等も鬱陶しいと思っている人は多い
ようです。
過剰な俺の嫁系(愛人や婿も含む)も鬱陶しく思う人が増えてきているようなので注意した方が良さそうです。
腐女子同士で盛り上がりたいならそういう場所でやりましょう。内輪で盛り上がりたいならメッセンジャーソフトや
ジャンルによっては腐女子が語れる掲示板などもあったりはします。ここで聞くより自分で探した方が早いと思うの
で自分で探してそちらで盛り上がってください。
世の中には腐女子がいるというだけでドン引きしてしまう繊細な人もいます。一般の場では出来る限り腐女子だと悟
られないようにするのも大切な腐女子のたしなみの一つです。
今と昔じゃ考え方違うんだから隠れる意味がわからない。
『腐女子』という言葉の歴史を調べて見ることをおすすめします。長くなるのでここでは割愛しますが決してイメー
ジの良い言葉ではないことを覚えておいてください。
『腐女子』『BL』等言葉の認知度が急激に上がってきているので一般にも認められたと思いがちですが間違った認識
で使われている場合も相当数あったりします。『腐女子』自身が本来の意味を履き違えないようにしましょう。
動画作者の愛情の差によってキャラの出てくる頻度は変ります。キャラへの愛情が強すぎて別に動画を作っているこ
ともあります。一度動画の説明文をよく読んで情報がないか調べて見ましょう。
好きなキャラがいなくても寂しくても『○○まだー?』などと安易に書き込まないようにしましょう。その動画を楽
同様にニコニコオールスター系の動画に好きな作品が出ていないからと『○○まだー?』などのコメントを残すのも
やめましょう。
そんなに好きなら自分で動画を作るのも一つの手段です。
好きなキャラがありえないくらいいじられててムカつくんですけど。
どんな形であれその作品やキャラに対する愛がなければ動画を作ることはそうそうありません。ごくまれに嫌いなキ
ャラや作品を叩くためにやっている暇そうな人もいますが、愛がなければ動画を見ることもコメントを残すことも普
通はありません。
愛の形も楽しみ方も多種多様です。中には好きなキャラをいじり倒して歪んだ愛情表現をしている人もいます。多少
ムカついてもあなたと同じキャラを愛しているのだと思ってそっとしておいてあげてください。
好き嫌いは人それぞれです。あなたが嫌いなものを好きな人がいることを忘れないでください。
他人が嫌な気分になるのは良いけど自分が嫌な気分になるのは駄目!という考え方は自己中心的で情緒面が未発達な
お子様理論です。大人になって譲歩してあげましょう。
であることを忘れずに。
絶対●×◆なのに◆×●とか主張するのありえない!反論しなきゃ!
どっちがありえないかはどうでも良いです。反論は控えましょう。動画内の空気が悪くなるだけです。
腐女子向け動画でよくみかけますが作者が●×◆をメインに作っている動画上で『次は◆×▲ですね』『●は■のも
の』といった主張をする人が意外といます。
作者側からすればこういう主張はあまり好ましいものではありません。思い入れはあるのでしょうが主張するのは控
えておきましょう。間違ってもカップリング論争を動画上で繰り広げてはいけません。
そんな空気の読めない子と一緒にされたくないでしょうが、現実は非常です。ほんの一部の痛い子のせいで腐女子全
体が痛いと思われます。
誰かが注意してくれるのを待ったり『私は何もしてないけど一部の困ったちゃんがごめんね』という態度はさらに反
感を買うだけです。謝罪の言葉を口にする前に黙って行動しましょう。
これつまんない。荒らしちゃえ☆
荒らすな。
これだけは本気でやめてください。一部の短絡的な人が荒らすせいで腐女子全体が荒らしだと思われます。同じ腐女
子として迷惑です。不快です。腐女子と名乗らないで欲しいです。
つまらないと思ったら戻るボタンを押すかウィンドウを閉じて見なかったことにしましょう。その方があなたとその
他大勢の人の心の平穏に繋がると思います。
せっかくタグつけたのに消されちゃった。何度つけても消される・・・
これは腐女子に限ったことではありませんが、同じタグをつけても消されると感じている場合は一般的に不適切なタ
グだと考えてしつこくつけ直すのを控えましょう。タグ荒らしと同じです。
質問しても誰も答えてくれない。不親切すぎ!
これも腐女子に限ったことではありませんがよく見かけるので念のため、記しておきます。
疑問・質問があればコメントで誰かに聞く前にまずは調べる癖をつけましょう。検索サイト等調べる手段はたくさん
あります。他の人のコメントや動画の説明文を読めばあなたの疑問に対する答えが見つかることも結構あると思いま
す。
動画作者もあなた以外の利用者もあなた専属の無料サポートセンターではありません。たまに博愛精神に溢れた優し
い人が答えてくれることもありますがそれに甘えないようにしましょう。
さいごに
読みにくい長文にもかかわらず最後まで御覧いただきありがとうございました。少し大げさな表現も使ったので不愉
快になった方もいらっしゃるのかもしれません。
腐女子全員がこのようなことをしているわけではないというのは理解していますが、実際に一部の困った子達が所構
わず暴走して周囲に多大な迷惑をかけているのも否定できない事実です。
自重も譲歩も気遣いもいつかは巡り巡って自分に返ってきます。
せっかくのニコニコ動画、みんなでニコニコできるようにできる所からはじめてみませんか?
増田!おら!むにゃむにゃしてないで出てきなさいよ!
http://anond.hatelabo.jp/20070718161706
コピペなのかどうかは知らないけど
こんなむちゃくちゃなこと信じちゃうゆとり脳がいるかもしれないので
一応論理的に否定する
>それは大量のアドレナリンとドーパミンが順番に分泌されるからである。
神経伝達物質にはメジャーな四つでアドレナリン・ノルアドレナリン・セロトニン・ドーパミンがあるけど
http://www.naoru.com/noruadorenarin.htm
これは副交感神経系に働き、交感神経系に働くアドレナリンとは逆の働きをする
多分アドレナリンに対する負のフィードバックとして打ち消す何かが分泌されると妄想してるんだろうけど
そういうのはセロトニンの役割、受容体の鍵穴にセロトニンが阻害剤として取り付く
パニックだったけどそのあと現実感がなくなったりしてなんか醒めた感じになるとき
セロトニンが分泌されて危機状況に慣れさせようとする
ドーパミンはご飯おいしかったり、幸せとかを感じたときに分泌される
大脳生理学は学んでないけど、信頼とかがないと分泌されないんじゃないの?
普通に怖い人と一緒につり橋わたっても怖さの二乗だし
で、弁護士の人から聞いたとかも言ってるけど
書いた人が、自分の異常な性癖を正当化したくて言ってるんじゃなくて
本当に弁護士の人から聞いたと仮定した場合
それとも被害者から?
被害者の表情云々といってるし、弁護士は犯人から聞いたんだろうね
その犯人の証言は自己を正当化させる目的で歪められている可能性はきわめて高いし
というより、人の感情を慮るような神経の持ち主がそんな犯罪せんでしょ
勝手に思い込んでるだけ
んでそれを鵜呑みにした弁護士乙
その弁護士の話で自己を正当化しようとしてる犯罪予備軍(もう犯人かも知れんが)
しかも被害者が亡くなってることをその証拠みたいに言ってるし
まさに死人にくちなし、二重に冒涜してる
趣旨から外れるので感情的になるのは止めておくが
ネットで実際のが流れてるのを見たことがあるけど
ただただ可哀想だったよ、悲惨だった
全然感じてなんかない
最後に
アルファルファモザイクってまとめサイトのコメント欄で必死に強姦魔擁護してたやつはこいつだろ
コメント欄の1060で同じこと書いてる
http://alfalfa.livedoor.biz/archives/50861884.html
>1023
亀だけどさ
裁判官が最も守らなければならない原則ってのがあるんだよ。
「10人の真犯人を見逃したとしても、1人の無辜の人間を裁いてはならない」
冤罪は、ただ間違えただけみたいに思ってるやついるかもしれんが、日本国が
日本国憲法の3本柱に上げている「平和主義」「基本的人権の尊重」「国民主義」の
冤罪を軽視しすぎだろ※見てる限りじゃ。
んで、あれだレイプ被害者が自殺する理由の多くはレイプされたことよりも
「レイプされてるのにもかかわらず感じてしまった自分への嫌悪」のほうが多いそうだ。これは弁護士のあんちゃんから聞いた話だから真偽はわからんけど
トラックバックの方法がわからない・・・・
id:http://anond.hatelabo.jp/20070718161706
コピペなのかどうかは知らないけど
こんなむちゃくちゃなこと信じちゃうゆとり脳がいるかもしれないので
一応論理的に否定する
>それは大量のアドレナリンとドーパミンが順番に分泌されるからである。
神経伝達物質にはメジャーな四つでアドレナリン・ノルアドレナリン・セロトニン・ドーパミンがあるけど
http://www.naoru.com/noruadorenarin.htm
これは副交感神経系に働き、交感神経系に働くアドレナリンとは逆の働きをする
多分アドレナリンに対する負のフィードバックとして打ち消す何かが分泌されると妄想してるんだろうけど
そういうのはセロトニンの役割、受容体の鍵穴にセロトニンが阻害剤として取り付く
パニックだったけどそのあと現実感がなくなったりしてなんか醒めた感じになるとき
セロトニンが分泌されて危機状況に慣れさせようとする
ドーパミンはご飯おいしかったり、幸せとかを感じたときに分泌される
大脳生理学は学んでないけど、信頼とかがないと分泌されないんじゃないの?
普通に怖い人と一緒につり橋わたっても怖さの二乗だし
で、弁護士の人から聞いたとかも言ってるけど
書いた人が、自分の異常な性癖を正当化したくて言ってるんじゃなくて
本当に弁護士の人から聞いたと仮定した場合
それとも被害者から?
被害者の表情云々といってるし、弁護士は犯人から聞いたんだろうね
その犯人の証言は自己を正当化させる目的で歪められている可能性はきわめて高いし
というより、人の感情を慮るような神経の持ち主がそんな犯罪せんでしょ
勝手に思い込んでるだけ
んでそれを鵜呑みにした弁護士乙
その弁護士の話で自己を正当化しようとしてる犯罪予備軍(もう犯人かも知れんが)
しかも被害者が亡くなってることをその証拠みたいに言ってるし
まさに死人にくちなし、二重に冒涜してる
趣旨から外れるので感情的になるのは止めておくが
ネットで実際のが流れてるのを見たことがあるけど
ただただ可哀想だったよ、悲惨だった
全然感じてなんかない
最後に
アルファルファモザイクってまとめサイトのコメント欄で必死に強姦魔擁護してたやつはこいつだろ
コメント欄の1060で同じこと書いてる
http://alfalfa.livedoor.biz/archives/50861884.html
>1023
亀だけどさ
裁判官が最も守らなければならない原則ってのがあるんだよ。
「10人の真犯人を見逃したとしても、1人の無辜の人間を裁いてはならない」
冤罪は、ただ間違えただけみたいに思ってるやついるかもしれんが、日本国が
日本国憲法の3本柱に上げている「平和主義」「基本的人権の尊重」「国民主義」の
冤罪を軽視しすぎだろ※見てる限りじゃ。
んで、あれだレイプ被害者が自殺する理由の多くはレイプされたことよりも
「レイプされてるのにもかかわらず感じてしまった自分への嫌悪」のほうが多いそうだ。これは弁護士のあんちゃんから聞いた話だから真偽はわからんけど
/* Ten */ if (typeof(Ten) == 'undefined') { Ten = {}; } Ten.NAME = 'Ten'; Ten.VERSION = 0.06; /* Ten.Class */ Ten.Class = function(klass, prototype) { if (klass && klass.initialize) { var c = klass.initialize; } else if(klass && klass.base) { var c = function() { return klass.base[0].apply(this, arguments) }; } else { var c = function() {}; } c.prototype = prototype || {}; c.prototype.constructor = c; Ten.Class.inherit(c, klass); if (klass && klass.base) { for (var i = 0; i < klass.base.length; i++) { var parent = klass.base[i]; if (i == 0) { c.SUPER = parent; c.prototype.SUPER = parent.prototype; } Ten.Class.inherit(c, parent); Ten.Class.inherit(c.prototype, parent.prototype); } } return c; } Ten.Class.inherit = function(child,parent) { for (var prop in parent) { if (typeof(child[prop]) != 'undefined' || prop == 'initialize') continue; child[prop] = parent[prop]; } } /* // Basic Ten Classes **/ /* Ten.JSONP */ Ten.JSONP = new Ten.Class({ initialize: function(uri,obj,method) { if (Ten.JSONP.Callbacks.length) { setTimeout(function() {new Ten.JSONP(uri,obj,method)}, 500); return; } var del = uri.match(/\?/) ? '&' : '?'; uri += del + 'callback=Ten.JSONP.callback'; if (!uri.match(/timestamp=/)) { uri += '&' + encodeURI(new Date()); } if (obj && method) Ten.JSONP.addCallback(obj,method); this.script = document.createElement('script'); this.script.src = uri; this.script.type = 'text/javascript'; document.getElementsByTagName('head')[0].appendChild(this.script); }, addCallback: function(obj,method) { Ten.JSONP.Callbacks.push({object: obj, method: method}); }, callback: function(args) { // alert('callback called'); var cbs = Ten.JSONP.Callbacks; for (var i = 0; i < cbs.length; i++) { var cb = cbs[i]; cb.object[cb.method].call(cb.object, args); } Ten.JSONP.Callbacks = []; }, MaxBytes: 8000, Callbacks: [] }); /* Ten.XHR */ Ten.XHR = new Ten.Class({ initialize: function(uri,opts,obj,method) { if (!uri) return; this.request = Ten.XHR.getXMLHttpRequest(); this.callback = {object: obj, method: method}; var xhr = this; var prc = this.processReqChange; this.request.onreadystatechange = function() { prc.apply(xhr, arguments); } var method = opts.method || 'GET'; this.request.open(method, uri, true); if (method == 'POST') { this.request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); } var data = opts.data ? Ten.XHR.makePostData(opts.data) : null; this.request.send(data); }, getXMLHttpRequest: function() { var xhr; var tryThese = [ function () { return new XMLHttpRequest(); }, function () { return new ActiveXObject('Msxml2.XMLHTTP'); }, function () { return new ActiveXObject('Microsoft.XMLHTTP'); }, function () { return new ActiveXObject('Msxml2.XMLHTTP.4.0'); }, ]; for (var i = 0; i < tryThese.length; i++) { var func = tryThese[i]; try { xhr = func; return func(); } catch (e) { //alert(e); } } return xhr; }, makePostData: function(data) { var pairs = []; var regexp = /%20/g; for (var k in data) { var v = data[k].toString(); var pair = encodeURIComponent(k).replace(regexp,'+') + '=' + encodeURIComponent(v).replace(regexp,'+'); pairs.push(pair); } return pairs.join('&'); } },{ processReqChange: function() { var req = this.request; if (req.readyState == 4) { if (req.status == 200) { var cb = this.callback; cb.object[cb.method].call(cb.object, req); } else { alert("There was a problem retrieving the XML data:\n" + req.statusText); } } } }); /* Ten.Observer */ Ten.Observer = new Ten.Class({ initialize: function(element,event,obj,method) { var func = obj; if (typeof(method) == 'string') { func = obj[method]; } this.element = element; this.event = event; this.listener = function(event) { return func.call(obj, new Ten.Event(event || window.event)); } if (this.element.addEventListener) { if (this.event.match(/^on(.+)$/)) { this.event = RegExp.$1; } this.element.addEventListener(this.event, this.listener, false); } else if (this.element.attachEvent) { this.element.attachEvent(this.event, this.listener); } } },{ stop: function() { if (this.element.removeEventListener) { this.element.removeEventListener(this.event,this.listener,false); } else if (this.element.detachEvent) { this.element.detachEvent(this.event,this.listener); } } }); /* Ten.Event */ Ten.Event = new Ten.Class({ initialize: function(event) { this.event = event; }, keyMap: { 8:"backspace", 9:"tab", 13:"enter", 19:"pause", 27:"escape", 32:"space", 33:"pageup", 34:"pagedown", 35:"end", 36:"home", 37:"left", 38:"up", 39:"right", 40:"down", 44:"printscreen", 45:"insert", 46:"delete", 112:"f1", 113:"f2", 114:"f3", 115:"f4", 116:"f5", 117:"f6", 118:"f7", 119:"f8", 120:"f9", 121:"f10", 122:"f11", 123:"f12", 144:"numlock", 145:"scrolllock" } },{ mousePosition: function() { if (!this.event.clientX) return; return Ten.Geometry.getMousePosition(this.event); }, isKey: function(name) { var ecode = this.event.keyCode; if (!ecode) return; var ename = Ten.Event.keyMap[ecode]; if (!ename) return; return (ename == name); }, targetIsFormElements: function() { var target = this.event.target; if (!target) return; var T = (target.tagName || '').toUpperCase(); return (T == 'INPUT' || T == 'SELECT' || T == 'OPTION' || T == 'BUTTON' || T == 'TEXTAREA'); }, stop: function() { var e = this.event; if (e.stopPropagation) { e.stopPropagation(); e.preventDefault(); } else { e.cancelBubble = true; e.returnValue = false; } } }); /* Ten.DOM */ Ten.DOM = new Ten.Class({ getElementsByTagAndClassName: function(tagName, className, parent) { if (typeof(parent) == 'undefined') { parent = document; } var children = parent.getElementsByTagName(tagName); if (className) { var elements = []; for (var i = 0; i < children.length; i++) { var child = children[i]; var cls = child.className; if (!cls) { continue; } var classNames = cls.split(' '); for (var j = 0; j < classNames.length; j++) { if (classNames[j] == className) { elements.push(child); break; } } } return elements; } else { return children; } }, removeEmptyTextNodes: function(element) { var nodes = element.childNodes; for (var i = 0; i < nodes.length; i++) { var node = nodes[i]; if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) { node.parentNode.removeChild(node); } } }, nextElement: function(elem) { do { elem = elem.nextSibling; } while (elem && elem.nodeType != 1); return elem; }, prevElement: function(elem) { do { elem = elem.previousSibling; } while (elem && elem.nodeType != 1); return elem; }, scrapeText: function(node) { var rval = []; (function (node) { var cn = node.childNodes; if (cn) { for (var i = 0; i < cn.length; i++) { arguments.callee.call(this, cn[i]); } } var nodeValue = node.nodeValue; if (typeof(nodeValue) == 'string') { rval.push(nodeValue); } })(node); return rval.join(''); }, onLoadFunctions: [], loaded: false, timer: null, addEventListener: function(event,func) { if (event != 'load') return; Ten.DOM.onLoadFunctions.push(func); Ten.DOM.checkLoaded(); }, checkLoaded: function() { var c = Ten.DOM; if (c.loaded) return true; if (document && document.getElementsByTagName && document.getElementById && document.body) { if (c.timer) { clearInterval(c.timer); c.timer = null; } for (var i = 0; i < c.onLoadFunctions.length; i++) { c.onLoadFunctions[i](); } c.onLoadFunctions = []; c.loaded = true; } else { c.timer = setInterval(c.checkLoaded, 13); } } }); /* Ten.Style */ Ten.Style = new Ten.Class({ applyStyle: function(elem, style) { for (prop in style) { elem.style[prop] = style[prop]; } } }); /* Ten.Geometry */ Ten.Geometry = new Ten.Class({ initialize: function() { if (Ten.Geometry._initialized) return; var func = Ten.Geometry._functions; var de = document.documentElement; if (window.innerWidth) { func.getWindowWidth = function() { return window.innerWidth; } func.getWindowHeight = function() { return window.innerHeight; } func.getXScroll = function() { return window.pageXOffset; } func.getYScroll = function() { return window.pageYOffset; } } else if (de && de.clientWidth) { func.getWindowWidth = function() { return de.clientWidth; } func.getWindowHeight = function() { return de.clientHeight; } func.getXScroll = function() { return de.scrollLeft; } func.getYScroll = function() { return de.scrollTop; } } else if (document.body.clientWidth) { func.getWindowWidth = function() { return document.body.clientWidth; } func.getWindowHeight = function() { return document.body.clientHeight; } func.getXScroll = function() { return document.body.scrollLeft; } func.getYScroll = function() { return document.body.scrollTop; } } Ten.Geometry._initialized = true; }, _initialized: false, _functions: {}, getScroll: function() { if (!Ten.Geometry._initialized) new Ten.Geometry; return { x: Ten.Geometry._functions.getXScroll(), y: Ten.Geometry._functions.getYScroll() }; }, getMousePosition: function(pos) { // pos should have clientX, clientY same as mouse event if ((navigator.userAgent.indexOf('Safari') > -1) && (navigator.userAgent.indexOf('Version/') < 0)) { return { x: pos.clientX, y: pos.clientY }; } else { var scroll = Ten.Geometry.getScroll(); return { x: pos.clientX + scroll.x, y: pos.clientY + scroll.y }; } }, getElementPosition: function(e) { return { x: e.offsetLeft, y: e.offsetTop }; }, getWindowSize: function() { if (!Ten.Geometry._initialized) new Ten.Geometry; return { w: Ten.Geometry._functions.getWindowWidth(), h: Ten.Geometry._functions.getWindowHeight() }; } }); /* Ten.Position */ Ten.Position = new Ten.Class({ initialize: function(x,y) { this.x = x; this.y = y; }, subtract: function(a,b) { return new Ten.Position(a.x - b.x, a.y - b.y); } }); /* // require Ten.js **/ /* Ten.SubWindow */ Ten.SubWindow = new Ten.Class({ initialize: function() { var c = this.constructor; if (c.singleton && c._cache) { return c._cache; } var div = document.createElement('div'); Ten.Style.applyStyle(div, Ten.SubWindow._baseStyle); Ten.Style.applyStyle(div, c.style); this.window = div; this.addContainerAndCloseButton(); document.body.appendChild(div); if (c.draggable) { this._draggable = new Ten.Draggable(div, this.handle); } if (c.singleton) c._cache = this; return this; }, _baseStyle: { color: '#000', position: 'absolute', display: 'none', zIndex: 2, left: 0, top: 0, backgroundColor: '#fff', border: '1px solid #bbb' }, style: { padding: '2px', textAlign: 'center', borderRadius: '6px', MozBorderRadius: '6px', width: '100px', height: '100px' }, handleStyle: { position: 'absolute', top: '0px', left: '0px', backgroundColor: '#f3f3f3', borderBottom: '1px solid #bbb', width: '100%', height: '30px' }, containerStyle: { margin: '32px 0 0 0', padding: '0 10px' }, // closeButton: 'close.gif', closeButton: 'http://s.hatena.com/images/close.gif', closeButtonStyle: { position: 'absolute', top: '8px', right: '10px', cursor: 'pointer' }, _baseScreenStyle: { position: 'absolute', top: '0px', left: '0px', display: 'none', zIndex: 1, overflow: 'hidden', width: '100%', height: '100%' }, screenStyle: {}, showScreen: true, singleton: true, draggable: true, _cache: null },{ screen: null, windowObserver: null, visible: false, addContainerAndCloseButton: function() { var win = this.window; var c = this.constructor; var div = document.createElement('div'); win.appendChild(div); Ten.Style.applyStyle(div, c.containerStyle); this.container = div; if (c.handleStyle) { var handle = document.createElement('div'); Ten.Style.applyStyle(handle, c.handleStyle); win.appendChild(handle); this.handle = handle; } if (c.closeButton) { var btn = document.createElement('img'); btn.src = c.closeButton; btn.alt = 'close'; Ten.Style.applyStyle(btn, c.closeButtonStyle); win.appendChild(btn); new Ten.Observer(btn, 'onclick', this, 'hide'); this.closeButton = btn; } if (c.showScreen) { var screen = document.createElement('div'); Ten.Style.applyStyle(screen, Ten.SubWindow._baseScreenStyle); Ten.Style.applyStyle(screen, c.screenStyle); document.body.appendChild(screen); this.screen = screen; new Ten.Observer(screen, 'onclick', this, 'hide'); } }, show: function(pos) { pos = (pos.x && pos.y) ? pos : {x:0, y:0}; with (this.window.style) { display = 'block'; left = pos.x + 'px'; top = pos.y + 'px'; } if (this.screen) { with (this.screen.style) { display = 'block'; left = Ten.Geometry.getScroll().x + 'px'; top = Ten.Geometry.getScroll().y + 'px'; } } this.windowObserver = new Ten.Observer(document.body, 'onkeypress', this, 'handleEscape'); this.visible = true; }, handleEscape: function(e) { if (!e.isKey('escape')) return; this.hide(); }, hide: function() { if (this._draggable) this._draggable.endDrag(); this.window.style.display = 'none'; if (this.screen) this.screen.style.display = 'none'; if (this.windowObserver) this.windowObserver.stop(); this.visible = false; } }); /* Ten.Draggable */ Ten.Draggable = new Ten.Class({ initialize: function(element,handle) { this.element = element; this.handle = handle || element; this.startObserver = new Ten.Observer(this.handle, 'onmousedown', this, 'startDrag'); this.handlers = []; } },{ startDrag: function(e) { if (e.targetIsFormElements()) return; this.delta = Ten.Position.subtract( e.mousePosition(), Ten.Geometry.getElementPosition(this.element) ); this.handlers = [ new Ten.Observer(document, 'onmousemove', this, 'drag'), new Ten.Observer(document, 'onmouseup', this, 'endDrag'), new Ten.Observer(this.element, 'onlosecapture', this, 'endDrag') ]; e.stop(); }, drag: function(e) { var pos = Ten.Position.subtract(e.mousePosition(), this.delta); Ten.Style.applyStyle(this.element, { left: pos.x + 'px', top: pos.y + 'px' }); e.stop(); }, endDrag: function(e) { for (var i = 0; i < this.handlers.length; i++) { this.handlers[i].stop(); } if(e) e.stop(); } }); /* Hatena */ if (typeof(Hatena) == 'undefined') { Hatena = {}; } /* Hatena.User */ Hatena.User = new Ten.Class({ initialize: function(name) { this.name = name; }, getProfileIcon: function(name) { if (!name) name = 'user'; var pre = name.match(/^[\w-]{2}/)[0]; var img = document.createElement('img'); img.src = 'http://www.hatena.ne.jp/users/' + pre + '/' + name + '/profile_s.gif'; img.alt = name; img.setAttribute('class', 'profile-icon'); img.setAttribute('width','16px'); img.setAttribute('height','16px'); with (img.style) { margin = '0 3px'; border = 'none'; verticalAlign = 'middle'; } return img; } }, { profileIcon: function() { return Hatena.User.getProfileIcon(this.name); } }); /* Hatena.Star */ if (typeof(Hatena.Star) == 'undefined') { Hatena.Star = {}; } /* // Hatena.Star.* classes // **/ if (window.location && window.location.host.match(/hatena\.com/)) { Hatena.Star.BaseURL = 'http://s.hatena.com/'; } else { Hatena.Star.BaseURL = 'http://s.hatena.ne.jp/'; } Hatena.Star.Token = null; /* Hatena.Star.User */ Hatena.Star.User = new Ten.Class({ base: [Hatena.User], initialize: function(name) { if (Hatena.Star.User._cache[name]) { return Hatena.Star.User._cache[name]; } else { this.name = name; Hatena.Star.User._cache[name] = this; return this; } }, _cache: {} },{ userPage: function() { return Hatena.Star.BaseURL + this.name + '/'; } }); /* Hatena.Star.Entry */ Hatena.Star.Entry = new Ten.Class({ initialize: function(e) { this.entry = e; this.uri = e.uri; this.title = e.title; this.star_container = e.star_container; this.comment_container = e.comment_container; this.stars = []; this.comments = []; }, maxStarCount: 11 },{ flushStars: function() { this.stars = []; this.star_container.innerHTML = ''; }, bindStarEntry: function(se) { this.starEntry = se; for (var i = 0; i < se.stars.length; i++) { if (typeof(se.stars[i]) == 'number') { this.stars.push(new Hatena.Star.InnerCount(se.stars[i],this)); } else { this.stars.push(new Hatena.Star.Star(se.stars[i])); } } if (se.comments && !this.comments.length) { for (var i = 0; i < se.comments.length; i++) { this.comments.push(new Hatena.Star.Comment(se.comments[i])); } } this.can_comment = se.can_comment; }, setCanComment: function(v) { this.can_comment = v; }, showButtons: function() { this.addAddButton(); this.addCommentButton(); }, addAddButton: function() { if (this.star_container) { this.addButton = new Hatena.Star.AddButton(this); this.star_container.appendChild(this.addButton); } }, addCommentButton: function() { if (this.comment_container) { this.commentButton = new Hatena.Star.CommentButton(this); this.comment_container.appendChild(this.commentButton.img); } }, showStars: function() { var klass = this.constructor; // if (this.stars.length > klass.maxStarCount) { // var ic = new Hatena.Star.InnerCount(this.stars.slice(1,this.stars.length)); // this.star_container.appendChild(this.stars[0]); // this.star_container.appendChild(ic); // this.star_container.appendChild(this.stars[this.stars.length - 1]); // } else { for (var i = 0; i < this.stars.length; i++) { this.star_container.appendChild(this.stars[i]); } }, showCommentButton: function() { if (this.can_comment) { this.commentButton.show(); if (this.comments.length) this.commentButton.activate(); } else { // this.commentButton.hide(); } }, addStar: function(star) { this.stars.push(star); this.star_container.appendChild(star); }, addComment: function(com) { if (!this.comments) this.comments = []; if (this.comments.length == 0) { this.commentButton.activate(); } this.comments.push(com); }, showCommentCount: function() { this.comment_container.innerHTML += this.comments.length; } }); /* Hatena.Star.Button */ Hatena.Star.Button = new Ten.Class({ createButton: function(args) { var img = document.createElement('img'); img.src = args.src; img.alt = img.title = args.alt; with (img.style) { cursor = 'pointer'; margin = '0 3px'; padding = '0'; border = 'none'; verticalAlign = 'middle'; } return img; } }); /* Hatena.Star.AddButton */ Hatena.Star.AddButton = new Ten.Class({ base: ['Hatena.Star.Button'], initialize: function(entry) { this.entry = entry; this.lastPosition = null; var img = Hatena.Star.Button.createButton({ src: Hatena.Star.AddButton.ImgSrc, alt: 'Add Star' }); this.observer = new Ten.Observer(img,'onclick',this,'addStar'); this.img = img; return img; }, ImgSrc: Hatena.Star.BaseURL + 'images/add.gif' },{ addStar: function(e) { this.lastPosition = e.mousePosition(); var uri = Hatena.Star.BaseURL + 'star.add.json?uri=' + encodeURIComponent(this.entry.uri) + '&title=' + encodeURIComponent(this.entry.title); if (Hatena.Star.Token) { uri += '&token=' + Hatena.Star.Token; } new Ten.JSONP(uri, this, 'receiveResult'); }, receiveResult: function(args) { var name = args ? args.name : null; if (name) { this.entry.addStar(new Hatena.Star.Star({name: name})); //alert('Succeeded in Adding Star ' + args); } else if (args.errors) { var pos = this.lastPosition; pos.x -= 10; pos.y += 25; var scroll = Ten.Geometry.getScroll(); var scr = new Hatena.Star.AlertScreen(); var alert = args.errors[0]; scr.showAlert(alert, pos); } } }); /* Hatena.Star.CommentButton */ Hatena.Star.CommentButton = new Ten.Class({ base: ['Hatena.Star.Button'], initialize: function(entry) { this.entry = entry; this.lastPosition = null; var img = Hatena.Star.Button.createButton({ src: Hatena.Star.CommentButton.ImgSrc, alt: 'Comments' }); img.style.display = 'none'; this.observer = new Ten.Observer(img,'onclick',this,'showComments'); this.img = img; }, ImgSrc: Hatena.Star.BaseURL + 'images/comment.gif', ImgSrcActive: Hatena.Star.BaseURL + 'images/comment_active.gif' },{ showComments: function(e) { if (!this.screen) this.screen = new Hatena.Star.CommentScreen(); this.screen.bindEntry(this.entry); var pos = e.mousePosition(); pos.y += 25; this.screen.showComments(this.entry, pos); }, hide: function() { this.img.style.display = 'none'; }, show: function() { this.img.style.display = 'inline'; }, activate: function() { this.show(); this.img.src = Hatena.Star.CommentButton.ImgSrcActive; } }); /* Hatena.Star.Star */ Hatena.Star.Star = new Ten.Class({ initialize: function(args) { if (args.img) { this.img = args.img; this.name = this.img.getAttribute('alt'); } else { this.name = args.name; var img = document.createElement('img'); img.src = Hatena.Star.Star.ImgSrc; img.alt = this.name; with (img.style) { padding = '0'; border = 'none'; } this.img = img; } new Ten.Observer(this.img,'onmouseover',this,'showName'); new Ten.Observer(this.img,'onmouseout',this,'hideName'); if (this.name) { this.user = new Hatena.Star.User(this.name); this.img.style.cursor = 'pointer'; new Ten.Observer(this.img,'onclick',this,'goToUserPage'); } if (args.count && args.count > 1) { var c = document.createElement('span'); c.setAttribute('class', 'hatena-star-inner-count'); Ten.Style.applyStyle(c, Hatena.Star.InnerCount.style); c.innerHTML = args.count; var s = document.createElement('span'); s.appendChild(img); s.appendChild(c); return s; } else { return this.img; } }, ImgSrc: Hatena.Star.BaseURL + 'images/star.gif' },{ showName: function(e) { if (!this.screen) this.screen = new Hatena.Star.NameScreen(); var pos = e.mousePosition(); pos.x += 10; pos.y += 25; this.screen.showName(this.name, pos); }, hideName: function() { if (!this.screen) return; this.screen.hide(); }, goToUserPage: function() { window.location = this.user.userPage(); } }); /* Hatena.Star.InnerCount */ Hatena.Star.InnerCount = new Ten.Class({ initialize: function(count, e) { this.count = count; this.entry = e; var c = document.createElement('span'); c.setAttribute('class', 'hatena-star-inner-count'); Ten.Style.applyStyle(c, Hatena.Star.InnerCount.style); c.style.cursor = 'pointer'; c.innerHTML = count; new Ten.Observer(c,'onclick',this,'showInnerStars'); this.container = c; return c; }, style: { color: '#f4b128', fontWeight: 'bold', fontSize: '80%', fontFamily: '"arial", sans-serif', margin: '0 2px' } },{ showInnerStars: function() { var url = Hatena.Star.BaseURL + 'entry.json?uri=' + encodeURIComponent(this.entry.uri); new Ten.JSONP(url, this, 'receiveStarEntry'); }, receiveStarEntry: function(res) { var se = res.entries[0]; var e = this.entry; if (encodeURIComponent(se.uri) != encodeURIComponent(e.uri)) return; e.flushStars(); e.bindStarEntry(se); e.addAddButton(); e.showStars(); } }); /* Hatena.Star.Comment */ Hatena.Star.Comment = new Ten.Class({ initialize: function(args) { this.name = args.name; this.body = args.body; } },{ asElement: function() { var div = document.createElement('div'); with (div.style) { margin = '0px 0'; padding = '5px 0'; borderBottom = '1px solid #ddd'; } var ico = Hatena.User.getProfileIcon(this.name); div.appendChild(ico); var span = document.createElement('span'); with(span.style) { fontSize = '90%'; } span.innerHTML = this.body; div.appendChild(span); return div; } }); /* Hatena.Star.NameScreen */ Hatena.Star.NameScreen = new Ten.Class({ base: [Ten.SubWindow], style: { padding: '2px', textAlign: 'center' }, containerStyle: { margin: 0, padding: 0 }, handleStyle: null, showScreen: false, closeButton: null, draggable: false },{ showName: function(name, pos) { this.container.innerHTML = ''; this.container.appendChild(Hatena.User.getProfileIcon(name)); this.container.appendChild(document.createTextNode(name)); this.show(pos); } }); /* Hatena.Star.AlertScreen */ Hatena.Star.AlertScreen = new Ten.Class({ base: [Ten.SubWindow], style: { padding: '2px', textAlign: 'center', borderRadius: '6px', MozBorderRadius: '6px', width: '240px', height: '120px' }, handleStyle: { position: 'absolute', top: '0px', left: '0px', backgroundColor: '#f3f3f3', borderBottom: '1px solid #bbb', width: '100%', height: '30px', borderRadius: '6px 6px 0 0', MozBorderRadius: '6px 6px 0 0' } },{ showAlert: function(msg, pos) { this.container.innerHTML = msg; var win = Ten.Geometry.getWindowSize(); var scr = Ten.Geometry.getScroll(); var w = parseInt(this.constructor.style.width) + 20; if (pos.x + w > scr.x + win.w) pos.x = win.w + scr.x - w; this.show(pos); } }); /* Hatena.Star.CommentScreen */ Hatena.Star.CommentScreen = new Ten.Class({ base: [Ten.SubWindow], initialize: function() { var self = this.constructor.SUPER.call(this); if (!self.commentsContainer) self.addCommentsContainer(); return self; }, style: { width: '280px', height: '280px', overflowY: 'auto', padding: '2px', textAlign: 'center', borderRadius: '6px', MozBorderRadius: '6px' }, handleStyle: { position: 'absolute', top: '0px', left: '0px', backgroundColor: '#f3f3f3', borderBottom: '1px solid #bbb', width: '100%', height: '30px', borderRadius: '6px 6px 0 0', MozBorderRadius: '6px 6px 0 0' }, containerStyle: { margin: '32px 0 0 0', textAlign: 'left', padding: '0 10px' }, getLoadImage: function() { var img = document.createElement('img'); img.src = Hatena.Star.BaseURL + 'images/load.gif'; img.setAttribute('alt', 'Loading'); with (img.style) { verticalAlign = 'middle'; margin = '0 2px'; } return img; } },{ addCommentsContainer: function() { var div = document.createElement('div'); with (div.style) { marginTop = '-3px'; } this.container.appendChild(div); this.commentsContainer = div; }, showComments: function(e, pos) { var comments = e.comments; if (!comments) comments = []; this.commentsContainer.innerHTML = ''; for (var i=0; i<comments.length; i++) { this.commentsContainer.appendChild(comments[i].asElement()); } if (e.starEntry && !e.can_comment) { this.hideCommentForm(); } else { this.addCommentForm(); } var win = Ten.Geometry.getWindowSize(); var scr = Ten.Geometry.getScroll(); var w = parseInt(this.constructor.style.width) + 20; if (pos.x + w > scr.x + win.w) pos.x = win.w + scr.x - w; this.show(pos); }, bindEntry: function(e) { this.entry = e; }, sendComment: function(e) { if (!e.isKey('enter')) return; var body = this.commentInput.value; if (!body) return; this.commentInput.disabled = 'true'; this.showLoadImage(); var url = Hatena.Star.BaseURL + 'comment.add.json?body=' + encodeURIComponent(body) + '&uri=' + encodeURIComponent(this.entry.uri) + '&title=' + encodeURIComponent(this.entry.title); new Ten.JSONP(url, this, 'receiveResult'); }, receiveResult: function(args) { if (!args.name || !args.body) return; this.commentInput.value = ''; this.commentInput.disabled = ''; this.hideLoadImage(); var com = new Hatena.Star.Comment(args); this.entry.addComment(com); this.commentsContainer.appendChild(com.asElement()); }, showLoadImage: function() { if (!this.loadImage) return; this.loadImage.style.display = 'inline'; }, hideLoadImage: function() { if (!this.loadImage) return; this.loadImage.style.display = 'none'; }, hideCommentForm: function() { if (!this.commentForm) return; this.commentForm.style.display = 'none'; }, addCommentForm: function() { if (this.commentForm) { this.commentForm.style.display = 'block'; return; } var form = document.createElement('div'); this.container.appendChild(form); this.commentForm = form; with (form.style) { margin = '0px 0'; padding = '5px 0'; // borderTop = '1px solid #ddd'; } //if (Hatena.Visitor) { // form.appendChild(Hatena.Visitor.profileIcon()); //} else { // form.appendChild(Hatena.User.getProfileIcon()); //} var input = document.createElement('input'); input.type = 'text'; with (input.style) { width = '215px'; border = '1px solid #bbb'; padding = '3px'; } form.appendChild(input); this.commentInput = input; var img = this.constructor.getLoadImage(); this.loadImage = img; this.hideLoadImage(); form.appendChild(img); new Ten.Observer(input,'onkeypress',this,'sendComment'); } }); /* Hatena.Star.EntryLoader */ Hatena.Star.EntryLoader = new Ten.Class({ initialize: function() { var entries = Hatena.Star.EntryLoader.loadEntries(); this.entries = []; for (var i = 0; i < entries.length; i++) { var e = new Hatena.Star.Entry(entries[i]); e.showButtons(); this.entries.push(e); } this.getStarEntries(); }, createStarContainer: function() { var sc = document.createElement('span'); sc.setAttribute('class', 'hatena-star-star-container'); sc.style.marginLeft = '1px'; return sc; }, createCommentContainer: function() { var cc = document.createElement('span'); cc.setAttribute('class', 'hatena-star-comment-container'); cc.style.marginLeft = '1px'; return cc; }, scrapeTitle: function(node) { var rval = []; (function (node) { if (node.tagName == 'SPAN' && (node.className == 'sanchor' || node.className == 'timestamp')) { return; } else if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) { return; } var cn = node.childNodes; if (cn) { for (var i = 0; i < cn.length; i++) { arguments.callee.call(this, cn[i]); } } var nodeValue = node.nodeValue; if (typeof(nodeValue) == 'string') { rval.push(nodeValue); } })(node); return rval.join(''); }, headerTagAndClassName: ['h3',null], getHeaders: function() { var t = Hatena.Star.EntryLoader.headerTagAndClassName; return Ten.DOM.getElementsByTagAndClassName(t[0],t[1],document); }, loadEntries: function() { var entries = []; //var headers = document.getElementsByTagName('h3'); var c = Hatena.Star.EntryLoader; var headers = c.getHeaders(); for (var i = 0; i < headers.length; i++) { var header = headers[i]; var a = header.getElementsByTagName('a')[0]; if (!a) continue; var uri = a.href; var title = ''; // Ten.DOM.removeEmptyTextNodes(header); var cns = header.childNodes; title = c.scrapeTitle(header); var cc = c.createCommentContainer(); header.appendChild(cc); var sc = c.createStarContainer(); header.appendChild(sc); entries.push({ uri: uri, title: title, star_container: sc, comment_container: cc }); } return entries; } },{ getStarEntries: function() { var url = Hatena.Star.BaseURL + 'entries.json?'; for (var i = 0; i < this.entries.length; i++) { if (url.length > Ten.JSONP.MaxBytes) { new Ten.JSONP(url, this, 'receiveStarEntries'); url = Hatena.Star.BaseURL + 'entries.json?'; } url += 'uri=' + encodeURIComponent(this.entries[i].uri) + '&'; } new Ten.JSONP(url, this, 'receiveStarEntries'); }, receiveStarEntries: function(res) { var entries = res.entries; if (!entries) entries = []; for (var i = 0; i < this.entries.length; i++) { var e = this.entries[i]; for (var j = 0; j < entries.length; j++) { var se = entries[j]; if (!se.uri) continue; if (encodeURIComponent(se.uri) == encodeURIComponent(e.uri)) { e.bindStarEntry(se); entries.splice(j,1); break; } } if (typeof(e.can_comment) == 'undefined') { e.setCanComment(res.can_comment); } e.showStars(); e.showCommentButton(); } } }); /* Hatena.Star.WindowObserver */ Hatena.Star.WindowObserver = new Ten.Class({ initialize: funct
今さながら突っ込んでみる。
オペレーターキャッシュを使って、微妙に再ダウンロードに防げて、転送量を防ぐ役に立つぞ。
とか。
http://bmky.net/diary/log/1529.html
http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/TERRAZI/20070515/p3
>BTはファイルの先頭から順番にダウンロードされるわけではない。
見ながらと、落とす用に分割する。って手は?
前からダウンロードする、オリジナルクライアントを開発・・・・。
の前に、もっと重要な事がある。
転送量の削減にはなるが、
または全く居ないので、焼け石に水。