「iOSデバイスと共有 (WebDAV)」機能で便利になるiOSアプリ

2011年9月20日

Lion Serverの「iOSデバイスと共有 (WebDAV)」機能を使うと、簡単にiOSアプリから共有ポイントに置いたファイルにアクセスできるようになり、iOSアプリで作成したファイルを保存することもできるようになります。ファイル共有なのでアクセス権の設定も簡単です。

そうすると、個人的に便利だなと感じているのが、「GoodReader」や「iAnnotate PDF」です。これらのアプリはいずれもWebDAVサーバに接続することができます。

Lion Serverの「iOSデバイスと共有 (WebDAV)」機能はWebDAVサーバなのでWebDAVサーバに対応したこれらのアプリは直接アクセスできます。

例えば、プリントアウトして手元に置きながら作業していた書類を、プリントアウトせずにPDFにしてサーバにおいておいて、GoodReaderでiPadと同期させて、iPadに表示する。プリントアウトするのと同じように手元で書類が読めます。後でシュレッダーにかける手間もいりません。

校正を行う書類なら、「注釈入り」と「オリジナル」というフォルダを作成して、両方にPDFにした書類を置きます。そして、iAnnotate PDFで、「注釈入り」の方をダウンロードして、校正しながら注釈を追加。終わったら、「アカウントにアップロード」機能を実行。すると、サーバの「注釈入り」フォルダの中のPDFは、iPadで注釈を入れたファイルに置き換わります。

プリントアウトした資料に赤ボールペンで書き加えていくよりも手軽です。

どちらのツールも単純なダウンロード&アップロードだけではなく、「同期」という形ができるのでとても魅力的です。

GoodReader for iPad - Good.iWare Ltd.GoodReader for iPad – Good.iWare Ltd.

iAnnotate PDF - 注釈 - Aji, LLC iAnnotate PDF – 注釈 – Aji, LLC

▲ページトップへ戻る

Lion Serverの「iOSデバイスと共有(WebDAV)」を使ってみた

2011年9月20日

Lion Serverのファイル共有は新たに「iOSデバイスと共有(WebDAV)」という機能がつきました。名前の通り、WebDAV経由でファイル共有しているフォルダにアクセスできるというもので、結構便利です。

次のようなURLで接続できるようになります。

http://サーバーのアドレス/webdav

例えば、PagesのiPhone版でアクセスしたいときは次のようにします。

  1. 左上の「+」ボタンをタップ
  2. 「WebDAV」ボタンをタップ
  3. 認証ダイアログで、「サーバアドレス」に上のURLを入力、ユーザ名とパスワードはサーバに設定したアカウントを入力して、右上の「サインイン」をタップ
  4. 設定した共有ポイントが表示されます

後は、普通にフォルダにもぐったりできるので、開きたいファイルを開きます。

共有先に保存したいときは、次のようにします。

  1. 右上の工具アイコンのボタンをタップ
  2. 「共有とプリント」から「WebDAVにコピー」をタップ
  3. 保存したいフォーマットを選択。このとき、既に開くときに設定したWebDAVにサインインされている状態になっています
  4. 保存先を選択して、右上の「コピー」ボタンをタップ
  5. ファイルが保存される

なお、SSLで暗号化するように設定することもできるようです。

Lion Server : Active Directory アカウントに対して WebDAV 共有を設定する

▲ページトップへ戻る

「STAssertEqualObjects」で「NSData」の違いは検出できない?

2011年9月19日

Xcodeから行うユニットテストで、2つのオブジェクトが等しいことをテストするには次のように記述できます。

STAssertEqualObjects( obj1, obj2, nil );

しかし、これを「NSData」に対して行うと、2つの「NSData」が等しいときには問題が無いのですが、異なるときにテストが完了せずにフリーズするという現象が起きてしまいました。

そのた、「NSData」のテストを行いたいときは、次のようなコードを書く方が安全な見込みです。

STAssertEquals([data1 length], [data2 length], nil);

STAssertEquals(memcmp([data1 bytes], [data2 bytes], [data1 length]), 0);

しかし、謎です。「STAssertEquals」は「isEqual:」メソッドで2つのオブジェクトが等しいかテストしているので、「NSData」であっても動くはず。次のように「isEqual:」メソッドを使ったテストコードを書くと、普通にエラー検出されました。

STAssertEquals([data1 isEqual:data2], YES, nil);

なお、テスト環境はMac OS X 10.6.8 + Xcode 3.2.6という環境です。他の環境だと状況が違うかも。

▲ページトップへ戻る

