備忘録の最近のブログ記事



Pitがいいよって言われたので使ってみる。


Pitのインストール



sudo easy_install pit

PitをPythonインタプリタから実行



from pit import Pit
foo = Pit.get('foo', {'require':{'bar':'bar-value','baz':'baz-value'}})

上記を実行すると、環境変数に設定されたエディタde開かれる。


環境変数EDITORが設定されてない場合は設定する。


./bash_profileへ環境変数EDITORの設定

環境変数EDITORをbashに設定するとこんな感じ。



export EDITOR="emacs"
#export EDITOR="vi

PitをPythonインタプリタから実行される。~/.pitディレクトリが作成される。


あとでデータを弄りたいときは、YAML形式の



~/.pit/default.yaml

を修正すればよい。


Pythonから呼び出してみる。



from pit import Pit
foo = Pit.get('foo')
print foo['bar']
print foo['baz']

結構使い易い。


参考




GAE/Py触ってたら、GAE/Jも触りたくなったので触ってるところ。


実務での/J実戦投入はない。GAE/Pyは投入確定。


Javaをまじめに触るのはJ2SE1.4以来だ。ごめんなさい。ごめんなさい。



ただ、ソースコード読んだりつつくだけでも脳汁が。。たまらん。



以下。備忘録。


Google App Engine SDK for Javaをダウンロードし、/opt/localに展開。


リンクを貼っておく。



ln -s appengine-java-sdk-1.2.6 appengine-java-sdk

当面はデモ観たりちょこちょこいじったり。あくまで余暇を使っての趣味。



参考


ちょっぴり参考にした。




EclipseプラグインのPyDevで、GAE/Pyの開発環境を構築する。


環境



  • Mac OS 10.5.8

  • jre1.5.0_20

  • python2.5.4

  • GoogleAppEngineLaunchar1.2.7

  • Eclipse3.5.1

  • PyDev1.4.6


はじめに


そもそも、Mac OS 10.5にはjre1.5系とpython2.5系がインストールされてるのでOK。


EclipseとPyDevは別の件で構築済み。


GoogleAppEngineLauncharも以前試しに使ってみたのでインストール済み。



Eclipseでのプロジェクト立ち上げ、ライブラリとの関連付け。


プロジェクトの立ち上げ。


Eclipseで、



File => New => Other => Pydev => Pydev Google App Engine Project

からGAEプロジェクトを立ち上げる。


Google App Engine Directoryを聞かれるので、答える。自分の環境だと下記のパス。



/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine

ライブラリとの関連付け。


作成したプロジェクトを試験用のサーバーで動かせるようにするGoogleAppEngineへのパスを通す。


作成したプロジェクトの



Properties => PyDev - PYTHONPATH => External Libraries => Add source folder

から下記4つのパスをそれぞれ追加する。



/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/django
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webob
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/yaml

試しに試験用サーバーで動かしてみる。


Pydev Google App Engine Projectでプロジェクトを作成したなら、<プロジェクト名>/srcにサンプルソースが作成されているはずなので、


作成したプロジェクトの、



Run As => Run Configuration

において、


Main => Main Moduleに下記を追加



/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/dev_appserver.py

Arguments => Program argumentsに下記を追加。



${project_loc}/src --port=8080

そして、Run。http://localhost:8080/にアクセスすると表示されるはず。


参考


下記を参考にしました。



さて、


Google App Engineのドキュメントを読み込むかな。


ところでなのですが、Pythonに関して中級者向けの書籍ってないのかな..??オライリーのはじめてのPythonの次に読む書籍が見当たらない。


オンラインドキュメントが充実してるから不要なのだろうか?



今度他のエンジニアに聞いてみる。




仕事でCanvas要素を使う機会があったので情報をまとめとく。



これはいい!と思ったのが、canvas要素に対してtoDataURL()メソッドを使うと、生データが取れる点。


あとはimg要素に流しこめば画像として複製出来るし。



現状、IEが対応してないので、ExplorerCanvasのJavaScriptを使って対応する。




参考


W3C The canvas element

W3CによるCanvas要素の仕様。


英語版しかないのと、チュートリアルが不十分。。


W3C HTML5 4.8.11 The canvas element


Canvas チュートリアル(Mozila Developer Center)

さすが、Mozila.org。


チュートリアルが日本語化までしっかりされてる。


Canvas チュートリアル



ExplorerCanvas

InternetExplorerでCanvasを利用可能にするJavaScript。


Google code explorercanvas


HTML5.JP Canvas

一般企業さんが運営されているサイトの情報の質が高い。


HTML5.JP Canvas



Apple Developer Connection Web Apps Dev Center

アカウント取る必要があるけど。


