技術
2012年08月29日
追記:
ちゃんと使えました。
2012年06月20日
surfaceがOfficeを使うためのマシンとして有効であれば、会社で買ってほしい。
タッチデバイスにキーボードをつけると、画面に手を伸ばすのが面倒なので、マウスやタッチパッドのようなポインティングデバイスが必要になることは、iPad+Apple keyboardで体験済み。
surfaceの薄型キーボードはタッチパッドがあるようなので、そこは期待。
あとは、書類作成で10インチは狭いので、せめて13インチほしいかな。
2012年03月10日
2012年01月21日
前回は、ただdotcloud上にファイルを置いただけなので、もう一歩進んで、dotcloudでrubyの実行環境を作る。
自分ひとりが使う動作環境なので、フレームワークは小規模向けのsinatraを使う。
sinatraでhello worldをするまでの手順をまとめておく。
けっこうはまった。ポイントは以下3点。
- requireするRubyファイルをディレクトリ指定しないと、みつけてくれない。
- アプリケーションをpushしているときに、CTRL+Cして止めると、その後のrsyncに失敗し、pushができなくなる。対処策がわからないので、アプリケーションを一度destroyして、再createする。
- Gemfileで指定したライブラリが、ちゃんとインスタンスにインストールされたか確認する。手動でgem installを実行することもできる。
手順は以下。
1. 作業用ディレクトリ(プロジェクト)を作り、アプリケーション定義ファイルを作る。
|
2. アプリケーションrootディレクトリを作る。
|
3. アプリケーションを作る。最低限作るファイルは、以下の3つ。
|
4. rackの実行に必要な2つのディレクトリを作る。
|
5. 以下のようなファイル配置になる。
|
6. dotcloud内にアプリケーションを作る。
|
7. アプリケーションを配信(push)する。
|
8. gemのインストール状況を確認する。
|
9. ブラウザで表示を確認する。
"hello world"が出力されれば成功。
2012年01月19日
dotCloudは、さまざまな言語の実行環境を提供するPaaSである。
Google AppEngineと比べると、遥かに多様な言語、データベース、フレームワークが提供されている。 その多様性が最大の優位点であるが、さらに以下の特徴がある。
- IaaSとPaaSの中間的な機能
- 操作がシンプル
1つ目の特徴は、このサービス自体がAmazonEC2のIaaS上で動作していることからきている。
GAEでもherokuでも、実行マシンはサービスに隠蔽されており、自分で作ったプログラムが動作しているOSのについて意識する必要がなかった。
それが、PaaS本来の目的でもあるからだ。
dotCloudでは、アプリケーションをdeployすると、EC2でインスタンスが作られ、その上でアプリが実行される。そして、そのインスタンスへのsshが許可されている。
そのため、ログの確認や、実行環境が自分の想定通りであるかなどを確認することができる。
もう一つの特徴が、dotCloudサービスの操作の簡単さである。 dotCloudを扱うコマンドは、基本的にただひとつ。dotcloudコマンドである。
インストールから、静的コンテンツのhello worldは、以下のとおり。
dotcloudコマンドのインストール
|
APIキーを設定する
dotcloudコマンドを実行すると、APIキーが設定されていない場合に尋ねられる。
dotcloudのAPIキーは、wwwページにログインし、settingのページで表示される。
dotcloudコマンドでsetupサブコマンドを指定すると、再設定もできる。
|
アプリケーション定義ファイルdotcloud.ymlを作る
|
同じディレクトリにHTMLファイルを作る
|
dotCloud内にアプリケーションを作る
|
HTMLをインスタンスへpushする
|
これで、表示されるURLにアクセスすると、ちゃんとHTMLが表示される。
その他の操作
アプリケーションの詳細情報は、以下のように取れる。
例は、wwwサービスだが、DBサービスをcreateすると、そのDBへの接続情報などもここで出るそうだ。
|
アプリケーションの動作状況
|
sshすると、こんなふうになる
|
アプリケーションの削除
|
消えたことを確認
|
この操作のシンプルさは気に入った。 herokuがいまいちだったので、しばらく、これで遊んでみようと思う。
2011年12月10日
予め設定しておけば、iftttのサーバサイドで各種連携をやってくれるので、あるwebサービスを使うときに、連携を意識したクライアントソフトを選ばない。
iftttは、定期的にwebサービスをポーリングし、条件に合うアイテムをみつけたときに、設定されたアクションをするという仕組みのようだ。
たとえば、google readerでRSSチェックをしていて、スターをつけたものを、自動的にevernoteに保存してくれたりする。
iftttサーバは、google readerのアカウントを定期的にチェックし、新たにスターがついたアイテムを見つけると、それを読み込み、evernoteアカウントを使ってノートを作成保存するAPIをコールする。
ポーリング間隔は15分がめどらしいので、即時反映は望めないが、そんな間隔なら実用には十分だ。
詳しい設定方法とかは、以下の記事に詳しい。
ブロガーハックBusidea
Evernote News
ifttt内では、世の中のwebサービスを"Channel"という。
Channel Aに対して、何かをすると、Channel Bに対して何かをするというルールを設定しておく。
きっかけとなるChannel Aに対して、なにかする、ということを"Trigger"という。
Triggerに応じて、Channel Bで何かすることを、"Action"という。
このTriggerとActionを関連付けた、ひつのルールを"Task"という。
TriggerとActionは一対一対応で、Taskとなるが、一つのTriggerではじまるTaskを複数作れば、あるChannelでの行った行動が、複数のサービスに影響をさせることができる。
例えば、Twitterでツイートにスターをつけると、そのツイートをEvernoteに保存し、かつfacebookにつぶやき、そしてtumblrに書きこむといった動作を定義できる。
channelはどんどん増えていくだろうし、使うwebサービスはどんどん複雑化していく。
webサービスを横断する中間的なツールもいろいろあるが、iftttはそれらのwebサービスを実にうまく抽象化しているのがすばらしい。
2011年11月19日
iPhoneを使っていると、bluetoothwpOFF/ONしたり、画面ロックを無効にしたいことがままある。
設定画面からメニューを辿っていくのが煩わしいと常々思っていた。
iPhoneアプリで、画面ロックをワンタッチで切り替えるることができないかと探してみたりもしたのだが、URIスキーマという機能を使うと、設定画面をダイレクトに呼び出すことができることがわかった。
iOS5からの新機能である。
SafariのURL欄にURIスキーマを入力すれば、通常のHTMLアンカーと同じじように動作する。
設定画面からのURI schemeリストをリンクで用意した。以下のページをiPhoneで読み込んで、リンクをタップすると、設定画面に飛ぶことができる。
URI scheme List
URIスキーマのリストは、こちらのページからいただいた。
[UPDATE6]iPhoneの設定画面をサクッと開く方法 -『Touch Icon Creator』でURLスキーム対応アイコンを簡単に作る
しかし、そのスキーマで画面にジャンプする前のURLリンクをホーム画面にアイコン登録するのが難しい。
PCのように、デスクトップにショートカットがをおいて、プロパティでURL(この場合URI scheme)に書き換えればいいとは単純にはいかない。
safariにしかホーム画面にアイコンを登録できる機能はないし、アプリをのAPIでもその機能をは提供されていないようだ。
その問題を解決するアプリが、touch iconというアプリのようだ。
iOS5でWi-Fiなどの設定画面を一発で開けるアイコンを作れることが判明
このページの手順で、簡単にホーム画面に設定アイコンを設定できた。
はたして、touch iconではどのように登録しているのか?
リバースエンジニアリングっぽく調べてみた。
safariのURL欄に、直接javascriptを埋め込む形で実行しており、そのjavascriptごとホーム画面アイコンにしているようだ。
URLから飾りの部分を削除して、仕組みの部分のみを抽出すると、以下のようになる。
|
上記を一行にまとめたものが、以下である。
|
これをコピペして、タイトルとURLスキーマの部分を書き換えて、メールでiPhonenに送り、それをsafariで開いて、その画面をホーム画面に登録をすると、設定画面に一発で飛べるアイコンを作ることができる。
アイコンイメージは登録できないので、あくまで実験としてお使いください。
上記リンクの作者様、情報ありがとうございます。
そして、touch iconの作者さんは、すごいことを考えたものです。
便利なツールをありがとうございます。
2011年11月09日
-------------------
2011/11/18追記
サンワサプライから、指輪型のマウスというのは出てました。
あまりかっこよくないけど。
http://direct.sanwa.co.jp/ItemPage/400-MA031
-------------------
2011年11月01日
calender機能があるのだが、今いち使い道がないと思っていたが、google calendarに登録したイベントが 読み込む方法がわかったので、俄然使える機能になった。
ブラウザを起動せず、emacsを終了しなくても、スケジュール確認、登録・削除ができる。
これはすばらしい。
設定方法は、以下を元ネタにしている。
http://code.google.com/p/emacs-google/wiki/googlecalendar
2 インストール方法
-
iCalendar.elは、emacsのelispディレクトリに置く
$ cp icalendar.el ~/.emacs.d/
-
google-emacsもemacsのelispディレクトリに置く
$ cp -r google ~/.emacs.d/
-
gdataは、pythonでインストール
展開したディレクトリで、
$ sudo python setup.py install
3 設定ファイル
~/.emacsに以下を追記する
|
GOOGLE USER IDは、@gmail.comの@マーク前の単語を書いておく。
code-directoryとcalendar directoryは、適宜書き換える。~/tmpとしたら、忘れずに~/tmpを作っていくこと。
google-calendar-urlは、対象のgoogleカレンダーの設定画面で、以下の限定icalのURLを貼り付ける。
.emacsに以下を書いておくと、emacsの起動のたびにカレンダーイベント情報がダウンロードされる。 そのため起動は遅くなる。
|
4 使い方
主たるキーは以下のとおり。
M-x calender | カレンダーバッファを作成しカレンダー表示 |
M-x google-calendar-download | カレンダーイベントのダウンロード |
C-c C-g d | 同上 |
C-c C-g q | quick event add |
C-c C-g a | detail event add |
M-x google-calendar-delete-event | event delete |
d | その日の予定を表示 |
m | 予定の入っている日を色付けする |
2011年10月28日
|
.xmodmaprcのパス指定でホームディレクトリを表すチルダを使うとうまくいかないので、ご注意。