「http」を含む日記 RSS

はてなキーワード: httpとは

2007-09-16

[]1日目

コンテストルールを確認する。

http://rails.drecom.jp/

とりたてて特殊なルールも何をみるというポイントもかかれていないようだ。

協賛企業をみても系列一色だ。

求人情報が併載されているところをみると、もしかしたらそちらがメインコンテストなのかもしれない。

締め切りは25日。これまでにサービスインをさせなければいけないらしい。

逆算しても23日にはローカル鯖で動いている必要があるだろう。

23日は誕生日だ。よって作業をするつもりは殆どない。

でも、誰も相手をしてくれない気がするので作業をしてしまうかもしれない。

23日までまる5日しかない。

唯一、ドリコム賞というのがComet/ShootingStarを使うことを前提としている。

Cometメインに据えてあと5日でどうこするのは見通しが立たない。

余裕があったら追ってみよう。

積読していた本をひっぱりだす。

ISBN:4798013951

RailsDL先も書いていないので閉じる。

なにがなんだかわからないがRails言うからにはRailsが必要なのだろう。

検索してあれこれをダウンロードしてみる。

初期設定でまとめられたのないかなと再度検索。

Windows環境での Ruby on Rails (開発環境構築)

http://www.syssupo.co.jp/net_hal/ror.html

こういうのをみつけた。便利!!感謝!!最初からここから辿ればよかった。

httpd.confいじくってapache再起動掛けたらスタートできない。

困った。

見直してみたらRubyForApacheのインスコでしくじったよう。

再度設定。

HelloWorldをさっそく。

コマンドラインなら成功するのだが、rbファイルを配置してのブラウザベースの起動のさせかたがわからない。

ruby -e'puts("Hello The World!!WRyyy!!!")'

あ、、なんだ、拡張子をrbで作ったのがいけないのか。拡張子cgiにしたら動いた。

#!ruby
puts("Hello,The world!")

RailsHello, world!はなにやらさらに違うようだ。

Railsというのはなにやらスケルトンフレームワークなのだろうか?

http://blog.codezine.jp/editor/2007/06/ruby_on_railshello_world_1.php

ここを見ながら自分の環境にあうように書いてみたがうまくいかなかった。

開発環境もまだきめていなかったので、Eclipseをつかおうかな。何かお奨めのある?

とりあえず今日はここまで。

明日は・・・

3000系テストサーバー意味とか構成がさっぱりわからないのでそこら辺を弄ってみるのと、実際にRailsを触ってみるところ。あと開発環境構築かな。

http://blog.codezine.jp/editor/2007/06/aptana_eclipseruby_on_rails_1.php

ここみながら、aptana関連をなにやらわからないままいれて見たのだけど、

要求された操作は現在の構成には無効であるため、実行できません。 詳しくは詳細を参照してください。

Aptana Editor Infrastructure (0.2.9.16696) 必須: プラグイン "org.eclipse.core.filesystem"。

Ruby Development Tools (0.9.0.707021729NGT) 必須: プラグイン "org.eclipse.core.filesystem"。

filesystemプラグインがないってどういうこっちゃ。

http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/20070702/eclipse-rcp-europa-win32.zip&r=1&protocol=http

これかな?

後で入れてみよう。

おなかがすいたので今日はここまで!

2007-09-15

http://anond.hatelabo.jp/20070914184742

同じ技術者としてmalaに同意する。

その位あたり前の事をしなかったamebloが悪い。

例えるならレストラン食材を納品する業者が注文してないタンポポのみ納品するぐらいありえない。

そんな事になったらレストランはその日休業するしかなくなってしまう。

malaだって、HTTP仕様道理にamebloステータスを返せば問題なかったのに、

全然関係ない記事を返した為にlivedoor Readerがそれを拾ってしまってシステムとして

大量にゴミを溜めてしまう事になったはずだ。

これはlivedoor Readerにとってはウィルスと同じようなモノだろう。

一般人から見れば何ともないかもしれないが専門家から見れば大問題な事だから一般人はmalaがなぜ怒ってるのか理解できてない。

とつぜんマスコミが一人の大学教授の証言を元に「ゲーム脳」という物を広めてしまった。

一般人は専門家大学教授が言うのだから当然事実なのだろうとゲームを批判する。

だけど実際は大学教授の言っている事なんて何の証拠もないデタラメなのだが一般人はそれを理解できない。

そこで重要になるのが同じ専門家の否定意見だ。

一番重要な検証と言う結果をごまかしているのは専門家として許せる行為ではない。

なかには「無知でグズ」と怒りをあらわにする人もいるだろう。

それ程怒るのはそう言った事に一番真剣に取り組んでいた人だ。

今回amebloがやった事はそれに関わる人に迷惑をかけた訳であり、malaが人格まで否定されるのはおかしい。

http://anond.hatelabo.jp/20070914184742

>アメブロHTTP素人であると言うのなら、あなた達は発言の素人だと思います。

高木浩光@自宅の日記もそう?

まぁ話の内容とか正確さは考えずに、言葉遣いや服装だけで判断する詐欺師に騙されやすいタイプの人っているよね。

その人が毒蝮三太夫かどうかを知らずにマジギレした人ってことだしね。

2007-09-08

Re: ハイパーリンクっていう仕組みは

プロトコル(http)そのものをどうにかして、これを考慮した拡張ってできないものなのでしょうか。

refererじゃ不足ですかね?不足だとしても、どんなリンクだとか、そういう情報を付け加える事自体は簡単です。あとは、それが標準化される(受け入れられる)か否かの話です。

セマンティック・ウェブってその部分が重要になる気がします。

たんなる、HTML文書の論理的な接続だけで語れなくなってきているということは。

この辺はFOAFとかRSS AutoDiscoveryのような例があります。あと、サーチエンジンのクローラーがとってきた方法も参考になるでしょう。ただ、これも標準化される(受け入れられる)か否かが重要ですが。

心理学とか社会科学とかその辺の知見が反映されたWWWの構築が大事かもしれませんね。

結局、その辺の人達が全然動いてない。誰も必要性を理解していないか理解させる事ができていない。ニーズが表面に出てこないから誰も実装しない。標準化しない。できない。

なぜなら、声の大きな人は必要ないし、必要な人は小さいから誰も相手にしないから。

あとは、ニーズ次第でしょう。儲かるほどのニーズがあるか否か。

現状でもおおよその事は出来るし、必要な人は自分で実装したりしてもらったりしています。そういうニーズを汎化してギャズムを越えて儲ける事が出来る、と誰かが確信したら、mixiの様に誰かが立ち上げるんじゃないですか?

ハイパーリンクっていう仕組みは

リンクされることが、

・心理的に解せる

・心理的に解せない

っていう部分がそもそも設計時に考慮されてないのが問題なのかも。

心理学とか社会科学とかその辺の知見が反映されたWWWの構築が大事かもしれませんね。

セマンティック・ウェブってその部分が重要になる気がします。

たんなる、HTML文書の論理的な接続だけで語れなくなってきているということは。

プロトコル(http)そのものをどうにかして、これを考慮した拡張ってできないものなのでしょうか。

2007-09-05

http://anond.hatelabo.jp/20070905231443 and http://anond.hatelabo.jp/20070905231232

