Sunday, May 30, 2010

海上保安庁観閲式(2010年05月30日・二日目)

海上保安庁観閲式(2010年05月30日・二日目)にいってきました。
巡視船「だいせん」に乗船して見てきました。
写真と動画をFACEBOOKにUPLOADしてあります。

動画は、YouTUBEの

です。

自分のすぐ前でカメラマンの不肖宮嶋さんがお仕事(?)で
すげーごつい望遠レンズで撮影されていました。

内容は、
観閲式(船艇)、観閲式(航空機)
船艇パレード、航空機パレード
放水展示訓練、ヘリコプター編隊飛行訓練
人命救助・海上防災訓練
武装密輸船捕捉・制圧訓練
高速起動連携訓練、フェアウェル
です。
二ヶ月ぐらい前に申し込み抽選に当選すると無料で乗船・見学できます。
興味のある方は
内容は、海上保安庁のサイト
http://www.kaiho.mlit.go.jp/info/kanetsu/index.html
に詳しく出ています。

Thursday, May 27, 2010

税務署から資料を受け取る

会社を3月31日に設立し、
公認会計士さんに会計をお願いしているのですが、
今日ついに、税務署から資料が届きました。

これを納税のために使うことになります。

------------------------------------------------------
千葉南税務署から到着した資料の明細

-国税収納金整理資金(納付書)
 給与所得・退職所得等の所得税徴収高計算書(給)領収済通知書
 (三枚複写伝票二組、千葉南税務署・好試力研究所と印刷済み)

-平成22年分給与所得・退職所得に対する所得税源泉徴収簿
 (一枚)写真は表と裏


-平成22年分給与所得者の扶養控除等(異動)申告書
 (一枚)

-源泉徴収のしかた平成21年度版
 (一部30ページ、正誤表付き)
-平成22年4月以降分源泉徴収税額表
 (一部23ページ)

ここまで明細です。

Wednesday, May 26, 2010

囲碁の勉強をする挫折する

昨日お会いしたかたが、囲碁の名人クラスの方で、
囲碁はルールが簡単ですよと言われ、
再度ルールを確認してみたが、、、。

やはり難しい。
パラノイア癖の自分には引っ掛かりがあり、難しいな。

http://hp.vector.co.jp/authors/VA003590/rule/igo.htm
の説明での疑問

Q.石のつながりで斜めは考えないのでしょうか。

  上下左右のみでつないでいくのかな。

Q.呼吸点の詳しい説明あれば。

「ある石(同色石のつながり)の上下左右4つの隣点で相手の石が無いところを呼吸点と言う」
 のだろうか、もっと例を出さないと、素人に厳しい。

Q.「呼吸点のなくなるところへは打てない。」

 意味がとりにくいです。
 「周りが相手の石なっているところは、呼吸点がないので打てない。」
 の方が判りやすい。

Q.「石を取ることができます」というが、いつ

誰が何時取るのかな、いますぐ、それとも最後に。

Q.囲碁に最後(ゲームオーバー)ってあるのかな

「もう取り合う石が無くなる」と終局らしいが、判定する方法は、、、
この判定が難しいのでは、なにせ19*19=361のおき場所があるから


Q.「相手が侵入してきてもその石を取ることができる地域を地という」

 説明簡単すぎでまったく判らない。

 「囲む」のだから大きく囲めばいいのではないかい。
 ということは、角に一個置けば残り全部囲んだことになりませんか。
 でもそしたらゲームにならないし、、、。

 はて、多分、「囲む」というのは、字の意味どおりでなく
 小さく小さく囲むことを言うのですよね。
 せいぜい二枡ていどの幅で囲むんですよね、違いますか。

 たくさん隙間がある囲みは、囲碁では囲みではないんですよね。

Q.「取れば自分の石で自分の地を埋めることになるため地が少なくなり損をするのが分かりますか?」

 説明少ないよ、こっちは素人だから、わからないって。

Q.「白からは2手同時にうてませんから取ることはできないことがわかりますか?」

 また、説明少ないよ、こっちは素人だから、わからないって。
 白は、周りが全部黒だから呼吸点がなく打てませんと書いてくれればいいのに、
 ちょと説明不足で意地悪かなあ。

 「囲碁のルールは単純明瞭、規則はほとんどなく、それだけ優れたゲーム」
 という割りにには、裏に秘密の仕掛け・罠が多いのではないかい。

Q.「あとは実戦あるのみ!」

 おいおい、ルールまだわかりません、
 これで実戦では死ににいくようなものでしょう。


以下頭の体操というか格闘は続く、、、。


http://www.rule-sports.com/igo/
でお勉強

「囲碁にはゲームの前に知るべきルールがたくさんあります。」
そりゃそうだよね。

http://www.rule-sports.com/igo/rule/page6.html
の説明で、
「黒石があと1手で取れる状態となっています。」
ここ日本語がすこし変
「黒石があと1手で取られる状態となっています。」
ですよね。

http://www.rule-sports.com/igo/rule/page4.html
の絵で、白が右、黒が左と決め付けられていますが
そんなルール聞いてませんが、、、
黒の人は、黒の左全部を囲ったと主張していいのでは、、、
えっ、だめですって、でもそんなルールありましたっけ。
暗黙のルールかなあ。

このサイト、やっぱり「囲う」の意味の説明がありませんね。
暗黙のルール多いのかな、、、

角に一個置けば全部囲んだことになりませんか。

では、別のサイト
http://www.yasashiigo.com/rules/rule_3/index.html
でお勉強
「いろいろな囲い方」の絵があるが
左上角に白5個ななめになっていますが、
どうして狭い方といいはる必要があるのでしょうか。
ルールにありませんが、、、
暗黙のルールでしょうか。

あと右下の白の地といわれているところ、
ここの中に黒置けませんか、えっ、置いてはいけない、
どうして、詳しく説明してと思います。
(囲まれているという説明はご勘弁ですよ)

http://www.yasashiigo.com/rules/rule_3/index.html
の説明は結構詳しい、
-陣地を作り方
-石を取るテクニック
-生きるテクニック
-殺すテクニック
-対局の終わり方
などがある。
だが、説明を眺めてもやはり囲碁は難しい感じる。

難しい感じる理由は、
「生き死にの判定ルールは簡単」
のように見える、だが、
未知の暗黙ルールが潜んでいる感じがする。
対局の終わり方が、当人同士の合意に結びつくらしいので
初心者には何時終わりかわからないのでは。

感想

自分には難しすぎるゲームです。
頭の良く駆け引きのうまい人のゲームですね。
ということで今回も挫折。

Tuesday, May 25, 2010

今日の「遺言預かり所」開発状況

弁護士さん、司法書士さんが自社のサービスとして
「遺言預かり所」を立ち上げるための機能の開発を行う。


今日は、テストが中心だか
ユーザ管理機能で、ユーザのログイン許可属性、安否属性でも検索・表示がされるようにした。


ユーザの機能で、遺言証書をアップロード・ダウンロードできる機能を用意
標準は、4ファイルまで可能。
この機能は、弁護士さん、司法書士さんとユーザさんが
遺言証書のやり取りを行うための共有フォルダ機能として利用できる。
暗号化技術でサーバ側は内容が判らないようにした。


また、ユーザ死亡(と推定)時に、遺族への遺言証書URLの通知と
個人認証をしての遺言証書をダウンロードできる機能も追加。

これらのテストを完了した。

HTML5の機能を調査してこれを活用するアイデア
ユーザIDとパスワードのシークレット・メモ機能を
実装開始、仕様がほぼ固まりました。
これを組み込んで完成としたいです。


Sunday, May 23, 2010

pukiwikiが攻撃を受けたので、対策を少し

accesslogに

[Sat May 22 03:10:02 2010] [error] [client 77.65.73.145] PHP Fatal error:  Allowed memory size of 16777216 bytes exhausted (tried to allocate 8192 bytes) in /var/www/html/pukiwiki/lib/make_link.php on line 125, referer: http://www.majin-z.com/pukiwiki/index.php?%3Aconfig%2Fplugin%2Ftracker%2Fdefault%2Fpage

があった。
バッファオーバフロー(?)攻撃を受けたようで怪しいので、
pukiwikiりファイルをチェック

find . -mtime -24 -type f

24日以内に変更されたファイルの一覧を表示

したら、たくさんでできた。

./cache/
ディレクトリには、沢山のファイルがある。
(./cache/では、pukiwiki自体が作業するらしいがなにをしているか不明。)

find . -mtime -24 -type f | grep -v "/cache/"

で、cache 以外を出す。

とりあえず、wiki/ backup/ diff/ で、自分とは関係ないものが見つかる。
中身をcatすると viagra の文字が多数。
なんか、エロサイトの踏み台にされている可能性があるのかも。

怖くなり、これらのファイルを削除。

また、
PKWK_READONLY を有効にして、さらに
管理用パスワードを別のものに変更する。

とりあえず、これで様子を見ることにしよう。

Saturday, May 22, 2010

永岡秀樹氏を発見

遺言コンサルの永岡秀樹氏を発見
http://hideki-nagaoka.net/
すごく凝っているHPがあります。
参考になります。

Friday, May 21, 2010

今日の「遺言預かり所」開発状況+アルファ

沖縄旅行の疲れもとれ、5日ぶりの再開となる。

利用者が、遺言証書のファイルを、管理者(弁護士・司法書士)とやりとりするための
アップロード・ダウンロード機能の開発を行う。

コーディングは、二時間程度で完了。
コンパイルチェックも完了。

利用者の安否確認失敗時(死亡推定時)に
遺族へ遺言メールを送るが、その連絡文に
遺言証書のファイルをダウンロードするURLを追加もした。

遺族専用のダウンロード画面のコーディング途中で、今日は終了。

開発ペースとしては、まずまず。
ただ集中が8時間続かない点が自分として気になる。
(まあ、気分転換の休憩時間が長い、
 床屋さんへ行ったりとかしてるし。)

明日は気合入れるぞー。

次の新システム(まだ秘密)のアイデアを練る。

ヒントとして、携帯電話ですべてできるようにしないと
いけないことが判ってきた。
新しいアイデアを考えることも並行してやらないと、
気分が乗らない性格です。

Sunday, May 16, 2010

Facebook のお友達が増えだす



Facebook の

ツイッターマーケティング研究会

とか

Facebookマーケティング研究会

に参加したら、皆さんから積極的にお誘いが来ます。


個人NET会社のため、引きこもり生活から世界をのぞく窓のようです。

普段は、プログラムを書いているので、
あれができたとかここに困っているとか
twitterにつぶやいたほうがいいのかなあ。
(まさに聞かれないつぶやきかな)
//

今日の「遺言預かり所」開発状況

弁護士さん、司法書士さん向けの有料サービスとして
改良をしている。

弁護士さん、司法書士さんの管理機能の開発がほぼ終わる。
コアのphpは、ひとつのファイルにまとめて作成した。
(横着者だからか、長いファイルになり、1274行
 整理してあるので読みやすいはず。
 他にライブラリの改良などあり
 一週間ぐらいかかった。)

機能リストは、
  1. ログイン
  2. パスワードを忘れた時
  3. パスワードの変更 
  4. 電子メールの変更  
  5. その他の設定(スポンサー名/ロゴ画像/配色など16項目)
  6. ユーザ追加 
  7. 複数ユーザ追加 
  8. ユーザ検索
  9. ユーザ編集(ログイン禁止/ユーザ削除)
  10. 公正証書遺言ファイルのアップロード/ダウンロード
  11. 全ユーザへメール 
  12. ログアウト 

である。

来週は、有料版として拡張するユーザ機能の確認
・ログイン禁止
・公正証書遺言ファイルのアップロード/ダウンロードと公開
である。

Friday, May 14, 2010

twiterとfacebookの連携をするには

twiterのつぶやきが、そのまま facebook の「ニュースフィード(いまなにしている?)」になります。

--------------------------------------------------------
まず、twitter で、設定
--------------------------------------------------------

