電気羊の執務室

魔法を作る仕事をしています。

Lazy_high_chartsを使ってみた

Lazy high chartsを使ってみた

railsでグラフを表示させたくて、 Lazy high chartsを使ってみました。 やった事を書いておきます。

なんでLazy high chartsなの?

Lazy high chartsを選んだ理由は、以下の通りです。

  1. 『Web グラフ』で検索したら、high chartsの評判がよかった
    webアプリ(perlやjavascript)でグラフ表示なら、Highcharts で決まりかも
  2. 『ruby high charts』で検索したら、Lazy high chartsの記事を見つけた
    Rails で Lazy high charts を使ってチャートを実装してみた

というわけで、Lazy high chartsを使ってみます。

まずはインストール

上記のサイトを参考に、Lazy high chartsのインストールを行います。

まず、Gemfile に gem 'lazy_high_charts'

を追加しました。 そして、 bundle を実行します。インストールが始まりました。
ここまでは問題ありません。

そして、

bundle exec rails g lazy_high_charts:install

を実行すると、highchart.js がダウンロードされて、assets/javascripts に配置される・・・
はずでしたが、何やらエラーが表示されました。

インストールエラー

エラーメッセージは、次のようなものでした。

% /projects/rails/lazy_chart% bundle exec rails g lazy_high_charts:install [WARNING] Could not load generator "generators/lazy_high_charts/install/install_generator". Error: uninitialized constant LazyHighCharts::Rails::Generators. /.rvm/gems/ruby-1.9.3-p0/gems/lazy_high_charts-1.4.0/lib/generators/lazy_high_charts/install/install_generator.rb:4:in `<module:LazyHighCharts>' /.rvm/gems/ruby-1.9.3-p0/gems/lazy_high_charts-1.4.0/lib/generators/lazy_high_charts/install/install_generator.rb:3:in `<top (required)>' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/generators.rb:300:in `block (2 levels) in lookup' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/generators.rb:296:in `each' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/generators.rb:296:in `block in lookup' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/generators.rb:295:in `each' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/generators.rb:295:in `lookup' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/generators.rb:152:in `find_by_namespace' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/generators.rb:169:in `invoke' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/commands/generate.rb:12:in `<top (required)>' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/commands.rb:29:in `<top (required)>' script/rails:6:in `require' script/rails:6:in `<main>' Could not find generator lazy_high_charts:install.

このエラーについて調べたところ、次の記事が見つかりました。

Problem with rails g lazy_high_charts:install
どうやら、Railsのバージョンが3.1以上の場合は、
app/assets/javascripts/application.jsに次の行を追加しないといけないようです。

//= require highcharts
//= require exporting

これで、エラーは解決したでしょうか。

% /projects/rails/lazy_chart% bundle exec rails g lazy_high_charts:install [WARNING] Could not load generator "generators/lazy_high_charts/install/install_generator". Error: uninitialized constant LazyHighCharts::Rails::Generators. /.rvm/gems/ruby-1.9.3-p0/gems/lazy_high_charts-1.4.0/lib/generators/lazy_high_charts/install/install_generator.rb:4:in `<module:LazyHighCharts>' /.rvm/gems/ruby-1.9.3-p0/gems/lazy_high_charts-1.4.0/lib/generators/lazy_high_charts/install/install_generator.rb:3:in `<top (required)>' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/generators.rb:300:in `block (2 levels) in lookup' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/generators.rb:296:in `each' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/generators.rb:296:in `block in lookup' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/generators.rb:295:in `each' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/generators.rb:295:in `lookup' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/generators.rb:152:in `find_by_namespace' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/generators.rb:169:in `invoke' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/commands/generate.rb:12:in `<top (required)>' /.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.13/lib/rails/commands.rb:29:in `<top (required)>' script/rails:6:in `require' script/rails:6:in `<main>' Could not find generator lazy_high_charts:install.

じゃん。 やっぱり出ますね。

