はじめてのYUI3 > YQLと連携してみる

YUI3を使って、YQLと連携してみる。
JSONPと同様にプラグインが存在するので、
そちらをロードして使う。

デモページはこちら

コードは以下。
// yqlとnodeを使う
YUI().use('yql', "node", function(Y) {
    // flickrから"Cat"を含む画像を最大10件検索する。検索結果はrという変数に格納する
    var q1 = new Y.yql('select * from flickr.photos.search where text="Cat" limit 10', function (r){
        var content = "";
        // 画像のURLを作成してcontent変数に文字列として連結
        for(var i=0;i<r.query.count;i++){
            var p = r.query.results.photo[i];
            content += '<img src="http://farm'+p.farm+'.static.flickr.com/'+p.server+'/'+p.id+'_'+p.secret+'_m.jpg"><br>';
        }
        // idがflickrのタグ内にcontent変数の文字列をHTMLとして展開する
        Y.one("#flickr").setContent(content);
    });
});
Flickrから"Cat"という文字を含む画像を最大10件取得するYQL。
YQLの部分を変えれば、任意の結果が取得できる。
フォームも設置して、動的に画像検索できるようにしようとしたが、
ボタンなどのクリックイベントを取得する方法がまだわからなかったので、
とりあえず、べた書きで今回はよしとしました。

これからそこら辺のイベントまわりを調査します。
何か分かったらまた更新します。

はじめてのYahoo! Developer Network(developer.yahoo.com)

Yahoo! JapanのデベロッパーネットワークIDは取得済みだが、
Yahoo! USのデベロッパーIDを取得していなかったので、
取得した時のメモ。英語はつらいよ。
  1. yahoo.comのyahoo IDを取得する。取得済みの人はログインする
  2. Yahoo! Developer Networkから、「Get an App ID」をクリックする
  3. フォームを入力。「 」 を選択。残りの必須項目は適当に入力。"Required access scopes"は何もチェックをいれなくてOK(というか何もチェックできない)
  4. こちらから、「New Project」 でプロジェクト作成
  5. 「Open Application for the Yahoo! Homepage and My Yahoo!」を選択してフォームを入力。
だいぶ日本のデベロッパーネットワークとは勝手が違うようです。
引き続き調査を続けます。

レンタルサーバーでLOCALEの設定をしたメモ

レンタルサーバーで各種日本語設定をしたときの備忘録メモ

まずは、perlから出力されているっぽい警告メッセージについて対応
http://www.rfs.jp/sb/perl/08/01.html

警告メッセージについて

標準インストールでは、Perlを実行するたびに警告が発せられます。
|perl: warning: Setting locale failed.
|perl: warning: Please check that your locale settings:
| LC_ALL = (unset),
| LANG = "ja_JP.ujis"
| are supported and installed on your system.
|perl: warning: Falling back to the standard locale ("C").
この警告は環境変数 PERL_BADLANG を設定することで抑制することができます。ホームディレクトリにある「.cshrc」ファイルを下記を参考にして編集してください。

csh 系

$ setenv PERL_BADLANG 0

sh 系

$ PERL_BADLANG=0; export PERL_BADLANG
もしくはシェルで 「./Configure -U d_setlocale」 してから make しましょう。
次に、svn up/svn statなどを実行したときに出力される警告メッセージを対応。
http://d.hatena.ne.jp/Tnzk/20090209/1234190869
いまいちUnixロケールっていう仕組みがよくわからないので、適当にググって対処法を探す。
tkoshima.net
# localedef -f UTF-8 -i ja_JP ja_JP.utf8
# localedef -f UTF-8 -i ja_JP ja_JP     
# localedef -f EUC-JP -i ja_JP ja_JP.eucjp
設定。
 これでwarningがでなくなった。
よかったよかった。

追記:
dpkg-reconfigure locales はダメでした?
といわれた。
今度機会があったらやってみる。
感謝
http://twitter.com/akitada/statuses/6140523634

はじめてのYUI3 > JSONP APIから情報取得

YUI3を使って、JSONPでAPI通信を行い、ページにその内容を出力してみた。

まず、JSONPの通信をおこなうため、公式サイトを調べたが、
どうにも面倒だな、と困り果てていたところ、
どうやらYUI3には、外部ライブラリ読み込み機能があるらしい。

JSONPの外部ライブラリはすでにあるようなので、それを読み込んで使ってみた。

サンプルはこちら。

