Kinopyo Blog

プログラマとしてRuby, Rails, iPhone, iPad,Macなどなどと向き合う日々のログポース

Archive for the ‘Mac’ Category

Macのrubyで、no such file to load — ubygems (LoadError)

2011年05月23日

Sinatraを試したところこのようなエラーになりました。

ruby -rubygems myapp.rb
no such file to load -- ubygems (LoadError)

ググッてみたらやはりPATHが間違ったっぽいです。

Macportでrubygemsをインストールすることで解決できるそうです。

その後はgemを再度インストールする必要があるらしいです。

操作の流れ:

#パスの確認
which gem
/usr/bin/gem

sudo port install rb-rubygems
...
# Terminal再起動
# パスの確認
which gem
/opt/local/bin/gem

sudo gem install sinatra

一旦はこれで解決です。

参考になったサイト:

Macでrubygemsのrequireエラーが発生する件 – holyppの日記

Macのrubyで、require 'rubygems'ができなかったので対処 – Kuna の逆行列

とてもシンプルなタイマーアプリTimeRingFocus(Mac)

2011年05月17日

とてもシンプルで使いやすいタイマーアプリTimeRingFocus

を発見しましたので紹介させていただきます。

Mac専用になります。


時間の設定にはマウスクリックするか、キーボードのTabキーでhh:mm:ss間で切り替えられます。

そして時間を入力してreturnキー(Enterキー)を押せば設定完了です。とてもシンプルです。


例えば15分と設定したい場合の操作手順は:

  1. option + space(MacアプリAlfredのホットキー)
  2. “ti”を入力(よく使うのでtiだけで起動できる)し、returnキー
  3. tabキーを一回、”15″と入力、returnキー

慣れたら5秒以内で設定できます〜


[Setup]ボタンで設定画面に行きますが、こちらのsoundを「Glass」に設定しています。

全部試しましたが、これが一番いいかと思います。


普段の仕事では結構こまめに8分とか15分とかを設定して、

その間は集中することに決めてSkypeなども見ないようにしています。

結構効率アップにつながると思います。

注意点

command + Wで閉じたらアプリは終了

command + Mで最小化した場合は、[Bring to Front]が無効となる

command + Hで隠すのは正常動作

PHP: mysqlnd cannot connect to MySQL 4.1+ using old authentication

2011年03月17日

問題

新しい mysqlnd ライブラリは、MySQL 4.1 用の41バイトの新しいパスワードフォーマットを使用します。 古い16バイトのパスワードを使うと、mysql_connect() 系の関数は次のようなエラーメッセージを生成します。”mysqlnd cannot connect to MySQL 4.1+ using old authentication”

http://www.php.net/manual/ja/migration53.incompatible.php

MacPortでインストールしたPHP5.3では、

mysqlnd(php5.3のmysql native client)が適用される。

しかし、CentOSなどのyumでインストールできるMySQLサーバーとの相性がよろしくない。

PHP Warning: mysql_connect(): mysqlnd cannot connect to MySQL 4.1+ using old authentication

というエラーが現れ、接続することができません。

mysqlndを利用しないよう再コンパイルが必要となる。

http://taikimen.blogspot.com/2010/10/snowleopard-php53mysql.html

解決方法

portでインストールしたモジュールを確認、mysqlndがactiveなってるはず。

sudo port installed

php5-mysql @5.3.5_0+mysqlnd (active)

そしてmysql5のvariantsを指定で再インストール。

% sudo port install php5-mysql +mysql5
--->  Computing dependencies for php5-mysql
--->  Fetching php5-mysql
--->  Verifying checksum(s) for php5-mysql
--->  Extracting php5-mysql
--->  Configuring php5-mysql
--->  Building php5-mysql
--->  Staging php5-mysql into destroot
--->  Installing php5-mysql @5.3.5_0+mysql5
--->  Deactivating php5-mysql @5.3.5_0+mysqlnd
--->  Cleaning php5-mysql
--->  Activating php5-mysql @5.3.5_0+mysql5
--->  Cleaning php5-mysql

再度port installedで確認すればmysql5がactiveになるはず。これで解決。