しかし、くだんの記事によると、どうやらこれでも問題なく動作するらしいです。

では、動かしてみますか

それでは、警告を気にせず、動作させてみます。

rails s

棒グラフ

グラフが出ました。

あとは、データの取得がうまくできれば、楽しく暮らせそうです。

SketchupのWebDialogで、rubyスクリプトが呼べない時

前回の続きです。
SketchUpには、WebDialogというコンポーネントがあります。
これを使うとrubyスクリプトから、フォームを作成でき,
ユーザーと対話的にスクリプトを実行できるわけです。

すごくハマったところ

今回、WebDialog経由でrubyスクリプトを実行する際に、
すごくハマったポイントをお教えします。

動作環境:
mac OS X 10.8.2
SketchUp 8.0.4810

それは・・・入力部品の種類です。
ボタンなどを押した際にjavascriptのコードが実行されるよう、
動作を設定しているのですが、
なんと、入力部品の違いによって、動作の一部が実行されません。

buttonとinput type=”button”

結論から言うと、リンクと、<input type=”button”>で生成したボタンは、
問題なく動作します。

しかし、<button>エレメントで生成したボタンは、
window.location=でリダイレクトを行う事ができません。

これができないと、javascriptからrubyコードが呼べないのです。
rubyスクリプトは、javascriptからはurlとして指定する必要があるからです。

サンプルコード

サンプルコードの使い方

まずはSketchUp上で、コードを実行します。

実行すると、こんな画面が表示されます。
ボタンが2つ、リンクが1つある画面

1番上のボタンを押すと、ダイアログボックスが1回表示されます。

javascriptのメッセージ

2番めのボタンを押すと、ダイアログボックスが2回表示されます。

javascriptのメッセージ
rubyのメッセージ

リンクをクリックしても、同様に2回表示されます。

3つとも同じ関数を実行しているのに、buttonエレメントだけは、挙動が違います。
window.locationを指定することができず、rubyのメソッドを呼べません。

ボタンの動作がうまくいかない方は、
参考にしてください。

次回は、ruby側からjavascriptの関数を呼び出す処理について書こうと思います。

VimSketchUpのすすめ

余談ですが、これを読んでいらっしゃる貴方は、どうやってサンプルコードを実行していますか?
Vim上でショートカットを入力するだけで、サンプルコードが実行できたら楽ですよね。
ちょっと心が動いた方には、VimSketchUpをおすすめします。

参考資料

Trimble SketchUp
http://www.sketchup.com/intl/en/developer/docs/ourdoc/webdialog#add_action_callback

Engineering The World
http://engineeringtheworld.wordpress.com/2010/02/16/creating-web-dialogs-in-sketchup-and-making-calls-from-and-to-sketchup/

SketchUpのWebDialogの使い方

Trimble SketchUpには、rubyで自動化できる機能があります。 今日は、rubyで画面を作る、WebDialogというコンポーネントについて お話ししたいと思います。

SketchUpには、WebDialogというコンポーネントがあります。
これを使うとrubyスクリプトから、フォームを作成でき,
ユーザーと対話的にスクリプトを実行できるわけです。

WebDialogの特長

  • htmlとCSSで、フォームを作成できる
  • rubyスクリプトから、htmlの要素にアクセスできる
  • html内のjavascript関数から、rubyスクリプトを実行できる
  • rubyスクリプトから、html内のjavascript関数を実行できる

WebDialogは、HTML+CSS+javascript

WebDialogコンポーネントは、フォームのレイアウトをHTMLで指定します。
また、入力部品の動作はjavascriptで指定します。

基本的な使い方は、公式ヘルプに載っています。
http://www.sketchup.com/intl/en/developer/docs/ourdoc/webdialog#add_action_callback

rubyスクリプトの実行方法

あらかじめ、ダイアログに、コールバックメソッドを指定しておく必要があります。 指定されたコールバックメソッドには、仮想urlが割り当てられており、 “skp:” + コールバックメソッド名のアドレスに遷移しようとすると、 コールバックメソッドが実行されます。

