2010-01-01から1年間の記事一覧

OpenpearでHTTP_OAuthConsumerを公開してみた

公開した。 HTTP_OAuthConsumer - Openpear http://openpear.org/package/HTTP_OAuthConsumer Revision 1978: /HTTP_OAuthConsumer/trunk http://svn.openpear.org/HTTP_OAuthConsumer/trunk/ 機能 HTTP_OAuthとの主な違いは、シグネチャ方式に、HMAC-SHA1だ…

UIViewのタッチイベントをUIViewControllerにデリゲートする

コントローラに定義したメソッドをタッチで呼び出したくて奮闘した。 デリゲートって、なんか小難しい技なのかと思ってたけど、単にコントローラとかのインスタンスのポインタをビューのインスタンス変数に入れておくってだけっぽい。 正確には違うのかもし…

Interface Builderを使わずにiPhoneアプリを作ってみる

Xcodeで、Interface Builderなしのテンプレートを作って、それを最低限動かす。 Window-based ApplicationをコピーしてInterface Builderなしのテンプレートを作る 多分こんな感じ。 Mac OS X 10.6.4 32bit、Xcode 3.2.2 64bit、の環境ではこれで出来た。 # …

Net_Curl2ってパッケージをOpenpearで公開してみた

PHP

Openpearってどんなモンかなと思って、とりあえず当たり障りのなさそうなものを公開してみた。 コミットしたら、勝手にパッケージ化してくれた。 OAuthのコンシューマ用ライブラリと、OAuthのサービスプロバイダ用のライブラリ、両方とも公開してみようかと…

Perlのフレームワーク「Ark」を入れてみた

インストールだけで結構面倒だった。 今後迷わないように、まとめる。 基本的なインストール方法は、ここを参照。 ついに出た!最新Perlフレームワーク「Ark」徹底解剖:第2回 Ark チュートリアル:基礎編|gihyo.jp … 技術評論社 http://gihyo.jp/dev/featu…

MySQLでrootなのにgrantコマンドが実行できない場合の対処法

rootなのにgrantコマンドが実行できない…。 mysql> GRANT ALL PRIVILEGES ON *.* TO root@'%' with grant option; ERROR 1045 (28000): Access denied for user 'root'@'%' (using password: YES) そんな時の対処法。 これだけなのにかなり悩んだのでメモ。 …

Linuxにハードディスクを追加してみた

毎度忘れちゃうからメモ。 とりあえず、LVMは使わない。 パーティションの作成 [root@localhost ~]# fdisk -l Disk /dev/xvda: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes …

iPhoneからXenServerのリソースを見れるようにしてみた

iPhoneからPythonで作ったAPIを叩いて、XenServerのリソースを見れるようにしてみた。 とりあえず、機能はこれだけ。 ・仮想マシン一覧 ・仮想マシン情報 ・リソース情報 ・CPU使用率のグラフ化 core-plotは色をつけた。 折れ線グラフの下側に色を付けたいの…

iPhone用のcore-plotを使えるようにしてみた

導入手順が書いてあるページが英語ですらあんまりなく、試してもうまくいかなかったりで、かなりハマったのでメモ。 C言語もObjective-Cも知らないから、流儀には沿ってないかもしれないけど、とりあえずコンパイルはできた。 コンパイルテスト用のソースは…

NSURLConnectionで同期通信・非同期通信してみた

NSURLConnectionでHTTPリクエストを同期通信・非同期通信してソースを取得。 取得したソースをTextViewに表示。 文字コードは自動判定してくれないらしい。 間違った文字コードを指定するとnilが返ってくるので、日本でよく使われる文字コードを配列にして、…

Objective-Cをちょっとやってみた

アプリ名はtest1。 とりあえず、ボタンを押してアラートを出す、っていう単純なアプリを作ってみた。 Objective-Cをはてな記法でシンタックスハイライトするには"objc"を挟めばいいらしい。 ソース test1ViewController.h @interface test1ViewController : …

XenServerに物理ハードディスクを追加してみた

サブの方のサーバが死んだ。 起動中に強制終了しちゃった自分のせいだけど。 サブサーバはオープンソースのXen使ってたけど、今回XenServerにした。 KVMとかも使ってみたかったけど、完全仮想に対応してないから断念。 インストール 今回は、ホストOS用にSSD…

OpenIDのRP側Assertion出来てOP側も作り始めた

RP側のAssertion出来た。 OP側も作り出してみた。 RP 取れたのはいいんだけど、OAuthを調べた後だと、どこの馬の骨とも知れないRPに安々とデータを渡していいものか…と思ってしまう。 前回調べたYadisは「XRDSファイルの場所を辿る」って部分も含めてYadisプ…

Pythonの型をPHPに移植してみた

文字列とか配列とかのスライスって使い易い! 辞書って使い易い! って所から始まって、ついやりすぎてしまった。 とりあえず名前はPHPyとしておいた。 多分Strは日本語非対応。 意外と時間かかった…。 移植した型 ・Tuple ・List ・Dict ・Frozenset ・Set …

OpenIDについて調べてみた

OAuthは調べ尽くし、OAuthを拡張した独自プロトコルも考案して、OAuthには満足した。 だから今度はOpenIDについて調べてみた。 OpenID Enabledとかいう所のライブラリを使うのが主流らしい。 しかしそのライブラリ、めちゃくちゃ汚い。 ・とあるクラスを環境…

XenServerで動いてるCentOS5.4をCentOS5.5にアップデートしてみた