twiterの画面上メニュー「ホーム プロフィール 友だちを検索 設定 ヘルプ ログアウト」
で「ヘルプ」を選択

「Twitterヘルプにようこそ」画面になる。

右側の「Twitterの使い方 (26)」の「Twitterの使い方(応用編) (4)」を選択

「Twitterの使い方(応用編) のラベルが付いた最新の投稿を表示しています。古い投稿を表示」画面になる。

「自分のブログやホームページに投稿内容を表示できる?」の

「もできます。登録はこちらからどうぞ」の「こちら」をクリックする。

「ウィジェットを選んでください」の画面になる

画面左の「Facebook」をクリック

右が「Facebookアプリケーション
Twitterの最新のツイートをFacebookで友達と共有できます。」の画面になる

「Facebookアプリケーション」をクリック

「TwitterをFacebookに追加する

インストール
Facebook用のTwitterアプリケーションは、Twitterを自分のFacebookのページに統合します

TwitterをFacebookにインストールする」の画面になる


「TwitterをFacebookにインストールする」ボタンをクリックする。

パスワードを聞かれるので入力する。

-----------------------------------------------------------
つづいて Facebook の 画面で 設定
-----------------------------------------------------------

画面上メニュー「ホームプロフィール友達を検索アカウントフィードバック」の
「ホーム」をクリックしておく。

画面左の「アプリケーション」をクリック。

画面右が
「アプリケーション
あなたのアプリケーション」となる。

「Twitter (友達x人)今日使用」がでてくる。

この「Twitter」をクリック

Twitter (in Facebook) の画面になる。

画面上のTwitterというタイトル文字の右に、
「twitterへの書き込みを許可する」かどうかというようなボタンが出るので
これをクリックすること。

これで設定 完成。

-----------------------------------------------------------
Twitter (in Facebook) の 画面でつぶやいてみる
-----------------------------------------------------------

「What are you doing?」の欄につぶやきを入れて、「update」を押す

本物のTwitterにも自分のつぶやきが出てきます。

また、Facebook の 「ホーム」のニュースフィーにもつぶやきで出てきます。


これでOKだけど、これだけです。

Attack list on my server

インターネット上のサーバは、常時攻撃を受けています。
MySQLをインストールしている場合、ここにも攻撃を受けます。
ランダムな長いパスワードをしっかりつけましょう。

また、WEBサーバのディレクトリも以下のようなところは、
常に攻撃の対象です。
ディレクトリファイル名をちょっと変えるなどの対策が必要です。

ディレクトリファイルがないがなににもかかわらず
アクセス攻撃されたリスト


/var/www/html/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+
/var/www/html/admin
/var/www/html/administrator
/var/www/html/b2b
/var/www/html/backup
/var/www/html/bbs
/var/www/html/bike-in
/var/www/html/cart
/var/www/html/catalog
/var/www/html/cms
/var/www/html/CMS
/var/www/html/cms_old
/var/www/html/config
/var/www/html/content
/var/www/html/cube
/var/www/html/dbadmin
/var/www/html/en
/var/www/html/eshop
/var/www/html/google_sitemap.xml
/var/www/html/google_sitemap.xml.gz
/var/www/html/home
/var/www/html/index.htm
/var/www/html/index.html
/var/www/html/iphone
/var/www/html/j
/var/www/html/joom
/var/www/html/joomla
/var/www/html/Joomla
/var/www/html/joomla1
/var/www/html/joomla15
/var/www/html/joomla1.5
/var/www/html/joomla2
/var/www/html/joomla_old
/var/www/html/labels.rdf
/var/www/html/m
/var/www/html/mail
/var/www/html/mail2
/var/www/html/main
/var/www/html/mobi
/var/www/html/mobile
/var/www/html/MSOffice
/var/www/html/mss
/var/www/html/mss2
/var/www/html/myadd.html,
/var/www/html/myadmin
/var/www/html/mysql
/var/www/html/mysqladmin
/var/www/html/mysql-admin
/var/www/html/mysqladminconfig
/var/www/html/mysqlmanager
/var/www/html/nodirectory
/var/www/html/p
/var/www/html/phpadmin
/var/www/html/phpmanager
/var/www/html/phpmyadmin
/var/www/html/php-myadmin
/var/www/html/php-my-admin
/var/www/html/phpmy-admin
/var/www/html/phpMyAdmin
/var/www/html/PHPMYADMIN
/var/www/html/phpmyadmin2
/var/www/html/phpMyAdmin2
/var/www/html/phpMyAdmin-2
/var/www/html/phpMyAdmin-2.2.3
/var/www/html/phpMyAdmin-2.2.6
/var/www/html/phpMyAdmin-2.5.1
/var/www/html/phpMyAdmin-2.5.4
/var/www/html/phpMyAdmin-2.5.5
/var/www/html/phpMyAdmin-2.5.5-pl1
/var/www/html/phpMyAdmin-2.5.5-rc1config
/var/www/html/phpMyAdmin-2.5.5-rc2
/var/www/html/phpMyAdmin-2.5.6
/var/www/html/phpMyAdmin-2.5.6-rc1
/var/www/html/phpMyAdmin-2.5.6-rc2
/var/www/html/phpMyAdmin/config
/var/www/html/phpMyAdmin/setup
/var/www/html/phppgadmin
/var/www/html/pma
/var/www/html/pMA
/var/www/html/PMA
/var/www/html/pma2005
/var/www/html/PMA2005
/var/www/html/portal
/var/www/html/pp
/var/www/html/public
/var/www/html/rc
/var/www/html/README
/var/www/html/rms
/var/www/html/round
/var/www/html/roundcube
/var/www/html/roundcube-0.1
/var/www/html/roundcube-0.2
/var/www/html/roundcubemail
/var/www/html/roundcubemail-0.1
/var/www/html/roundcubemail-0.2
/var/www/html/rules.abe
/var/www/html/scripts
/var/www/html/setup
/var/www/html/shop
/var/www/html/Shop
/var/www/html/shops
/var/www/html/site
/var/www/html/Site
/var/www/html/sitemap
/var/www/html/sitemap.xml
/var/www/html/sitemap.xml.gz
/var/www/html/site_old
/var/www/html/Site_old
/var/www/html/sl2
/var/www/html/sql
/var/www/html/sqlmanager
/var/www/html/sqlweb
/var/www/html/store
/var/www/html/sumthin
/var/www/html/support,
/var/www/html/test
/var/www/html/text
/var/www/html/user
/var/www/html/v1
/var/www/html/v2
/var/www/html/_vti_bin
/var/www/html/w00tw00t.at.ISC.SANS.DFind:)
/var/www/html/wallpaper,
/var/www/html/web
/var/www/html/webadmin
/var/www/html/webdb
/var/www/html/webmail
/var/www/html/webmail2
/var/www/html/websql
/var/www/html/wm
/var/www/html/\xc0\xaf
/var/www/html/zc
/var/www/html/zen
/var/www/html/zen-cart
/var/www/html/zshop

The number of Google's IP address is 8192.

The number of Google's IP address is 8192.

//{Japanese
Googleが確保しているIPアドレスの数は、8192個である。
つぎのコマンドで判る。
//}



# whois 66.249.65.248
[Querying whois.arin.net]
[whois.arin.net]

OrgName:    Google Inc.
OrgID:      GOGL
Address:    1600 Amphitheatre Parkway
City:       Mountain View
StateProv:  CA
PostalCode: 94043
Country:    US

NetRange:   66.249.64.0 - 66.249.95.255
CIDR:       66.249.64.0/19
NetName:    GOOGLE
NetHandle:  NET-66-249-64-0-1
Parent:     NET-66-0-0-0-0
NetType:    Direct Allocation
NameServer: NS1.GOOGLE.COM
NameServer: NS2.GOOGLE.COM
NameServer: NS3.GOOGLE.COM
NameServer: NS4.GOOGLE.COM
Comment:
RegDate:    2004-03-05
Updated:    2007-04-10

OrgTechHandle: ZG39-ARIN
OrgTechName:   Google Inc.
OrgTechPhone:  +1-650-318-0200
OrgTechEmail:  arin-contact@google.com

# ARIN WHOIS database, last updated 2010-05-13 20:00
# Enter ? for additional hints on searching ARIN's WHOIS database.
#
# ARIN WHOIS data and services are subject to the Terms of Use
# available at https://www.arin.net/whois_tou.html

Wednesday, May 12, 2010

Android Dev 1 + b-mobile で、 PocketWiFiもどきを作る

今日の まとめメモです。

■ニーズ

田舎に一週間、親の様子を見に行く予定がある。
PCでネットを見たい。田舎すぎてネットを引いていない。
PocketWiFiのような装置が欲しいが、
もっと安くあげる方法はないか。

■材料(手持ちの材料と新規購入検討)

 PC(WiFi付き)
 Docomoのデータ通信(新規購入検討)
 UQWiMAX (契約切れ)
 e-mobile D02HW SIMなし(契約切れ)
 e-mobile PocketWiFi (新規購入検討)
 iPhone3GS (SIMロック端末)
 Android Dev 1 (SIMフリー3G端末)
 WILCOM(新規購入検討)
 B-mobile(新規購入検討)

■Docomoのデータ通信 検討して没に

高い、契約と解約が面倒そう(短期とかがない)。
さすがNTT系硬い硬いそして複雑な仕組みと料金体系の商売である。

携帯電話は、音声とメールだけで十分ですね。

■UQWiMAX 検討して没に

AU, KDDI系のUQWiMAXには
UQ1DAYというたいへん便利な契約方法がある。

自分は、WiMAX Wi-Fiゲートウェイ(UG01OK/UD01OK)を
半年契約していたが、
友人に貸していただけであったので解約した。
自宅ではUQ電波が無いためである。

念のため調べたが、田舎にはUQ電波が無い。
電波があれば、これか最も安くカタログ性能もいい。
実際は基地局との距離で速度が大きく違う。

■ e-mobile  も没

田舎もe-mobile電波はきている模様。

e-mobile D02HWは、2010年3月でちょうど二年となり
契約を解消した。手元にSIMをはずした端末がある。
SIMロックがかかっている端末であり、
DocomoやiPhoneのSIMを入れても認識しない。

D02HWに一週間だけ使えるSIMカードを出して欲しいが
そんなメニューはない模様。

EMチャージという方法も二年縛りの端末買取となり
今回のニーズには高価である。
PocketWiFiは特に人気があり高い。

■ iPhone の PocketWiFi 化 も没

iPhoneは、実験用でブラウザを使うだけの自分は
変わり者である。
が、もしiPhoneがPocketWiFi のように
なれば、同時にPCもモバイル環境でつながりベスト

iPhoneをPocketWiFi化するアプリは探せばあるが、
しかし監獄破り(jail break)という技が必要で
ソフトバンク・アップルと契約違反となる模様。

契約違反してまで実施する必要は無い。

■ Android Dev 1 の PocketWiFi 化

そこで、昔実験用に買った Android Dev 1 を思い出す
これは、SIM FREEのデバイスだった。
昔、DocomoのSIMでアクティベートしたことを思い出す。

早速 実験開始

音声通話 ==> OK

 iPhoneのSIMをAndroid Dev 1 に入れて動作成功

Android から ネット  ==> OK

  IP通信をするために、APNをWEBで探す、発見
  ソフトバンクのiPhone専用の smile.world  を利用


  さらに、AndroidをPocketWiFi化するために
  AndroidMarketからWiFi Tether(GPL・無料)をインストール
  ただし、カーネルの変更も必要でSDKの準備など大変だった。

WiFi Tether を設定しいろいろ試す