仮想urlへ遷移するには、以下のいずれかの方法で指定します。

  • リンクのurlとして指定
  • javascript関数内に、window.location=”skp:” + 関数名を指定し、ボタンに割り当て

macの場合はrubyコードが非同期実行

Martin Rinehartによると、 windows ではjavascriptから呼び出されたrubyスクリプトは同期実行され、 戻り値をjavasxriptで受け取る事ができるそうです。 しかし、macではrubyスクリプトは必ず非同期実行のため、 rubyの戻り値をjavascriptで利用することはできないようです。

注意してください。

サンプルコード

ほぼ最小構成のWebDialogのサンプルです。 ここでは、ボタンのクリックイベントにjavascriptのスクリプトを設定し、 リンクのurlにrubyのコールバックイベントの仮想urlを指定しています。

サンプルコードの使い方

サンプルコードを実行すると、このような画面が表示されます。

WebDialogのサンプル

ボタンを押すと、javascriptで作成されたメッセージが表示されます。

ボタンを押すと、javascriptのアラートが表示される

リンクをクリックすると、rubyで作成されたメッセージが表示されます。 コード内では、リンクのurlとして、”skp:”に続いてrubyのコールバックメソッド名が 指定されているのがわかります。

リンクをクリックすると、rubyのメッセージが表示される

参考資料

SketchUp Ruby Interface to JavaScript
http://www.martinrinehart.com/models/rubies/ruby2javascript_javascript2ruby.html

Bitnamiの仮想マシンを使うためのステップ

WordPressを使ったWebサイト作りをしようとしています。 ローカルの仮想サーバーでサイトのソースをGitに上げ、 公開用のサーバーでGitからPullすることで、デプロイする構成です。

そこで、ローカルの仮想サーバーには、 WordPressとMySQLとPHPのスタックである、 bitnamiを使ってみます。

bitnami仮想マシンのダウンロード

bitnamiを使うためには、2つの方法があります。

  1. 既存の仮想マシンに、bitnamiをインストールする
  2. bitnamiインストール済の仮想マシンを、新規にダウンロードする

今回は、2.を解説します。 公式サイトから、bitnamiがインストールされた仮想マシンをダウンロードします。

sshの導入

コマンドラインから操作するため、仮想マシンでsshを有効にします。 公開鍵の受け渡しが、最も苦労した部分です。

公開鍵の渡し方

仮想サーバーの公開鍵を、開発用マシンに渡すための方法は、 次のような選択肢があります。

  1. 仮想マシンがSmabaサーバーとなり、ホストOSのがクライアントとなってファイルを受け渡す
  2. 逆に、ホストOSの共有フォルダに、仮想マシンからアクセスしてファイルを受け渡す
  3. GitHubなど、外部ストレージを経由してファイルを受け渡す

ここでは、2.を解説します。

VMware-Toolsの導入

ホストOSの共有フォルダにゲストOSからアクセスするには、
VMware-Toolsをインストールします。

別の記事にまとめていますので、参照してください。 vmware-tools-install

ssh鍵の生成

ホストOSで、以下のコマンドを入力します。

sudo ssh-keygen

画面に従ってパスワードを入力すると、公開鍵と秘密鍵が生成されます。 id_rsa.pubファイルが公開鍵、id_rsaファイルが秘密鍵です。

公開鍵を、共有フォルダに置く

これから、いまホストOSで作った公開鍵をサーバーに渡します。

まず、id_rsa.pubファイルを、ホストOSの共有フォルダにコピーします。 オイラの環境では、Macの~/shareフォルダです。

マウスでポイっと入れればOKです。

ゲストubuntuに、ホストOSの公開鍵をインストール

共有フォルダに入れた公開鍵を、ゲストOSから見てみます。

$ ls /mnt/hgfs/share
> id_rsa.pub

ホストOSの公開鍵が見えています。 これを、ゲストOSにインストールします。