コードはサンプルページのHTMLソースをみてもらえば分かる通り
すごいシンプル。

要所だけ解説すると、
    YUI({
        modules: {
            'gallery-jsonp': {
                fullpath: 'http://yui.yahooapis.com/gallery-2009.10.27/build/gallery-jsonp/gallery-jsonp-min.js',
                requires: ['selector-css3'],
                optional: [],
                supersedes: []
            }

        }
    }).
これで外部のライブラリ(JSONP) を読み込んで、使えるようにしている。
読み込んだ上で、"node"もしっかりuseして、
use('gallery-jsonp', "node", function(Y)
あとは、使うだけ。
use('gallery-jsonp', "node", function(Y) {...}
外部ライブラリがいけてる。
公開できる場所も用意されているみたいなので、
おれも公開して有名になろうかな。

Yahoo! がYUI3に本気すぎワロタ

はじめてのYUI3 > 特定の場所に文字を表示する

前回までで、ログ環境も整ったことなので、
ようやくhello worldしてみる。
<p><div id="message"></div></p>
<script type="text/javascript" src="http://yui.yahooapis.com/3.0.0/build/yui/yui-min.js"></script>
<script tyle="text/javascript">
YUI().use("node", function(Y) {
    Y.one("#message").setContent("はろーわーるど");
});
</script>
"node"をuseして、id=messageをみつけて(one)、中身に"はろーわーるど"を
セットする(innerHTML="はろーわーるど"、みたいな処理) をしている、と
文法だけで直感的にわかる。

といっても、one()ってのはなかなか珍しい表現だな、と思う。
ID指定なので1つしかみつから無いので、one、ということかな。

サンプルコードはこちら

まだまだ調査してみて、わかったら報告します。

はじめてのYUI3 > ログコンソールにログ出力

前回、ログコンソールをうまく表示出来たので、
ログコンソールにログを出力してみる。
Y.log("ログレベル:info",'info');
Y.log("ログレベル:warn",'warn');
Y.log("ログレベル:error",'error');
これでログを表示できた。"Y"は、前回説明した通り、main関数に
引数で渡ってくるオブジェクト。
log()が引数を2つ持つのはYUI2と同様。
YUI2よりも、ログコンソールに表示されるデザインが
綺麗になっているような気がする。

サンプルはこちら

引き続き調査+サンプルを書いてみます。

追記:
Y.log()とFireBugのconsoleが連動してることに気がついたので追記。
わざわざページにログコンソールを用意しなくても、FireBugがあれば、
コンソールにログが出力されました。

はじめてのYUI3 > とりあえずログコンソールの表示から

YUI3が9/29に正式リリースされたそうで、
遅ればせながらYUI3を使ってみました。

色々日本語の記事やブログがかかれていますが、
やはりYUI3公式サイトを見るのが一番です。
情報も最新ですし。

Javascriptの場合、ログ環境を整えることから
面倒といえば面倒ですが、それも喜びに感じつつ、
やってみようと思います。

結論から言うと、以下のコードでYUI3のログコンソールが動きました。
(YUI3公式サンプルページ)
<div class="yui-skin-sam"><div id="mylogconsole"></div></div>
<script type="text/javascript" src="http://yui.yahooapis.com/3.0.0/build/yui/yui-min.js"></script>
<script tyle="text/javascript">
YUI().use("console", "console-filters", "dd-plugin", function (Y) {
    var basic = new Y.Console({
        boundingBox: '#mylogconsole',
        style: 'block' // keeps the Console in the page flow as a block element                                                                         
    }).render();
});
</script>
まず、1行目のdivタグ。classにYUI2同様"yui-skin-sam"を指定して、
コンソールが格好良く表示されるようにします。また、中のdivタグに
任意のID(今回は"mylogconsole")も指定しておきます。

で、次の行がYUI3の真骨頂(か?)
YUI().use("console", "console-filters", "dd-plugin", function (Y) {...})
javascriptっぽく、メソッドチェーンでつなげられてますが、
PHPっぽく書くと、
$yui = new YUI();
$yui->use(array("console", "console-filters", "dd-plugin"));
$yui->do_function();
って感じですかね。useで必要なライブラリをとってきているっぽいです。
で、function(Y)を実行、かな?

ログコンソールを表示させるサンプル

引き続き調査をすすめます。

ZOOM Guitar Effects Console G9.2tt

ZOOM Guitar Effects Console G9.2tt

imagemagickでハイダイナミックレンジ(hdr)画像加工

ハイダイナミックレンジ加工 - Wikipedia

ハイダイナミックレンジ合成HDRとは、写真技法の一種。
風景のダイナミックレンジ(最も明るい部分と最も暗い部分の明暗の比)は広く、しばしば100デシベルを軽く越える。ダイナミックレンジに着目した特殊な撮影素子では100デシベルを超えるレンジを持つものもあるが、フィルムCCDなどの一般的な記録手段のダイナミックレンジは狭く、せいぜい50~70デシベル程度しかない。そのため、現実の風景などの持つ広いダイナミックレンジをそのまま記録することはできない。
ハイダイナミックレンジ合成は、一般的な記録手段を用いてその問題点を解決し風景が持つ広いダイナミックレンジを記録するために開発された画像合成手法である。
PhotoshopでHDR(ハイダイナミックレンジ)な、ものすごい画像をつくる方法
を読んでみて、PhotoShopでできるならImageMagickでもできるでしょう、
ということで調査したところ、ちゃんとやるには、imagemagickのリコンパイルが
必要っぽいのであきらめかけたのですが、

HOWTO: An HDR-like effect w/ ImageMagick

にHDRっぽくみせるコマンドがのっていたので、ためしてみました。
比較のため、Design Walkerから写真をお借りして、実行してみました。

まずはオリジナル↑


次にPhotoShop版↑


最後におれおれ版↑

ちょっと明るくなりすぎてる感があるけど、
まあまあ鮮やかになってるのでは?

もうちょっとコマンドを改良してみます。

SONY ソニー HDR-CX500V デジタルハイビジョン ハンディカム シルバー HDRCX500VS CX500 HDR-CX500

iPhoneに移行するための準備 その2 auから脱出準備

auショップで現在の契約内容などを確認しにいきました。
  1. 年割の有効期限が2009年11月いっぱいまでらしく、3000円取られてしまうようなので、12月に乗り換えた方がよい、とのこと。ちょうど嫁さんも、12月に乗り換えないと6000円取られるそうなので、12月までは待つことにしました。
  2. auポイントは2000ポイントくらい(2年使ったけど、ほとんど使ってなかった、ということ)、嫁さんは6100ポイント。
  3. ポイントは年割解約の違約金にあてられるらしいけど、あと2週間待てばいいので、待つことにした。
  4. とはいえ、auポイントって現金化はほぼできないらしい
  5. やるとしたら、電池パックをポイントで買って、ヤフオクで売る、くらいしかないそうな。
最近ものいりで、お金が飛んでいくなぁ。
iPhone*2, Mac, 本棚, ダイニングテーブル, プリンタ, 掃除機 etc...

お金ほすぃ。

はじめてのYQL > YQL consoleを使ってみる

アメリカYahoo!が提供するサービス「YQL」をはじめて使ってみた。

YQLは「Yahoo! Query Language」の略で、データベースを
操作するときに使うSQLを文字ってつけられた名前(と思われる)

What is YQL?

The Yahoo! Query Language is an expressive SQL-like language that lets you query, filter, and join data across Web services. With YQL, apps run faster with fewer lines of code and a smaller network footprint.
Yahoo! and other websites across the Internet make much of their structured data available to developers, primarily through Web services. To access and query these services, developers traditionally endure the pain of locating the right URLs and documentation to access and query each Web service.
With YQL, developers can access and shape data across the Internet through one simple language, eliminating the need to learn how to call different APIs.

インターネット上にあるWeb APIに対して、
SQLライクなqueryを投げることにより、
使う側が望む形でデータをfilterし、
任意のフォーマット(XML or JSON)でレスポンスを取得するための
サービスである。(おれおれ意訳)

YQLを知らなかった人は、公式サイトの右ナビにある「Try the console」から
YQLをさわってみて動作イメージを掴んでみるのをおすすめします。

「Your YQL Statement」にqueryを入力してTESTボタンを押せば
 VIEWに結果が表示されます。インデントされてみやすいレスポンスが
FORMATTED VIEWに表示され、階層構造が見やすいレスポンスが、
TREE VIEWに表示されます。

レスポンスはXMLとJSON(callback関数名を指定したJSONP)を
選択可能です。

入力するクエリーについては、画面右にあるExample Queriesに
サンプルYQLクエリーがあるので、まずはそこから適当に選んでみてください。
Example Queriesにある、
select * from flickr.photos.search where text="Cat" limit 10
は、Flickrから、説明文やタイトルに"Cat"という文字を含む写真を
取得するYQLクエリーです。
select id from flickr.photos.search where text="Cat" limit 10
とすると、レスポンスにはidしか含まれなくなります。
SQLを少しでも知っている人には理解しやすいと思います。

また、YQLは、XML->JSONPへの変換にも使えます。
例えば、こちらのようなRSSの場合だと、
select * from rss where url = 'http://shopping.yahoo.co.jp/search/rss?p=vaio'
というYQLでJSONPに変換が出来ます。(JSONのラジオボタンを選択)

XMLのみで、JSONPに対応していないXML APIの場合だと、
以下のようなYQLで変換可能です。
select * from xml where url = 'http://search.yahooapis.jp/WebSearchService/V1/webSearch?appid=vbQglqGxg65YDwPxyXTnUvxZxonbuDAc1Y1griEo2dV8piOpR9nvOJmdP6dHiA--&query=vaio'
これで、Yahoo! JapanのWeb検索APIのレスポンスをJSONに変換できます。

XML->JSONの変換ができる、ということは世の中のGETで取得できるAPIを
javascriptから呼び出せる、ということなので、非常に可能性を感じます。

これから、jqueryや、2009/09に発表されたYUI3を使って、
YQLと連携して遊んで見ようと思います。

Mashup Awardに応募しました 続報

先月末に、Mashup Award 2009に応募しましたが、
11月中旬に応募がしめきられ、応募作品の公開がはじまったようです。

作品No.64 毎日更新!猫好きのための猫カレンダー「猫暦 neko goyomi」

応募して以来、応募したことすらすっかり忘れてたのですが、
サイトのアクセス解析を見ると、昨日急に増えていて、
リファラを調査したところ、ほとんどがmashupaward.jp経由でした。

こりゃ単なる宣伝としても使えますな。
なんでもいいから応募しちゃえばいいじゃん、と思った(来年にでも)

作品No.64ということから判断して、
早く応募する方がより若い番号をゲットできて、
一覧でも1ページ目に表示される(と思う)

来年の分を今から準備しようと思うtanarkyであった。

コマンドラインからFinch経由でメッセージを送信する

FinchPidginのCUI版です。
以下の画像を見るのがわかりやすいと思います。
 
ここまでCUI版でやるか、って感じですが、
X-Windowを起動できないレンタルサーバなどで、メッセンジャーをやりたい
という奇特な要求に応えてくれるものです。

installはPidgin同様、aptitudeでinstallできます
$ sudo aptitude install finch
起動するのも簡単で、
$ finch
で起動できます。終了するときは、Ctrl-Cでダイアログがでるので、[OK] を選択して
Enterを押せば終了できます。
CUIで疑似Windowっぽく表示されるので、Windowを選択するには、Alt-N / Alt-Pで
次のWindowにFocusが移動します。

さて、せっかくCUIでメッセンジャーができるので、コマンドラインからメッセージを
送信したいところです。
いろいろ苦戦してやっとできたので、ここにメモっておきます。
  1. finchを起動する前に「dbus-launch screen」でscreenを起動する
  2. 起動したscreen上で、finchを起動する
  3. screenのタブを1つ新規で追加する
  4. 新規追加したタブで、「purple-remote "***"」 と入力することでfinchに命令を送りメッセージを送信する
という手順です。dbus-launch screenすることがポイントです。
こちらで情報を見つけました。

コマンドラインからメッセンジャーに送信するなんて、日本語ではほとんど情報が
見つかりませんでしたが、なんとか達成できました。

今時、YahooやらMSNやらのメッセンジャーにコマンドラインからデータを送るなんて
要求はないんだろうな。。。Twitter万歳

本棚を整理したので、自分の本棚の中身を晒す( ドラゴンボール Dragon Ball )

昨日、本棚を買ったついでに、本棚を整理していたので、
我が家の本棚の一部を晒そうと思う。



まずは、なんといってもドラゴンボール。
映画は見てないがアレな感じだとは耳にするものの、
やはりこの漫画は何度呼んでも面白いですね。

ふとした折に鳥山明の絵が目に飛び込んでくると、
気がついたら漫画を手に取っている自分がいます。

小学校のころ、毎週ジャンプを買って、
「うおー、ゴクウ急げー!」とか友達と毎週話をしてたのを思い出します。
# VS ナッパあたり

ドラゴンボール改 組立式ハイクオリティDXフィギュア Vol.2  【全2種セット(孫悟飯・ピッコロ)】

隣にあるのは「動物のお医者さん」
どちらも嫁さんの持ち物です。

Object-oriented CSS ( WDE 2009 にて )

縁があって、web directors east (WDE) 2009 に参加してきました。

そこで知ったObject-oriented CSSが面白そうだったのでメモ。
作者(の一人?)は女性でした。
Twitterのアカウントがあったので、早速follow

考え方としては、
Blueprint CSS
YUI CSS
と似た考え方っぽいです。

もうちょっと調査して使ってみてから感想をブログに書こうと思います。

ブログパーツ作りました(ReTweetリンク)

TwitterへのReTweetリンクをいちいち作らなくても
URLとHTMLのタイトルタグから自動で作成してくれる
ブログパーツ(?)を作りました。
詳しくはこちら

せっかくなので、この投稿に対して貼ってみます。
↑ここに表示されているアイコン

$(document).ready()だと表示されるまでに時間がかかるけど、
まあ、マナー的にしょうがないかな、と思う次第。
document.writeで書くのは好きじゃないんですよね。。。

引用:JavaScript 体感速度を上げるいくつかの手のメモ
DOMContentLoaded ですら遅いので、HTML 生成時に script 要素を各所に埋めこんで処理を先走りさせる
  • DCL 前に通信を開始できるなら意味があるかもしれない
  • document.write する script (広告とか) があると DCL が遅延するので価値があがる


コマンドラインからPidgin経由でメッセージを送信する

Pidginとは、メッセンジャークローンです。YahooやMSNなど同時に複数アカウントに
接続できて、便利です。




ようやく出来たので、備忘録的にメモ
  1. Pidgin(GUI版)をインストール
  2. Pidginを起動
  3. メッセンジャーのアカウントを設定する
  4. purple-remoteコマンドでローカルに起動しているdaemonに命令を送る
という手順です。これで、
$ purple-remote 'yahoo:goim?account=自分のアカウント&screenname=送信したいアカウント&message=あいうえお'
と入力することで、コマンドラインから送信できます。

purple-remoteは、すでに起動しているPidginに対して、コマンドラインから
命令を通知するためのコマンドっぽいことがようやくわかりました。

なので、あらかじめPidginをX-Windowで起動している必要があります。

ランキング2位獲得!男のメッセンジャーバッグオールスタイル対応 (MC)【matthew】

ランキング2位獲得!男のメッセンジャーバッグオールスタイル対応 (MC)【matthew】

DebianにPidginメッセンジャーをインストール

Debianからメッセンジャーを起動してみたくなったので、
Pidginをインストールしてみた。
$ sudo aptitude install pidgin
無事に起動できました。

Yahoo! Japanにも接続できます。「拡張」タブから、
「Yahoo! Japanに接続する」チェックボックスをONにすればOK

とりあえず、ひさびさにMSNメッセンジャーにも
ログインしてみました。

メッセンジャーを起動した目的は、
CUI(コマンドライン)からメッセージを送信したいので、
これから調査してみます。

いつでもお金をもらえるようにPayPalリンクをつけてみた

プライベートで書いているプログラムを公開して、
ブログのネタにしながら、勉強をしてるわけですが、
さらにお金ももらちゃおうと欲張ってみました。
  1. PayPalのアカウントを作成する(無料のパーソナルアカウントでOK)
  2. ページ上部のナビから「決済サービス」へ移動
  3. PayPal ウェブペイメントスタンダードの詳細を見るリンクをクリック
  4. 単一商品を「今すぐ作成」
  5. 適当にフォームを入力
  6. でてきたHTMLコードをサイトに貼り付け
これで完成です。
商品名を「寄付」として、とりあえず、一口1050円に設定してみました。
いつか誰かに寄付してもらえるように精進したいと思います。

jqueryサンプル集インデックスページ

ブログパーツ作りました(ランキング風商品検索広告パーツ)

ブログパーツを貼って一儲けしたい人に朗報です。

Yahoo! ショッピングの商品検索APIを使って、
ブログパーツを作りました。

ブログパーツの使い方はこちらにまとめたので、
興味がある方は、是非使って見てください。

使った感想等は、このページの右側にある
gmailのアドレスまでお気軽にどうぞ。

親指シフトキーボード

勝間本を読んでいたら、「親指シフト」と連呼していたので
調査してみた。どうやらキーボード入力が早くなるらしい。

親指シフト - Wikipedia

NICOLA仕様準拠のPC用コンパクト親指シフトキーボード。キーボード最下段中央には親指シフトの象徴とも言える左右の親指シフトキーがあり、その下に変換/無変換キーが位置する。
キーボードの形状からして違うとはおもわなんだ。
個人的なポリシーとして、いついかなる環境で仕事しなければ
いけなくなるかわからないので、あまり特殊な環境には
慣れすぎないようにしている。

やっていることといえば、xkeymacsのインストールと、
capslockキーをcntrlキーに入れ替えることくらいです。

特殊なデバイスをつかわずに、キーボード入力を早くするには
どうすればいいのか誰か教えてください。

Jリーグ ナビスコ杯決勝 東京FC VS 川崎フロンターレを国立競技場で観戦

大学時代の先輩、後輩に誘われて、Jリーグ ナビスコ杯決勝を見に行きました。

後輩がチケットを取ってくれたので、定価の2000円で見れました。ラッキー
# 後で聞いたところ、ヤフオクでは、5000円以上だったらしい。

東京FC側で観戦。


応援前の時点で、自分が知っているFC東京の選手は
  • 今野
  • 平山
  • 石川
などでしたが、入場前に超勉強しました。
試合は、ゴールキーパー権田選手の高セーブ+平山のカウンター攻撃も功を奏して
みごと2-0で勝利。


試合後の川崎フロンターレの選手の態度について問題になっていますが、
http://www.tokyo-np.co.jp/article/national/news/CK2009110602000064.html
http://www.tokyo-np.co.jp/article/kanagawa/20091106/CK2009110602000069.html
リーグ戦ではじめてのタイトルのためがんばってほしいと思います。

あと、国立に入場したときに、山崎ナビスコから、OREOやビスコなどのお菓子詰め合わせ
を観客全員にくばってました。自分もいただいておいしくいただきました。

昔からやってる大きいJリーグの大会に協賛し、
この不況の中で観客にこんなサービスをするナビスコは素敵すぎます。

jquery の jtemplatesプラグインでAdsenseのような広告モジュールを作ってみた

jquery の jtemplatesプラグインでAdsenseのような
商品アフィリエイト広告モジュールを作ってみた。

サンプルURL
jtemplates用テンプレートファイル

幅は590pxでやってみた。
IEでのデザイン対応にはまったけど、すぐできた。
jtemplatesかわゆす。

あとは、広告を貼りたいページに、サンプルURLを
iframeで指定するか、サンプルURLの中に書いてある
Javascriptを直接貼り付けるか、どちらでもいけます。

もうちょっとデザイン要素をカスタマイズできるように
パラメータに切り出すのがいいかな。

書評 「優柔決断のすすめ」古田敦也 著

最近読んだ本「優柔決断のすすめ」が面白かったので紹介。

「優柔決断」のすすめ  /古田敦也/著 [本]

「優柔決断」のすすめ /古田敦也/著 [本]


パ・リーグ楽天元監督の野村の本はよく読むが、
古田の本は初めて読んだ気がする。

野村の考えを自分なりに考え、新たに時代に合わせて
拡張していることがわかる本です。

心に響いたのは以下の2つ
「成長したい」「ステップアップしたい」と思っている割には、なかなかこれまでの自分のやり方を変えようとしない。(略)「このやり方でうまくいった」「このやり方が自分には一番あっている」悪い言い方をすれば過去の栄光にしがみついている。
必死で勉強して身につけた技術や知識も、
新しいステージにいくためにどんどん捨てなければ
成長は無いと思っているし、
そうやって捨てつづけることはすごく難しい。
ところが最近、頭で考えた「予測」にばかりにとらわれて、未来の可能性を自ら狭めている若者が増えてる気がしてならないのです。(略)情報過多で頭でっかちになり、経験する大切さを知らないのです。(略)経験する前から結論が出来上がっていて、それが固定観念となっている。だから、「どうせ無理」「やっても意味がない」などと、挑戦したがらないのです。
いるいる、こういう人って思った。
もちろん、自分もそういうところがないわけじゃない。

Aだから、Bとなり、Cはありえない、みたいなロジックを
主張するが、そもそも「Aだから」の時点で間違っていて、
よくよく話を聞いてみると、Cありき、でAやBを主張している。

これって、ちょっとした油断や慢心、保身から
簡単に口から出てしまうんだなー。
何も考えずに実行してしまうのが一番だと思っています。

野球の話が多いですが、わかりやすく説明されているので、
野球に詳しくない人も、読んでみてはいかがでしょうか?

Javascript > Template Engine > Jtemplates を使ってみる

jquery の Template Engine「jTemplates」を使ってみた。

サンプルHTML
テンプレート
データ(JSON形式)

これにより、デザインとロジックの分離ができるが、
外部ドメインに置いてあるtemplateファイルは読み込めないので
注意が必要。

最後にはまったのは、geocitiesが*.jsonという拡張子のファイルを
アップロードできなかったこと。
ファイル名が不正です、とエラーになった。なんでだろ。

Javascript Template Engines 品定め

JavascriptでTemplate Engineっぽいことを使いたくなったので、
既存のライブラリについて、調査したので、備忘録的にメモ。

要求としては以下の通り。
  • 簡単(理解しやすい、直感的な文法)
  • 軽量
  • ちゃんとメンテナンスされている
  • ドキュメントが豊富
  • Jqueryと競合しない
選択肢としては、以下のライブラリを見つけた。
こんな感じでした。
jqueryを使うので、jTemplatesとChain.jsを使ってみようかな、と思ってます。

また何かわかればBlogで報告する予定。

サービスリリース時にやるべき8つのこと

どこかで見たようなタイトルですが、
猫暦(neko goyomi) を作った経験から、自分なりにアレンジしてみました。
  1. そこそこのクオリティまで作る
    作ろうとしているものが技術的に難しいか否かはまったく関係ない。アイデア勝負。何もないとリリースできないので時間を見つけてひたすら作る。ただ、あんまり作りこみすぎてもだめ。気に食わないことがでてきても、そこそこのクオリティ で区切りをつける。
  2. リリース日を決める
    踏ん切りをつけて、気合いをいれる
  3. 知り合いにサービス内容を説明し、リリース日を告知する
    知り合いに自分が作った物を説明する。うざがられるかも、という雑念を振り払っていろいろな人に説明する。意見をもらったらメモっておいて、後で直す。できるだけサービスリリース日は延ばさない。
  4. リリースの準備をする
    1. Google Analyticsなどのアクセス解析の準備
    2. 広告の設置
    3. Titleやh1タグの文言調整(SEO対策)
  5. リリース時に一気に告知する
    1. はてなブックマークやDelicious、Yahoo!ブックマークなどのブックマーク登録
    2. ブログ更新、mixi日記更新
    3. TwitterにPOST
  6. リリース後の効果を見る
    1. どこから人が来たか
    2. どれくらい人が来たか
  7. 打ち上げをする
    次への英気を養うために、打ち上げをします。開発のつらかったことを思い出しつつ楽しく飲み食いします。
  8. 客観的にサイトを見て反省をする
    1. どこが失敗か
    2. どんな意見をもらえたか、その意見は正しいか
    3. 今サイトに何が足りないか
    4. 次は何をするか(どこから改善するか、新しく何を作るべきか)
こんな感じですかね。
書いてみてわかりましたが、技術的な要素ってほとんどないですね。


次もがんばります。

猫暦( neko goyomi )リリース打ち上げ:自宅ですき焼き

猫暦( neko goyomi) をリリースしたので、
本日はすき焼きで打ち上げです。




嫁さんには、タイトル部分に表示してある
猫のアイコンを作ってもらいました。

というわけで自宅でビール+すき焼きで打ち上げパーリー。
自宅で食べるとすき焼きも実に安上がりです。

この前TVでやっていた、「世にも奇妙な物語」で、
伊藤淳史主演『理想のスキヤキ』を見て以来、すき焼きが
無性に食べたくてしょうがなかったので、実においしく
いただきました。

何かをやったあとの「打ち上げ」って大切ですよね。
またがんばろうって気にさせてくれます。

切り落とし 端っこ 不ぞろい(1キロ1kg)すき焼き 訳あり わけあり 訳有り 和牛 牛丼 牛肉 送料無料 牛 黒毛和牛【500g×2パック】
和牛1kg送料無料2980円

Bloggerのテンプレートを変更した

Bloggerのテンプレートがいけてなかったので、
フリーのテンプレート提供サイトから拝借した。

http://btemplates.com/

手順としては以下の通り。
  1. テンプレート編集用のテストBlogを開設
  2. テンプレートを適用する
  3. 見た目を微調整する(CSSなど)
  4. テンプレートを適用したいサイト(メインサイト)のバックアップを取る(データ+テンプレート)
  5. データをテストBlogにインポートして、期待した見た目になるかテストする
  6. OKなら、テストBlogにインポートしたデータを削除する
  7. メインサイトにテンプレートを適用する
  8. モジュールなど削除された場合は復活させる(AdsenseやAnalyticsなど)
  9. テンプレートをバックアップする
念には念を入れて、上記の手順でやるのがよいと思います。

GA 芸術科アートデザインクラス Vol.1(初回限定版)

GA 芸術科アートデザインクラス Vol.1(初回限定版)

東急HANDSで本棚を1つ追加購入したら容量が3倍になりました

東急HANDSで本棚を1つ追加購入したら
容量が3倍になりました。

何を言ってるか、さっぱりわからないと思いますが、
順を追って、ありのまま話そうと思います。
スリムシエラ CVウッドラック 900W 無塗装
今までは↑の本棚を1つ使っていました。
商品詳細はクリックすれば見れます。

この本棚は、天井まで本を積めることができるので、
天井が255cmある我が家では、スペースが有効活用できて、

また、奥行きも適度に薄いので、廊下が狭くならない程度に
本を収納でき、非常に重宝してます。

今の家に引っ越してきて2年になりますが、
要らない本は処分してきたものの、収納できなくなってきたので、
廊下にはまだ隙間があるので、
もう1つ追加注文することに しました。

その追加注文した本棚が、今日届いたので、早速組み立てを
しようと、説明書をみたところ、
天板の幅分だけ間を離して2つの本棚を設置しすると、
その部分も本棚になります、とのこと。
これは嬉しい誤算。

というわけで、設置してみました。


手前の本が詰まってる部分が、今まで持っていた本棚。
奥にあるのが、今回買った本棚の分。
真ん中につけている2枚の天板は、今回買った本棚についてた分を
設置しました。(未設置の天板があと6枚あり)

天井も高く、2つ分の天板の枚数しかないので、ちょっと隙間がありますが、
追加で天板だけも購入できるので、お得に容量を3倍にできました。

本棚は天井にがっちり突っ張ることができます。


上の段の本棚をはめ込む高さを調整することにより、
普通の家なら天井にぴったり取り付けが可能です。
天井に天板で固定できるので、地震のときも倒れる心配はありません。


ちょっと組み立てが大変ですが、
本の収納に悩んでいる人は、是非参考にしてください。

iPhoneに移行するための準備 その1 予備知識勉強

そろそろ本気でiPhoneに乗り換えるための検討をしています。
考えていることは以下の通り
  • iPhoneアプリの開発をして一山当てたい
  • 電車の中でgitなどのドキュメントを読んで勉強したい
  • 維持費はできるだけ安くすませたい(嫁さんも一緒に乗り換えるのもスコープ内)
  • iPod+携帯両方持ち歩く生活から開放されたい
  • etc
まず、2009年7月の時点の情報から勉強開始。
# 後で調べたが、10月も上記の情報はほぼ変わらないっぽい
ipodの容量も結局2Gくらいなので、容量は16Gもあれば十分だとすると、
キャンペーン適用で6万円弱、2台なら12万円かかるようです。

一見すると、キャンペーン適用の方が、どう考えてもお得な気がしますが、通話をよく利用する人は、ホワイトプランの通話料の高さに注意が必要です。 特に、長年他のキャリアを利用している人は長期契約割引があったと思いますが、ホワイトプランには長期割引が無く、通話料が安くなることはありません。実質、他キャリアでの長期割引を捨てることになります。 通話料が安くなる「Wホワイト」という割引もありますが、オレンジプランやブループランなどを利用した方が、維持費が安くなる人もいるかもしれません。
通話はあまりしませんが、ちょっと電話しただけで料金が跳ね上がるのは
避けたいところです。どうしたものか。
無線LAN限定なら、skypeという選択肢もあるようなので、あまり深く
考えすぎないのがよいのか。
iPhone 3GSの場合は、パケット定額フルと、S!ベーシックパックの加入が必須
最近の携帯は、どこもこのような必須加入技でどんどん料金が上乗せ
されていくのが注意ですよね。 結局、最低で5705円のようです。

現在の携帯料金との比較をしてみて考えてみようと思います