yuuponの日記 このページをアンテナに追加 RSSフィード

2009-11-19

[][]QuickSilverイーモバイルモデム接続・切断を行う

QuickSilverからイーモバイルモデム接続・切断を行うために自分が行っている方法をメモ

Mac OS X 10.5 (Leopard)で確認。

Snow Leopardはまだインストールしてないので動作は未検証。

Automatorイーモバイルモデム接続を行うアプリケーションを作成

1.イーモバイルモデムAutomatorを起動

2.「新規ワークフローの開始点を選択してください:」のダイアログで「カスタム」を選択

3.アクションから「AppleScriptを実行」を選択し、ワークフロー部に追加

4.「AppleScriptを実行」のフローに以下のスクリプト記述

on run {input, parameters}
	tell application "System Events"
		tell current location of network preferences
			set EMobile to service "HUAWEI Mobile"
			if exists EMobile then connect EMobile
		end tell
	end tell
	return input
end run

スクリプトの4行目で「HUAWEI Mobile」という文字列を指定しているが、これは自分イーモバイルの「D02HW」を利用してて、[システム環境設定 > ネットワーク]の左側ペインの一覧にて、この文字列イーモバイルモデム接続設定が行われているため。モデムの機種によってこの文字列が異なるかもしれないので、その時はお使いモデムに合わせた文字列に変更してください。

5.スクリプトが書けたら「AppleScriptを実行」のフローの実行ボタンを押す。モデム接続が行われればOK

6.設定したフローを保存。名前を設定し(例:emobile起動)、適当ディレクトリ位置を指定(自分は~/Documents に保存)。フォーマットを[アプリケーション]に変更して保存する。

7.ここまでの手順で、~/Documents/に、[保存した名称].app というファイルができてることを確認。

8.上記ファイルを実行すると、Automatorランタイムにより、イーモバイルモデム接続されるようになる。

QuickSilverに作成したアプリケーションカタログ

QuickSilver再起動するか、メニューバー「QuickSilver > Rescan Catalog」を実行することで、Automatorで作成したアプリケーションカタログされるようになる。

あとは、QuickSilverを起動して、作成したアプリケーション名前入力し「Open」すれば、QuickSilverからイーモバイルモデム接続ができるようになる。

Automatorイーモバイルモデムの切断を行うアプリケーションを作成

1.「Automatorイーモバイルモデムの切断を行うアプリケーションを作成」の手順1〜3までを実行。

2.「AppleScriptを実行」のフローに以下のスクリプト記述

on run {input, parameters}
	tell application "System Events"
		tell current location of network preferences
			set EMobile to service "HUAWEI Mobile"
			if exists EMobile then disconnect EMobile
		end tell
	end tell
	return input
end run

接続スクリプトとの相違点は、5行目の「connect」が「disconnect」になっている事だけ。

3.作成したフロー適当名前をつけてアプリケーションとして保存する。

4.QuickSilverカタログさせる。

というわけで、これにてQuickSilverを使ってキーボード入力のみでイーモバイルモデム入力・切断ができるようになった。

参考URL

AppleScriptの部分はこのemylo0さんのブログエントリーに書かれてるのを流用させていただいてます。

ありがとうございました。

2009-09-30

[]Rubyファイルディレクトリを年ごとに整理

という処理を書いてみた。

なんかRubyらしくない感じに思えるので、詳しい方添削をお願いします。

#!/usr/bin/ruby

require 'fileutils'

Dir.foreach(Dir.pwd) {|file|
  year = File.mtime(file).year.to_s

  dirname = Dir.pwd + "/__" + year
  if File.directory?(dirname) == false
    FileUtils.mkdir(dirname)
  end

  if file.to_s != __FILE__
    FileUtils.move(file, dirname, {:force => true})
  end 
}

2009-08-31

[][]SalesForce.comのアーキテクチャ

知られざる「マルチテナントアーキテクチャ」(1)〜SaaSはみんな同じではない?
http://www.publickey.jp/blog/09/1saas.html
知られざる「マルチテナントアーキテクチャ」(2)〜スケーラビリティのカギは組織ID
http://www.publickey.jp/blog/09/2id.html
知られざる「マルチテナントアーキテクチャ」(3)〜スキーマメタデータの謎
http://www.publickey.jp/blog/09/3_2.html

SaaSといえばSalesForce.com。