php5-mysql @5.3.5_0+mysqlnd
php5-mysql @5.3.5_0+mysql5 (active)

参考

【php】mysqlndを使うとMySQLに接続できない

http://www.softel.co.jp/blogs/tech/archives/2225

SnowLeopard + PHP5.3でのMySQLリモート接続

http://taikimen.blogspot.com/2010/10/snowleopard-php53mysql.html

PHP: mysqlnd cannot connect to MySQL 4.1+ using old authentication

http://www.bitshop.com/Blogs/tabid/95/EntryId/67/PHP-mysqlnd-cannot-connect-to-MySQL-4-1-using-old-authentication.aspx

おまけ

mysqlが古い16バイトのパスワードを使ってるかを確認する方法です。

mysqlにログインして下記コマンドを実行:

mysql> select password('aa');

+------------------+
| password('aa')         |
+------------------+
| 0123456789abcdef |
+------------------+

16位だっだら古いです。40位なら新しいってことです。

Macのターミナルを活用

2010年11月29日

ターミナルの起動

ターミナルはApplication/Utilitiesフォルダにあります。

CTRL+Spaceで直接Terminalを叩いても直接開けますので、

とても便利でずっとこれを使ってます。

基本コマンド

ls
(Windowsのdirコマンドと同じ役割)list files and directories
cd
change directory
mkdir
create a new directory
cp
copy files or directories
mv
move (rename) files or directories
rm
remove files or directories

便利なコマンド

  • pwd

今のディレクトリのパスを返します。”/Users/(yourusername)”のような

  • open

Finderでダブルクリックと同じ効果です。アプリを開くに使います。

  • ~

波記号はHomeディレクトリのショートカットです。

例えばcd ~で叩くとデフォルトで”/Users/(yourusername)”ディレクトリに行きます。

ジョブコントロール

  • ps -ax

これはActivity Monitorのコマンドバージョンと理解していいでしょう。

現在アクティブなアプリのリストを表示します。

よくgrepコマンドと組み合わせて使います。

ps -ax | grep http
ps -ax | grep mysql
  • kill

ps -axの一番目の列はプロセスのIDの列です。

あるプロセスを強制的に終了させたい場合はID指定で”kill”できます。

kill xxx

上記の”xxx”はプロセスのIDです。

またアプリの名前がわかった場合はkillallコマンドが使えます。

killall Dock

大文字小文字は区別しますので、気おつけてください。

Mac XAMPP環境でmemcacheとPHP extensionのインストール

2010年09月24日

環境情報

  • Mac OSX Snow Leopard 10.6.4
  • XAMPP 1.7.3

手順書

1. Apple Developer Tools (Xcode)の最新版をインストール
2. XAMPP Developer Packageをインストール

http://www.apachefriends.org/en/xampp-macosx.htmlより下記赤線のリンクをダウンロードします。

xampp develop package for mac

参考リンク:http://blog.m-schmidt.eu/2010/03/30/develop-memcached-web-apps-with-xampp-under-mac-os-x/

ダウンロードしたdmgファイルを開いてDevel-Package.mpkgをダブルクリックでインストールします。

3. ターミナルを開いて(/Applications/Utilities/Terminal)下記コマンドを実行

cd /tmp

pecl download memcache

tar xzf memcache-2.2.5.tgz

cd memcache-2.2.5

/Applications/XAMPP/xamppfiles/bin/phpize-5.3.1

MACOSX_DEPLOYMENT_TARGET=10.6 CFLAGS='-O3 -fno-common -arch i386 -arch x86_64' LDFLAGS='-O3 -arch i386 -arch x86_64' CXXFLAGS='-O3 -fno-common -arch i386 -arch x86_64' ./configure --with-php-config=/Applications/XAMPP/xamppfiles/bin/php-config-5.3.1

make

sudo make install

成功したら/Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-xxxxのフォルダ(xxは20090626みたいな日付)にmemcache.soというファイルが生成されます。

4. php.iniファイルの編集

/Applications/XAMPP/xamppfiles/etc/php.iniファイルを開いて”Dynamic Extensions”のブロックを検索し、下記内容を追記します。私の環境では538行くらいでした。