テンプレートは準仮想のCentOS5.3。 スナップショット取ってからアップデート開始。 2〜3日使ってみて、問題なさそうならスナップショットは消す予定。 アップデート アップデート開始。 yum update エラー出た。 memcached-1.2.8-1.el5.i386 from installed…

MySQLの基礎コマンドをまとめてみた

すぐ忘れるからまとめてみた。 データベース データベース作成 データベース「testdb」を作成。 CREATE DATABASE testdb; データベース削除 データベース「testdb」を削除。 DROP DATABASE testdb; データベース一覧 SHOW DATABASES; データベースの作成情報…

FUSE PYTHONでG-Storageをマウント出来るようにしてみた

前回、PHP FUSEでG-Storageをマウント出来るようにしてみた - yoshida_eth0の日記で作った奴だと、書き込みが出来なかった。 だから今回はPythonでやってみた。 実行するには、easy_installでoauthとtlsliteを入れる必要あり。 インスタンス変数をチェックす…

PHP FUSEでG-Storageをマウント出来るようにしてみた

Google App Engineでストレージサービス作ってみた - yoshida_eth0の日記で作ったRESTful APIを、ファイルシステムとしてマウントする。 Flexでファイラも作ったし、知識がなくても簡単に使える、っていう点はクリアしてるけど、ブラウザを立ち上げなきゃい…

HTTP上で暗号化・改ざんチェックが出来るOAuth「OAuth Encryption」を考案してみた

本気出して考えた。 サンプル実装もした。 クライアントプログラムはPHPで作ったものを公開。 サーバ側はPython。 ↓これ。 OAuth Encryption http://oauth-encryption.appspot.com/ OAuth Encryptionとは 2-Legged OAuth認証(RSA-SHA1方式)に暗号化と改ざ…

HYBRID W-ZERO3の料金形態について調べてみた

最近調べてなかったんだけど、どうやらPHS回線は無料で使い放題って事になってたらしい。 端末代24ヶ月分割、新ウィルコム定額プランGで計算してみた。 HYBRID W-ZERO3、売り切れてて今は手に入らないらしい。 少量生産なのか、大人気なのか、知らないけど。…

無線LANの認証方式・暗号化方式について調べてみた

無線LANについてちゃんと知りたくて、調べてみた。 探せど探せど、なんだか誤った情報ばかりでまとまったページがなかった。 で、多分あってるんじゃなかろうかと思う情報をまとめてみた。 用語の誤表記・誤解を与える表現を徹底的に訂正していったら結構長…

PythonでMD5を車輪の再開発してみた

やっと出来た。 なんか合わない…と思ったらunsigned intの最大値を超えてビット演算してた。 ソース #!/usr/local/bin/python # set encoding=utf-8 import math # define def F(x, y, z): return ((x & y) | (~x & z)) def G(x, y, z): return ((x & z) | (…

G-StorageにOpenSocialの外部サーバ機能を追加してみた

/storage/opensocialを/opensocial/[username]として、サービスプロバイダの署名つきリクエストを許可するようにした。 G-Storage http://g-storage.appspot.com/ makeRequest関数を使うと、サービスプロバイダがプロキシになってOAuth認証パラメータをくっ…

PythonでBase64を車輪の再開発してみた

Pythonの練習も兼ねて。 as3cryptoを参考に。 Pythonの場合StaticMethodにせず、直にdefを定義するべきだったのかな。 Base64 encode 3バイト入力して、6ビットずつに分割して、4バイトで出力する。 これで0〜63で表せる。 余ったら=を入れとく。 decode 4バ…

G-StorageにOAuth認証(RSA-SHA1方式)をつけてみた

前回出来なかったって書いたけど、tlslite使って出来た。 これでWSSE、OAuth(RSA-SHA1)、OAuth(HMAC-SHA1)の認証が出来るようになった。 G-Storage http://g-storage.appspot.com/ スクリーンショット 公開鍵登録の部分。 RSA 普段何気なく使ってるRSAだけど…

GAEでRSA-SHA1方式のOAuth認証は出来なかった => 出来た

前々々回作ったG-Storageを機能追加した。 土日+有給の5連休で本気出した。 本気出し過ぎた。 明日から仕事。 G-Storage http://g-storage.appspot.com/ OAuth認証(RSA-SHA1方式) Pythonでは、PHPでいう所のopenssl_verify()がなくて、ダメだった。 TLSLite…

G-StorageにOAuth認証(HMAC-SHA1方式)をつけてみた

前々回作ったG-Storageを機能追加した。 G-Storage http://g-storage.appspot.com/ OAuth認証(HMAC-SHA1方式) サーバ側のHMAC-SHA1方式のOAuth認証はPHPでやった事あったから、それを移植。 OAuthパラメータ受け渡しに対応してるのは、以下の通り。 ・Author…

G-StorageにWSSE認証をつけてみた

前回作ったG-Storageを機能追加した。 G-Storage http://g-storage.appspot.com/ WSSE認証 サーバ側のWSSE認証はPHPでやった事あったから、それを移植。 Pythonの書き方についてはこの辺を参考に。 2年位で非推奨になった関数とかも多いみたい。 とりあえず…

Google App Engineでストレージサービス作ってみた

Google App Engineでストレージサービス作ってみた。 詳しくはトップページに書いたけど、Rest風のAPIでデータをやり取りするタイプのストレージサービス。 そのうちクライアント用にFlexでこれ専用のファイラでも作ろうか。 G-Storageって名前は、言うまで…