kyo: 2009年2月アーカイブ

tenjin.webが非常に楽しそう

| | コメント(0) | トラックバック(0)
http://tenjin-web.jottit.com/

第一回からしてFirebug特集だし。
次のクライアントサイドMVCの勉強会とかすごいうらやましい。もう嫌がらせとしか思えない。
これが格差?

myspaceのview内で__MSG_*___の置き換えができない問題を掲示板へ投げてみた

| | コメント(0) | トラックバック(0)
返事あるかなー

今はJSでごまかしたりしてるけど、できれば動く方が良いなぁ。

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

中の人に「Contentの中じゃサポートしてないよ」って言われたorz

う~ん。xmlのパースだけだからそんなに難しくないと思うんだけど、なんかまずいのかな。
Localeの解析はできてるんだから後はそれを全体に対して置き換えてやるだけでいいと思うけど。。。

404でもGreaseMonkey動くんだ

| | コメント(0) | トラックバック(0)
include http://*
include https://*
だとほんとにどこでも動くらしい。
aboutはむりかな(試してないけど)

OpenSocial Development Environment(OSDE)が動かんようになったorz

| | コメント(0) | トラックバック(0)
HTTP ERROR: 404
NOT_FOUND
RequestURI=/gadgets/files/osdecontainer/index.html

Powered by Jetty://

こんなエラーが出るようになった。
たぶんAptanaとjsLex入れたのがよくなかったんだろうな。。。

$.removeData(elem)はほんとに全部ふっとばす

| | コメント(0) | トラックバック(0)
bindしてたeventとかもふっとぶ。マジビビル

ちゃんと消す名前を指定すればOK(たぶん)

ATOKは「なる」を「null」に変換してくれる

| | コメント(0) | トラックバック(0)
でも第一候補はマジ勘弁!

jQueryはonPropertyChange時にpropertyNameを渡さない

| | コメント(1) | トラックバック(0)
ほげら

シューシューのつかないコレクター

| | コメント(0) | トラックバック(0)
ネリモノ広告大全 中島らも 

デブサミのOpenSocial Hackathon行ってきた

| | コメント(0) | トラックバック(0)
今更ながら感想。

やはり一回参加したことがあるのでそこまで新鮮な感じはしなかった。
(会場も何度か周辺に行ったことあるし)

とりあえずチーム分けして組むときは、最低でもどのコンテナ使うかくらいは事前に決めないとだめということに気づいた。
とりあえず、ネタを結構小物にしといたので無事完成。

最初にOpenSocialの紹介があってそこで「androidのLibraryもあるよ」とか言う話も流れてました。
(androidのマスコットって、アンドロイドと言うよりロボットって感じだなー)
んで、Hackathon中に聞いてみたところ、「とりあえずJavaのLibraryの中にサンプルとかあるのでそっち見てね」とのこと。
通訳さんに入ってもらっていろいろ聞いたけど、「androidのLibraryは2 legsじゃなくて3 legs」とか言う話だったので、携帯とコンテナの他に中継用アプリが必要ってことかな?

当日のソースが見たい人はこの辺からどうぞ。
(って、公開して良いんだよね?認証とかかかってないし)

IE6で'null' は Nullまたはオブジェクトではありません

| | コメント(0) | トラックバック(0)
ExternalInterfaceでエラーが出る。

return this; -> return undefined;

にしたときに一緒に直ったっぽい。
XML化できないプロパティでもあったかな。

ExternalInterfaceで一瞬待ちが入るときに疑うこと

| | コメント(0) | トラックバック(0)
return this; -> return undefined;

thisにいろいろ付いてる場合、Object -> XML -> ASのObjectになるから一瞬処理が止まる。
undefined返してればOK

オレオレJSルール

| | コメント(0) | トラックバック(0)
8tab
max 4 indent
1 function max 30 line
1 function max 3 arguments
no .prototype
80 column

そんなにきっちり守ってないけど。

jQuery+OpenSocialは現在3個?

| | コメント(2) | トラックバック(0)
結構あるなー

まあ、自分のアプリに必要な機能を足しながらやってるだけだし、のんびり機能拡張していくつもり。
(今のところどこかに合流するつもりはないですが、あるとしたらjOpenSocialかなー機能多いし実装似てるので)

結局それぞれ再実装してもそれほど苦になる規模でもないし、jQuery+OpenSocial使うような人ならそれなりにスキルのある人だろうからいきなり「やめます」って言ってもそれほど迷惑かけないと思うし。