でも、いったいどこにインストールするのでしょうか?

サーバーには『この鍵をくれたマシンのアクセスには応じるよ』というファイルがあります。
authorized-keysというファイルです。 今回受け取った公開鍵を、authorized_keysファイルに追記します。

このファイルには、複数の鍵を書き込むことができます。 上書きすると、今までアクセスできたマシンがアクセスできなくなる、 という現象が起こりますよ。

cat /mnt/hgfs/share/id_rsa.pub >> /home/bitnami/.ssh/authorized_keys

>>に注目。

これで、ゲストOSに、ホストOSの公開鍵がコピーされました。

sshの設定

ゲストOSで、以下のコマンドを実行します。

$ sudo vi /etc/ssh/sshd_config

以下の行を探して、下のように変更します。

ChallengeResponseAuthentication no PasswordAuthentication no UsePAM no

sshデーモン、いでよ!

ゲストOSがアクセスを待ち構えるために、 sshデーモンを召喚します。 このデーモンが、サーバーの門番を務めてくれるわけです。

召喚の呪文は、これです。

$ sudo start ssh

これで、ゲストOS上でsshが有効になりました。

ホストOSからアクセスしてみる

ホストOS上で、sshコマンドを入力します。

ssh 192.168.100.xxx(ゲストOSのIPアドレス)-l bitnami

ゲストOSのIPアドレスは、ゲストOSでifconfigコマンドを使用すると、
表示されます。
・・・大丈夫ですよね??

あと、-l bitnamiの部分がなんなのかというと、 bitnamiユーザーでログインします、という意味です。 サーバーにはbitnamiユーザーしかいないため、 他のユーザーではログインできません。

別のユーザーを作っている場合は、 そのユーザー名を指定してください。

これを指定しない場合は、ホストOSのユーザー名でログインします。

$ ssh 192.168.100.101 -l bitnami         
> The authenticity of host '192.168.100.101 (192.168.100.101)' can't be established.
> RSA key fingerprint is 86:74:fe:6b:8b:b1:c2:64:3f:d0:80:bc:92:f3:c0:75.
> Are you sure you want to continue connecting (yes/no)? yes

何か聞かれた場合は、yesと答えて下さい。

> Warning: Permanently added '192.168.100.101' (RSA) to the list of known hosts.
> Last login: Tue Jul  3 13:10:37 2012

これで、sshログインできました。
めでたし。

ゲストubuntuから、ホスト上の共有フォルダにアクセスする

ゲストOSから、ホストOSの共有フォルダにアクセスします。

VMware 上 の Ubuntu で共有フォルダ
http://tekitobibouroku.blog42.fc2.com/blog-entry-305.html

この記事を参考にやってみたところ、だいたいこの通りにできました。感謝! 今回は、上の記事とはバージョンなど細かいところが違います。

環境

  • ホストOS: Mac OSX 10.7.4 (Lion)
  • ゲストOS: ubuntu 12.04
  • VMware: Fusion 4.1.3(730298)
  • VMware-Tools: インストール済

hgfsが見つからない

$vmware-hgfsclient
> share

hgfsclientを実行すると、共有フォルダが見えていることがわかります。

$ sudo mount -t vmhgfs .host:/ /mnt/hgfs
> Error: cannot mount filesystem: No such device

手動でマウントできません。 記事と同じです。

lsmod | grep vm

としても、hgfsの文字は

sudo gedit /var/log/syslog

参考資料

VMware 上 の Ubuntu で共有フォルダ
http://tekitobibouroku.blog42.fc2.com/blog-entry-305.html

VMWare Plyaer 3.0 ホストとの共有
http://d.hatena.ne.jp/rock_n_santa/20100430/1272584798

ゲストubuntuに、VMware-Toolsをインストールする

ゲストOSの仮想サーバーへ、ホストOSからssh接続するために、
公開鍵を渡します。
今回は、ホストの共有フォルダ経由でファイルを渡します。