接続方法は、

 Clients(PC1,PC2,iPhone)==WiFiAdhoc==>Android===>(SoftBank3G-Net)

 Clientからのhttp/httpsは、問題なし。
 ClientからのSSHは、ブロックされている。
 (★ さすがにソフトバンクも一定の守りをしている模様。)

 ClientにPSPを試したが、PSPのアドホックは、PSP間専用のため、
 つながらないと判明。
 NintendoDSiをつなぐ気分はなくなってしまう。

 AndroidのWiFiを親機(インフラチスラクチャモードのステーション)に
 することは、無線ドライバの改修が必要で手間が非常にかかり、
 ソフトのライセンス問題も出てくる。今回は必要なし。

 自分は、PCからクラウド上のサーバへSSH接続をしたいので、
 iPhoneのSIMカードを流用する案は没となる。

実験終了 SIMカードは、iPhoneへ戻す。

ということで、正しく契約したSIMカードがあれば、
Android Dev 1 の PocketWiFi 化は、結構いける。

■ WILCOM 没

 WILLCOM CORE 3G という Docomo網の再販だが、
 価格がe-mobileと大差なく、
 経営状況も良くなく、没とする。

■ b-mobile

b-mobileは、SIMのみ販売、1ヶ月 6ヶ月 1年の三通りあり
Android Dev 1 の PocketWiFi 化にぴったりである。

b-mobile SIM U300 1ヶ月(30日)
使い放題 BM-U300-1MS 2,980 円
(送料は当社負担)

これを契約することにしたい。

■ おまけ

Docomoの3Gの全国網は、完成したが、
ソフトバンクはまだまだこれからと地図を見て思う。

同じ3Gを使うのに電波の割り当てが少ないソフトバンクは、
かわいそうでもある。

最近アゴラで話題の光の道構想などを言い出すあたり、
ソフトバンクの苦しい立場が良くわかる。
光の道構想は、池田信夫先生から一刀両断にされており、
どうにも筋が悪い模様である。
孫社長ならば、なにかとんでもない発想がでてきそうである。
(自分なら、DocomoSoftbank変換フェムトセル機を開発して田舎に設置するが)


KDDIは、3G方式を使っていないため、
今後に大変な問題を抱えている。
どこかと合併するのだろうか。

以上一日半の調査でした。

Monday, May 10, 2010

Twitterのサービスが重い

Twitterのサービスが重い
急激にユーザが増えて、重いのかな。
ブラウザの画面が砂時計のまま。

しかしながら、Twitterの皆さんのつぶやきをフォローする時間がない。
これはまた、一日一度これを眺めるが、脈絡が感じられ無く、流れに乗れない。
まったくもって、自分が時代遅れと感じます。

領収書伝票を会計事務所へ提出

T会計事務所を訪問、4月分の領収書伝票を提出。
税務処理をお願いした。

伝票は、20枚程度、たいしたこたあ無い、枚数。

結局伝票提出だけで、あとは全部お任せ。

会計の基本を勉強し、会計ソフトもお試し導入したが
結局のところ、会計ソフトを使わなくともよい状態になった。

楽チンである。

「千葉南税務署から課税の事業所番号が交付されるはず」と
T会計士から聞いたが、税務署からは、まだ連絡がない。
連絡があり次第、報告することになる。

初の売り上げ

Google の Adwordsの収益が、4月で 1,000円を超える。

1100円ぐらい。

初めての会社の収入であり、うれしい。

ありがたい限り、うれしいものです。

遺言預かり所を改造 2

目標とこれまでの実績は、次


  1. スポンサーが画面にロゴなどを入れられるようにする 済み
  2. スポンサーがユーザ管理できるようにする 途中
  3. 差別化機能として、遺言文字数制限拡大と別ファイル添付可能とする 途中
  4. 申し込み支払い画面を用意する 未
  5. セールスを掛ける 未
4まで、今週中に完了したい。
結構時間がかかる、もっともっと前向きに加速したい。

売り込み先は、

  1. 小口
  • 弁護士事務所
  • 司法書士事務所
  1. 大手
  • 保険会社、
  • 財産管理会社


としたいが、さてどのような方法で売り出すか、思案中。

Friday, May 07, 2010

ツイッターマーケティング研究所のセミナー参加する予定

「Facebook緊急セミナー」ということで
日時 5月25日(火) 18時30分~20時45分投稿を公開
にセミナーあり、
さすがに銀座で開催で二万円。


一見高いと思うが、
どんな内容が聞いてみないことには、
判断はできない。


ここのところ、家内と母親の二人意外と
会話をしていないので、
世の中を生に感じる機会として
セミナはおもしろいはず。


ということで参加予定。


http://www.upperwest.jp/index.php?FrontPage

今日の「遺言預かり所」開発状況

弁護士さんや司法書士さんが、 自社サービスができるように改良中


管理画面での
・ログイン(完了)
・パスワード忘れ対策(完了)
・パスワードの変更(完了)
・メールアドレスの変更(完了)
・設定の変更(ほぼ完了)


とくに画面で、色指定ができるようにするjavascriptコードを
skuare.net さんの
http://www.skuare.net/test/mooColorPicker.html
より
mootools さんのコードを拝借しました。


を作成。


設定の変更でお客様HPへのリンクURLなどは仕様追加必要


このほかに、設定の実際の画面への反映や
ユーザ登録・編集機能などもうすこし実施することがある。


もうひとがんばりだ。がんばろう。



Thursday, May 06, 2010

遺言預かり所を改造

遺言預かり所で、お試しに
「安否確認お試しメール」と「家族への連絡お試しメール」を出せるようにしました。 

これから、弁護士さんや司法書士さんが、 
自社サービスができるように改良します。


バイリンガル・ホームページが日本語社名でGoogle検索できない件の対策

株式会社好試力研究所のホームページは、日本語・英語の
バイリンガルであり、ブラウザから送信されてくる
ACCEPT LANGUAGE 情報で自動的に、表示言語を切り替えている。

この場合、うまくホームページを調整しないと
日本語社名「株式会社好試力研究所」でGoogle検索できなくなってしまう。

実際、会社スタートから一月近くたつが、
英語社名「KOUSHIRYOKU Laboratory Ltd.」は、検索されるが、
日本語社名「株式会社好試力研究所」では、検索されない状態が続いた。

なぜこのようなことになるのか、原因は、
Googleのクローラー・ロボット(自動html収集をするブラウザロボット)が、
ACCEPT LANGUAGE 情報をWEBサーバへ渡さないため、
好試力研究所のホームページ用WEBサーバが、英語のページを
回答する、そこで、日本語社名がGoogleに認識されない。

これは、Yahoo や MSN でも同様の現象である。

対策をしたら、一日後に、Googleは、改善された。
Yahoo や MSN は、まだクローラー・ロボットが巡回してこない模様。

で、今回の対策方法について、簡単にまとめる。

(1)クローラー・ロボットには、日本語ページを返す

クローラー・ロボットは、ACCEPT LANGUAGEを送信してこないので
この場合、 USER AGENTを確認して、クローラー・ロボットであるか判断して
この場合は、日本語として、ページを作成して返す。

また、URLの末尾につけるGETパラメータで言語指定があれば、
それを優先する。これは、(3)とも通じる。

phpの判定部分は、こんな感じ、(以下の例は、携帯電話も日本語としている。)

//----------------------------------------------------------------------
if(isset($_GET['LANG'])){
$GLOBALS['LANG'] = $_GET['LANG'];
}else{
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
$GLOBALS['LANG'] = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
}else{
$agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : "";
if(stripos($agent, "DoCoMo") !== false){
$GLOBALS['LANG'] = "ja";
}else if(stripos($agent, "J-PHONE") !== false || stripos($agent, "Vodafone") !== false || stripos($agent, "SoftBank") !== false){
$GLOBALS['LANG'] = "ja";
}else if(stripos($agent, "UP.Browser") !== false || stripos($agent, "KDDI") !== false){
$GLOBALS['LANG'] = "ja";
}else if(stripos($agent, "googlebot") !== false || stripos($agent, "mediapartners-google") !== false){
$GLOBALS['LANG'] = "ja";
}else if(stripos($agent, "Yahoo") !== false){
$GLOBALS['LANG'] = "ja";
}else if(stripos($agent, "msnbot") !== false){
$GLOBALS['LANG'] = "ja";
}else{
$GLOBALS['LANG'] = "en";
}
}
}
//----------------------------------------------------------------------

(2) 言語リソース自動切換え機構

 同じ内容で言語を変えてページを作成することは、
 開発労力の無駄なので、phpで言語リソースを自動切換えできるようにする。

 phpの判定部分は、こんな感じ

//----------------------------------------------------------------------
if($GLOBALS['LANG'] == "ja"){
require "lang_jp.php";
}else{
require "lang_en.php";
}
//----------------------------------------------------------------------

(3)画面の日本語/英語切り替えは、<a>タグで表現

 「(1)クローラー・ロボットには、日本語ページを返す」の
 対策だけでは、こんどは、英語の社名が検索でひっかからなくなる。
 クローラー・ロボットは、リンク(<a>タグ)をたどって調査をする特性が
 あるので、画面の言語切り替えは、<a>タグで実現する。

 また言語の指定は、URL末尾のGETパラメータのLANGで行う。
 こうすることで、クローラー・ロボットは、
 ?LANG=ja ?LANG=en 付きの URLをだどることができて、
 日本語以外の英語等の言語ページをだとることができるはずである。

  phpの部分は、こんな感じ

//----------------------------------------------------------------------
<p align=right style="font-size:67%">
<a href="?LANG=ja">
<img src=flag_japan.PNG width=28px height=19px border=0
 alt="<?php echo htmlspecialchars(T_JAPANESE_EDITION); ?>"
 title="<?php echo htmlspecialchars(T_JAPANESE_EDITION); ?>" >(Japanese)
</a>
&nbsp;
<a href="?LANG=en">
<img src=flag_usa.PNG width=28px height=19px border=0
 alt="<?php echo htmlspecialchars(T_ENGLISH_EDITION); ?>"
 title="<?php echo htmlspecialchars(T_ENGLISH_EDITION); ?>" >(English)
</a>
</p>
//----------------------------------------------------------------------

Tuesday, May 04, 2010

マルチ言語対応WEBページで"Ads by Google"を正しく表示させる方法

[問題]

自分が運営しているサイトがphpでてきており、マルチ言語切り替え表示
(といってもまだ英語と日本語のみだが)に対応させているのだが、
日本語状態にしても、Google AdSense の広告がが常に英語で表示される。
これを日本語表示のときは、日本語の広告が出て欲しい。

[解決策]

この方法について、判ったので記録しておく。

1. URLの後ろのGetパラメータで、日本語と英語が切り替わるようにする

  つまり、 ?LANG=ja, ?LANG=en で切り替わるようにする。

  これだけである。

[Google AdSenseの動作分析(推論)]

  Google AdSense の埋め込みスクリプトでは、
  現在表示してる画面のURL(html文字列ではない)をGoogleへ送信している。
  Google AdSenseは、URLを元に内容をWEBサーバから読み出して、
  内容を解析して、適切な広告を表示している。
 
  (リアルタイム解析で、広告を出すわけで検索技術の粋である)

  言語切り替えをPOSTパラメータやクッキーで行うと、
  Google AdSenseは、POSTパラメータやクッキーを持たないので
  もとのURLだけから、内容をWEBサーバから読み出すが、
  自分が運営しているWEBサーバが、
  言語不明となりデフォルト言語(英語)でページを返す。
 
  すると、Google AdSenseは、英語ページを解析して
  英語の広告を表示する。

  してがって、日本語表示のときは、日本語の広告が出て欲しいのであれば、
  現在表示してる画面のURLだけで、Google AdSense が
  日本語ページを取得できる必要がある。

  そのために、Getパラメータで、日本語と英語が切り替わるようにすることが
  必要となる。

[推論]

  自分のHOMEPAGEもマルチ言語切り替え表示対応させているのだが、
  日本語名では、検索に引っかからない、英語名ではひっかかるのであるが。
  これも原因は、googleのクローラ・ロボットが
  英語ページしか取得していないことに原因
  があると思われる。これについては、別記する予定。

iphone用にサイトを改造

iPhoneの小さな画面でも、比較的ましな表示となるよう、
好試力研究所のホームページと
遺言預かり所を改造した。

