Category Archives: Ruby

Mac OS XでRuby Gemをinstall出来ない問題

0
Filed under Ruby
Tagged as

Ruby GEMでSQLite用のライブラリをインストールしようとしたらエラーが出て、その対処に四苦八苦したので、解決手順をメモしておきます。

sudo gem install でエラー

下記のようなエラー(ruby.hが見つからないというエラー)が出て、インストール出来ませんでした。

1
2
3
4
5
6
7
8
9
10
11
12
$ sudo gem install sqlite3
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3:
	ERROR: Failed to build gem native extension.
 
        /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h
 
 
Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/sqlite3-1.3.6 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/sqlite3-1.3.6/ext/sqlite3/gem_make.out
$

コマンドラインツールをインストール!

解決策はここに書かれていました。

端的に書くと、解決策は『Xcodeでコマンドラインツールをインストール』です。

手順は次のとおり。

  1. Xcodeを開いて、Preferencesを開く
  2. DownloadパネルのComponentsタブを開く
  3. “Command Line Tools”がインストールされていなかったので、インストール

出来たよ!!


[AD]

↓新書はKindleと相性良さそうだよね。いろいろ読みたい!

↓やたら評判がいい「MAKERS」もKindle化済み!欲しい!!

MAKERS―21世紀の産業革命が始まる

MAKERS―21世紀の産業革命が始まる

カテゴリ:Kindle版

発売日:2012-10-25


晴れときどきMacRubyインストール

0
Filed under Mac, Ruby
Tagged as , , , ,

MacRubyというツールで、Xcode+Rubyという環境でMacアプリを簡単に作れるらしいので、ちょっとどれほどのものか、とりあえずテストプロジェクトのビルドまでをやってみました!
作業環境は、Mac OS X 10.7.3、Xcode 4.3.2、MacRuby 0.10 です。
最近のMacRubyは、Intel 64bitのMac OS X 10.6以上、という環境でないと動かないので注意。

参考サイト

いくつかのチュートリアルページを見て、設定も簡単そうなので、試してみました。

ここを読む限り、簡単に出来そうで始めたわけです。
が!最新事情はちょっと変わっていて、ちょっとハマったので、下記にその解決策も書いておきます。

なにはともあれダウンロード