ホストOSの共有フォルダを使うには、VMware-Toolsが必要です。
VMwareToolsをインストールする方法を解説します。

VMWare Toolsの導入

  1. VMware-Toolsの仮想CDを挿入
  2. カーネルの番号を確認する
  3. カーネルヘッダーをインストールする
  4. VMware-Toolsをインストールする

VMwareToolsの仮想CDを挿入

VMwareFusionのメニューから、『仮想マシン->VMWareToolsのインストール』を選択します。
その後、以下のように仮想CDをマウントします。

$ sudo mkdir -p /mnt/cdrom
$ sudo mount /dev/cdrom /mnt/cdrom
> mount: block device /dev/sr0 is write-protected, mounting read-only

ここでインストールを行うと、失敗します。

tar xzvf /mnt/cdrom/VMwareTools-8.8.4-730257.tar.gz 
cd ./vmware-tools-distrib/
sudo ./vmware-install.pl 

...

Searching for a valid kernel header path...
The path "" is not valid.
Would you like to change it? [yes] 

カーネルヘッダーがないとだめだそうです。

カーネルのバージョンを確認する

メニューから、『仮想マシン->設定->ネットワークアダプタ』を選択し、
ネットワークにブリッジ接続を指定します。

カーネルのバージョンを確認し、適切なヘッダーを取得します。

uname -a

`linux 3.2.0-24-virtual #39-ubuntu SMP Mon May 21 18:44:18 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux`  

このカーネルバージョンは、3.2.0-24-virtual だということがわかりました。

ヘッダーファイルをインストールする

ヘッダーファイルをインストールします。

sudo apt-get install linux-headers-3.2.0-24-virtual

バージョンのないヘッダーファイル(linux-headers-virtual)も存在しますが、
自分の環境では、サーバー接続エラー(404)が発生して、
インストールが成功しませんでした。

VMware-Toolsをインストールする

もう一度、VMware-Toolsをインストールします。

sudo ./vmware-install.pl -d

Searching for a valid kernel header path...
Detected the kernel headers at "/lib/modules/3.2.0-24-virtual/build/include".
The path "/lib/modules/3.2.0-24-virtual/build/include" appears 
to be a valid path to the 3.2.0-virtual kernel headers.
Would you like to change it? [no]

今度は、カーネルヘッダーを認識しているようです。 正しくVMware-Toolsがインストールされました。

おわりに

これをちゃんと読む人はとても少ないはずですが、 いるとすれば、とても困っている方でしょう。

この記事が少しでもお役に立てれば嬉しいものですね。

ちなみに・・・本当は、ゲストOSにsmbclientを入れれば
ホストOSの共有フォルダにアクセスできると思うのですが、
設定がうまくいかず、今回はあきらめました。

参考資料

CentOS 5.5 x86 に VMware Tools をインストールする
http://d.hatena.ne.jp/yohei-a/20101222/1293051179

ConverterでXPマシンを仮想化するために必要な4つのこと

これをお読みの皆さんは、仮想マシンを使っておいででしょうか? Windows XPのマシンを、macのVMWareで使うために仮想化しました。 そこでハマったポイントを、後に続く方のためにまとめておきます。

環境

ホストOS:mac OSX (Lion) 10.7.4 実行環境:VMWare Fusion 4.1.3 仮想化するマシンのOS:Windows XP Pro 仮想化するアプリ: VMWWare Converter 5.0.0

ポイント

  1. VMWare Converterをダウンロードして使う  (VMWare Fusion付属のMigrationAgentは使わない)
  2. WindowsXPのCD-ROMから、sysprepファイルをコピーする
  3. 仮想化するマシンは、十分に容量を減らしておく
  4. 仮想化するマシンのVolume Shadow Copyサービスを有効にする

1.VMWare Converterをダウンロードして使う

明らかに、速さも信頼性も、Converterのほうが上です。 物理マシンを吸い出す目的のためには、ぜひConverterを使うべきです。