あ、一応、simpleは使い方がsimpleなのであって、機能をsimpleにするつもりはないです。
(現在永続化データ、アクティビティもサポート。メッセージ、navigateTo、国際化サポートも追加したい。getFriendsDataもほしいな)

サイトのコードを公開することに関して

| | コメント(0) | トラックバック(0)
iKnow! API KICK OFF! Developer Challenge に参加するためオープンソースソフトに初チャレンジ ( ラボブログ )

を読んで、サイトのコードを公開することに関して書こうと思ったけど、よく考えたら私も動いてるサイトのコードを公開したことはないなぁ。。。
(ライブラリとかで切り出したのはあるけど)

ただ、JSやってると非公開とか基本的にない(難読化しても結構読めるし)ので、その辺若干ちょっと突っ込んでみます。

・ライセンスの選択
>利用者が便利なBSD(使う側が基本的に好きにできる)、公開者が便利なGPL(公開者はぱくられても向こうのソース読める)
>仕事とか、会社とかが絡んだり、よくわからなければGPLが無難かも。

・脆弱性に関して
>サーバサイドに対する危険性は上がるかも。ただ、最近それほどない気がする(まともにORM使ってればSQL Injectionもほぼ無いし)
>クライアントサイドは信頼性のないドメイン使えばOK。XSSはドメインを乗っ取られるってことだけど、元々信頼性の無いドメインなら乗っ取られても怖くないw

・開発コスト
>確かにあがると思う。単純に公開しているソース圧縮して置いとくだけでも、最新版に追従させたり若干面倒。
>後は、ちゃんと使ってもらうには使いやすく書かないとだめだし、見栄も張る必要あるし。。。w
>公開前提でそれ用のツールを使ってればそれほどではないかもしれないけど、それ用のツールをそろえるのはかなり大変だと思う。

・パクられる
>そんなに気にしなくていいと思う。簡単なアプリをわざわざパクる人はいないし、大規模な物ならパクるのも一苦労だし。
>特にGPLならぱくった側もソースを公開する義務を負うので、ぱくってもらうのもそんなに悪くないと思う。
>(ただ、WebアプリのソースにGPLソフトを使った場合の公開範囲がどこまでになるかはよくわからない)

・設定情報の保持
>conf.ini.sampleとか作って設定例を書いとく方法とかいいかも。


で、せっかくなのでソース拝見いたしました。
なるほど。iKnow!のAPIって普通に単語毎のRSSが置いてあるだけなのか。


ところで、英語日和の訪問済みリンクの色が背景と同色なのはわざとでしょうか?

OpenSocial Development Environmentが使えるようになった

| | コメント(0) | トラックバック(0)
入れてはいたけど、動かなかったので放置してた。
デブサミのOpenSocial Hackathonで作者の方に直接質問。

「OpenSocial」メニューの中に「Create sample data in Shindig」とかが無い場合、バージョンが古いのでアップデートが必要とのこと。

あと、Eclipseを日本語化してるとOSDEも部分部分日本語化される。

正直Eclipseの上で開発する気にはならないけど、ユーザを簡単に追加したり、OWNER、VIEWERを簡単に切り替えられるのは吐くほど便利。
(あとは永続化データとか)
表示確認をEclipse内だけじゃなくて外部ブラウザでもできるので、OSDEで閲覧者切り替えて別ブラウザで表示確認+xmlも別エディタで開発とかがいいかも。
(動機ミスると悲惨だけど)

この部分だけ切り出せないかなぁ。。。
(JSONとかでやってるだけっぽいからできないこともない気もするけど。。。)

あと、EclipseのRunとOSDEのRunが違うので注意。

デブサミ2009のOpenSocial関連の話題がほとんどない件に関して

| | コメント(0) | トラックバック(0)
とりあえず12日のパネルディスカッションに関して

誰かがまとめると思ってたので細かいところは気にしてなかった。
(けど、まとめといたほうがよかったか。。。)


mixi

・開発者向け一般公開いつ?
>暖かくなってから

・じゃあ、完全一般公開は?
>開発者向け一般公開からしばらくしてから

・RESTは?
>表側のJSと同時公開

・携帯対応
>mixi内に埋めるのは無理。外部の勝手サイトからRESTでデータを使うのは可能
>携帯で連携するなら、「自社の勝手サイトでmixi内のデータ使う+mixi内のJSでそれの表示とか」ってのが限界っぽい
>やっぱり「技術的な問題点よりdocomoとかとの絡みがねー」と言ってた