Apple Developer Connection Web Apps Dev Center



追記


なぜか、TwitterでHTML5watcherというbotにフォローされた..なぜだ?


http://twitter.com/HTML5watcher




行ってきたのでまとめ。


デベロッパのためのHTML5入門


白石俊平さん(id:Syunpei



  • Google Gearsの経験がHTML5で生きてる。

  • HTML5のドラフトが8/25にちに公開された。10月中に再度更新される予定。

  • divとsectionは使い分けが必要。

  • canvas要素の話。

  • キャッシュマニュフェスト

    • JavaScriptはUIスレッドで実行される。



  • WebSocketsの話。

  • HTML5の勧告は2022年(笑)実装はもっと早くに終わる。

    • 現にOperaはinputカレンダーの実装終わってる。




私事

HTML5でもJavaScriptが活躍するなーと私見。canvas要素はまだ使ってないので使ってみる。


情報収集のため、Google Groupのhtml5-developers-jpに参加した。


別件

id:ichii386はGauche本をSICPを購入したとのこと。awkは触った事ないから調べる。


mixiアプリで見るオープン化戦略


田中洋一郎さん(id:yoichiro



  • 3つの外部API

    • mixiアプリ

    • mixiConnect

    • mixiOpenID



  • Apache Shinding

    • PHP版とJava版が存在する。mixiはJava版を採用。



  • mixiプラットフォームはPerl。一部Java。

  • 苦労話

    • 8.24 mixi一般公開。

    • 8.24-8.31 mixiアプリ起動失敗。

      • Shindingの不具合。closedしてなかった...



    • APIのダウン

      • パーミッションモデルの複雑さが要因。



    • 障害対応

      • 横に増やせばすむだろとサーバーを増やしてみた。だめだった...

      • プロファイラを使って、実装の見直しを行った。





  • mixi = mod_perl + memcached + MySQL

  • クラウドの力を使うと良い。

    • Google AppEngineとか、Amazon EC2とか。



  • モバイル版はDeNAのエンジニアと直で話をしたりして仕様(外部API?)を決めたりしてる。

    • 要は連携してるらしい。



  • OpenSocialでの開発をサポートするJSライブラリ

    • opensocial jQuery

    • jOpenSocial

    • jQuery.opensocial_simple Plugin




私事

よういちろうさんからサイン貰った。


f:id:rokujyouhitoma:20091010134341j:image



OpenSocial入門 ~ソーシャルアプリケーションの実践開発

OpenSocial入門 ~ソーシャルアプリケーションの実践開発





jQuery系のライブラリには興味ありだな。あとで調べる。


Google waveで始まるリアルタイムコミュニケーション


a2c@atusiさん(id:a2c)



  • クライアント、API、プロトコルが存在する。

  • GoogleDocsとかGmailとかGadgetの集合体?

  • XMLで定義されてる。

  • ジャストなうな編集が出来るwikiとかちゃっとみたいな。


まだサービス概要が理解できてないので、GoogleGroupのGoogle-Wave-API-Japanに参加した。




画像認識の必要があったので、OpneCVをPythonから利用するための下準備。



例のごとく備忘録です。


opencvとpythonバインディングのインストール



yum -y install opencv opencv-devel opencv-python

確認

Pythonインタプリタでopencvモジュールを試しに読み込む。



Python 2.5.2 (r252:60911, Sep 30 2008, 15:41:38)
[GCC 4.3.2 20080917 (Red Hat 4.3.2-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import opencv
>>>

よし。モジュールは読み込めた。



公式


opencv.jp


参考


OpenCVのLinuxへのインストール


Python + OpenCVでウェブ上の画像を表示する




Gaucheについて調べてたら、ブラウザのタブ占有数がえらい事になってきたので、一回まとめる。



Gauche ユーザリファレンス


ShiroKawa氏が管理されているGaucheユーザリファレンス。


http://practical-scheme.net/gauche/man/gauche-refj.html


モジュールに関しても載っているので、モジュールソースコード読む前に目を通すのが吉。



GaucheによるWEBフレームワークKahua


http://khead.kahua.org/


リファレンスが充実していてありがたい。



Chaton (「しゃとん」)


今は亡きLingerのGauche部屋を引き継ぐ。


Chaton



Gauche部屋

Chaton Gauche


SourceforgeにBSDLicenseで公開されている。


Chaton Code


追:ちなみにjava-jaはLingerからIRCに乗り換えました。



practical-scheme.net


SchemeやGaucheについての情報交換されてる場。


http://practical-scheme.net/wiliki/wiliki.cgi


というか、このwiki自体Gauche実装ですね。わかります。



wiliki

http://sourceforge.net/projects/wiliki/



wilikiに蓄積されたGaucheのページ


この情報は熱い!!


http://practical-scheme.net/wiliki/wiliki.cgi?Gauche


こっそり追加...


http://practical-scheme.net/wiliki/wiliki.cgi?rokujyouhitoma



mixiのGaucheコミュニティ


mixiのGaucheコミュニティは300人を超えてます。


http://mixi.jp/view_community.pl?id=197784



その他


R5RS

http://www.schemers.org/Documents/Standards/R5RS/HTML/


というわけで...


僕のブラウザのタブが10個くらい減ってすっきりしました。



代わりにダイアリーの情報が散漫になったのでまとめ直すかもしれません...。




はまったので備忘録。


※JREの話です。



経緯


Eclipseを入れて、プラグインを使おうとしたんだけど、どうしてもプラグインが動かない。


どうしたのかなと思って調べてたら、Java1.6じゃないといけないのに、Java1.5だった...。


Macのソフトウェア・アップデートによってJavaをアップデート。


MacOS10.5にJava1.6がリリースされたので、アップデート。


Javaのバージョン確認。


terminalで下記を実行。このままだと、Java1.6がインストールされたけどJava1.5が選択されてる。>|java|


# java -version


java version "1.5.0_20"


Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_20-b02-315)


Java HotSpot(TM) Client VM (build 1.5.0_20-141, mixed mode, sharing)


||<


Javaのバージョンを確認


下記を実行すると、Java Preferencesウィンドウが開くので、Java1.6を上位に持ってくる。



# /Applications/Utilities/Java\ Preferences.app/Contents/MacOS/Java\ Preferences

キャプチャ

f:id:rokujyouhitoma:20090907221152p:image


再度Javaのバージョンを確認




自宅にバージョン管理システム欲しいなと思って、Subversionにしよっかなっと思ったけどGitに興味があったのでGitに。


環境



OS

Fedora10

インストール


RHELクローンだからyumコマンドで。



# yum install git

バージョンの確認



$ git --version
git version 1.6.0.6

git init リポジトリの作成


ディレクトリを作成し、そこでgitの初期化コマンドを実行する。



$ mkdir <リポジトリ名>
$ cd <リポジトリ名>
$ git init
Initialized empty Git repository in /<ワークディレクトリ>/<リポジトリ名>/.git/

git add -対象ファイルをgitの管理下にする。



$ git add <対象ファイル>

git commit -コミットする。



$ git commit -m "<コミットメッセージ>"

git log -コミットメッセージの確認



$ git log

git status -作業ツリーとgitリポジトリの状態



$ git status

git branch -ブランチの作成


masterはSubversionでいうtrunkにあたる。



$ git branch <任意のブランチ名> master

git checkout -ブランチへの切り替え。



$ git checkout <ブランチ名>

git checkout -masterブランチへの切り替え。



$ git checkout master

参考


入門git

subversion本も以前読んだが、バージョン管理システムの概要やSubversionとの比較、インストール法など載っており便利。



* 作者: Travis Swicegood, でびあんぐる


* 出版社/メーカー: オーム社


* 発売日: 2009/08/12


* メディア: 単行本(ソフトカバー)


追記


次回はブランチ切り替えの復習とタグの使い方とか。




また、VNCサーバーを設定するはめになったので、備忘録ver2として。



VNCサーバをインストールする。



# yum instal vnc-server


/etc/sysconfig/vncserversを修正する。


# VNCSERVERS="2:myusername"

VNCSERVERS="2:myusername"


に修正。myusernameはもちろんfedoraのユーザ名。


vncpasswdコマンドで、vncのパスワードを設定する。各々のFedoraユーザで実行する。


$ vncpasswd
Password:
Verify:


vncサーバを起動する。


# service vncserver start


接続時にxtermで開く設定になっているのをgnomeに変更する。/home/username/.vnc/xstartupを修正。


xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
はコメントアウト。
# xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &

さらに下記を追加。
gnome-session &


vncサーバを再起動する。


# service vncserver restart


VNCサーバの標準ラン・レベルをonにする。onにすることにより、fedora起動時にVNCサーバも起動する。


# chkconfig vncserver on


VNCクライアントで接続する。おすすめクライアントはチキン。

Chicken of the VNC



参考



  • http://www.rokujyouhitoma.com/javapg/2008/06/fedora9vnc.html:title=fedora9にVNCを導入する。?




最近Fedora11が出たのに触ってないけど、私が使うレベルでは大差ないはず。あとで使う。


あわせて読みたい

  • あわせて読みたいブログパーツ

Lingr java-ja

ウェブページ

Powered by Movable Type 4.1