Labs

オンラインストレージの比較

2013.07.17 / Labs

近年は大容量化や同期機能など、充実したサービスを提供しているオンラインストレージ。仕事でも便利に使わせてもらっています。
そんなストレージの中で、使い勝手の良さそうなサービスを10点あげてみました。

 

オンラインストレージ無料会員の比較

サービス名 容量 紹介リンク ファイルサイズ制限 同期機能 備考
Dropbox 2GB 500MB 無制限(Webからは300MB)
SugarSync 5GB 500MB 無制限(Webからは100MB)
Google Drive 15GB 10GB Gmailなどの容量との合計で
Box 5GB 250MB
Copy 15GB 5GB 無制限
SkyDrive 7GB 2GB(Webからは300MB)
Amazon Cloud Drive 5GB 2GB
Pogoplug 5GB 無制限
Bitcasa 10GB 無制限 デバイス間の同期機能はなし
4sync 15GB 2GB Mac用デスクトップアプリはなし

 

DropboxとSugarSyncは国内でも以前からサービスを提供していて、利用されている方も多いのではないでしょうか。PC用、スホ用アプリもこなれていて、使いやすいです。
Boxは海外では老舗の会社で、Webアプリケーションは良くできているように思います。1ファイルの容量制限が250MBというのがやや残念ですが・・・。
Copyはまだ新しいサービスで、無料会員の容量も15GBと大きいです。また紹介するごとに5GB増えていくのも嬉しいです。
Bitcasaは無料会員だと10GBですが、有料会員では容量無制限という魅力的なサービスです。

 

自分の環境では、デバイス間のデータの同期用にDropboxを、仕事でファイルを渡す際にはSugarSyncを、バックアップ目的にBitcasaを利用しています。
無料で使えるオンラインストレージの活用方法を考えてみるもの、なかなか楽しい作業です。

ウィンドウサイズに合わせて画像を全面に表示。

2012.08.10 / Labs

jQueryを使って、ウィンドウサイズに合わせて画像を拡大縮小し、全面に表示する方法です。
画像の縦横比率は保ったままに、ウィンドウの全面を覆うように拡大縮小を行っています。ウィンドウのリサイズの際には、画像もアニメーションでリサイズします。
サンプルはこちら

 

HTMLファイル内では、画像全面表示のための関数の実行と、ウィンドウリサイズ時の処理を記述しています。

外部JavaScriptファイル「functions.js」に、画像全面表示のための関数を記述しています。
ウィンドウを覆い尽くすように画像サイズを拡大縮小して、センター表示にしています。

画像表示のためのCSSの箇所は次のようになっています。

フォーム項目の内容が変更された時のjQueryのイベントまとめ。

2012.07.05 / Labs

テキストフィールドや、ラジオボタンなど、フォーム項目の内容が変更された時に処理を行うための、jQueryによるイベントのまとめです。
サンプルはこちら

 

フォームは次のように、テキストフィールド、テキストエリア、ラジオボタン、チェックボックス、セレクトボックスを作成します。

上記のフォーム項目ごとに、内容が変更された時にイベントを取得して、別のDIVタグ内に変更内容を表示するようにしています。

テキストエリア、テキストボックスは、キーボードが押された時に、ラジオボタン、セレクボトックスは選択が変更された時に、チェックボックスはいずれかのチェックボックスが押された時にそれぞれイベントを取得しています。

 

変更内容の確認のための各DIVは、次のように記述しています。

DropboxでMAMP環境を同期。

2012.05.14 / Labs

Dropboxで複数のMacにMAMP環境を同期する方法です。
今回はMAMP通常版ではなく、PRO版を利用しています。(通常版とは管理画面と、MySQLのデータ格納先が変わります)
MAMP環境で同期を行いたいディレクトリは、ApatcheのドキュメントディレクトリとMySQLのデータを格納しているディレクトリの2点です。

 

Apatcheのドキュメントを格納している「htdocs」ディレクトリをDropboxで同期させるには、MAMPの管理画面からディレクトリを変更することができます。
MAMP
MySQLのデータを格納しているディレクトリは、PRO版ではルートのライブラリフォルダ内に保存されています。

この「mysql」ディレクトリをDropbox内に移動して、代わりに(Dropboxに移動したディレクトリの)シンボリックリンクをこちらに配置します。シンボリックリンクの作成には「MacDropAny」が便利です。

 

以上にて、Dropboxで複数のMacにMAMP環境を同期することが可能です。

 

Dropboxで同期する上で1点気をつけたいのは、MySQLがデータベース管理のために「ibdata1」というファイルを上記の「mysql」ディレクトリに作成するのですが、これはデータベースを作成するごとにファイルサイズが大きくなり、後にデータベースを削除してもファイルサイズは小さくなることはありません。
ですので、しばらく使っているうちに、すぐに数百メガにまで大きくなり、これをファイルの更新のたびにDropboxで同期するには、やや問題があります。

 

その対策として、「ibdata1」ファイルにはデータベースごとのデータを追加せず個別にファイルを作成するために、MySQLの環境設定ファイルで次の1行を追加します。

MySQLの設定ファイルはMAMP PROではメニューの「File > Edit Template > MySQL my.cnf」より編集が可能です。
これで、作成するデータベースごとにディレクトリが作成されて、さらに各テーブルごとのファイルとして保存してくれるので、必要最小限の容量のみをDropboxで快適に同期が行えます。

PHPで祝日/イベント対応のカレンダーを作成。

2012.05.12 / Labs

PHPではPEARなどのライブラリを利用すると簡単にカレンダーを作成できますが、CakePHPなどフレームワークをベースに開発している場合、あまり他のライブラリを利用したくないこともあります。
また祝日情報を含むイベント情報を簡単に組み込めるカレンダーとして、シンプルなカレンダーを作成してみました。
サンプルはこちら

 

機能としては指定月のカレンダーを生成し、イベント情報を配列として渡すことで、該当日にイベント内容を表示することができます。
祝日情報の取得の関数「getHolidays()」については、「Googleカレンダーから祝日情報を取得。」をご覧ください。

CakePHPで利用する場合には、コンポーネントとして登録しておくと使い勝手が良いかもしれません。