そのアーキテクチャオープンになっている資料から推測した記事。

最近流行ってるキーバリュー型データストアを利用せず、スケーラビリティが高く、カスタマイズ性に優れたマルチテナントWebアプリケーションの仕組みを普通RDBMSを使ってどのように実現しているかかいま見る事ができる。

とくに、顧客カスタマイズしたフィールドデータを、500個を超える多量のフィールド定義したひとつのテーブルでデータ管理してるのには驚いた。

えー?こういうデータの持たせ方でいいのか!ってな感じ。

2009-08-26

[]話題のSinatraを使ってみた。

SinatraRuby製の軽量フレームワーク

Sinatra

http://www.sinatrarb.com/

インストールgemコマンドを使う。

$ sudo gem install sinatra

インストール完了後、こんな内容のファイルhello.rbと名前をつけて、適当ディレクトリに保存する。

require 'rubygems'
require 'sinatra'
get '/hi' do
  "Hello World!"
end

Sinatraの起動はrubyコマンドを使う。

$ ruby hello.rb
== Sinatra/0.9.4 has taken the stage on 4567 for development with backup from Mongrel

ブラウザを起動し、http://localhost:4567/hiURLアクセス

Hello World

ブラウザにこのように表示されれば起動確認は完了。

ちなみに、存在しないURLアクセスした場合、ステージマイクがポツンと置かれた画像とともにオシャレなエラー画面が表示される。

パラメータ受け取りの一例はこんな感じ。

get '/hi/:name' do
  "Hello #{params[:name]}!"
end

内容を更新した場合、起動中のSinatra再起動しないと反映されない。

再起動後、http://localhost:4567/hi/yuuponURLアクセスすると、

Hello yuupon!

と表示される。

すごくシンプル。これまで自分が使ってきたPHPMapleZend Frameworkなどのフレームワークとは毛色が異なりすぎて、なんだか「え、こんなんでいいの?」と戸惑ってしまう。

しかし、Ruby関数を組み込んだり、表示するコンテンツを外部テンプレートファイルに切り分けたり、外部ライブラリrequireしてデータベースにも接続できる。

セッションなど足りない機能は自分自身で実装するのでなくRackミドルウェアの機能を利用したりもできるらしい。

なんだかコバンザメっぽい感じ。

単にシンプルな構文が特徴的、とまとめるにはちょいと奥が深すぎるフレームワークなのかもと思った。

2009-08-23

[][]「小さなメーカーになりませんか?」元ハドソン中本伸一氏の講義が面白かった件

ひと月に一度「e-シルクロード大学」(http://esre.sblo.jp/)という、元北大教授青木由直先生主催する勉強会に参加している。

2009-08-20に行われた講義講師は、ゲームメーカーハドソンの役員だった中本伸一さん。ファミコン時代の数々の名作や、PCエンジンなどを手がけた技術者として、日本のゲーム史にその名を残す著名な方だ。

ハドソンを辞めた後、現在札幌有限会社サイレントシステムという、社員2人だけの小さな会社起業して活躍されている。

今回の講義は、会社起業してからこれまでの経験を「個人で起業するにあたって」と題して語ったもの。

講義中に垣間見える、中本さんのタフさやマッチョぶりに驚かされ、また、起業家を目指さずとも、不安定な時代を生きるサラリーマンにとって参考になるとても有益な講義だったと思う。

以下、講義中にとったメモのうち、一部をピックアップして箇条書きで振り返ってみたいと思う。

北海道のIT業界の現状

「小さなメーカー」を目指す

サイレントシステム社の仕事

社員は2人だけ

経理業務について

広告について

ビジネスモデル秋月電子

「Made in Hokkaido」のこだわり

ハイブリッド起業

まとめ

その他、旧態依然な価値観を持つ勢力との戦いとか、補助金のもらい方のコツとか、起業の際に銀行は当てにならないとか、小一時間ばかりの時間とは思えぬボリューム感たっぷりな講義で楽しめた。

個人的な印象としては、最近はてブのホッテントリにも上がった、ポール・グレアムの「ラーメン代稼ぎ」(http://d.hatena.ne.jp/lionfan/20090728#1248806416)に通じるものがあるなと思った。

講義の終わりに、青木先生が「中本さんのような事は、誰にでもできる事ではない」と出席者に釘をさしてたのが印象深いです。