・開発者登録は何らかの本人認証必要
>クレジット番号か、郵送が必要かもって言ってた
>もしかしたら海外の開発者は参入できないかも
>opensocialもガラパゴス化?

・何で日程はっきりしないの?
>裏側は自社開発してて、データの永続化関係の処理でパフォーマンスが不安
>試し試し進めていきたい

・開発環境
>mixi内には作らない。mixiと同じ環境のパッケージ用意するから手元でがんばれ。

・アプリから日記に投稿したり、アプリを日記に貼ったりできるようにするかも
>opensocialの仕様に日記関係がないので、この辺は独自で


goo
・開発者向け一般公開いつ?
>3月半ば

・じゃあ、完全一般公開は?
>4月半ば~4月末

・最初はRESTは無いかも

・プロフィールは外部からもみれるし、アプリのiframeは静的に書き出すからSEO効果もあるかも(無いかも)

・開発者登録は何らかの本人認証必要
>mixiと一緒

・開発環境
>内はちゃんとテストのみの環境用意するよ。


他に

・mixiは広告、課金関係で充実してそう
>いろいろ聞いてたらほんとに暖かくなった頃に出るのか余計不安に

・opensocialの新バージョンの話もあった
>JS全然違っててビビルw
>仕様+実装は結構早く出そうだけど、変更点多いからコンテナ追従はかなり遅くなりそうとのこと
>ってか、やはりみんな今のJSがまずいのはわかってたのね。

・goo homeはデザインテンプレート対応
>「デザイナさんもどうぞ」とのこと

・はじめて川崎さん見た
>実物かっこいいなぁ。写真取り直したほうがいいんじゃないだろうか。。。

・SNSによって規約確認するの面倒だから、その辺もまとめてもらえるとうれしいなぁ。
>CCみたいな感じで。「うちのSNSで使うには、nn利用規約のn番とn番とn番と他にこれこれを守ってね」見たいな感じで

ATOKダイレクト API for Perlを触ってみた。

| | コメント(0) | トラックバック(0)
とりあえずevalの結果を返すのはこんな感じ。
package Atok_plugin;
use strict;
use utf8;
sub run_process {
    return (
        candidate => [
            {
                hyoki => eval($_[0]->{'composition_string'}),
                comment => $_[0]->{'composition_string'}
            },
        ],
    );
}
1;

最近のはPythonもサポートしてるとか。
ただ、Ctrl+Insは使いにくいのでいいや、入力値をATOKに投げるのも面倒だし。

uncaught exception: invalid id. [hogehoge]

| | コメント(0) | トラックバック(0)
なんだろ。settimeoutして回避

Webデベロッパの祭典+ちょっとアキバ気分でに行ってきた

| | コメント(0) | トラックバック(0)
例によって遅刻して参上。詳しいことは他のところ参照で。

>どうするデベロッパ!?2009年プログラミング大展望

「失われた10年」って話があったけど、それは主要産業の話であってこの産業は含まれない気がする。
あと、全体的なトレンドの話が多かったけど、聞きたいのはこの業界のトレンドの話なんだけどなぁ。
(日経平均ではなく、google trendsで各言語の流行を見せてほしかった)

「首になったときにどうするか」って話は是非指名してもらいたかったけど、自信満々で見てたせいかしゃべらせてもらえなかった。。。
それにしても、みんな首になること考えてないのか。すごいな。
自分はとりあえず首になっても1年くらいは保険+貯金で食べていけそうなので、その間にフリーソフト開発したり、発表したりして名前売っとけば割と仕事は見つかるんじゃないかと思う。

客に質問して回るスタイルの講習会はどきどきして面白と思った。吊り橋効果?
ただ、ひっかけの質問は卑怯だなー。いちおう相手はお客さんなのでこれはやめた方がいいかもと思った。

最後に質問コーナーがあるとは思わなかったので何も聞けなかった。。。残念。


>国内最大規模のRuby on Railsサイト「クックパッド」の裏側見せます。

基本的にVMに乗ってけていろいろ動かしてるらしい。
スライドに図が載ってたけど、マスタDBは一つなんだろうか?
更新系少なそうだからそれでもいけるのかな?
デプロイにcapistrano
mongrelのプロセス監視にgod(daemontoolsと比べてどうなんだろう?)
モニタはnagios+munin
コードレビューはshinjiko
(すいません。地元の地名が出たのでここで少し笑いました)
DBにMySql+Tritton(分散環境でjoinとか2indexいけるとか)