一日かかってしまう。

技術ポイントは、 httpリクエストヘッダーの USER AGENT を見て
iPhoneかどうかを判定する。

iPhoneのときは、アイコン、 専用css viewportの設定 html/head に追加をする。

こんな感じ

echo "<link rel=\"apple-touch-icon\" href=\"lwk2.png\">\n";
echo "<link rel=\"stylesheet\" href=\"smartphone.css\">\n";
echo "<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\" />\n";

先駆者のみなさんの説明サイトが多数ありとても判りやすかった。
感謝 !


facebook との連携

好試力研究所のHOME PAGE で facebook との連携 をしてみた。

----------------------------------------------------
1. Social plugin

Social plugin の「いいね!」をあちこちに入れてみた。
これは、簡単である。

http://developers.facebook.com/docs/reference/plugins/like
で、プラグイン用のjavascriptを取り出せるので、貼り付けるだけ。

----------------------------------------------------
2. Single sign in

Single sign in を入れてみた。
http://www.majin-z.com/
で、facebook のアカウントでログインできる。

試してみてもらいたい。

ログインの時点で、好試力研究所のHOME PAGE では、
facebook のユーザID番号と、ユーザ名を取り出せる。

メールアドレスを取り出すことも可能であるが、
ログイン時点に確認になる。

ログインしても、現状とくに何かおきるわけではない。

好試力研究所としては、facebookのアカウントでログインして
ショッピングまで連動したいのだが、、、
その方法の記載が不明だった。
ということで、広告を出すほうが効果的とおもわれた。

-------------------------------------------
組み込みの方法は、昨日のfacebook関係の翻訳を参考にしてもらいたい。
概要は、以下

(1)アプリケーションID作成をする
http://developers.facebook.com/setup/

秘密キーもできる
同時にサンプルコードも出てくるので
これを手本に、phpスクリプトへ組み込み。

シングル・サインイン・アプリケーションが
emailを取得したいとき、別の確認フォームが出てくる。
このとき、アプリケーションのアイコンを登録する場所が
facebook通常画面上部メニューの「アカウント/アプリケーション設定」となる。

php 関数 json_decode() が、 VPSサーバになく、
拡張モジュールをインストールしようとしても、 gcc をインストールできなくで
あきらめた。(自分で文字列ハンドリングする必要あり。)

Sunday, May 02, 2010

Facebook for Mobile Apps の訳

http://developers.facebook.com/docs/guides/mobile/
Facebook for Mobile Apps の訳
EXCITE機械翻訳です。

ホーム :  Documentation :  Facebook for Mobile Apps
-----------------------------------------------------------------------
Introduction.
序論。

Over 100 million people use Facebook from mobile phones every month. You can incorporate Facebook into your own mobile application using the same APIs as those provided for all web sites, formatted to fit on a mobile phone.

1億人以上は、毎月携帯電話からFacebookを使用します。 あなたは、携帯電話で合うようにフォーマットされた、すべてのウェブサイトに提供されたものと同じAPIを使用することであなた自身のモバイルアプリケーションにFacebookを組み入れることができます。


This guide focuses on mobile web sites. If you are building a native mobile application, check out our open source mobile SDKs:

このガイドはモバイルウェブサイトに焦点を合わせます。 固有のモバイルアプリケーションを組立てているなら、私たちのオープンソースモバイルSDKsを調べてください:

iPhone SDK
Android SDK (unofficial)

-----------------------------------------------------------------------
Getting Started.
使用前に。

To personalize a mobile web application, you need to authorize the user with Facebook. Once the user has authorized your application, you can fetch user profile data from the Graph API. You can also ask the user for special permission to publish messages to the user's Wall from your application.

モバイルウェブアプリケーションを個人化するために、あなたは、Facebookと共にユーザに権限を与える必要があります。 ユーザがいったんあなたのアプリケーションを認可すると、あなたはGraph APIからのユーザ・プロファイルデータをとって来ることができます。 また、あなたはメッセージをあなたのアプリケーションからユーザのWallに発表する特許をユーザに求めることができます。

Facebook has released SDKs for PHP and Python for the the Graph API to make it easier to develop mobile apps in those languages.

Graph APIでそれらの言語におけるモバイルアプリケーションを開発するのが、より簡単になるように、FacebookはPHPとパイソンのためのSDKsをリリースしました。

-----------------------------------------------------------------------
Mobile Authentication
モバイル認証

Facebook uses OAuth 2.0 for authentication and authorization. Read the authentication guide for more details about Facebook's implementation of OAuth.


Facebookは認証と承認にOAuth2.0を使用します。 FacebookのOAuthの実現に関するその他の詳細のために認証ガイドを読んでください。



Mobile web applications use the same authorization endpoints as normal web applications, using a special argument (display) to specify the mobile version of the authorization dialog. There are two options for display relevant to mobile web applications:

モバイルウェブアプリケーションは通常のウェブアプリケーションと同じ承認終点を使用します、承認対話のモバイルバージョンを指定するのに、特別な主張(ディスプレイ)を使用して。 モバイルウェブアプリケーションに関連しているディスプレイのための2つのオプションがあります:

wap    Older mobile web browsers
touch    Smartphone, full featured web browsers
For example, to authorize a user using the WAP-friendly authorization UI, redirect the user to the following URL:

オールダーモバイルウェブブラウザ接触Smartphone、完全な特集されたウェブブラウザForの例を縛って、WAPに優しい承認UIを使用することでユーザに権限を与えて、以下のURLにユーザを向け直してください:


  「原文はここにソースコード」

The resulting dialog looks like this:
結果として起こる対話はこれに似ています:





End-to-end, this is how you authorize a user in a mobile web application:

終わるために終わってください、そして、これはあなたがモバイルウェブアプリケーションでどうユーザに権限を与えるかということです:

Register your application to get an application id and secret. Your application id is your client_id and your application secret is your client_secret.

アプリケーションを登録して、アプリケーションイドと秘密を得てください。 あなたのアプリケーションイドはあなたのクライアント_イドです、そして、あなたのアプリケーション秘密はあなたのクライアント_秘密です。

Redirect the user to https://graph.facebook.com/oauth/authorize with your client_id and the callback URL. Specify display depending on the type of mobile device your application is targeting. Example:

クライアント_イドとコールバックURLで https://graph.facebook.com/oauth/authorize にユーザを向け直してください。 あなたのアプリケーションが狙っているモバイル機器のタイプに頼るディスプレイを指定してください。 例:

  「原文はここにソースコード」

After the user authorizes your application, we redirect the user back to the callback URL you specified with the argument code, which can be exchanged for an oauth access token. Exchange it for an access token by fetching https://graph.facebook.com/oauth/access_token. Example:

ユーザがあなたのアプリケーションを認可した後に、私たちは、あなたがoauthアクセストークンと交換できる議論コードで指定したコールバックURLにユーザを向け直して戻します。 魅惑的な https://graph.facebook.com/oauth/access_token によるアクセストークンとそれを交換してください。 例:

  「原文はここにソースコード」

Use the access token returned by the request above to fetch data from the Graph API on behalf of the user. Example:

ユーザを代表してGraph APIからのデータをとって来るために要求で上に返されたアクセストークンを使用してください。 例:

  「原文はここにソースコード」
Facebook c 2010

Apps on Facebook.com の訳

http://developers.facebook.com/docs/guides/canvas/

Apps on Facebook.com の訳
EXCITE機械翻訳です。

ホーム :  Documentation :  Apps on Facebook.com

------------------------------------------------------------------------
Introduction
導入

Building an application on Facebook gives you the opportunity to deeply integrate into the core Facebook experience. By leveraging Facebook's integration points you can make your application feel native to the site, and create a seamless experience as users browse Facebook. Your application can integrate with all aspects of the Facebook user experience, from the profile page to bookmarks and the stream.

Facebookでアプリケーションを組立てると、深くコアFacebook経験と統合する機会はあなたに与えられます。 Facebookの統合ポイントに投機することによって、ユーザがFacebookをブラウズするとき、あなたは、あなたのアプリケーションがサイト固有であると感じさせられて、シームレスの経験を作成できます。 あなたのアプリケーションはプロフィールページからブックマークまでのFacebookユーザー・エクスペリエンスの全面と流れと統合されることができます。

Applications that run within Facebook use all the same fundamental technologies as websites which integrate Facebook. Other than some differences in user authentication, all of the technologies discussed in the Facebook for Websites guide are available to applications on Facebook. You should start with that guide if you are new to developing with Facebook's APIs.

Facebookの中で稼働するアプリケーションは、Facebookを統合するウェブサイトと同じすべての基本的な技術を使用します。 ユーザー認証のいくつかの違いを除いて、WebsitesガイドのためにFacebookで議論した技術のすべてがFacebookでアプリケーションに利用可能です。 FacebookのAPIで展開するのに慣れないなら、あなたはそのガイドから始めるべきです。

This guide walks you through the basics of getting your application set up and provides an overview of the key Facebook integration points.

このガイドは、あなたのアプリケーションをセットアップさせる基礎を通してあなたを歩いて、主要なFacebook統合ポイントの概要を提供します。

Canvas

Bookmarks


Dashboards

Requests

------------------------------------------------------------------------
Getting Started
はじめましょう

When you build an application on Facebook, your application's primary page views come via the canvas page, an iframe hosted by Facebook at http://apps.facebook.com/your_app/ that points to your application. When you register your application, you choose a Canvas Page URL (your_app in the example above) and a Canvas Callback URL (e.g., http://www.example.com/canvas/). When a user visits http://apps.facebook.com/your_app/, Facebook loads your specified Canvas Callback URL within an iframe on that page. Likewise, when a user visits http://apps.facebook.com/your_app/foo/bar, Facebook loads the URL http://www.example.com/canvas/foo/bar in the canvas page iframe.