LionでMySQLを稼働させるための5ステップ

2011年9月18日

先日、Lion ServerでプリインストールされたMySQLを使用するための方法を書いたのですが、どうも調子が悪いので、Lion ServerでMySQLを稼働させるための手順をまとめました。

[1] ダウンロードとインストール

まずは、バイナリのダウンロード。この記事の執筆時点では最新版はバージョン5.5.16です。Mac OS X 10.7用のバイナリをダウンロードと行きたいところですが、公開されているのはMac OS X 10.6用のバイナリ。仕方が無いので、これを使用します。

[2] インストール

ダウンロードしたdmgをマウントして、その中のインストーラ2つ+PrefPaneをインストールします。

MySQLのDMGの中。PrefPaneのインストールは「MySQL.prefPane」をダブルクリック。

MySQLのDMGの中。PrefPaneのインストールは「MySQL.prefPane」をダブルクリック。

[3] 設定ファイルのコピーと文字コードの設定

設定ファイルをコピーします。設定ファイルは、「/usr/local/mysql/support-files/my-small.cnf」を使用します。他のファイルでもOKです。次のようにターミナルで入力します。

cp /usr/local/mysql/support-files/my-small.cnf ~/Desktop/my.cnf

デスクトップに「my.cnf」ファイルができるので、テキストエディタで開いて、「[mysqld]」と「[mysql]」のところに、文字コードの設定を追加します。(「character-set-server=utf8」と「default-character-set=utf8」を追加)

〜省略〜

# The MySQL server

[mysqld]

〜省略〜

character-set-server=utf8

〜省略〜

[mysql]

no-auto-rehash

# Remove the next comment character if you are not familiar with SQL

#safe-updates

default-character-set=utf8

〜省略〜

追加が終わったら、ターミナルで次のように入力して、設定ファイルをコピーします。

デスクトップのは削除してOKです。

sudo cp ~/Desktop/my.cnf /etc/my.cnf

[4] MySQLを起動して、管理者パスワードを設定

MySQLの起動はインストールしたPrefPaneから行います。システム環境設定にインストールされているので、システム環境設定から「MySQL」を開いて、「Start MySQL Server」ボタンをクリックします。

MySQLのPrefPane

MySQLのPrefPane

管理者パスワードの設定は、ターミナルから次のように入力します。

/usr/local/mysql/bin/mysqladmin -u root password パスワード

その後、再読み込み。

/usr/local/mysql/bin/mysqladmin reload -u root -p

[5] PHPのMySQLConnectorの参照先のソケットを変更する

[4]までの手順でMySQLは動くのですが、PHPから接続できない状態になっています。PHPから接続できるようにするには、ソケットの設定を変更します。

「/etc/php.ini」ファイルの「mysql.default_socket」の値を「/tmp/mysql.sock」に変更します。ターミナルで次のように入力して、「nano」で編集して保存します。

sudo nano /etc/php.ini

なお、上記を実行したときに空のファイルが表示された場合は、まだ、ファイルが無いので、次のように入力してデフォルトのファイルをコピーしてから編集します。

sudo cp /etc/php.ini.default /etc/php.ini

(2011.12.24更新, 「mysqli.default_socket」の編集が抜けていました)

〜省略〜

[MySQL]

〜 省略 〜

;mysql.default_socket = /var/mysql/mysql.sock

mysql.default_socket = /tmp/mysql.sock

〜 省略 〜

;mysqli.default_socket = /var/mysql/mysql.sock

mysqli.default_socket = /tmp/mysql.sock

〜 省略 〜

あとは、Webサービスを再起動すれば完了です。

▲ページトップへ戻る

BBEditのコマンドラインツール

2011年9月18日

「BBEdit」っていうテキストエディタをご存知でしょうか?

私も愛用しているプログラマ向きのテキストエディタです。ソースコードを書くときやUnix系のプログラムの設定ファイルを書くとき、ディレクトリ内のファイルに対して全検索&全置き換えするときなど、テキストファイルでゴリゴリするときに愛用しているエディタです。

現在、BBEditはMac App Storeでも販売されており、値段も昔に比べると安くなったので、バージョンアップを機にMac App Store版に乗り換えました。

しかし、昔のバージョンから使っている人なら、すぐに気がつくと思うのですが、ターミナルから「bbedit」っていれても、起動しません。「普通にドックやランチパッドから使えよ」と突っ込まれそうですが、Unix系の設定ファイルを編集するときには、この「bbedit」コマンドでターミナルから起動できる機能は非常に重要です。