まず、公式サイト(http://www.macruby.org/)より、インストーラ(.zip)をダウンロードします。

インストーラパッケージ「MacRuby 0.10」をダブルクリックしてインストール。

完了したら、ターミナルで下記のようにコマンドの存在を確認できます。

Xcode 4.3対応

チュートリアルページを見てもこれで完了のハズですが、Xcodeで新規プロジェクトのダイアログを開いても、MacRubyが出てきません

あれ?と思っていろいろ考えてみたら、Xcode 4.3でフォルダ構成がガラっと変わったことを思い出しました。
Xcode 4.2.x までは、 /Developer というフォルダにすべてが入っていたのですが、4.3からは、Xcode.app内に移動したのです。

で、探ってみたら、やはりMacRubyインストーラは/Developer フォルダにいろいろと入れているので、これを移動します。
Finder上でやってもうまくいかないところが出てくるので、ターミナルでsudoコマンドで実行しましょう。
MacRubyがインストールしたのは、/Developer/ 以下の Library、Examplesというフォルダと、binの3つのフォルダ。
まずは下記のように、Library、Examplesフォルダをコピーします。

1
2
$ sudo cpmac -r /Developer/Library /Applications/Xcode.app/Contents/Developer/
$ sudo cpmac -r /Developer/Examples /Applications/Xcode.app/Contents/Developer/

もう一つのbinフォルダですが、この中に入っているのはrb_nibtoolというシンボリックリンク一つです。
シンボリックリンクをそのままコピーすると問題が出てくるので、改めてシンボリックリンクを作成します。
rb_nibtool ですが、 /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/bin/rb_nibtool へリンクが貼られていたので、そのようにシンボリックリンクを作成します。
※このシンボリックリンクがうまく貼れないと、Xcode上で、xibファイルを見るときにXcodeが落ちたりします。

1
$ sudo ln -s /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/bin/rb_nibtool /Applications/Xcode.app/Contents/Developer/usr/bin/

以上でインストール完了です!
改めてXcodeを開いてみると、下図のようにMacRuby Applicationのテンプレートが追加されています!

テストプロジェクトのビルド

ちょっとテストなので、ドキュメントベースでもなく、CoreDataも使わない設定でプロジェクトを作ります。

プロジェクトが作られたら「⌘+R」でそのままビルド、実行できました!

さて、何しよう!?

関連エントリ:exerb

Windowsでも、CUIアプリ(.exe)なら簡単に作れます。
というエントリを以前書いていたので、改めて紹介。

.rbファイルをコンバートし、.exeにする、というものです。
最新版は2011年12月末にリリースされているので、その後もきちんとメンテされているようですね!
オープンソースプロジェクトでメンテナンスって一番重要だと思うので、とても評価できるプロジェクトだと思います。


[AD]

↓ヒレガス氏の著書。結構評判いいらしい。

Mac OS X Cocoaプログラミング 第三版

著者/訳者:Aaron Hillegass アーロン ヒレガス

出版社:ピアソン桐原( 2009-11-01 )

定価:

単行本 ( 479 ページ )

ISBN-10 : 4894714469

ISBN-13 : 9784894714465


↓英語だけど、比較的新しい著書なので内容は参考になりそうですね!

MacRuby: The Definitive Guide. Ruby and Cocoa on OS X, the Iphone, and the Ipad

著者/訳者:Matt Aimonetti

出版社:Oreilly & Associates Inc( 2011-11-03 )

定価:¥ 4,743

Amazon価格:¥ 2,977

ペーパーバック ( 223 ページ )

ISBN-10 : 1449380379

ISBN-13 : 9781449380373


roo:スプレッドシートを操るRubyライブラリ

1
Filed under Ruby
Tagged as , , ,

rooとは、スプレッドシートをパース出来るRubyライブラリです。
Excel(.xls)やOpenOffice.orgのCalc(.ods)、さらに未検証ですが、Google DocumentsのSpreadSheetも操作できるようです!
なかなか面白いライブラリだし、ちょっとしたツールとして便利ですよ!

参考サイト(2015-06-04更新)

インストール手順

rooのインストールは、RubyGemsで楽勝です。
とりあえず、私は久しぶりのRubyGemsなので、アップデート確認から。

$ sudo gem update --system

これで、1.8.17にアップデートされました。
rooの情報を見てみます。

$ gem search -r roo
 
*** REMOTE GEMS ***
(略)
roo (1.10.1)

1.10.1ということで、サイトにある情報より新しくなっています。
で、次のコマンドでインストールします!

$ sudo gem install roo

テストスクリプト1:読み込み

「OpenOffice.org Calcのドキュメント(.ods)を開いて、値を参照する」こういうRubyスクリプトは次のようになります。

1
2
3
4
5
6
7
8
9
10
11
12
require 'rubygems'
require 'roo'
 
# 読み込み.
ods = Roo::Spreadsheet.open("Test.ods")
 
# テスト出力.
p ods.cell(1,1) # 1行目、1列目の値.
p ods.cell(1,2) # 1行目、2列目の値.
 
p ods.last_column # 値がある最後の列番号.
p ods.last_row    # 値がある最後の行番号.

超簡単!!!

テストスクリプト2:ループ

1列目にデータがある行の2列目のデータを出力する処理するスクリプトは次のような感じになります。

1
2
3
4
5
1.upto(ods.last_row) do |line|
 if ods.cell(line,1) != nil
 	p ods.cell(line,2)
 end
end

全く問題ないですね!
これは素晴らしいライブラリ!!


[AD]

↓これ、面白そうだなぁー!エンジニア仲間でワイワイやりたい感じ。

プログラマのための論理パズル 難題を突破する論理思考トレーニング

著者/訳者:Dennis E. Shasha

出版社:オーム社( 2009-03-26 )

定価:

Amazon価格:¥ 2,592

単行本 ( 260 ページ )

ISBN-10 : 4274067556

ISBN-13 : 9784274067556


Boxcar経由でMacからiPhoneへ通知する

1
Filed under iPhone, Ruby, ウェブサービス
Tagged as , , ,

Growlの真骨頂

Growlには画面表示の通知だけではなくメール送信などによる通知もできると、先日のブログエントリ「ターミナルから(Growl)通知するコマンド」で書きました。
このGrowlについて調べていくうちにさらに面白い機能について知ることになったので、検証してみます。その機能とは、GrowlでiPhoneに通知する、というものです。

iPhoneアプリ:Boxcar

iPhoneに通知するために、Boxcarというサービス+アプリを使います。
Instant Notifications for Facebook, Twitter, Email and More! — Boxcar



iPhoneにはPush Notificationというプッシュシステムがありますが、Boxcarはそれを使ったサービスで、twitterや各種通知を一手に引き受けてくれるものです。

設定は簡単で、アプリをインストールし、その中でtwitterやfacebookなど各種サービスの設定をしておくだけで、通知をしてくれるようになります。Boxcarアプリ自体は起動していなくても、通知してくれます。

growlnotify to Boxcar(iPhone)

このBoxcarには、Growlとの連携サービスが組み込まれていて、growlnotifyというコマンドと、BoxcarというiPhoneアプリの組み合わせると、MacのターミナルからiPhoneに通知できるようになります。
iPhoneアプリをダウンロードし、サービスにサインアップします。これがBoxcarのサービスを使うためのアカウントとなります。
次に、アプリ内で”Add a Service” → “Growl”を選び、右上の[Save]を押します。
これでiPhone側の設定は完了!

次に、Macに戻り、システム環境設定のGrowlを開き、growlnotifyの表示スタイルにBoxcarを選び、Boxcar E-mail、passwordを入力します。

Verify Loginでアカウントを確かめて、Great!とでたら、「プレビュー」を押してみます。問題なければ、これで通知されます!

いろいろなシステムと連携した活用方法が考えられますね。

Boxcar API

Boxcarには、各種APIが用意されており、Ruby Gemsにも公式ライブラリがあったります。

これを使えば、Growlを使わずに直接Boxcarを叩けます!
自分で作ったウェブサービスを簡単にiPhoneのPUSH通知に対応させるときにはBoxcarの使用を検討することもアリかもしれません。


[AD]

↓マルチタッチには非対応だが、カメラ有りでAndroid 2.1が載っているので、ちょっとした開発に面白そう!

【Android 2.2】 Creative ZiiO 7 インチ Android タブレット 8GB ZO-7S8G-WT

【Android 2.2】 Creative ZiiO 7 インチ Android タブレット 8GB ZO-7S8G-WT

定価:¥ 20,366

カテゴリ:Personal Computers

発売日:2010-12-18


↓iOS SDKのPush Notificationについての記事もあります!

iOS SDK Hacks ―プロが教えるiPhoneアプリ開発テクニック

著者/訳者:吉田 悠一 高山 征大 UICoderz

出版社:オライリージャパン( 2010-10-23 )

定価:

Amazon価格:¥ 2,592

単行本(ソフトカバー) ( 196 ページ )

ISBN-10 : 4873114721

ISBN-13 : 9784873114729


↓Rubyのテクニックが詰まっている!!!

Rubyベストプラクティス -プロフェッショナルによるコードとテクニック

著者/訳者:Gregory Brown

出版社:オライリージャパン( 2010-03-26 )

定価:

Amazon価格:¥ 3,456

大型本 ( 364 ページ )

ISBN-10 : 4873114454

ISBN-13 : 9784873114453