~% wget -S --spider http://www.kantei.go.jp/
--23:26:05--  http://www.kantei.go.jp/
           => `index.html'
www.kantei.go.jpDNSに問いあわせています... 202.232.58.50, 202.232.190.90
www.kantei.go.jp|202.232.58.50|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 
  HTTP/1.1 200 OK
  Date: Wed, 05 Sep 2007 14:26:05 GMT
  Server: Apache
  Last-Modified: Wed, 05 Sep 2007 10:36:48 GMT
  ETag: "84e2-7930-fb9f3000"
  Accept-Ranges: bytes
  Content-Length: 31024
  Keep-Alive: timeout=15, max=100
  Connection: Keep-Alive
  Content-Type: text/html
長さ: 31,024 (30K) [text/html]
200 OK

~% wget -S --spider http://www.kantei.go.jp/
--23:30:11--  http://www.kantei.go.jp/
           => `index.html'
www.kantei.go.jpDNSに問いあわせています... 202.232.190.90, 202.232.58.50
www.kantei.go.jp|202.232.190.90|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 
  HTTP/1.1 200 OK
  Server: Zeus/4.2
  Date: Wed, 05 Sep 2007 14:30:11 GMT
  Content-Length: 31024
  Accept-Ranges: bytes
  Content-Type: text/html
  Last-Modified: Wed, 05 Sep 2007 10:36:48 GMT
  Connection: Keep-Alive
長さ: 31,024 (30K) [text/html]
200 OK

http://anond.hatelabo.jp/20070905230922

telnet使ってる。こんな感じ。

$ telnet www.kantei.go.jp 80

Trying 202.232.58.50...

Connected to www.kantei.go.jp.

Escape character is '^]'.

HEAD / HTTP/1.0

HTTP/1.1 200 OK

Date: Wed, 05 Sep 2007 14:26:46 GMT

Server: Apache

Last-Modified: Wed, 05 Sep 2007 10:36:48 GMT

ETag: "84e2-7930-fb9f3000"

Accept-Ranges: bytes

Content-Length: 31024

Connection: close

Content-Type: text/html

いろいろと覚えておくとトラブル対応のとき便利かも。

http://anond.hatelabo.jp/20070905224255

サーバーシグニチャってどうやってしらべるの?

http://www.kantei.go.jp/

ここをつんつんしてみたけど、エラーは吐くのにシグネチャ載ってこないよ。

と、思って他のサーバーを見てみたら、httpパケット普通に載ってた。

なんだ、日本政府が隠蔽しているだけか。←つかってみたかっただけ。

で、パケットモニタみたいなので追わないとみれないもの?

普通ブラウザhttpみてて、センドフォームとかヘッダ情報を表示させるモードがあったらいいのに。

・・・。もしかしてアドオンとかであるのかな?

2007-09-02

[][][Web::Scraper][API][JSON][JavaScript]Web::Scraperを使ってみたくてニフティクリップJSONを作ってみた

最近perl勉強してて、naoyaのはてなダイアリー - Web::ScraperWeb::Scraperを知り、試しにはてブのAPIを真似してニフティクリップコメントを吐くJSONを作った。

#!/usr/local/bin/perl -T
#
#
use strict;
use warnings;

use URI;
use Web::Scraper;
use JSON::XS;
use CGI;
use Encode;

my $q = new CGI;
print $q->header( -type=>'text/plain', -charset=>'UTF-8');