全員環境一緒は確かに効率よさそうだな。
でもAHK使えないのはきつそう。。。

後の講演での話も聞いて、限られた開発リソースで以下に有効なものを開発するかを考えてる印象を受けた。
当然といわれれば当然だけど、ぶっ飛んだものは出てこなさそう。
ただ、社名からして特化してるので、この戦略は正しいなー

無言実行は確かにと思った。事前公開はメリット無いかも。
(客がいないなら事前公開して期待をあおっとくのはあり?)

やはりでかいところはちゃんとユーザテストしてるんだなー
バグよりユーザビリティが要求を満たしているかどうかをチェックするのは重要。

期間限定ページのテストはTime.nowを書き換えるらしい。まあ、それができる言語はいいけどね。。。


>Applet reloaded-再び進化するAppletとJavaFXの世界-

すいません。最初ちょっと聞いてASの文法解説が出てきたので抜けました。


>Webエンジニアの視点~開発現場からの視点で~

生高橋メソッド!

若干おさらいが長かったなーやはり時間足りず。。。
とりあえず、Webの人が組み込みの話を丸呑みすることはないと思う。
あと、コンピュータ産業っていっても、IT産業と、メディア産業があるって話は納得。
うちはメディア産業か。

でも、このプレゼンのわかりやすさは高橋メソッドというより、そこに表示する単語の選定かなと思った。何となく出てくる単語が電車の中刷り広告みたいで楽しい。

後ろから見てて思ったけど、みんなが発表してる資料を手元で打ち直すのは無駄だなぁ。
先読み出来ない共有プレゼンアプリみたいなのって無いんだろうか?
メモはったりツッコミできたりするようなやつ。
E-Mobile+ノートって人も多かったし、携帯で使えればかなり受けそうな気はする。


>PHPの最新動向-5.3の新機能を中心に-

php5.3はやはり期待を裏切らない、かなりのがっかり感。
話してる人も「ネームスペースは使わない方がいいかも」とのこと。

無名関数、クロージャはかなりいけてそう。配列をいじる系の関数を普通にかけるようになるよ!

非常に楽しかったけど、ツッコミどころが多かったせいかな。。。


><パネルディスカッション>その仕事楽しんでる?「プログラミングの楽しさと仕事としてのプログラミング」

過去の技術経験は聞いてて参考にならないなー、アイスブレイクか。
「Railsの良さは周辺環境を進化させたこと」なるほど。確かに一つのフレームワークがここまで周辺環境に影響及ぼした例は少ないかも。
「勉強会が活発かどうかは中継技術の進化」
「技術が流行るかどうかはコミュニティがあるかどうか」
コミュニティの利点は技術の比較方向性が確認できることもあると思う。行って話聞くと自分がやってることが全然たいしたことじゃなかったり、「これべんりー」と思ってると、「こっちの方がいいよー」って教えてもらえたりする。

とりあえず「なんか質問する!」と思ってたので、「仕事以外でのプログラムとのかかわりかたは? 分けてる? 分けたい?」って聞いてみた。答えは案の定。まあ、パネラー見ればわかるよね。
ただ、それを来てる人の前で言ってもらえたのはよかったかも。
質問する意味は「自分の疑問解消」、「パネラーから注目される」、「周囲から注目される」、「周囲へパネラーから言ってくれる」って意味があると思う。
(と、言うことにしたい)


>雑感

全体のスケジュール書いたパンフレットが無くて困った。Webサイト出力しとけよってことか。前もパソナテックの講習会はスケジュール無かったから次からは要注意。アンケートには記入済み。

座るなら二列目だな。最前列に座る人は興味高い人なのでそういう人がどこに注目してるかみるの楽しい。

OpenSocial勉強会行ってきた

| | コメント(1) | トラックバック(0)
pikkleさんの第1回 OpenSocial勉強会@東京に行ってきました。
アジェンダを見てもわかるとおり開発側とは結構離れた感じですが空気読まずに。

まあ、一緒にディレクタの人も来てくれたので「これはひどい」という結果にはならなかったので救い。
すいません。勉強会で発表してみたかったんです。
(発表資料は後で会社のブログにあげます)

