2010年5月アーカイブ

「HTML5: W3C Widget とその応用を考える会」に行ってき来たのでレポート

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

http://docs.google.com/View?id=dfwmsc7v_132gnp58vhp

W3C Widgetとは?
Operaが中心となって策定しているもので、Google Gadget、Yahoo Widget、Vista Sidebar Gadget、Dashboard Widget等の統合的なもの。
そもそもgadget系は過去に実装経験があるので、W3C Widgetに関して技術的に目新しいものは多くなかったかも。

興味深かった点

・iPad、iPhoneでW3C Widgetの仕様が動く。
JSが動くのはもちろん、W3C Widgetの仕様を実装したアプリがあるので、その上なら通常公開されているW3C Widgetが動く。

・iPhone、iPadはcanvasよりCSS3アニメーションが早い。
ただし、単純に置き換えは出来ないので置き換えられる場所は限定的かも。
どの程度のことが出来るか把握した方がいいかも。

・iPadならBox2Dがそこそこ動く。
http://d.hatena.ne.jp/technohippy/20100528#1275061401

・JSでアニメーションするならcanvasへのアクセスを最低限にして、毎回canvas全体を書き直した方が早い。
http://ss-o.net/test/game2d/particle2.html
(200*200でiPhone 3Gで完走)

・iPhoneの処理能力はPCの約10/1
http://ss-o.net/test/game2d/d3d.html
(PC10000pixel、iPhone1000pixel)

・canvasをブロックごとに区切って必要な場所のみ書き換えると高速化。
http://ss-o.net/test/game2d/starmine.html

ソーシャルアプリとクラウド

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

結局ソーシャルアプリとクラウドが相性良い理由って、
ソーシャルアプリが新しいプラットフォームだから負荷予測が困難(企画的にも、技術的にも)って理由だけなんだよなぁと思った。
このへんある程度ノウハウあるなら最初から必要なだけサーバ確保すれば良いだけだし。
(今のところ普通のレンタルサーバの方がクラウドよりランコストが安い)

コンテナ側もファーストインパクトを回避する方向に向かってるから、
今までみたいに「ソーシャルアプリならとりあえずクラウド」ってのも
だんだん言われなくなるのかも。
そう考えると今「ソーシャルアプリにおすすめ」って売り出してるクラウドベンダーは
半年くらいたったら別の売り方に変えるのかな。

でも、今の時点だとランコストは固定サーバの安いって言われてるけど、
これからさらにクラウドが安くなればランコストで固定サーバを抜く
(もしくは初期コストをペイするまでの期間が長くなっていく)か
これまでEC2は遅延がって話があったけど、それも解消されるから
来年あたりからは普通に固定サーバよりクラウドの方がいいって話になるかなー

あとは、値下げ競争のためにクラウド間の互換性が上がればおもしろくなるなー
「今日は負荷少ないから安いベンダー使う」とか、
「公開日は重くなりそうなので高いベンダー使う」とか。
そうなるとスケールアウトするためのボトルネックがDNSとかになりそうだ。

Re: githubで複数のリポジトリを管理するときにはまったこと

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

http://d.hatena.ne.jp/voidy21/20091207/1260201278

こんな感じのエラーが延々出続けてちょうはまった。。。

ERROR: Permission to kyo-ago/jQuery.keyscroll denied to kyo-ago/mist.js.
fatal: The remote end hung up unexpectedly

結局kyo-ago/mist.jsのDeploy Keysが設定されているのに気づかなかったことが原因。

Deploy Keys削除後、同じ内容をAccount SettingsのPublic Keysに設定したら両方とも通るようになった。

MTで検索結果の次を表示する

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

MTLoop使ってみた。標準では出来なかったと思ったけど、もしかしたらもっと簡単な方法あるかも。

<mt:SearchResults>
<MTSetVarBlock name="entry_id"><$MTEntryID$></MTSetVarBlock>
<MTSetVarBlock name="search_entrys" key="$entry_id"><$mt:Include module="ブログ記事の概要" hide_counts="1"$></MTSetVarBlock>
<MTSetVarBlock name="search_entry_id" function="push"><$MTEntryID$></MTSetVarBlock>
</mt:SearchResults>

<MTSetVar name="entry_number" value="0">
<MTLoop name="search_entry_id">
<MTGetVar name="search_entrys" key="$__value__">

<MTSetVarBlock name="entry_number_prev"><MTGetVar name="entry_number"></MTSetVarBlock>
<MTSetVarBlock name="entry_number_next"><MTGetVar name="entry_number"></MTSetVarBlock>

<MTSetVarBlock name="entry_number_prev" op="--"></MTSetVarBlock>
<MTSetVarBlock name="entry_number_next" op="++"></MTSetVarBlock>

<MTIf name="search_entry_id[$entry_number_next]"><a href="#entry-<MTVar name="search_entry_id[$entry_number_next]">">前</a></MTIf>
<MTIf name="search_entry_id[$entry_number_prev]"><a href="#entry-<MTVar name="search_entry_id[$entry_number_prev]">" title="">次</a></MTIf>

<MTSetVar name="entry_number" op="++">
</MTLoop>

MTでタグ毎にグループ化する方法

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

<MTTags>
<MTSetVarBlock name="tag_name"><$mt:TagName$></MTSetVarBlock>
<MTIf name="tag_name" like="^(グループ化したいものを「|」で区切って羅列)$">
<MTSetVarBlock name="hoge_tag" append="1"><$mt:TagRank max="5"$> <a href="<$mt:TagSearchLink$>"><$mt:TagName$><span>[<$mt:TagCount$>]</span></a></MTSetVarBlock>
<MTElseIf like="^(グループ化したいものを「|」で区切って羅列)$"><MTSetVarBlock name="fuga_tag" append="1"><$mt:TagRank max="5"$> <a href="<$mt:TagSearchLink$>"><$mt:TagName$><span>[<$mt:TagCount$>]</span></a></MTSetVarBlock>
// .....以下続く
</MTTags>
hoge_tag = <MTGetVar name="hoge_tag">
fuga_tag = <MTGetVar name="fuga_tag">

MTはループ出来るようになると使いどころ増えるなー