以下のURLからダウンロードして、XPマシンにインストールしてください。 構成について尋ねられます。 『ローカル』と『クライアントサーバー』の二択から、『ローカル』を選びます。

2.WindowsXPのCD-ROMから、sysprepファイルをコピーする

公式ヘルプなどでsysprepと呼ばれるものは、以下の圧縮フォルダのファイル一式です。 (OSのディスク)¥¥SUPPORT¥TOOLS¥

sysprepツール

これを、以下のパスに保存します。

C:\Documents and Settings\All Users\Application Data\VMware\VMware vCenter Converter Standalone\sysprep\xp

保存するパスは、VMWareConverterを実行すると教えてくれます。 全ファイルまとめて保存して構いません。

3.仮想化するマシンは、十分に容量を減らしておく

具体的には、次のような事をします。 - ディスクのクリーンアップ - アプリケーションの削除 - データを外部に移動

これが足りていないと、次のエラーが発生するようです。

Failed to create VSS snapshot of source volume. Error code: 2147754783(0x8004231F). 

4.仮想化するマシンのVolume Shadow Copyサービスを有効にする

コントロールパネルから、『管理ツール->サービス』を選択し、 サービス一覧を表示します。 一覧からVolume Shadow Copy Serviceを捜し、『スタートアップの種類』を『自動』 に設定します。