extension=memcache.so

こんあ感じです。

Add memcache extention to php.ini

5.memcacheを立ち上がる

ターミナルで下記コマンドを実行します。


memcached -m 8 -l 127.0.0.1 -p 11211 -d

これは自分の環境でmemcacheをIP:127.0.0.1、ポート:11211、8MBのRAMスペースで立ち上がる意味です。

6. phpで動作確認

下記ファイルを用意します。ファイル名は任意です(ここではmemcache.phpとしました)。

<?php

$memcache = memcache_connect('127.0.0.1', 11211);

if ($memcache) {
	$memcache->set("str_key", "String to store in memcached");
	$memcache->set("num_key", 123);

	$object = new StdClass;
	$object->attribute = 'test';
	$memcache->set("obj_key", $object);

	$array = Array('assoc'=>123, 345, 567);
	$memcache->set("arr_key", $array);

	var_dump($memcache->get('str_key'));
	var_dump($memcache->get('num_key'));
	var_dump($memcache->get('obj_key'));
}
else {
	echo "Connection to memcached failed";
}
?>

これを/Applications/XAMPP/xamppfiles/htdocsに置いて、ブラウザでhttp://localhost/memcache.php(あるいはhttp://127.0.0.1/memcache.php)を開きます。

下記のようなページが表示されればOKです。

memcache test in php

ちなみにmemcacheを停止するコマンドは:


killall memcached

Mac Subversion Client: SCPlugin

2010年09月20日

The command contextual menu

コンテキストメニューであらゆるコマンドが実行できる。

Repository checkout

リポジトリチェックアウト.

For more screenshots

Download

ダウンロードしたらApplicationフォルダからアイコンをFinderのツールバーにドラッグしてね。

参考サイト:

http://blog.creamu.com/mt/2009/04/macsvn2.html

Macで隠しファイルを表示する方法

2010年07月07日

Macではドット”.”で始まるファイルやフォルダは隠しフォルダ、ファイルになるようです。

Finderで表示する方法を紹介します。

はるか昔のメモです。。

  1. ターミナルを開く(アプリケーション/ユーティリティ)
  2. 下記コマンドを叩いてreturnキーを押して実行
  3. defaults write com.apple.finder AppleShowAllFiles -bool true
    
    killall Finder
    

  4. ログアウト、あるいはkillall Finderで効果が見れます

隠しファイルを非表示にするには

上記と全く同じ手順で、コマンドを書き換えます。

defaults write com.apple.finder AppleShowAllFiles -bool false

MagicMouseを買いました

2010年02月16日

マルチタッチがサポートされているマジックマウス、

ついに購入しました。

今のところはまだクリックとスクロールだけデフォルトで使えますが、

そのうちフルパワーを発揮したいと思います。


マルチタッチ以外でBluetoothが使えるのも私にとって大きなポイントです。

今はACアダブタ以外にMacに接続する線などがなくなり

整然とした感じです。

ちなみにクリーニングも大変便利になりそうです。

毛が立ってない布を使って表面を掃除できます。


あとはゲームでもマルチタッチが使えるなら最高。。。

以下写真を御覧下さい。

MacでTomcatをインストール

2009年12月30日
ダウンロード

tomcat-download

Tomcat公式サイトダウンロードページで上記ファイルをダウンロード

インストール

ただ適当な場所に解凍するだけです。

起動/終了

ターミナルを起動しTOMCAT/binに移動する

  • 起動 ./startup.shを実行
  • 終了 ./shutdown.sh

“./”は必須です。

ターミナルで使われるUNIXコマンドはイマイチなので、もっと便利な使い方はあると思います。

検証

http://localhost:8080

集中力向上のテキストエディタOmmwriter:見た目と背景音楽で陶酔

2009年12月07日

Mac向けのソフトです。同じ集中力アップのWriteroomと似てますが、

使ってみると結構こっちが陶酔するくらい美しいです。

音楽が流されて、何かを書くこと自体が癒されるプロセスになります。

下記DEMOをぜひ御覧下さい。

Ommwriter from Herraiz Soto on Vimeo.

ダウンロード

Welcome – Ommwriter