my $path_info = $q->path_info;
my $path = $path_info =~ m{^/?(nobracket/)?(http\w?)://?(.*)$}xms ? $2.'://'.$3
         :                                                          undef
         ;
exit if ! $path;
my $is_nobracket = 'true' if $1;

if ($q->query_string) {
    my $query_string = $q->query_string;
    $query_string =~ s/;/&/g;
    $path = $path.'?'.$query_string
}

$path =~ s/%23/#/;

$path =~ s/([^\w ])/'%' . unpack('H2', $1)/eg;
$path =~ tr/ /+/;

my $entry_url = "http://clip.nifty.com/entry/?url=" . $path;

my $bookmarks = scraper {
    process 'h4>a', 'user' => 'TEXT';
    process 'li.dateAndTime', 'timestamp' => 'TEXT';
    process 'a.tagtag', 'tags[]' => sub {
        my $text = $_->as_text or return;
        my $left = decode_utf8('??~P');
        my $right = decode_utf8('??~Q');
        return $text =~ /$left (.*?) $right/xms;
    };
    process 'p.comment', 'comment' => 'TEXT';
    result 'user', 'timestamp', 'tags', 'comment';
};

my $niftyclip_entry_info = scraper {
    process 'div.clipTitle>h3>a', 'title' => 'TEXT';
    process 'div.clipTitle>p.url>a', 'url' => '@href';
    process 'div.comments>div.commentsDetails',
        'bookmarks[]' => $bookmarks;
    result 'title','url','bookmarks';
};

my $niftyclip = scraper {
    process 'div#content',
        'niftyclip_entry' => $niftyclip_entry_info;
    result 'niftyclip_entry';
}->scrape(URI->new($entry_url));

exit if ! ($niftyclip->{'url'});

$niftyclip->{'entry_url'} = $entry_url;
$niftyclip->{'count'} = @{$niftyclip->{'bookmarks'}};

my $json = JSON::XS->new->utf8->encode($niftyclip);

$json = '('. $json. ')' if ! $is_nobracket;
print $json;

取得方法は

http://monm.on.coocan.jp/niftyclip/json/entry/<取得したいURL

ってすればいい。「#」は「%23」にエスケープしないとダメ

ニフティクリップのトップならこんな感じ

作りながら「取得したいURLURLエンコードするのは面倒だな」って思い、はてブAPIみたいにpath_infoでアクセスできるようにしたわけだけど、その取得したいURLquery_stringが付いてた場合にどうやってやって良いかわからず結構悩んだ。

結局、path_info+'&'+query_stringってやることで無理やり作ったけど、普通どうやるもんなんだろ?cpanに何か良いモジュールがあったりするのかな。

それと、はてブに合わせて出力の際に()を付けるようにしたけど、これだとYahoo!Pipesで使えなかったから、

http://monm.on.coocan.jp/niftyclip/json/entry/nobracket/<取得したいURL

みたいに「nobracket」付きでアクセスした場合には()を付けないようにした。

コレ使うとニフティクリップとlivedoor クリプのコメント取ってくるAPIみたいなのが作れる。

RSSで取得する場合は

http://pipes.yahoo.com/pipes/pipe.run?_id=zECBJ_VY3BGtBw6B8ivLAg&_render=rss&URL=URLエンコードしたURL

で取得できるし、jsonで取得する場合は

http://pipes.yahoo.com/pipes/pipe.run?_id=zECBJ_VY3BGtBw6B8ivLAg&_render=json&URL=URLエンコードしたURL

ってなる。

こんな感じ

とりあえずサクッと作ってみたけど、わざわざページからJSON作ってるからちょっと重い。

デザインリニューアルされたら使えなくなるし。

その頃にはJSON吐いてくれるようになるんじゃないかなと期待はしてるけど。

参考URL:

http://d.hatena.ne.jp/naoya/20070509/1178686816

http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA%A5%D6%A5%C3%A5%AF%A5%DE%A1%BC%A5%AF%A5%A8%A5%F3%A5%C8%A5%EA%A1%BC%BE%F0%CA%F3%BC%E8%C6%C0API?kid=184075

2007-08-12

http://anond.hatelabo.jp/20070812230505

$ curl --head http://www.keishicho.metro.tokyo.jp/sikumi/pipo/pipo2/image/jikoshoukai.asf

HTTP/1.1 200 OK

Date: Sun, 12 Aug 2007 14:34:47 GMT

Server: Apache/2.0.46 (Red Hat)

Last-Modified: Tue, 17 Jul 2007 05:31:19 GMT

ETag: "d74055-236b-e31017c0"

Accept-Ranges: bytes

Content-Length: 9067

Content-Type: text/plain

MIME Typeが合ってない時かなぁ。asfファイルでtext/plainだとMac版のFireFoxは落ちるっぽい?

マークアップエンジニアって結局何やる人なの?

何か名前の響きからしてこんな感じの人を想像してたんだけど

でもいままでamachang発言((X)HTML+CSS しか出来ない人は真剣に第二の何かを探したほうがいいとか)の反応ざっと見てきたけどid:amachang(とその周辺)が「マークアップエンジニア = (X)HTML+CSS しか出来ない人」として話を進めてるのにも関わらずそれについて反論があんまりないんだよな。「趣味じゃなくて仕事として(X)HTML(とCSS)を作成するためにはこれこれこういう知識が必要なんだよ」とか「マークアップエンジニアには(X)HTMLCSSしかすることがないとでも思ってんのか馬鹿」とか言ったりするのかと思ったらほとんどそんなことなくて、むしろ同意ですとかそんなこと言われなくてもわかってるよとかJavaScriptだって同じじゃんとか見た感じそんなのばっかり。どうも俺の想像した職業とは違うらしい。

マークアップエンジニアって本当に(X)HTMLCSSの知識だけで(X)HTMLCSS書いてる人なの?反応見ててそもそも(X)HTMLCSSに理解があるのかってこと自体にまで疑問を感じるんだけど。

2007-08-01

http://anond.hatelabo.jp/20070801202401

専門の学部で学ぶレベル情報処理というのは、個人が手をつけない、アルゴリズムの基部だったりローレベルの内容だったりする。

オブジェクト指向がどうこうとかHTTPがどうこうって話はあまり多くは出てこない。カリキュラムの整備がなかなか追いつかないし、そもそもみんな自分でやっちゃうから需要も無い。

個人でwebサービス立ち上げられる高校生はいそうだけど、個人で圧縮アルゴリズム考えられる高校生はいないんじゃないかな。ちょっと方向性が違う。

そういや東大教養課程で扱うプログラミング言語Rubyになるらしいね。LLの適度なヌルさは教育向きだと思う。

2007-07-25

エントリ見つける→ブクマする→せっかくだから定期ヲチ先に加える

1、面白いエントリを見つけた。

2、とりあえずはてブに登録した。

3、サイトタイトルを見た。

  あれ?このサイトって前にもけっこうブックマークしてなかったっけ?

4、これって自分の興味に合致したブログだってことだろうから、

  RSSリーダに登録したほうがいいかなあ。

5、本当に「頻繁にブックマーク」してるサイトなのか疑問に思ったので、

  http://b.hatena.ne.jp/自分のアカウント名/?url=http%3A%2F%2Fanond.hatelabo.jp%2F

  とかで、ブクマをそのサイトのみに絞り込んで表示して、本当に「頻繁にブックマーク」してるサイトなのか、チェックだ!

6、頻繁にブックマークしているようなので、サイトRSSリーダに登録することにしました。

7、なんと、RSSがありません

8、アンテナに登録しました

***

先ほど私がやっていた作業を文章化してみた。

もっとこう、効率化できないものかしら。

ブックマークの追加」画面で「このサイトへは過去に○○回ブックマークしています」って出ないかしら。

RSSアンテナって結局「ウェブサイトヲチする」ってことで同一の行為なんだから

http://blogwatcher.pi.titech.ac.jp/nandemorss/

あたりの機能を加味した上で、さっさと同一のサービスになってくれないかしら。

***

つれづれ思った。

みんなこういうことはやってないのかしら。

ブクマするだけ」から「定期巡回先に加える」という格上げを、

皆はどうやってるんだろうかと疑問に思った。

2007-07-13

はてなスター」で他人に罵詈雑言を浴びせる方法

基本的に他人を褒めることしかできない「はてなスター」で他人に罵詈雑言を浴びせる方法です。

 

ttp://s.hatena.ne.jp/star.add.json?uri=http%3A%2F%2Fd.hatena.ne.jp%2F【憎いあん畜生ID】%2F0000&title=【届けたい罵詈雑言UTF-8パーセントエンコード)】&callback=Ten.JSONP.callback

 

これで

ttp://s.hatena.ne.jp/【憎いあん畜生ID】/blogs

メッセージが登録されるよ!

 

ttp://d.hatena.ne.jp/【憎いあん畜生ID】/0000

なんてページは作れないから、誰が★を送ってきたのかすらわからないよ!

仕様が変わったり、僕の勘違いだったら大変だから、ご利用は計画的に

 

1URIにつき1つしか登録されないから、複数のメッセージを送りたい場合は「0000」の部分を1回1回適当に変えようね!

 

まー、問題は、自分の

ttp://s.hatena.ne.jp/【ID】/blogs

なんて、ほとんどの人が見ないだろうってことだな。

2007-07-02

freemlのこと。

今日からリニューアルされたらしい。ずっと前からここで配信してもらってるMLがあるもんで、見てみたんだけど、個人情報保護がひどい。

何をするにもとりあえずログインが必要、という感じなんだけど、ログイン時に本名・住んでいる都道府県市区町村・性別・生年月日入力しないと先に進めない。リニューアル以後はそういう方針、というならそれはそれで譲っても構わないんだけど。

それが全部SSL無しのhttp入力させようとしているのはどういう了見だ。

しかも、freemlプライバシーステートメントには、

18. 個人情報セキュリティについて

個人情報入力が必要な全てのページでSecureSocketsLayer(SSL暗号を使用する事でデータ通信を複雑化し、ハッキング等の悪質なアクセスから守っています。SSL対応ブラウザの使用により、インターネット上で送信する個人情報の機密性を保持することができます。

と書いてあるのだが、その上側には

4. 個人情報の収集と利用目的について

収集する情報情報を収集する場所情報収集の目的利用者その他
お名前・ニックネームメールアドレスID)・現住所 (都道府県)・性別・生年月日パスワードhttp://www.freeml.com/ep.umzx/grid/User/node/RegisterFront
http:// www.freeml.com/ep.umzx/grid/User/node/JoinFront
メールマガジンの配信/MLコミュの作成/友人・知人等の検索/サービスの提供/サポートfreemlおよび本サービスが提携し、認定する企業、当社グループ企業および子会社サービスは、オープン型の総合コミュニティサイトです。お友達や知り合いからの紹介はもとより、入力フォームからの登録で紹介者がいなくても参加することが出来ます。

と、堂々とhttp://--って書いてある。

怖くてメールフォームで教える気にもならない。

2007-06-30

親韓派のための弁明 メモ

気になって調べてみた。

  • 概要

ニコニコ動画にて、動画に批判的なコメントをつけていく人(コテハン)。ひとつの動画につき1時間くらい粘ってコメントをつけているときもある。現在名前欄がなくなったためコメ欄に「弁明:」といれてコメントしている。

(元からコメ欄に名前を入れていた)

  • 人物

ランキング上位にあるニコニコ動画で、自分の嫌いな物にコメントをつける。

大量のアンチがいるが、賛同者もいる(少ないけど)

ニコニコでの主な活動時間は昼から夕方くらい。

別のID動画を作っており、結構が人気ある(自称)。

VIPPER代表(自称・下記)

腐女子(&腐女子動画)が嫌い

らき☆すたが好き。

中川祥子が嫌い (動画へのコメントから)

最近VIPはゆとりがおおい(動画へのコメントから)

中国への抗議デモの計画が、左翼プロ市民の手によって中国への謝罪デモとして利用されそうになりました。で活躍。主催者側として)(ひやかしで)