![コンパネ→管理ツール] (https://img.skitch.com/20120625-ghgec3kruxiirgkmkd6k1wftjm.gif) ![サービス] (https://img.skitch.com/20120625-q1f2a5d35a8bjj7kqhpbixbxj5.gif)

これが足りていないと、次のエラーが発生します。

FAILED: Unable to create a VSS snapshot of the source volume(s). Error code: 2147754758 (0x80042306).

参考資料

VMware Converter の使用とトラブルシューティングに関するベスト プラクティス

http://kb.vmware.com/selfservice/documentLinkInt.do?micrositeID=&popup=true&languageId=&externalID=1033253

公式サイトのサポートページです。

http://www.vmware.com/support/converter/doc/releasenotes_conv40.html http://communities.vmware.com/thread/308014

公式サイトのフォーラムです。 エラーが発生した場合は、『VMware (エラーコード)』で検索すると、 手がかりが得られるかも知れません。

さくらのレンタルサーバーにgitをインストールした

前回の記事では、さくらのレンタルサーバーにGitを入れようとして失敗しました。 今回は、その解決法を書きます。

解決法

パッケージ管理システム経由では入らないようなので、ソースをコンパイルして直接インストールしてしまう事にしました。

gitのtarballからコンパイルしてインストールします。

mkdir gitinstall  
cd gitinstall  
wget https://github.com/git/git/tarball/v1.7.11-rc3 --no-check-certificate
tar xjvf git-1.7.3.5.tar.bz2
.cd git-1.7.3.5
./configure -prefix=$HOME/local
gmake
vi Makefile
# prefix = $(HOME)/local  を記述
gmake install

これで、~/local/binにgitがインストールされます。 Makefileを変更しないと、~/binに入ってしまい、具合が悪いようです。

2012/06/22追記:

~/binに入ってしまうと、組み込みのコマンドと混ざるので、 * 環境が汚くなってしまうからかな・・・と思いました。*

パスを通す

最後に、パスを通します。

vi ~/.cshrc

set path=( で始まる行を見つけ、括弧の中に、以下を追加します。

/$HOME/local/bin

直前の文字と、スペースを挟んで区切るのを忘れないでください。 これで、gitにパスが通り、which gitが成功するはずです。 光へ続く道が開かれました。

参考文献

さくらのレンタルサーバーにGitをインストールする方法

さくらのレンタルサーバーを借りた

Webサイトを作るため、サーバーを借りてみたくなったsatrexです。

さくらのレンタルサーバー対VPS

さて、さくらのレンタルサーバーとさくらのVPSで迷いました。
メリット・デメリットを比較すると、おおむね以下のようになりました。


レンタルサーバー

  • メリット:
    • セキュリティがしっかりしている
    • 設定がめんどくさくない
    • ちょっと安い
  • デメリット:
    • 自由度が低い
    • OSを選べない
    • ディスク容量が少ない(10G)

VPS

  • メリット:
    • 自由度が高い
    • OSを選べる
    • ディスク容量が多い(100G〜)
  • デメリット:
    • セキュリティは自分で設定(やや不安)
    • いろいろと設定しないと
    • ちょっと高い

コストはたいした問題ではありません。
月500円が1000円でも似たようなもんです。

まずはレンタルサーバー

迷ったらとりあえずミニマルな選択肢を試します。
レンタルサーバーを仮登録してみました。

そこで感じたことをレポします。

sshログイン

サーバー屋さんが数多くある中で、 さくらのレンタルサーバーを選んだのは、 sshログインできるからです。
WordPressとか、GUIだけでメンテするのはしんどそうです。

さっそくログインしてみた

サーバーのパスワードが書かれたメールが 見当たらず、サポートにメールを送った朝7時でした。

昼の13時ごろにはメールの再送を受けられ、 無事にログインはできました。

しかし、新たな問題の幕開けに、そのころのオイラは気づいていなかったのです。

Gitが入らない

次に欲しいのはGitです。 これがあれば、ローカルの仮想マシンと同期できます。
仮想マシンでコンテンツを作り、 Pushしておき、レンタルサーバーからPullすれば、 電車の中でもWebが作れるというものです。

さっそく、gitをインストールする手段を講じました。

Portsの憂鬱

FreeBSDのパッケージ管理は、Portsで行うようです。
さっそくtarボールをダウンロードしました。
解凍しますが・・・

%tar -x ports.tar
tar: Error opening archive: Failed to open '/dev/sa0'

当然ですがroot権限がないため、 Portsが入れられません。

pkgの挫折

Portsがダメならpkgです。 pkgは、WordPressをインストールするために、すでにインストールされているようです。

さっそくこれを使ってみますが・・・ パッケージのインストールを認めてくれません。

とりあえずの結論です。
Git使いは、ちょっといいプランを借りないとだめ
お試し期間中なのでキャンセルし、プランを見直そうと思います。
パッケージ管理をあきらめ、ソースコードからgitをコンパイルしてインストールすることにしました。

次の記事で詳しく書きます。

便利!Toodledoアプリのパスワード

Toodledoをアプリから使う

普段、オイラはタスク管理にToodledoを使っています。

Webブラウザで操作する事が多いのですが、 専用アプリがあるので、それもたまに使います。

[ToodledoApp]

アプリの利点

基本的には、アプリの操作は、ブラウザと同じです。 というか、専用Webブラウザのようなものです。

Webブラウザと別になっていることで、 見たい時にさっと見られるし、画面も広く使えます。 Webブラウザと同時に画面に表示することもできるので、 とても便利です。

アプリの弱点

しかし、ひとつだけとても不便なところがありました。 それは、パスワードを覚えてくれないことです。

FireFoxにはパスワード管理ソフトのLastPassが入っていますが、 専用ブラウザでは、その恩恵を受けることができません。

[PasswordCopying]

KeyChainも効いてくれないので、今までは、いちいちブラウザの LastPass管理サイトを開き、パスワードをコピーしていました。 面倒このうえないです。

魔法で解決

そこで、ページを読み込んだ際に、あらかじめ決めておいたパスワードを 画面の入力項目に挿入するスクリプトを書きました。

[ScriptInput]

画面丈夫のスクロールマークをクリックして、 スクリプトを入力します。

ファイルは、ホームフォルダに勝手に作られます。 この1行には、『PASSという名の部品を選んで、パスワードを入力する』 という意味があります。

使用後

さて、Toodledoアプリを再起動します。

すると、パスワード欄が埋まりましたね。

[ToodledoApp][] [PasswordCopying][] [ScriptInput][] [Done][]