例えば、「/etc/my.cnf」を編集したいときに、「bbedit /etc/my.cnf」と打てば、BBEditで「my.cnf」ファイルを開いてくれて、編集して、そのまま保存できます。保存するときも、管理者権限が必要なら、認証ダイアログが開いて、認証すれば「sudo vi /etc/my.cnf」と打ったのと同じように、管理者として保存できます。

少し調べてみると、ちゃんと、開発元のサイトにコマンドラインツールのインストーラが公開されていました。

BBEdit Command-Line Tools

しかし、現時点では管理者権限を使った保存はMac App Store版ではできないようです。

いつか、対応してもらえることに期待です(技術面以外に原因がありそうな気もしますが)。

▲ページトップへ戻る

[紹介] あっという間に月25万PVをかせぐ 人気ブログのつくり方

2011年9月18日

最近、ブログの更新が多くなったなぁと気がついた方もいらっしゃるかもしれませんが、この記事のタイトルに書いた本の影響です。

OZPA流「中だるみ」解消法

それは、ブログを書くこと。

この言葉が響きました。そして、記事を書き始めました(かなり単純な思考ですが)。

私の長い中だるみから引きずり出してくれた本の紹介です。

「目次には、その本には何が書かれているのかのエッセンスが凝縮されている」

この言葉は私の友人の言葉です。そして、本書に何が書かれているのかは目次に現れています。

第1章 「ふつうの人」でも人気ブロガーになれる

第2章 モチベーションの起爆剤を手に入れる

第3章 ブログを楽しく続ける八つのコツ

第4章 どうせなら 起こしてしまえ バイラルループ

第5章 ブログ管理人に必要な八つの心構え

第6章 人脈は巻き込まれて作る 巻き込んで増やす

ブログを書いている人にとっては、魅了的な言葉が並んでいると思いませんか?

▲ページトップへ戻る

Lionを入れるには非力すぎた

2011年9月17日

古いMac MiniにLionをインストールしようとしたら「メモリが2GB以上必要」と怒られてしまいました。

メモリが少ないマシンは、だんだん使い道が狭められてきたなぁと感じた今日この頃でした。

(ベータ版関係を入れるのにちょうど良いと思ったのですが。。。)

ちなみに、 Lionで必要なシステム条件は、2GB以上のメモリ、Core2Duo以降のCPU、7GB以上のディスク空き容量なので、最近のマシンを考えれば決して厳しいものではなく、使おうとしたマシンが非力すぎたというだけでした。

▲ページトップへ戻る

VMware Fusion 4 でのLionのインストール方法

2011年9月15日

VMware Fusion 4からLionをゲストOSとしてインストールすることができるようになりました。技術的な面だけではなく、使用許諾面でもMac App Storeから購入したLionについては、仮想化で使用できるようになりました(インストール数の制限はありますが)

しかし、どうやってゲストOSとしてインストールするのかがなかなかわからず、苦戦してしまいましたが、リリースノートに次のように書かれていました。

「Just drag “Install Mac OS X Lion.app” onto New VM Assistant to start install」

つまり、仮想マシンの新規作成を選択して、「ディスクを使用せずに続行」というボタンが出ているところで、「Mac OS X Lion インストール」のアイコンをウインドウにドラッグ&ドロップすれば良いとのこと。

早速、やってみると、次のようになり、インストールが開始されました。

新規仮想マシンアシスタントにドラッグ&ドロップ

新規仮想マシンアシスタントにドラッグ&ドロップ

インストーラがインストールディスクとして認識される

インストーラがインストールディスクとして認識される

▲ページトップへ戻る

Mac OS X Legacy Libraryのリファレンス

2011年9月14日

だいぶ少数派にはなってきましたが、QuickTimeの古いAPIを使う機会があります。暗記していないAPIはリファレンスを参照しますが、QuickTimeのリファレンスはもはや標準ではインストールされていませんでした。

Xcodeの環境設定を開いて、Documentationタブのドキュメントセットの中から「Mac OS X Legacy Library」の横の「取得」ボタンをクリック。これで古いAPIのドキュメントがインストールされます。

結構、時間がかかるのでフリーズしたか!?と勘違いします。

このようなときは、アクティビティモニタを起動して、ネットワークのトラフィックをチェック。ダウンロードしているのをみれば、安心できます。

▲ページトップへ戻る

MSM 2011で講師をします

2011年9月14日

MSM 2011 (MOSA Software Meeting 2011)で講師をさせていただくことになりました。

テーマなどは準備中です。

MSM 2011については、こちらをご覧ください。

【速報】MOSA Software Meeting 2011

▲ページトップへ戻る