特に親韓と言うわけでもない様子。(推測)

  • 名前の由来

459 名前: 弁明 ◆.D/zcJW.4g :2007/06/11(月) 03:01:26 ID:kQWhl2h8

やはり、この質問が多いなwもう少し詳しく書くわww

5年前に『親日派のための弁明』の

日本語版(金完燮著、荒木和博・荒木信子訳、草思社刊、2002年)が話題になったことがある。

著者は韓国人でありながら、戦前日韓併合を評価したり、

靖国参拝を容認するなど、およそ韓国人らしからぬことを書いていたわけだ( ^ω^)

内容の是非は置いておくとして、あの国でそんなもの発表したらフルボッコ

それでも発表した心意気に感心&『親韓派のための弁明』さえも

韓国人にも嫌われる韓国人m9(^Д^)プギャー」で終了させる嫌韓厨の当てつけとして、

親韓派のための弁明を名乗り出した( ^ω^)まあ昔の話だwww


動画うpニコニコ人気低下→俺が華麗に批評→糞動画死亡www→ニコニコ人気回復\(^o^)/

動画作者に対する激励(自称)

  • 年齢 25らしい。 

382 名前: no name :2007/06/06(水) 05:48:15 ID:weKXRrUY

べんめいさんってなんさいですか

384 名前: 弁明 ◆.D/zcJW.4g :2007/06/06(水) 08:06:15 ID:Uyi6GdvB

>>382

俺や他の俺の書き込みを見る奴は、どいつも自分より年下だと思うはず( ^ω^)www

強いていうなら2525かな?( ^ω^)ニコニコ

あと他の書き込みからみると、

639 名前: 弁明 ◆.D/zcJW.4g :2007/06/21(木) 08:34:03 ID:gQB3NC7F

>>633

昔、BM98をプレイしていたくらいだぞwwbeatmaniaはほとんどやってねぇ

音ゲーは苦手でな、STGと同じくらいヘタレなんだわw

音自体は好きなのがあるけどな。

古いが、ヴィヴァルディ四季「冬」第一楽章アレンジしたVとかな( ^ω^)www

BM98が出たのは1998年8月。その後開発が継続的に行われ2002年前後まで結構流行っていた。近年ではBMSと言う名前で呼ばれておりBM98と呼称する人は昔の人。2001年中学生のときにやっていたとしても18。高校大学なら20を超える。

またらきすたの好きな理由を聞かれて

376 名前: 弁明 ◆.D/zcJW.4g :2007/06/05(火) 08:04:37 ID:pawir4P/

>>371

こなたヲタ

ToHeartつかさ

白石かわいいよ白石

のようにTo Heart(発売日1997 PSは1998)の名前や他にも、KANON(1999発売)ONE(1998)の名前を使っているので、1998年ごろには18以上、少なくとも高校生であったのではないかと思われる。すると本人が言っているように現在25-28くらいが妥当か。 30を超えている可能性もあるけど。

平日の真昼間からコメントをつけている。またスレには夜来て回答しているので、夜の仕事というわけでもないようだ。

本人はニートと答えている。

716 名前: no name :2007/06/23(土) 03:02:48 ID:WQZLaYi0

で、弁明ってニートなのか?そうじゃないのか?

教えてくれ。

728 名前: 弁明 ◆.D/zcJW.4g :2007/06/24(日) 13:04:15 ID:VMhYrgs2

>>716

この星で生きている俺、地球ニート( ^ω^)www

寄生獣からの引用らしい

932 名前: 弁明 ◆.D/zcJW.4g :2007/07/01(日) 19:56:21 ID:F0+dI5xS

癖になるから直せ( ^ω^)社会人さんwww

この発言からやはり社会人ではない様子。

  • まとめ

25歳なら・・・働いてください。

高校生なら・・学校は? でも年相応

中学生なら・・年相応すぎる で学校は?

大学生なら・・やはりこのあたりなのかなあ

VIPPER代表と言い切るのはすごい。

 コメントに主義主張は無く好き嫌いだけで判断している。 「MAD音楽作成者を尊重しよう」のようなコメントと、「本当の著作権者に」などとコメントをつけるダブルスタンダード

 MADを元にさらにMADを作り直す行為が嫌い。だが、敬意や熱意が払われていたりすればOKのようだ。MAD作成者に敬意や熱意があるかどうかは弁明の中で判断されるものなので他人の意見は聞かない。 一次著作者のことも考えているようなコメントも残しながら、著作権問題でアンチ運動も展開すると話しているので不思議( ^ω^)www

  • その他

ユーザ同士の質問&交流掲示板 弁ちゃんとの語り場

http://bbs.nicovideo.jp/test/read.cgi/question/1179551305/

159 名前: 便銘 ◆VIPPERFLA. :2007/05/21(月) 03:41:34 ID:znneUJn6

( ^ω^)と草の使い方が気持ち悪い

164 名前: 弁明 ◆.D/zcJW.4g :2007/05/21(月) 08:40:15 ID:0YZXfItG

>>159

さーせん( ^ω^)www許してwww( ^ω^)

一応VIPPER代表なんでwwwwwっうぇww

198 名前: no name :2007/05/22(火) 01:50:48 ID:JsbPwgIm

つーか弁明はニコニコを良くしていこうとか言ってるが

ID偽装までして人の動画を貶してるのにニコニコ貢献してると思ってるのか?

199 名前: 弁明 ◆.D/zcJW.4g :2007/05/22(火) 02:03:12 ID:OFeYNImp

>>198

動画うpニコニコ人気低下

→俺が華麗に批評→糞動画死亡www→ニコニコ人気回復\(^o^)/

質問があればどうぞ( ^ω^)

247 名前: 弁明 ◆.D/zcJW.4g :2007/05/22(火) 23:26:55 ID:OFeYNImp

とりあえず当面の予定

オミのID表示、NG機能の停止、偽装再可能になるまでKOOLに活動停止。

正直今回の処置は致命的っすねw一気にNGID・WORD導入なら納得しましたがw