内容はやはりディレクタよりでした。
今後どういうものがはやるかとか、現在のアプリの傾向とか、携帯SNSの方向性とか。

特に携帯とOpenSocialの話は面白かった。
現状キャリアとの絡みで技術的な問題より契約的な問題(外部リンク、課金、広告)が多いとか、mixiは結構結構携帯から入れてくるから最初からその辺もがんばるんじゃない?(とすると表側の実装の進捗から推測する公開日より後れるんじゃない?ってか、契約的な問題をどうやって解決するんだ?)とか。

後は、mixi競合無いから、mixiアプリも流行ればmixiにぱくられた後本家捨てられて終わりじゃない?とか。
(ただ、うちに限っていえば受託があるので、これはそれほど怖くないかも。実績になるし。mixiアプリなら仕事になる気がする。ってのを帰ってから思い出した)

OpenSocialアプリに関しては「どんなアプリが流行るか」って知見が全然無いので、技術よりじゃない話でも非常に楽しめました。
(OpenSocialアプリの遷移とかも話もあった。OpenSocialアプリってPCから使うWebアプリの割に、かなり携帯アプリに近いかも。OpenSocialアプリの企画に関してはWebアプリよりも携帯アプリの方が参考になるかも。また、携帯アプリの企画もOpenSocialアプリ参考にしてもいいかも)

第1回 OpenSocial勉強会@東京やりました!にはトラックバックの送信先がないので、告知ページに送信します。

ObjectとString Objectを区別する方法

| | コメント(0) | トラックバック(0)
(new String('')).constructor === (new String('')).constructor

これでいいのかな?
instanceofとtypeofあわせて使うとか面倒。

メモを取るのが重要なわけ 未来の自分は驚くほど愚か

| | コメント(0) | トラックバック(0)

myspace appのxmlで使える形式

| | コメント(0) | トラックバック(0)
ようやくxmlのアップロード形式へ移行

ModulePrefs Optional[feature="content-rewrite"]は未サポート

ここに書かれてるContent[preferredHeight]は嘘。Content[preferred_height]が正解

ModulePrefs Icon[mode="url"]は未サポート

ModulePrefs[title="__MSG_title__"]とかできる

ModulePrefs Icon[mode="url"]サポートしてない気がする(xsd見る限り)

ModulePrefs Icon[mode="base64"]で[type=""]必須(無いと「画像形式わからん」とかいわれる)

xmlに日本語の設定があってもアップロードして最初のアプリ情報表示画面では「アプリギャラリーの初期設定言語」に英語しか出ない(一回「言語」を日本語に変更すると出る)

Firebugのエラー

| | コメント(0) | トラックバック(0)
Firebug cannot find firebugCommandLineAttached attribute on firebug console element, its too early for command line

こんなこと言われて実行できない。
何だろう。仕事にならん。。。

opensocialでアプリのIDをとる方法

| | コメント(0) | トラックバック(0)
「__MODULE_ID__」らしい。mjsk。

しかも、この形式で取得するのはアプリのIDだけっぽい。
この形式でアプリいろいろ取得できるようにするとか、JSからちゃんと取得する方法用意するとかすればいいのに。
なんだかなー

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

上はJS使わないで取る時用か。JSerは(new gadgets.Prefs()).getModuleId()こっち使うぽい

textnodeの取得

| | コメント(0) | トラックバック(0)
こんな感じでできるかも。

<div>aaa<p>bbb</p>ccc</div>
>>> $('div').children().contents().each(function () { console.log(this) });
"aaa"
"bbb"
"ccc"
Object length=3

selectorだと指定できないっぽい。
(.find('[nodeType=3]')、.find('*').filter('[nodeType=3]')、.find('*').children().filter('[nodeType=3]')は不可)
selectorも自作できたはずなのでやってみるかなー

環境も才能だ

| | コメント(0) | トラックバック(0)
G戦場ヘヴンズドア 日本橋ヨヲコ

複数人で使える名刺管理ソフト

| | コメント(0) | トラックバック(0)
「railsとかsymfonyとかcatalyst製の名刺管理ソフトないかなー」と思って探してみたけど、あまりにも簡単すぎて存在しないことに気付く。
(「railsなら2分で作れる」とかいう話はヒットするけど)

超簡単なものなら自分で作るけど、複数人で使うしいい感じのインターフェイスのやつがほしいんだけどなぁ。。。
(windowsアプリのやつは複数人で使えるの少ないし)

とりあえずSimple Customer試してみるかー