あなたがFacebookでアプリケーションを組立てるとき、キャンバスページ(あなたのアプリケーションを示す http://apps.facebook.com/your_app/ でFacebookに接待されたiframe)であなたのアプリケーションの第一のページ・ビューは来ます。 あなたのアプリケーションを登録するとき、あなたは、CanvasページURL(上記の例のあなたの_装置)とCanvas Callback URL(例えば、 http://www.example.com/canvas/ )を選びます。 ユーザが http://apps.facebook.com/your_app/ を訪問するとき、Facebookはそのページのiframeの中であなたの指定されたCanvas Callback URLをロードします。 ユーザが http://apps.facebook.com/your_app/foo/bar を訪問するとき、同様に、FacebookはキャンバスページiframeでURL http://www.example.com/canvas/foo/bar を積み込みます。

To get started, register your Facebook application. Once you have entered your basic application information, click the "Canvas" tab on the left hand side of the configuration screen, and specify a Canvas Page URL and Canvas Callback URL for your application:

開始するには、Facebookアプリケーションを登録してください。 あなたは、一度、あなたの基本出願情報を入力して、構成スクリーンの左側を「キャンバス」タブをクリックして、CanvasページURLとCanvas Callback URLをアプリケーションに指定します:

 
 
To test that things are working properly, put up a simple page at your Canvas Callback URL and visit http://apps.facebook.com/your_app/. You should see your page load in the Canvas Page iframe:

いろいろなことは、それをテストするために、適切に働いていて、あなたのCanvas Callback URLで簡単なページを提供して、 http://apps.facebook.com/your_app/ を訪問します。あなたは、あなたのページがCanvasページiframeでロードされるのを見るべきです:



------------------------------------------------------------------------
Authentication
認証

Canvas applications use cookies to get user authentication information. The cookie includes a signature for all the values as the argument sig. The signature scheme is described in detail in the Canvas authentication guide. This PHP snippet returns all the official Facebook arguments and verifies the signature with your app's Application Secret:

キャンバスアプリケーションは、ユーザー認証情報を得るのにクッキーを使用します。 クッキーは議論sigとしてすべての値のための署名を含んでいます。 署名体系はCanvas認証ガイドで詳細に説明されます。 このPHP切れ端は、すべての公式のFacebook議論を返して、あなたの装置のApplication Secretとの署名について確かめます:

  「原文はここにソースコード」


When a user first visits your application, he or she will not be logged in to it. In this state, the cookie won't include uid. The recommended way to handle this case is to render a logged out version of your application with a Facebook login button, just like you would on a Facebook Connect site:

ユーザが最初にそちらのアプリケーションを訪問するとき、その人はそれにログインしないでしょう。 この状態では、クッキーはuidを含まないでしょう。 本件を扱う推奨方法はFacebookログインボタンであなたのアプリケーションの登録された出ているバージョンを表すことです、あなたがまさしくFacebook Connectサイトでそうするように:

  「原文はここにソースコード」

Check out the full PHP example application on GitHub for working "Getting Started" examples to copy to get started more quickly.

よりはやく開始するためにコピーするために「使用前に」の例を扱うためにGitHubで完全なPHP実例応用を調べてください。

------------------------------------------------------------------------
Making API Calls.
APIを作るのは呼びます。

We are currently in the process upgrading our core server API from the old REST API to the more modern Graph API. However, most of the methods required for canvas applications to integrate with Facebook have not yet been upgraded to the new API. For the time being, we recommend you continue using the old REST API in canvas apps instead of the new APIs for the sake of completeness.

私たちは、現在、私たちのコアサーバAPIを古いREST APIから、より現代のGraph APIまでアップグレードさせながら、プロセスにいます。 しかしながら、キャンバスアプリケーションがFacebookと統合されるのに必要であるメソッドの大部分はまだ新しいAPIにアップグレードしていません。 当分の間、私たちは、あなたが、新しいAPIの代わりにキャンバスアプリケーションで完全を期すために古いREST APIを使用し続けることを勧めます。

Included in the arguments passed to your canvas callback URL is oauth_access_token. That argument can be used to make OAuth 2.0-authenticated calls to the REST API on behalf of the active user. For example, you can call the friends.get method by fetching the URL:

あなたのキャンバスコールバックURLに通過された議論に含まれているのは、oauth_アクセス_トークンです。 活発なユーザを代表してOAuthをREST APIへの2.0で認証された呼び出しにするのにその議論を使用できます。 例えば、あなたは、URLをとって来ることによって、friends.getをメソッドと呼ぶことができます:

  「原文はここにソースコード」
 
In PHP, using the $args data structure above, you could fetch the current user's list of friends with:

PHPでは、$argsデータ構造を使用して、上では、あなたが以下で現在のユーザの友人のリストをとって来ることができました。

  「原文はここにソースコード」

------------------------------------------------------------------------
Integration Points.
統合は指します。

Once you have developed your application using the REST API, you can integrate your applications with the communication channels and integration points Facebook provides to help grow your user base and re-engage existing users. The most important integration points are:


REST APIを使用することでいったんあなたのアプリケーションを開発すると、あなたは、あなたのユーザベースを発展して、既存のユーザを再従事させるのを助けるために通信チャネルとFacebookが提供する統合ポイントがあるアプリケーションを統合できます。 最も重要な統合ポイントは以下の通りです。

Stream publishing
Requests
Bookmarks and Counters
Application and Games dashboards
Profile tabs

------------------------------------------------------------------------
Stream Publishing.
出版を流してください。

The stream is shown immediately to users upon logging into Facebook, making it core to the Facebook experience. You can prompt a user to publish stories about what she is doing in your application to her wall. If she publishes the story, it will appear on her wall and in all her friends' streams. Stories published from your application will include a link to your canvas page, and can optionally include an rich attachment. Effective use of stream publishing enables new users to discover your application, and existing users to re-engage with it.

それをFacebook経験へのコアにして、Facebookにログインするとき、流れはすぐに、ユーザに見せられます。 あなたは、ユーザが彼女があなたのアプリケーションで壁にしていることに関する話を発表するようにうながすことができます。 彼女が話を発表すると、それは彼女の壁と彼女のすべての友人の流れに現れるでしょう。 あなたのアプリケーションから発表された話は、あなたのキャンバスページへのリンクを含んで、任意に豊かな付属を含むことができます。 流れの出版の有効な使用は、新しいユーザが、あなたのアプリケーション、および既存のユーザがそれに再従事すると発見するのを可能にします。

A basic example of how to prompt a user to publish a story using the Facebook JavaScript SDK:

ユーザが話を発表するようにどうFacebook JavaScript SDKを使用することでうながすかの基本の例:

  「原文はここにソースコード」

The code above prompts the user with this dialog:

上のコードはこの対話でユーザをうながします:

 

Read the complete documentation on stream publishing and attachments.
流れの出版と付属に関する完全なドキュメンテーションを読んでください。
------------------------------------------------------------------------
Requests.
要求。

Requests are a great way to enable users to invite their friends to your application, and for users to confirm connections from your application. As an example if user A wants to invite user B to join a group inside your application, user A could send user B a request, asking if user B would like to join. User B will receive the request and have the opportunity to respond. Users can easily send requests by simply clicking on friend's faces and hitting send.

要求は、ユーザがあなたのアプリケーションに彼らの友人を招待するのを可能にするかなりの方法であり、あなたのアプリケーションから接続を確認するユーザのためにそうです。 例として、ユーザAが、ユーザBがあなたのアプリケーションで仲間に入るよう誘いたいなら、ユーザAはユーザBに要求を送るかもしれません、ユーザBが加わりたがっているかどうか尋ねて。 ユーザBは、要求を受け取って、応じる機会を持つでしょう。 ユーザは、単に友人の顔をクリックすることによって、容易に要求を送ることができます、そして、当たりは発信します。

Using FBML tags you can render request forms and friend selectors. There are many ways to customize your requests including the display of the friend selector, and what options are available to the recipient of the request. Complete documentation is available here. Iframe applications simply need to wrap the FBML tags in a <fb:serverFbml> tag for them to render.

FBMLタグを使用して、あなたは依頼状用紙と友人セレクタをレンダリングできます。 友人セレクタのディスプレイであって要求の受取人にとって、どんなオプションが利用可能であるかを含むあなたの要求をカスタマイズする多くの方法があります。 完全なドキュメンテーションはここで入手できます。 Iframeアプリケーションは、単にそれらがレンダリングする<fb: serverFbml>タグでFBMLタグを包装する必要があります。

An example request form:
例の依頼状用紙:

  「原文はここにソースコード」


The above code renders this on your canvas page:
上のコードはあなたのキャンバスページでこれをレンダリングします:

 

After the user chooses a friend and clicks Send, the request will look like this to the recipient:

ユーザが友人を選んで、Sendをクリックした後に、要求は、受取人にこれに似るでしょう:


------------------------------------------------------------------------

Bookmarks and Counters.
ブックマークとカウンタ。

Bookmarks enable users to easily navigate back to your application. Placing a bookmark button on your canvas page enables users to add your application to their list of bookmarks on the left column of the homepage. Once a user has installed your bookmark, you can set a counter which will appear next to it. You should set the counter to remind users of actions they need to take within your application.

ブックマークは、ユーザが容易にあなたのアプリケーションへナビゲートして戻るのを可能にします。 あなたのキャンバスページにブックマークのボタンを置くのは、ユーザがホームページの左のコラムで彼らのブックマークのリストにあなたのアプリケーションを追加するのを可能にします。 ユーザがいったんあなたのブックマークをインストールすると、あなたはそれの横で現れるカウンタを設定できます。 あなたは、カウンタにアプリケーションの中で取るように彼らが必要とする動作のユーザに思い出させるように設定するべきです。

Including the bookmark XFBML tag will render the bookmark button on your canvas page:

ブックマークのXFBMLタグを含んでいると、あなたのキャンバスページのブックマークのボタンはレンダリングされるでしょう:

  「原文はここにソースコード」

どれがこのボタンを発生させるでしょうか:


Complete documentation about the bookmark button can be found here.

ここでブックマークのボタンに関する完全なドキュメンテーションを見つけることができます。

When a user needs to return to your application, you should increment the counter:

ユーザが、あなたのアプリケーションに戻る必要があるとき、あなたは、カウンタを増加するべきです:

  「原文はここにソースコード」

This will increment the counter for this user:

これはこのユーザのためにカウンタを増加するでしょう:



Complete documentation on the counter can be found here.
ここでカウンタに関する完全なドキュメンテーションを見つけることができます。

------------------------------------------------------------------------
Application and Game Dashboards.
アプリケーションとゲームダッシュボード。

The Application and Game Dashboards help users discover and engage with applications on Facebook. A user's recently used applications appear at the top of the dashboard and a user's friends' recently used applications are shown in the bottom sections. When users engage with your application, it will automatically show up in the dashboard. To make your appearance in the dashboard more engaging you can publish news and activity. These are bullet point messages telling your users and their friends what is new in your application.

ApplicationとGame Dashboardsは、ユーザがFacebookでアプリケーションを発見して、交戦するのを助けます。 ユーザの最近中古のアプリケーションはダッシュボードの先端に現れます、そして、ユーザの友人の最近中古のアプリケーションは下部セクションで示されています。 ユーザがあなたのアプリケーションと交戦するとき、それはダッシュボードに自動的に現れるでしょう。 ダッシュボードでのあなたの出演をより魅力的にするように、あなたはニュースと活動を発表できます。 これらは、何があなたのアプリケーションで新しいかをあなたのユーザと彼らの友人に言う弾丸ポイントメッセージです。

For example, you can add news to a user's dashboard by calling:

例えば、あなたは、呼ぶことによって、ユーザのダッシュボードにニュースを加えることができます:

  「原文はここにソースコード」

This will appear in the user's dashboard:

これはユーザのダッシュボードに現れるでしょう:



There is a lot you can do to take advantage of the dashboards. Complete documentation can be found here.

あなたがダッシュボードを利用するためにできるいろいろな事があります。 ここで完全なドキュメンテーションを見つけることができます。

------------------------------------------------------------------------
Profile Tabs
プロフィールタブ


All profiles on Facebook have tabs. For example, users have a 'Photos' and a 'Links' tab by default. A user can add a tab for your application to her profile. When one of the user's friends visits her profile, the friend can check out the profile tab to get a sense of what your application is about, what the user has been doing in your application, and the friend can click back to your canvas page.

Facebookの上のすべてのプロフィールには、タブがあります。 例えば、ユーザには、'写真'と'リンクス'タブがデフォルトであります。 ユーザはあなたのアプリケーションのために彼女のプロフィールにタブを追加できます。 ユーザの友人のひとりが彼女のプロフィールを訪問するとき、友人は、あなたのアプリケーションが関することに関する感覚を得るためにプロフィールタブを調べることができます、ユーザがあなたのアプリケーションでしていること、友人はあなたのキャンバスページとクリックであって戻りできます。

To enable users to add a profile tab, set a tab name and a tab URL in the Facebook Developer app:

ユーザがプロフィールタブを加えるのを可能にするには、Facebook Developer装置にタブ名とタブURLを設定してください:

Including the add profile tab XFBML tag will render a button on your canvas page allowing users to add a tab for your application:

包含、ユーザがあなたのアプリケーションのためにタブを加えるのを許容しながら、キャンバスページでXFBMLタグがボタンをするプロフィールタブを加えてください:

  「原文はここにソースコード」

When a user navigates to the profile tab, Facebook makes a request to the tab URL you specified. A number of POST parameters are included with the request. You can verify the parameters using the same technique described here, but using $_POST parameters instead of the parameters from the cookie.

ユーザがプロフィールタブへナビゲートするとき、Facebookは要求をあなたが指定したタブURLにします。 多くのポストパラメタが要求で含まれています。 You can verify the parameters using the same technique described here, but using $_POST parameters instead of the parameters from the cookie.

Facebook does not pass back who the viewing user is when she first visits your tab. Facebook does send the profile owner's ID in the fb_sig_profile_user parameter, so you know whose profile to display content for. See Authentication for more information.

彼女が最初にそちらのタブを訪問するとき、Facebookは、見ているユーザが人であることを戻しません。 Facebookがfb_sig_プロフィール_ユーザパラメタのプロフィール所有者のIDを送るので、あなたはだれのプロフィールのために内容を表示するかがわかります。 詳しい情報に関してAuthenticationを見てください。

------------------------------------------------------------------------
Performance
パフォーマンス

To improve the speed and reliability of your application, check out the Performance Guide.

あなたのアプリケーションの速度と信頼性を改良するには、パフォーマンスガイドを調べてください。


Facebook c 2010

Facebook Documentationの訳

Facebook Documentationの訳
http://developers.facebook.com/docs/
(excite 機械翻訳です。)

Documentation
ホーム :  Documentation

------------------------------------------------------------------------
Getting Started.
使用前に。

At Facebook’s core is the social graph    people and the connections they have to everything they care about. Facebook Platform is the set of APIs and tools which enable you to integrate with the social graph to drive registration, personalization and traffic    whether through applications on Facebook.com or external websites and devices. Get started with Facebook for:

Facebookのところでは、コアは、心配するすべてには彼らがいる、ソーシャルグラフの人々と接続です。 Facebook Platformは、あなたがFacebook.comにおけるアプリケーションか外部のウェブサイトとデバイスにかかわらず登録、個人化、およびトラフィックを追い立てるためにソーシャルグラフと統合するのを可能にするAPIとツールのセットです。 以下のためにFacebookと共に開始してください。

- Websites.
- Apps on Facebook.com .
- Mobile apps.

- ウェブサイト。
- Facebook.comにおけるアプリケーション。
- モバイルアプリケーション。


If you already develop with Facebook, read our upgrade guide to learn how to transition to our new tools.

Facebookと共に既に展開するなら、私たちのアップグレードガイドを読んで、私たちの新しいツールへの変遷へのその方法を学んでください。

------------------------------------------------------------------------Overview.
概要。

- Graph API.
- グラフAPI。

The Graph API is the core of Facebook Platform, enabling you to read and write data to Facebook. It provides a simple and consistent view of the social graph, uniformly representing objects (e.g., people, photos, events, and pages) and the connections between them (e.g., friendships, likes, and photo tags).

あなたがFacebookにデータを読み書きするのを可能にして、Graph APIはFacebook Platformのコアです。 それはソーシャルグラフの簡単で一貫した意見を提供します、一様に、目的(例えば、人々、フォト、イベント、およびページ)と彼らの間の接続(例えば、友情、同類、およびフォトタグ)の代理をして。

- Authentication.
- 認証。

Facebook authentication enables your application to interact with the Graph API on behalf of Facebook users, and it provides a powerful single-sign on mechanism across web, mobile, and desktop apps.

Facebook認証は、あなたのアプリケーションがFacebookユーザを代表してGraph APIと対話するのを可能にします、そして、それはウェブ、モバイル、およびデスクトップアプリケーションの向こう側に強力なシングルサインオンメカニズムを前提とします。

- Social plugins.
- 社会的なプラグイン。

Social plugins enable you to provide engaging social experiences to your users with just a line of HTML. Because the plugins are served by Facebook, the content is personalized to the viewer whether or not they have signed into your site.

社会的なプラグインは、あなたが、あなたのユーザへの社会経験を従事させるのをまさしくHTMLの系列を提供するのを可能にします。 プラグインがFacebookによって役立たれているので、それらがあなたのサイトに署名したか否かに関係なく、内容はビューアーに個人化されます。

- Open Graph protocol.
- 開いているGraphは議定書を作ります。

The Open Graph protocol enables you to integrate your pages into the social graph. These pages gain the functionality of other graph objects including profile links and stream updates for connected users.

オープンGraphプロトコルは、あなたがページをソーシャルグラフと統合するのを可能にします。 これらのページは接続ユーザのためにプロフィールリンクとストリームアップデートを含む他のグラフオブジェクトの機能性を獲得します。
------------------------------------------------------------------------
API Reference.

- Core APIs
-- Graph API
-- Social plugins

- Facebook SDKs
-- JavaScript SDK
-- PHP SDK
-- Python SDK
-- iPhone SDK
-- Android SDK (unofficial)

-Advanced APIs
--Facebook Query Language (FQL)
--Facebook Markup Language (FBML)
--Old REST API

Facebook c 2010

Facebook for Websites の訳

ほぼ機械翻訳です。

原稿は、
http://developers.facebook.com/docs/guides/web
です。


Facebook for Websites
ホーム :  Documentation :  Facebook for Websites

Introduction.
序論。

The Facebook Platform enables you to make your website more personalized and social. You can mix and match Facebook's APIs to best meet your goals:

(excite 機械翻訳)
Facebook Platformは、あなたがウェブサイトをさらに個人化されていて社会的にするのを可能にします。 あなたは、あなたの目標を最もよく達成するためにFacebookのAPIを混ぜて、合うことができます:

Registration + Login.
登録+ログイン。

   With a single dialog, you can access data including a user's real name, email address, profile picture and list of friends. Replace or supplement your user account system with Facebook to help drive signups and improve data quality.

(excite 機械翻訳)
ただ一つの対話で、友人のユーザの本名、Eメールアドレス、プロフィール画像、およびリストを含んでいて、あなたはデータにアクセスできます。 Facebookと共にユーザ勘定科目体系を置き換えるか、または補って、signupsを運転して、データの品質を向上させるのを助けてください。

Engagement.
約束。

   With Facebook users comes their friends; incorporate these connections to make your product more engaging. Social plugins like the Like button and the activity feed enable you to offer social experiences with just a line of HTML. The Graph API enables you to integrate the social graph into your site in deep and compelling ways.

(excite 機械翻訳)
Facebookユーザと共に、彼らの友人は来ています。 これらの接続を取り入れて、貴社の製品をより魅力的にしてください。 Likeボタンと活動給送のような社会的なプラグインは、あなたがまさしくHTMLの線の社会経験を提供するのを可能にします。 Graph APIは、あなたが深くて無視できない方法でソーシャルグラフをサイトと統合するのを可能にします。

Growth.
成長。

   You can publish content from your site into the social graph to reach your users' friends. The Like button enables users to share your site's content back to their Facebook stream with one click. In addition, you can integrate pages deeply into the social graph via the Open Graph protocol.

(excite 機械翻訳)
あなたは、あなたのユーザの友人に届くようにあなたのサイトからの内容をソーシャルグラフに発表できます。 Likeボタンは、ユーザが1つのクリックで彼らのFacebookの流れとあなたのサイトの内容を共有して戻すのを可能にします。 さらに、あなたはオープンGraphプロトコルでページを深くソーシャルグラフと統合できます。

This guide will walk you through the basics of creating a web application with some of these features. If you aren't sure where to start after reading this guide, check out the Platform showcase for inspiration from other sites.

(excite 機械翻訳)
このガイドはこれらの特徴のいくつかでウェブアプリケーションを作成する基礎を通してあなたを歩くでしょう。 このガイドを読んだ後に確実にどこから出発しないかなら、他のサイトからのインスピレーションのためのPlatformショーケースを調べてください。

-----------------------------------------------------------------------
Contents.

- Social plugins
- Single sign-on
- Account registration data
- Server-side personalization
- Analytics
- What next?

コンテンツ。

(excite 機械翻訳)
- 社会的なプラグイン
- サインします単一の。
- アカウント登録データ
- サーバサイド個人化
- 分析法
- 次は何?

-----------------------------------------------------------------------
Social Plugins.
社会的なプラグイン。

Social plugins are the easiest way to get started with Facebook Platform. The plugins are embeddable social features that can be integrated in your site with a line of HTML. Because they are hosted by Facebook, the plugins are personalized for all users who are logged into Facebook   even if the users haven't yet signed up for your site.

(excite 機械翻訳)
社会的なプラグインは、Facebook Platformと共に開始する最も簡単な方法です。 プラグインは、あなたのサイトでHTMLの行と統合できるembeddable社会的な特徴です。 それらがFacebookに接待されるので、プラグインはユーザがまだあなたのサイトに申し込みしていなくてもFacebookがログインするすべてのユーザのために個人化されます。

The most important social plugin is the Like button, which enables users to post pages from your site back to their Facebook profile with one click. You can add a Like button to any page with an iframe tag:

(excite 機械翻訳)
最も重要な社会的なプラグインはLikeボタンです。(そのボタンは、ユーザが1つのクリックであなたのサイトからそれらのFacebookプロフィールまでページを掲示するのを可能にします)。 あなたはiframeタグでLikeボタンをどんなページにも追加できます:


「原文はここに絵または、ソースコード」
      
There are a number of options for the Like button, including the option to include the names and profile pictures of the user's friends who have also liked the page. Here is a like button for the Facebook Developers site:

(excite 機械翻訳)
Likeボタンのための多くのオプションがあります、また、ページが好きであったユーザの友人の名前とプロフィールの絵を含むようにオプションを含んでいます。 ここに、Facebook Developersサイトへの好きボタンがあります:


「原文はここに絵または、ソースコード」

Once you have included Like buttons on a lot of your pages, you can use other social plugins to turn those user interactions into more engaging experiences throughout your site. For example, you can use the activity feed plugin to show users a stream of the recent likes and comments from their friends on your site, and you can use the recommendations plugin to show personalized page recommendations to your users based on the likes and comments across your entire site. Here are the activity and recommendations plugins for the Facebook Developers site:

(excite 機械翻訳)
いったんあなたの多くのページのLikeボタンを入れると、あなたは、あなたのサイト中でそれらのユーザ相互作用をより魅力的な経験に変えるのに他の社会的なプラグインを使用できます。 例えば、あなたは、あなたのサイトで彼らの友人からユーザに最近の同類とコメントの流れを見せているのに活動給送プラグインを使用できます、そして、あなたのユーザへの推薦があなたの全体のサイトの向こう側に同様のものとコメントに拠点を置いた個人化されたページを見せているのに推薦プラグインを使用できます。 ここに、Facebook Developersサイトへの活動と推薦プラグインがあります:

 「原文はここに絵または、ソースコード」

All social plugins can be integrated with your site with iframe tags or XFBML tags, special XML tags that can be included in your HTML pages and parsed by the JavaScript SDK. iframe tags don't have any dependencies, but XFBML tags are more flexible because they are not limited to the fixed size of the iframe. For example, the XFBML version of the Like button enables additional functionality like commenting that is not available in the iframe version. Here is the activity feed plugin as an iframe:

(excite 機械翻訳)
iframeタグかXFBMLタグですべての社会的なプラグインをあなたのサイトと統合できますが、あなたのHTML形式のページに含んでいて、JavaScript SDK. iframeタグが分析できる特別なXMLタグは、少しの依存も持っていませんが、それらがiframeの固定サイズに制限されないので、XFBMLタグは、よりフレキシブルです。 例えば、LikeボタンのXFBMLバージョンはコメントするようなiframeバージョンで利用可能でない追加機能性を可能にします。 ここに、活動給送プラグインがiframeとしてあります:

 「原文はここに絵または、ソースコード」

and the XFBML equivalent:
(excite 機械翻訳)
そして、XFBMLは同等です:

 「原文はここに絵または、ソースコード」

Get started by checking out our entire suite of social plugins.

(excite 機械翻訳)
私たちの社会的なプラグインの全体の一組を調べることによって、開始してください。
-----------------------------------------------------------------------
Single Sign-on.
シングルサインオン。

acebook enables you to remove the registration process for your site by enabling the user to log in to your site with their Facebook account. Once a user logs in to your site with their Facebook account, you can access their account information from Facebook, and they are logged in to you site as long as they are logged in to Facebook.

(excite 機械翻訳)
acebookは、ユーザがそれらのFacebookアカウントであなたのサイトにログインするのを可能にすることによってあなたが登録手続をサイトに移すのを可能にします。 ユーザがそれらのFacebookアカウントでいったんあなたのサイトにログインすると、あなたはFacebookからそれらの会計情報にアクセスできます、そして、Facebookにログインする限り、あなたへのサイトはそれらにログインします。

The Facebook Platform uses the OAuth 2.0 protocol for authorization. You can find all the details for Facebook's implementation of OAuth 2.0 in the authentication guide.

(excite 機械翻訳)
Facebook Platformは承認にOAuth2.0プロトコルを使用します。 あなたは認証ガイドにおける、FacebookのOAuth2.0の実現のための一部始終を見つけることができます。


While you can implement a complete login and signup system using OAuth 2.0 directly, the open source JavaScript SDK is a simple way to implement login and signup without worrying about the details of the protocol. When a user logs into your site, the SDK saves the credentials for the active Facebook user in a cookie on your site's domain so that you can use the user's identity easily in both your server-side and JavaScript code. It provides a single, simple callback so your application can automatically handle the complex set of authentication states that exist in a single-sign on system.

(excite 機械翻訳)
あなたは、直接OAuth2.0を使用することで完全なログインとsignupシステムを導入できますが、オープンソースJavaScript SDKは、プロトコルの詳細に心配せずにログインとsignupを実装する簡単な方法です。 ユーザがあなたのサイトにログインするとき、あなたがあなたのサーバ側とJavaScriptがコード化する両方で容易にユーザのアイデンティティを使用できて、SDKはあなたのサイトのドメインのクッキーの中の活発なFacebookユーザのために資格証明書を貯蓄します。 あなたのアプリケーションが自動的にシングルサインオンシステムに存在する複雑なセットの認証州を処理できるように、それは単一の、そして、簡単なコールバックを提供します。

For example, if a user has previously logged into your web site, but they don't have a cookie for your site in the current browser, the SDK will automatically detect that condition and instantly log the user into your site without requiring them to click a Facebook login button again.

(excite 機械翻訳)
例えば、ユーザが以前に、あなたのウェブサイトにログインしましたが、彼らが現在のブラウザのあなたのサイトへのクッキーを持っていないと、彼らが再びFacebookログインボタンをクリックする必要でなくて、SDKは自動的にその状態を検出して、即座にあなたのサイトにユーザをログインするでしょう。

The JavaScript SDK requires that you register your application with Facebook to get an app id for your site. Once you have your app id, add this to the bottom of your page:

(excite 機械翻訳)
JavaScript SDKは、あなたが装置イドをあなたのサイトに得るためにFacebookにアプリケーションを登録するのを必要とします。 装置イドがいったんあると、ページの下部にこれを加えてください:

 「原文はここに絵または、ソースコード」

The auth.sessionChange callback is called every time a user logs in or out of your site. It is automatically called, e.g., when the user is logged into Facebook and has previously logged into your site, but they are missing a cookie for your site in their current browser.

(excite 機械翻訳)
uth.sessionChange回収はユーザがログインするときはいつも、呼ばれるか、あなたのサイトから脱しています。 例えば、ユーザがFacebookがログインして、以前にあなたのサイトをログインしたとき、それは自動的に呼ばれますが、それらは彼らの現在のブラウザのあなたのサイトへのクッキーをなくしています。

With the API initialized, you can pop up a Facebook authorization dialog by calling the FB.login JavaScript method, or you can include the standard Facebook login button with the <fb:login-button> tag:

(excite 機械翻訳)
APIが初期化されている状態で、あなたが、FB.login JavaScript方法を呼ぶことによって、Facebook認可対話をポップアップできますか、またはあなたは<fb: ログインボタン>タグがある標準のFacebookログインボタンを入れることができます:

 「原文はここに絵または、ソースコード」

which renders the standard Facebook login button:

(excite 機械翻訳)
どれが標準のFacebookログインボタンをレンダリングしますか:



What do you do once the user is logged in? You can fetch data from Facebook via JavaScript with the FB.api method, but some of the most interesting integrations involve server-side code. The JavaScript API saves the details for the logged in user in a signed cookie named fbs_APP_ID. Here is a complete PHP script that implements single-sign on with the JavaScript SDK, using the cookie so that a Facebook login button is only shown for logged out users:

(excite 機械翻訳)
ユーザがいったんログインすると、あなたは何をしますか? あなたはFB.apiメソッドがあるJavaScriptでFacebookからのデータをとって来ることができますが、最もおもしろい集積密度のいくつかがサーバサイドコードにかかわります。 JavaScript APIはfbs_APP_IDという署名しているクッキーの中のログインしているユーザのために詳細を保存します。 クッキーを使用して、JavaScript SDKと共にシングルサインオンを実装する完全なPHPスクリプトがここにあるので、Facebookログインボタンのために目立つだけであるのは、ユーザをログアウトしました、:

 「原文はここに絵または、ソースコード」

The cookie saved by the API also has an access_token property in addition to the uid. With that token, you can make secure calls to the Graph API to personalize your site's content to the active user. For example, this line of PHP fetches the active user's profile:

(excite 機械翻訳)
また、APIによって取っておかれたクッキーは、uidに加えてアクセス_トークンの特性を持っています。 そのトークンで、あなたは、あなたのサイトの内容を活発なユーザに個人化するためにGraph APIへの安全な電話をかけることができます。 例えば、PHPのこの系列は活発なユーザのプロフィールをとって来ます:

 「原文はここに絵または、ソースコード」

-----------------------------------------------------------------------
Account Registration Data.
登録がデータであることを説明してください。

The Graph API can provide access to all of the basic account registration data you would typically request in a sign-up form for your site, including name, email address, profile picture, and birthday. By using Facebook instead of a web form, a new user can provide all of the information required for site registration with a single dialog (no typing required!). Likewise, the information is more reliable than the information you would get in a web form. For example, the email address provided via Facebook has been verified by Facebook, so it does not need to be re-verified by your site.

(excite 機械翻訳)
Graph APIはあなたのサイトのためのサイン上がっているフォームの通常ご要望であるだろうことの基本のアカウント登録データのすべてへのアクセスを提供できます、名前、Eメールアドレス、プロフィール画像、および誕生日を含んでいます。 ウェブフォームの代わりにFacebookを使用することによって、新しいユーザはサイト登録にただ一つの対話で必要である情報のすべてを提供できます(タイプは必要ではありません!)。 同様に、情報はあなたがウェブフォームで得る情報より信頼できます。 例えば、Facebookを通して提供されたEメールアドレスが、Facebookが確かめられたので、あなたのサイトによってそれは再確かめられる必要はありません。

Some of the basic account registration data you might want to collect in your registration process is private, so it requires requesting extended permissions from the user in the login process. Check out the authentication guide for more details about extended permissions. To request the user's email address and birthday in the login process, use the perms argument to the fb:login-button tag to request the required permissions:

(excite 機械翻訳)
あなたがあなたの登録手続で集めたいかもしれない基本のアカウント登録データのいくつかが個人的であるので、それは、ログインプロセスのユーザから拡張許容を要求するのを必要とします。 拡張許容に関するその他の詳細のために認証ガイドを調べてください。 ログインプロセスでユーザのEメールアドレスと誕生日を要求するには、fbへの議論: ログインボタンが必要な許容を要求するためにタグ付けをするパーマを使用してください:

 「原文はここに絵または、ソースコード」

This login button will produce an authorization dialog that looks like this:
(excite 機械翻訳)
このログインボタンはこれに似ている認可対話を生産するでしょう:



Once the user authorizes your site, you can fetch those fields from the user's profile:

(excite 機械翻訳)
ユーザがいったんあなたのサイトを認可すると、あなたはユーザのプロフィールからそれらの分野をとって来ることができます:

A user's profile picture can always be accessed at the same URL:

(excite 機械翻訳)
同じURLでいつもユーザのプロフィールの絵にアクセスできます:

For example, Mark Zuckerberg's profile picture is http://graph.facebook.com/4/picture. The URL will always refer to the most recent profile picture, which ensures that if a user updates their picture on Facebook, those changes will be reflected on your site.

(excite 機械翻訳)
例えば、マークZuckerbergのプロフィール画像は http://graph.facebook.com/4/picture です。 URLはいつも最新のプロフィール画像について言及するでしょう。(それは、ユーザがFacebookでそれらの画像をアップデートすると、それらの変化があなたのサイトで反映されるのを確実にします)。

------------------------------------------------------------------------
Server-side Personalization
サーバサイド個人化

Once you have hooked up single sign-on, you can increase the engagement on your site by personalizing the content on your site to a user based on her social graph. Every site is different, but the basic structure will likely look something like this:

(excite 機械翻訳)
サインするのを単一のいったん取り付けると、あなたは、サイトであなたのサイトで彼女のソーシャルグラフに基づくユーザに内容を個人化することによって、約束を増加させることができます。 あらゆるサイトが異なっていますが、基本構造はこのようにおそらく見えるでしょう:

 「原文はここに絵または、ソースコード」

Check out the Graph API for all the data available in Facebook Platform, and check out the Platform showcase for inspiration from other sites who have used Facebook for personalization.

(excite 機械翻訳)
Facebook Platformで利用可能なすべてのデータのためにGraph APIを調べてください、そして、個人化にFacebookを使用した他のサイトからのインスピレーションのためのPlatformショーケースを調べてください。

------------------------------------------------------------------------Analytics.
分析法。

Once your app is up-and-running, you can get detailed analytics about the demographics of your users and how users are sharing from your application with Insights.

(excite 機械翻訳)
あなたの装置がいったん活動するようになると、あなたはあなたのユーザとユーザがあなたのアプリケーションからInsightsとどう共有するかに関する人口に関する詳細な分析法を得ることができます。



Insights supports analytics broken down by application and by domain. The product includes rich data about users sharing content from your site within Facebook no matter where those shares originated. For example, if a user puts a URL from your site in their Facebook status message, that data is included in the analytics for your domain.

(excite 機械翻訳)
Insightsはアプリケーションとドメインのそばで砕けている分析法をサポートします。 製品はそれらのシェアがどこで起因したとしてもFacebookの中であなたのサイトからの内容を共有しているユーザに関する豊かなデータを含んでいます。 例えば、ユーザがそれらのFacebookステータスメッセージにあなたのサイトからのURLを入れるなら、そのデータはあなたのドメインへの分析法に含まれています。

The data from Insights is also included in the Graph API so you can integrate the Facebook analytics data with your own, in-house analytics systems.

(excite 機械翻訳)
また、あなたがあなた自身社内の分析法システムというのとFacebook分析法データを統合できるように、InsightsからのデータはGraph APIに含まれています。

------------------------------------------------------------------------What's Next?
何が次ですか?

Check out the Graph API. It is the core of the Facebook Platform and includes all the data and functionality available from Facebook.

(excite 機械翻訳)
グラフAPIを調べてください。 それは、Facebook Platformのコアであり、Facebookから利用可能なすべてのデータと機能性を含んでいます。

If you are considering developing a mobile version of your app, you should also check out the mobile app guide.

(excite 機械翻訳)
また、あなたの装置のモバイルバージョンを開発すると考えているなら、あなたはモバイル装置ガイドを調べるべきです。

If you want your website to be fast, check out the Performance Guide.

(excite 機械翻訳)
あなたのウェブサイトに速くあって欲しいなら、パフォーマンスガイドを調べてください。

Saturday, May 01, 2010

twitter と連携しようかな の 調査結果

そうか、認証がtwitterまかせであれば、
自分はアプリに専念すればいいことになる。

と勢いさけて、調査
OAuthを確認し、入門を翻訳(このプロクの投稿にあり)
また、twitter の APIについても概観してみた。


・[狙い]twitter で ユーザ認証して、シームレスに、遺言預かり所へ移行する。
 これは、難しい感じ。というが、twitterにそぐわない感じ。

人気のtwitterアプリ58本をぐぐっとレビューしてみた


を読む。うーん、こんな感じなんですね。

ということで、感じばっかりの、チョットあきらめ宣言でした。


OAuth Part III : Security Architecture のガイド

Beginner’s Guide to OAuth  Part III : Security Architecture
By Eran Hammer-Lahav
Friday October 3, 2008

ここの訳は、しません。
理由は、残念ながら、時間がないためです。

ここにか借りていることは、暗号アルゴリズムが確かであり、
それがどんなものか説明しています。

かなり高度な暗号プロトコルの話であり、
一般の技術者にはあまり関係がありません。

IPsecやSSL/TLSの実装をしたことがある人や
それらのRFCを読みこなせる人向けの内容です。

概要をごく簡単に

Beyond Basic

 httpのベーシック認証を超えたものでありますという意味
 HTTPSを使うほうがいいねともいっていますが、必須ではないようです。


Direct & Delegated Access

 直接または代理アクセスの関係です
 つまり、3-legged scenario というか
 Service Provider, Consumer, and User の三者が絡むのです。

Credentials

 信任状です

Signature and Hash

 digital signatures デジタル署名技術を利用しています
  hash algorithm  SHA-1 を利用して
  shared secret による、 HMAC-SHA-1 を利用しています
  デモも見せてくれます。
 
Secrets Limitations
  RSA-SHA1 method を利用しています。
  この方法は、私の知る限りですが、
  IPsec IKEの鍵交換のひとつの方法として有名です。
  つまり、実績と信頼のおける方法です。

Timestamp and Nonce
  タイムスタンプとNONCE(乱数の一種)を
  利用しています。
  いろいろなセキュリティ攻撃を防御するためです。
 
Signature Methods
  略です。
 
Signature Base String
  略です。

OAuth Part II : Protocol Workflowの訳

一部機械翻訳です。絵は元ページをリンクしています。

http://hueniverse.com/2007/10/beginners-guide-to-oauth-part-ii-protocol-workflow/

Beginner’s Guide to OAuth Part II : Protocol Workflow
の訳

By Eran Hammer-Lahav
Monday October 15, 2007

OAuth is best explained with real-life examples. The specification includes in Appendix A a similar example but focuses on the HTTP calls syntax. This walk-through demonstrates a typical OAuth session and includes the perspectives of the User, Consumer, and Service Provider. The websites and people mentioned are fictional. The Scottish references are real. And so our story begins…

(excite機械翻訳)
現実の例でOAuthについて説明するのは最も良いです。 仕様は、Appendix Aに類例を含んでいますが、HTTP呼び出し構文に焦点を合わせます。 この立ち稽古は、典型的なOAuthセッションを示して、User、Consumer、およびService Providerの見解を含んでいます。 参照されたウェブサイトと人々は、作り事です。 スコットランドの参照は本当です。 そして、したがって、私たちの話は始まります…



Jane is back from her Scotland vacation. She spent 2 weeks on the island of Islay sampling Scotch. When she gets back home, Jane wants to share some of her vacation photos with her friends. Jane uses Faji, a photo sharing site, for sharing journey photos. She signs into her faji.com account, and uploads two photos which she marks private.

(excite機械翻訳)
ジェーンは彼女のスコットランド休暇からいます。 彼女は、スコッチを試食しながら、アイレイ島で、2週間を過ごしました。 家に戻っているとき、ジェーンは、彼女のいくつかの休暇写真を彼女の友人と共有したがっています。 ジェーンは、旅行写真を共有するのにFaji、写真共有サイトを使用します。 彼女は、彼女のfaji.comアカウントにサインして、個人的であるとマークする2枚の写真をアップロードします。

Using OAuth terminology, Jane is the User and Faji the Service Provider. The 2 photos Jane uploaded are the Protected Resources.

(excite機械翻訳)
OAuth用語を使用して、ジェーンは、UserとFaji Service Providerです。 ジェーンがアップロードした2枚のフォトがProtected Resourcesです。



After sharing her photos with a few of her online friends, Jane wants to also share them with her grandmother. She doesn’t want to share her rare bottle of Scotch with anyone. But grandma doesn’t have an internet connection so Jane plans to order prints and have them mailed to grandma. Being a responsible person, Jane uses Beppa, an environmentally friendly photo printing service.

(excite機械翻訳)
また、彼女のオンライン友人のいくつかと彼女の写真を共有した後に、ジェーンは、彼女の祖母と彼らを共有したがっています。 彼女はスコッチのまれなボトルをだれとも共有したがっていません。 しかし、ジェーンが、印刷を命令して、それらをおばあちゃんに郵送させるのを計画していて、おばあちゃんにはインターネット接続がありません。 責任者ジェーンであることはBeppa、環境に優しい写真の現像サービスを使用します。

Using OAuth terminology, Beppa is the Consumer. Since Jane marked the photos as private, Beppa must use OAuth to gain access to the photos in order to print them.

(excite機械翻訳)
OAuth用語を使用して、BeppaはConsumerです。 ジェーンが個人的であるとしてフォトにマークしたので、Beppaはそれらを印刷するためにフォトへのアクセスを得るのにOAuthを使用しなければなりません。


Jane visits beppa.com and begins to order prints. Beppa supports importing images from many photo sharing sites, including Faji. Jane selects the photos source and clicks Continue.

(excite機械翻訳)
ジェーンは、beppa.comを訪問して、印刷を命令し始めます。 Beppaは、Fajiを含む多くの写真共有サイトから画像を取り込むのを支持します。 ジェーンは、写真ソースを選んで、Continueをクリックします。



When Beppa added support for Faji photo import, a Beppa developer known in OAuth as a Consumer Developer obtained a Consumer Key and Consumer Secret from Faji to be used with Faji’s OAuth-enabled API.

(excite機械翻訳)
Consumer DeveloperがFajiのOAuthによって可能にされたAPIと共に使用されるためにFajiからConsumer KeyとConsumer Secretを入手したので、Beppa開発者は、OAuthでBeppaがいつFajiフォト輸入のサポートを加えたかを知っています。

After Jane clicks Continue, something important happens in the background between Beppa and Faji. Beppa requests from Faji a Request Token. At this point, the Request Token is not User-specific, and can be used by Beppa to gain User approval from Jane to access her private photos.

ジェーンがContinueをクリックした後に、何か重要なものはBeppaとFajiの間のバックグラウンドで起こります。
BeppaはFajiからRequest Tokenを要求します。
ここに、Request Tokenは、User(=ジェーン)特有ではありません。
それ(Request Token)は、Beppaにより、彼女(=ジェーン)の個人的なフォトにアクセスするためにジェーンからUser承認を獲得するのに使われます。


Jane clicked Continue and is now waiting for her screen to change. She sips from her prized Black Bowmore while waiting for the next page to load.

(excite機械翻訳)
ジェーンは、Continueをクリックして、現在、彼女のスクリーンが変化するのを待っています。 次のページがロードされるのを待っている間、彼女は彼女の大事なBlackボウモアからちびちび飲みます。

When Beppa receives the Request Token, it redirects Jane to the Faji OAuth User Authorization URL with the Request Token and asks Faji to redirect Jane back once approval has been granted to http://beppa.com/order.

BeppaがRequest Tokenを受けるとき、それ(=Beppa)は、Request Tokenを一緒につけた Faji OAuth User Authorization URLにジェーンを向け直して、(それ(=Beppa)は、)いったん承認を可決されると http://beppa.com/order へ Fajiにジェーンをリダイレクト(Beppaに戻すこと)することを要求します。

Jane has been redirected to Faji and is requested to sign into the site. OAuth requires that Service Providers first authenticate the User, and then ask them to grant access to the Consumer.

ジェーンは、Fajiに向け直されて、サイトにサインインするよう要求されています。 OAuthは、Service Providersが最初にUserを認証して、次に、(Service Providersは、)Consumer(=Beppa)へのアクセスを承認すること彼(User)に尋ねることを、必要とします。


Jane notices she is now at a Faji page by looking at the browser URL, and enters her username and password.

ジェーンは、彼女がブラウザURLを見ることによって現在、Fajiページでいるのに気付いて、彼女のユーザ名とパスワードを入力します。


OAuth allows Jane to keep her username and password private and not share them with Beppa or any other site. At no time does Jane enters her credentials into beppa.com.
OAuthはジェーンに彼女のユーザ名とパスワードを個人的に保って、Beppaかいかなる他のサイトともそれらを共有させません。 次のことはいかなる時もありえません。ジェーンは、彼女の信任状をbeppa.comに入れること。

After successfully logging into Faji, Jane is asked to grant access to Beppa, the Consumer. Faji informs Jane of who is requesting access (in this case Beppa) and the type of access being granted. Jane can approve or deny access.

首尾よくFajiにログインした後に、ジェーンがBeppa、つまりConsumer、へのアクセスを承諾するように頼まれます。 Fajiは、だれ(この場合Beppa)がアクセスを要求しているかと承諾されるべきアクセスの種別についてジェーンに知らせます。ジェーンは、アクセスを承認することも否定することもできます。


Jane makes sure Beppa is getting the limited access it needs. She does not want to allow Beppa to change her photos or do anything else to them. She also notes this is a onetime access good for one hour which should be enough time for Beppa to fetch her photos.

ジェーンは、それ(Beppa)が必要とする限られたアクセスをBeppaが得ることを、確実にします。 彼女は、Beppaが彼女の写真を変えたり、またはそれらに他の何かをするのを許したくありません。 また、彼女は、Beppaが彼女の写真をとって来ることができるには十分な時間であるべきな1時間がふさわしい一時的なアクセスであることに気が付いています。


Once Jane approves the request, Faji marks the Request Token as User-authorized by Jane. Jane’s browser is redirected back to Beppa, to the URL previously provided http://beppa.com/order together with the Request Token. This allows Beppa to know it can now continue to fetch Jane’s photos.

ジェーンがいったん要求を承認すると、Fajiは、Request TokenにジェーンによりUser承認されたとマークします。 ジェーンのブラウザはBeppa、Request Tokenと一緒に以前に提供されたURL http://beppa.com/order に向け直されます。 これで、Beppaは、現在ジェーンの写真をとって来て続けることができるということを知ることが許可されます。

Jane waits for Beppa to present her with her photos fetched from her Faji account.

ジェーンは、Beppaが彼女(ジェーン)のFajiアカウントからとって来られた彼女(ジェーン)の写真を彼女(おばあさん)に与えるのを待ちます。


While Jane waits, Beppa uses the authorized Request Token and exchanges it for an Access Token. Request Tokens are only good for obtaining User approval, while Access Tokens are used to access Protected Resources, in this case Jane’s photos. In the first request, Beppa exchanges the Request Token for an Access Token and in the second (can be multiple requests, one for a list of photos, and a few more to get each photo) request gets the photos.

ジェーンが待つ間に、Beppaは認可されたRequest Tokenを使用して、それをAccess Tokenと交換します。 Request Tokenは、単にUser承認を得るのに、良いのです、一方、Access Tokensは、Protected Resources へアクセスするために利用されます、この場合(Protected Resourcesは、)ジェーンのフォト。最初の要求では、BeppaはRequest TokenをAccess Tokenと交換します、そして、2番目(複数の要求ができます、ひとつはフォトのリスト用、および、各フォトを得るため用のいくつか)では、要求はフォトを得ます。


When Beppa is done, Jane’s browser refreshes to complete the order.

Beppaが完了しているとき、ジェーンのブラウザは、オーダーを終了するためにリフレッシュします。

Beppa successfully fetched Jane’s photo. They are presented as thumbnails for her to pick and place her order.

Beppaは首尾よくジェーンの写真をとって来ました。 彼女が注文を選んで決定できるように、それらはサムネイルとして提示されます。


Jane is very impressed how Beppa grabbed her photos without asking for her username and password. She likes what she sees and place the print order.


(excite機械翻訳)
ジェーンは非常に感動しています。彼女のユーザ名とパスワードを求めずに、Beppaはどう彼女の写真をつかんだか。 彼女は(彼女が)見るものが好きです、そして、印刷発注書を置きます。


Continue to Beginner’s Guide to OAuth  Part III : Security Architecture ≫