このようなやり方をされるとは怒りを禁じえない(`・ω・´)

糞運営がマナー違反のルールいじりをしたせいで、

ID晒し問題が解決されることは二度とないでしょうww

動画に批判コメントをいれれば、真っ先に作者に晒し者にされ、

他の動画コメントしても罵倒されるニコニコになりますた(´・ω・`)

上位動画らき☆すた以外の糞MAD(厨戯王・ハルヒなど)で埋め尽くされます、

必死に動画を作っている作者さん、あなた達よりずっと短い時間で作った

動画のほうが評価される時代がきました、必死に作るのはやめたほうがいいですよ( ^ω^)www

まあ、まだ全て見ていない動画があるので、別IDで潜ってますw

↑に書いたように、公式にNG機能が搭載されたら

正式に引退しますからwww楽しみにしてくださいねw

最後に、有料化しても俺は絶対に金を払いませんwww

むしろ、著作権関連で粘着的にアンチ運動展開するので覚悟してくださいねw

せっかく今まで擁護してやったのに……糞運営め覚えてろ( ^ω^)www

291 名前: 弁明 ◆.D/zcJW.4g :2007/06/02(土) 15:12:06 ID:R5KoVGOV

さて、5月23日ぶりだな( ^ω^)

潜伏期間普通コメントしていたら、本当誰も気付かないのなww

GID・WORD機能はオミ任せにするようで、導入される気配がなさげ。

というわけで、導入されるまでオミ使えない奴等相手に、もういっちょ遊ぶことにするわ(^ω^)www

また質問受け付けるからよろしくwww( ^ω^)

294 名前: 弁明 ◆.D/zcJW.4g :2007/06/02(土) 15:32:00 ID:R5KoVGOV

>>279

NGされても続けられるが、偽装できなければIDで弾かれるだけの負け戦だよなww

それが嫌だったってのはあるw

だが、ニコニコがNG機能搭載するまで

あるいは、全員がオミ導入して俺を弾くまで続けることにするわwww

潜っている間分かったが、オミ使えないやつらは結構いるしなww

日中友好市民運動観測所 25ヶ所目【平和祈願】

http://tmp4.2ch.net/test/read.cgi/asia/1113724727

謝るべんちゃん この件が釣りでしたと宣言して現場を混乱させたことの謝罪らしい。

566 弁明 ◆.D/zcJW.4g New! 2005/04/17(日) 21:02:51 ID:PffFZWtZ

今回の件は、何回もいっているけれど釣り

主催側の奴等は代表が手続き(許可申請・ダライとか)をしたようにいっていたけれど、

ほとんど副代が取り仕切っていたはず。

それが失敗したのと、代表のメールアドレス職業右翼に突っ込まれたので釣りということにした。

右翼街宣車については本当に知らない、警官は街宣車を見て増員したのだろうな。

代表は塩沢ではないし鶴田でもない、名前を借りただけのP研に怨みのある奴等だと思う。

ただ、これだけはいっておく。

決して、2ちゃんねらー親中に見せかけようとしたわけではない。

本当に平和デモを目指すはずだったらしい。

結果的に、不快感を与えてしまったことは詫びてもいいかなと思っている。

MSNメッセンジャーに関しては本当に関係ないし、

画像のアップは関係のない人に迷惑をかけるのでどうかやめて欲しい。

今回の責任を取って、代表は大規模OFFには姿を現すことはないと思う。

俺も散々煽って申し訳なかった、

ただ、2ちゃんねらー政治利用されることに対する警鐘になれば、

決して悪い事ばかりではなかったと思う。

もう本当に何も起こらないので、皆さんゆっくり休んでください。

この文章が本当に最後です、すみませんでした。

ログが見当たらずこれだけのため真意は不明。本人によると違うらしい。

  • 対応

オミトロン - Google 検索の導入(IE

コメント非表示

コメントを投下して流す

  • もしコメント中にであったらやってみてほしいこと。

仕事は何をしているのか聞いてみる。

・本当はいくつなのか聞いて見る。

・お母さんは元気か聞いて見る。(諸刃の剣

年収を聞いて見る。

VIPPER代表ってすごいですね と褒めてみる。

永井先生と対決してほしい とお願いする。

932 名前: 弁明 ◆.D/zcJW.4g :2007/07/01(日) 19:56:21 ID:F0+dI5xS

・もしコメント中に…… × メモを書き直せwww

あまり聞いてほしくないことのようだ。

  • このメモに対する反応

932 名前: 弁明 ◆.D/zcJW.4g :2007/07/01(日) 19:56:21 ID:F0+dI5xS

>> 俺のメモ を書いている奴へ( ^ω^)www

・概要 ○ 名前欄は元々使っていないけどなw

・人物 △ 大きな間違い1つあり、萎えた。

目的 × 俺以外には分からないことだwww

・年齢 △ 「2525(ニコニコ)→年齢が25」

      「年齢制限を守っている」「発売年にプレイした」の思い込み。

      「好きなキャラ」を質問されたのではない。BMはおk

職業 △ 冗談通じないってのは分かった( ^ω^)www

・まとめ △ いや……不思議で締めくくられてもw

・その他

 ・弁ちゃんとの語り場 △ 引退宣言だけ載せるなw勘違いされるw

 ・市民運動 × 本当に読んだのか?

 ・対応 ○ それしかないwww

 ・もしコメント中に…… × メモを書き直せwww

 ・蛇足 △ 組曲のことだろ? 散々レスしたからもういいよな( ^ω^)

まとめについては、別スレの奴等のほうがうまかったww

読みながら思ったが、全体を読まずに引用しているな。

面倒くさいから、手を抜いているのだと思うが、

癖になるから直せ( ^ω^)社会人さんwww

  • 蛇足

一次著作を無視してつくられた二次著作物を使用した三次著作物で、三次の作者に対して「二次の作者に対して失礼だ」のような文句を言う人たちはちょっと変。 作られた作品に対して文句を言うのは問題ないと思う。

前にまとめた藤崎さん。

http://anond.hatelabo.jp/20070220213817

過去ログ

http://briefcase.yahoo.co.jp/bc/umashika1234/lst?.dir=/%a5%de%a5%a4%a5%c9%a5%ad%a5%e5%a5%e1%a5%f3%a5%c8&.order=&.view=l&.src=bc&.done=http%3a//briefcase.yahoo.co.jp/

2007-06-28

自宅サーバ失敗中

おもちゃ用にサーバを公開しようとして失敗中。

グローバルIPアクセスするとモデムの設定に飛ぶ。

ポートマッピングの設定もしたけど globalIP:80 にアクセスすると設定画面。

ためしに、8080でテスト用のHTTPサーバを公開して8080にアクセスしてきた物をlocalIPに飛ばすように設定しても表示されない。

なにがまちがってるんだろ?

面接を受けた会社から出された課題を適当に作ってみてもらう予定なのにだめだ。

課題は既に出来てるんだけどなぁ。レンタルサーバでも借りるかなぁ

2007-06-17

増田トラックバックしている増田記事を消すgreasemonkeyスクリプト

最近どうも増田が見にくいのは割とどうでもよさげなトラックバックがいっぱいあるからじゃないだろうか、と思って書いた。

トラックバックを見たい場合は元記事の右下のトラックバッククリックする。

// ==UserScript==
// @name        kill masuda TB
// @description kill masuda TB
// @namespace   http://anond.hatelabo.jp/
// @include     http://anond.hatelabo.jp/
// @include     http://anond.hatelabo.jp/?page=*
// ==/UserScript==

(function(){
  divs = document.getElementsByTagName('div');
  for(i = 0; i < divs.length; ++i){
    if(divs[i].getAttribute('class') == 'section'){
      if(divs[i].getElementsByTagName('h3')[0].innerHTML.match(/Re:/) ||
         divs[i].innerHTML.match(/href=\"http:\/\/anond/) ||
         divs[i].innerHTML.match(/anond:\d{14}/)){
        divs[i].innerHTML = '';
      }
    }
  }
})();

割とどうでもよさげなトラックバック、きみが消えたらますだががらんとしちゃったよ……。

2007-06-11

http://anond.hatelabo.jp/20070611165713

HTTPさえ出てればトンネル掘ればなんとでもなる

そ、それだー!

って、社内のメールサーバの話だよ。

…社内のメールサーバwebメールサービスしてたような。

フィルター書けばPOP3メーラー使えるかな。

2007-06-09

日刊増田外伝

記事の抽出の基本はRe: 増田の読み方ってどうしてますか?による。

そういった記事をタブで開いておく。

1日分を開き終ったら、各タブを確認して取捨選択・グループ分けする。

残ったタブを「すべてのタブをブックマーク」でローカルブックマークに入れる。

ブックマーク編集で該当ブックマークを選択し、コピーする。

エディタを立ち上げコピーしたURLペーストし、「http:」を「:title=]\n[http:」へ一括変換後、行を繋げる。

[http://anond.hatelabo.jp/20070608002002:title=]
[http://anond.hatelabo.jp/20070608123523:title=]
[http://anond.hatelabo.jp/20070608125214:title=]
[http://anond.hatelabo.jp/20070608143842:title=]
[http://anond.hatelabo.jp/20070608154430:title=]
[http://anond.hatelabo.jp/20070608172419:title=]
[http://anond.hatelabo.jp/20070608174727:title=]
[http://anond.hatelabo.jp/20070608185201:title=]
[http://anond.hatelabo.jp/20070608190148:title=]

一度増田プレビューしてタイトルを確認する。

女友達を作るにはどうすればいいのか
想像力が欲しい
将来の人間が議論して欲しい事
webサービスがいくら増えてもね
嘘を嘘と見抜けない人は(ry
なぜ結婚したのか。だって?
駅にて
月に。
で、

タイトルコピペし、タイトルのないものは付けたり、つながりを構想したりする。

男女
[http://anond.hatelabo.jp/20070608002002:title=]女友達を作るにはどうすればいいのか
[http://anond.hatelabo.jp/20070608172419:title=]なぜ結婚したのか。だって?

技術
[http://anond.hatelabo.jp/20070608123523:title=]想像力が欲しい
[http://anond.hatelabo.jp/20070608143842:title=]webサービスがいくら増えてもね
[http://anond.hatelabo.jp/20070608190148:title=]で、

注意喚起,2ch
[http://anond.hatelabo.jp/20070608154430:title=]嘘を嘘と見抜けない人は(ry

SF
[http://anond.hatelabo.jp/20070608125214:title=]将来の人間が議論して欲しい事
[http://anond.hatelabo.jp/20070608174727:title=]駅にて
[http://anond.hatelabo.jp/20070608185201:title=]月に。

3つ(2つとその他)にわける。

はてブ増田2chネットの話題と今後に想像力を絡める
[http://anond.hatelabo.jp/20070608154430:title=]嘘を嘘と見抜けない人は(ry
[http://anond.hatelabo.jp/20070608143842:title=]webサービスがいくら増えてもね
[http://anond.hatelabo.jp/20070608190148:title=]で、
[http://anond.hatelabo.jp/20070608123523:title=]想像力が欲しい

男女の話にSF、少し不思議を絡める
[http://anond.hatelabo.jp/20070608002002:title=]女友達を作るにはどうすればいいのか
[http://anond.hatelabo.jp/20070608172419:title=]なぜ結婚したのか。だって?
[http://anond.hatelabo.jp/20070608125214:title=]将来の人間が議論して欲しい事
[http://anond.hatelabo.jp/20070608174727:title=]駅にて
[http://anond.hatelabo.jp/20070608185201:title=]月に。

それぞれを文章で繋げる。

今日はてブに上がったのは[http://anond.hatelabo.jp/20070608154430:title=]である。しかし、[http://anond.hatelabo.jp/20070608143842:title=]と嘆く増田がいうように、時間はかぎられ、[http://anond.hatelabo.jp/20070608190148:title=]という勘違いもなくせない。だから[http://anond.hatelabo.jp/20070608123523:title=想像力]を鍛えるのみである。←変更:だから[http://anond.hatelabo.jp/20070608125214:title=]に、この問題も加えてください。
[http://anond.hatelabo.jp/20070608172419:title=なぜ結婚したのか。]と聞くのはたぶん、[http://anond.hatelabo.jp/20070608002002:title=]という疑問と同じようなものだろう。なんでそう思える相手がいるのか、どういう過程でそう思うようになったのか。経験のない私には想像できない。[http://anond.hatelabo.jp/20070608123523:title=]。だから[http://anond.hatelabo.jp/20070608174727:title=]見かけた人や、[http://anond.hatelabo.jp/20070608185201:title=月に]思いを馳せ、想像力を鍛えるのである。
と、駆け足でまとめてみた。そして、本来ならば、三行目は……

こうして、主な話題とその他、自分が面白いと感じた記事を最後の1行にまとめて完成となる。

2007-06-08

ついカッとなってやった

20070629230000改定

20070702125800バグ発見スクリプト中にある「&&」が、「&amp;&amp;」になっている。増田仕様らしい。

20070827224900改定

// ==UserScript==
// @name	anond pickup
// @namespace	http://anond.hatelabo.jp/20070608230645
// @description	pickup trackback tree top section at Hatelabo::AnonymousDiary
// @include	http://anond.hatelabo.jp/*
// ==/UserScript==
(function() {
	var threshold_bm = 1;
	var threshold_tb = 1;
	var ignoreList = {
		"/20070801172335": 33,
		"/20070806163721": 10,
	};
	var firstPager_l = document.evaluate("//div[@class='pager-l']",document,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;

	function Hide(){}
	Hide.prototype.setup = function() {
		this.style = document.createElement("style");
		this.style.id = "hide";
		this.style.type = "text/css";
		document.getElementsByTagName("head")[0].appendChild(this.style);
		var self = this;
		this.a = new Object();
		this.a.visible = document.createElement("a");
		this.a.visible.id = "visible";
		this.a.visible.href = "#";
		this.a.visible.innerHTML = "visible hide section";
//		this.a.visible.setAttribute("onclick","document.getElementById('hide').innerHTML = 'div.hide {display: block}';document.getElementById('visible').style.display = 'none';document.getElementById('unvisible').style.display = 'inline';");
		this.a.visible.addEventListener("click", function(){self.visible()}, false);
		firstPager_l.parentNode.insertBefore(this.a.visible, firstPager_l);
		this.a.unvisible = document.createElement("a");
		this.a.unvisible.id = "unvisible";
		this.a.unvisible.href = "#";
		this.a.unvisible.innerHTML = "unvisible hide section";
//		this.a.visible.setAttribute("onclick","document.getElementById('hide').innerHTML = 'div.hide {display: none}';document.getElementById('visible').style.display = 'inline';document.getElementById('unvisible').style.display = 'none';");
		this.a.unvisible.addEventListener("click", function(){self.unvisible()}, false);
		firstPager_l.parentNode.insertBefore(this.a.unvisible, firstPager_l);
		if (GM_getValue("visible", 0)) {
			this.visible();
		} else {
			this.unvisible();
		}
	}
	Hide.prototype.visible = function() {
		this.style.innerHTML = "div.hide {display: block}";
		this.a.visible.style.display = "none";
		this.a.unvisible.style.display = "inline";
		GM_setValue("visible", 1);
	}
	Hide.prototype.unvisible = function() {
		this.style.innerHTML = "div.hide {display: none}";
		this.a.visible.style.display = "inline";
		this.a.unvisible.style.display = "none";
		GM_setValue("visible", 0);
	}
	Hide.prototype.append = function(section) {
		if (section.className.match(/hide/)) {
			return;
		}
		section.className += " hide";
	}
	Hide.prototype.clear = function(section) {
		section.className = section.className.replace(/ hide/g, "");
	}
	Hide.prototype.is = function(section) {
		return section.className.match(/hide/);
	}
	var hide = new Hide();
	hide.setup();

	var target = document.evaluate(
		"//div[@class='section' and child::*[not(@class='sectionfooter') and descendant::a[starts-with(@href,'http://anond.hatelabo.jp/2') or starts-with(@href,'/2') and not(child::span[@class='sanchor'])]]]",
		document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);
	for (var i=0; i<target.snapshotLength; i++) {
		hide.append(target.snapshotItem(i));
	}

	var tbs = document.evaluate(
		"//p[@class='sectionfooter']/a[2]",
		document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);
	for (var i=0; i<tbs.snapshotLength; i++) {
		var tb = tbs.snapshotItem(i);
		if (tb.innerHTML == "\u30c8\u30e9\u30c3\u30af\u30d0\u30c3\u30af(0)") {
//			hide.append(tb.parentNode.parentNode);
			bookmark(tb, 0);
		} else if (! hide.is(tb.parentNode.parentNode)) {
			trackback(tb, 1);
		} else {
			bookmark(tb, 1);
		}
	}

	function trackback(tb, callback) {
		GM_xmlhttpRequest({
			method: "GET",
			url: "http://anond.hatelabo.jp/" + tb.pathname.match(/\d{14}/),
			onload: function(result) {
				var link = result.responseText.match(/<a name="tb">(.|\s)*/)[0].match(/<li>\s*<a href="http:\/\/anond.hatelabo.jp\/\d{14}"/g);
				var n = link.length;
				for (var l in link) {
					var m = "/" + link[l].match(/\d{14}/);
					if (m in ignoreList) {
						n -= ignoreList[m];
					}
				}
				if (n < threshold_tb) {
					tb.innerHTML = tb.innerHTML.replace(/\)$/, "/"+n+")");
					if (callback) {
						bookmark(tb);
					}
				} else {
					tb.innerHTML = tb.innerHTML.replace(/\)$/, '/<span style="color: red;">'+n+"</span>)");
				}
			}
		});
	}

	function bookmark(tb, callback){
		GM_xmlhttpRequest({
			method: "GET",
			url: "http://b.hatena.ne.jp/entry/rss/http://anond.hatelabo.jp/" + tb.pathname.match(/\d{14}/),
			onload: function(result) {
				var r = result.responseText.match(/<rdf:li rdf:resource=/g);
				if (r &amp;&amp; r.length >= threshold_bm){
					hide.clear(tb.parentNode.parentNode);
					if (callback) {
						trackback(tb);
					}
				} else {
					hide.append(tb.parentNode.parentNode);
				}
			}
		});
	}
})();

今はスッキリしているのは古いやつ

/// ==UserScript==
// @name	anond pickup
// @namespace	http://anond.hatelabo.jp/20070608230645
// @description	pickup trackback tree top section at Hatelabo::AnonymousDiary
// @include	http://anond.hatelabo.jp/*?page=*
// ==/UserScript==
(function() {
	var target = document.evaluate(
		"//div[@class='section' and child::*[not(@class='sectionfooter') and descendant::a[starts-with(@href,'http://anond.hatelabo.jp/2') or starts-with(@href,'/2') and not(child::span[@class='sanchor'])]]]",
		document,
		null,
		XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
		null);
	for(var i=0; i<target.snapshotLength; i++) {
		target.snapshotItem(i).style.display = "none";
	}

	var trackback = document.evaluate(
		"//p[@class='sectionfooter']/a[2]",
		document,
		null,
		XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
		null);
	for(var i=0; i<trackback.snapshotLength; i++) {
		if (trackback.snapshotItem(i).innerHTML == "\u30c8\u30e9\u30c3\u30af\u30d0\u30c3\u30af(0)") {
			trackback.snapshotItem(i).parentNode.parentNode.style.display = "none";
		} else if (trackback.snapshotItem(i).parentNode.parentNode.style.display != "none") {
			count(trackback.snapshotItem(i));
		}
	}

	function count(tb) {
		GM_xmlhttpRequest({
			method: "GET",
			url: "http://anond.hatelabo.jp/" + tb.getAttribute("href").match(/[0-9]{14}/),
			onload: function(result) {
				var n = result.responseText.replace(/\n/g,"").match(/<a name="tb">.*/)[0].match(/<li>/g).length;
				if (n < 10) {
					tb.innerHTML = tb.innerHTML.replace(/\)$/,"/"+n+")");
				} else {
					tb.innerHTML = tb.innerHTML.replace(/\)$/,'/<span style="color: red;">'+n+"</span>)");
				}
			}
		});
	}
})();

2007-05-29

ヘッダも偽装?

http://anond.hatelabo.jp/20070529203018

それってHTTPサーバログからとったやつだよね?apache?それ以外?

何にしても、ヘッダが偽装って、プロクシとかが付けるviaの事?

それ解釈しちゃうの?普通接続元そのままじゃない?

拡張子偽造のスクリプト」ってのが気になる。どんな事するの?それ。

つか、IEの内容見て判断するお節介機能は何とかなんないのかな。

ま、とりあえずUAMSIEってあったら、問答無用でattachmentにしとけばいいよ。

imgタグだったらインラインで表示してくれるから。それはそれでどうかと思う(IEの)仕様だけどね。

いや、似た様な事が出来るCGI使ってるんで。

[追記]

そうそうセキュリティに詳しい増田さん。いたら教えてください。

信頼できない者から送られてきたデータが、セキュリティ的に他の多数のクライアント画像として送っても良いデータ(JPEGPNGGIFBPM)であるか、判断するのは先頭4バイトくらいで可能ですか?

2007-04-20

そしてこれからの5年10年でどう変わるのだろう

http://anond.hatelabo.jp/20070420225152

Webアプリはどこまで発展するのだろう。OSを越える存在になってるだろうか。

ユビキタス社会はどこまで浸透しているのだろう。どんな使い方をされてるのだろうか。

P2Pはどこにゆくのだろう。HTTPに変わるなにかになってるのだろうか。

今だと想像できないような事が起こってるのだろうか。

俺ぐらいのレベルになるとエポック病が意味わからん

LiveDoor認証がでたらしいので、とりあえず寝際にちゃちゃっと書こうとしたのだけどなんかうまくいかない。

ログインURLの有効期限が切れています」とかでちゃうんだ。

なにか間違ってるかな?

phpで書いてみたのだけど、エロイ人アドバイスにょろり。

<?php 
// LiveDoor認証に必要なリンクの生成
// 定数がクラス内に切ってあるので環境にあわせ変更してください
	include_once('authlivedoor.class.php');	// Livedoor認証用クラス
	$obj_auth = new AuthLiveDoor(LIVEDOOR_APIKEY, LIVEDOOR_SECRET);
	$livedoorloginurl = $obj_auth->getLoginUrl();

?>
<div style="border:solid 1px #666666;">
<a href="<?= $livedoorloginurl ?>">ライブドア認証を利用してログインする<br />
<img src="http://auth.livedoor.com/img/cmn/head_livedoor.gif" border="0">
<img src="http://auth.livedoor.com/img/cmn/head_logo.gif" border="0">
</a><br />


authlivedoor.class.php

<?php
// this code is writen by utf-8 &amp; lf 

//http://auth.livedoor.com/login/?app_key=<app_key>&amp;perms=<perms>&amp;t=<time>&amp;v=1.0&amp;userdata=<userdata>&amp;sig=<sig>

// LiveDoor外部認証APIを利用する
// キーは各開発者ごとに取得が必要です。 http://auth.livedoor.com/ ここより取得できます。
// コールバックURLには authlivedoor.php を指定してください

// --- 下記宣言を環境に合わせて変更してください。 ---
define("LIVEDOOR_APIKEY" ,"");	// アプリケーションキー
define("LIVEDOOR_SECRET" ,"");	// LiveDoor認証秘密キー
// --- ここまで ---


class AuthLiveDoor {

    const LIVEDOOR_AUTH_PORT = 80;		// ポート
    const LIVEDOOR_AUTH_TIMEOUT  = 10;	// タイムアウト
    const LIVEDOOR_AUTH_VERSION  = '1.0';	// 認証APIプロトコルバージョン
    const LIVEDOOR_AUTH_PERMS  = 'id';	// 認証APIアクセスconst LIVEDOOR_AUTH_FORMAT  = 'xml';	// 認証APIの取得フォーマット



	const LIVEDOOR_AUTHURL = "auth.livedoor.com";	// LiveDoor認証URL

	private $login_state = false;
	private $login_id = "";
	private $err_msg = "";

	private $apikey = "";
	private $secret = "";

	public function __construct($apikey, $secret) {
		$this->apikey = $apikey;
		$this->secret = $secret;
	}

	// 
	// $cert = $_GET['token'];
    public function getAuth($token) {
		if ($token == "" ) {
			return;
		}

		$api_time = date('U');	// エポック秒で
		$param_ary = array($this->apikey
						,AuthLiveDoor::LIVEDOOR_AUTH_FORMAT
						,$token
						,api_time
						,AuthLiveDoor::LIVEDOOR_AUTH_VERSION
						);
		sort($param_ary);
		$api_sig = hash_hmac('sha1',implode('',$param_ary),$this->secret);


		$param = "app_key=".$this->apikey
			."&amp;format=".AuthLiveDoor::LIVEDOOR_AUTH_FORMAT
			."&amp;token=".$token
			."&amp;t=".$api_time
			."&amp;v=".AuthLiveDoor::LIVEDOOR_AUTH_VERSION
			."&amp;sig=".$api_sig;

		$fp = fsockopen(AuthLiveDoor::LIVEDOOR_AUTHURL
				, AuthLiveDoor::LIVEDOOR_AUTH_PORT
				, $errno
				, $errstr
				, AuthLiveDoor::LIVEDOOR_AUTH_TIMEOUT);
		if (!$fp) {
			$this->err_msg = "$errstr ($errno)<br />\n";
		} else {
			$out = "POST /rpc/auth?$param HTTP/1.1\r\n";
			$out .= "Host: auth.livedoor.com\r\n";
			$out .= "Connection: Close\r\n\r\n";

			fwrite($fp, $out);
			$ret = "";
			while (!feof($fp)) {
				$ret .= fgets($fp, 2048);
			}
			fclose($fp);
		}

		// LiveDoorの認証XMLパターン
		$pattern = '/(\s*<livedoor_id>)(.*)(<\/livedoor_id>)/';
		preg_match_all($pattern,$ret,$getAry);
		$livedooruserid = $getAry[2][0];

		// ユーザーIDを取得できた場合
		if ($livedooruserid != "") {
			// ログイン成功
			$this->login_state = true;
			$this->login_id = $livedooruserid;
			return ture;
		} 
	}

	public function getLoginState(){
			return $this->login_state;
	}

	public function getLoginId(){
			return $this->login_id;
	}

	public function getLoginUrl() {
		# http://auth.livedoor.com/guide/
		# http://auth.livedoor.com/login/?app_key=<app_key>&amp;perms=<perms>&amp;t=<time>&amp;v=1.0&amp;userdata=<userdata>&amp;sig=<sig>
		# app_key 必須 登録時に発行されたアプリケーションキー 
		# perms 必須 要求するアクセス権、現状userhashとidの2種類がある 
		# t 必須 URLが生成された時間をエポック秒で表したもの 
		# v 必須 プロトコルバージョン現在は1.0で固定 
		# userdata 任意 コールバックURLに引き継ぎたい値を255バイトまで自由に設定できる 
		# sig 必須 このURLの正当性を確認するためのシグネチャ 


	// ログインURLの有効期限が切れています
	// ヾ(。o、゜)ノ ここらへんがわからん!! 
//		$api_time = time()+32400;	// エポック秒で
		$api_time = date('U')+32400;	// エポック秒で
//		$api_time = date('U');	// エポック秒??もしかして、それはポエティック病ではありませんか?
		$param_ary = array($this->apikey
						,AuthLiveDoor::LIVEDOOR_AUTH_PERMS
						,api_time
						,AuthLiveDoor::LIVEDOOR_AUTH_VERSION
//						,data
						);
		sort($param_ary);
		$api_sig = hash_hmac('sha1',implode('',$param_ary),$this->secret);
		$loginurl = "http://auth.livedoor.com/login/"
			."?app_key=".$this->apikey
			."&amp;perms=".AuthLiveDoor::LIVEDOOR_AUTH_PERMS
			."&amp;t=".$api_time
			."&amp;v=".AuthLiveDoor::LIVEDOOR_AUTH_VERSION
//			."&amp;userdata="
			."&amp;sig=".$api_sig;

		return $loginurl;
	}


}

もう疲れたので寝る。ライブドアなんてーーーー!!!

訂正。

秘密キーとか、そのままのっけちゃった (ーωー|||)

そしてなかなか訂正できなくてあせった。。

ログイン ユーザー登録
ようこそ ゲスト さん