Safari で動くちょっと便利なブックマークレット(Bookmarklet)いろいろ

ブックマークレットBookmarklet)とは JavaScript をブックマークに登録することでプログラムを実行して色々な機能が実現できるテクニックのこと。そんな訳で自分が利用しているブックマークレットをメモ。はてダでは JavaScript のリンクが貼れないみたいなのでコードを記載。Safari でしか試してないので他のブラウザで動くかどうか分かりません。なんせ。自分用のメモですので…。

Yahoo!翻訳
javascript:location.href='http://honyaku.yahoofs.jp/url_result?eid=CR-EJ&both=T&url='+location.href

表示されたページを英語→日本語に翻訳。Yahoo!翻訳を使っているのは翻訳と一緒に原文が表示されるから。なるべく原文を読んで分からない文章があったら翻訳を読む。という感じで使ってます。

OpenLink
javascript:(function(){var%20n_to_open,dl,dll,i;%20function%20linkIsSafe(u)%20{%20if%20(u.substr(0,7)=='mailto:')%20returnfalse;%20if%20(u.substr(0,11)=='javascript:')%20return%20false;%20return%20true;%20}%20n_to_open%20=%200;%20dl%20=%20document.links;%20dll%20=%20dl.length;%20if%20(window.getSelection%20&&%20window.getSelection().containsNode)%20{%20/*%20mozilla%20*/%20for(i=0;%20i%3Cdll;%20++i)%20{%20if%20(window.getSelection().containsNode(dl[i],%20true)%20&&%20linkIsSafe(dl[i].href))%20++n_to_open;%20}%20if%20(n_to_open%20&&%20confirm('Open%20'%20+%20n_to_open%20+%20'%20selected%20links%20in%20new%20windows?'))%20{%20for(i=0;%20i%3Cdll;%20++i)%20if%20(window.getSelection().containsNode(dl[i],%20true)%20&&%20linkIsSafe(dl[i].href))%20window.open(dl[i].href);%20}%20}%20/*%20/mozilla%20*/%20if%20(!n_to_open)%20{%20/*ie,%20or%20mozilla%20with%20no%20links%20selected:%20this%20section%20matches%20open_all_links,%20except%20for%20the%20alert%20text%20*/%20for(i%20=%200;%20i%20%3C%20dll;%20++i)%20{%20if%20(linkIsSafe(dl[i].href))%20++n_to_open;%20}%20if%20(!n_to_open)%20alert%20('no%20links');%20else%20{%20if%20(confirm('No%20links%20selected.%20%20Open%20'%20+%20n_to_open%20+%20'%20links%20in%20new%20windows?'))%20for%20(i%20=%200;%20i%20%3C%20dll;%20++i)%20if%20(linkIsSafe(dl[i].href))%20window.open(dl[i].href);%20}%20}%20})();

選択範囲のリンクを一気に開く。

Another HTML-lint
javascript:(function(){window.open('http://openlab.ring.gr.jp/k16/htmllint/htmllint.cgi?Method=URL&ViewSource=on&OtherWindow=on&URL='+encodeURIComponent(location.href),'_blank');})();

開いているページを HTML 文書の文法チェックサービスで採点。

どこでも仕事をしたい人向けのサービスを 3つ紹介

Leopald で .Mac に加入していれば「iDisk」と「どこでも MyMac」で事足りるのだがそうも云ってられないので Tiger でも同等かそれ以上の環境が得られるサービス。なお。会社内で使用する際にはコンプライアンスに寄り規約違反になる場合があるので充分に注意すること。

Dropbox

高機能オンラインストレージ。インストールすると専用のフォルダが作成されそこに共有したいファイルを入れる事によってバックグラウンドで同期される。通常のストレージと違くアップロード×ダウンロードを意識しなくて使えるのでとても便利。詳しくは下記記事参照。
HDD以上に便利なオンラインストレージ“Dropbox” − @IT

LogMeIn

リモートデスクトップサービス。登録して専用プラグインをインストールするだけで難しい設定は必要なし。LAN 内のパソコンだろうががんがん繋がる。

FolderShare

ファイル共有ソフト。MS が買収したサービス。P2P でファイルをやり取り出来るので同期する必要のないファイルを使いたい時にはこちら。

Mac OS X で仕事するのにインストールしているアプリケーションとか

以前に最初に入れるアプリケーションを紹介しましたが。今回はそれ以外で仕事に役立っているアプリケーションを紹介。シェアウェア含む。あと Adobe 製品は定番過ぎるので除外。

Navicat

MYSQLphpMyAdmin や CocoaMySQL などがあるがこれは非常に使いやすい。動作も軽い。値段もそれなりだが充分に対価を得られると思う。

Shupapan

多機能リネームソフト。フリー。リネームソフトは色々とあるがこれが一番使える。

VirtueDesktops

仮想デスクトップ。Leopard だと「Spaces」があるので要らないのですが会社の Mac はまだ Tiger なので…。

Perian

QuickTimeFlash Video を再生できるようにするプラグイン。何故仕事に?と思うだろうが flv を扱う時にいちいち Flash を立ち上げていたのでは面倒だし。

xScope

多機能デスクトップ定規。デザインしていて「ここの幅って何px だったけな」と調べたい時に便利。幅を計ったりグリッドを表示したり画面を拡大したり出来る。以前は Firefox で「MeasureIt」というアドオンを使っていたがメインブラウザを Safari にしたのでこちらを主に使用中。シェアウェアなのでこの金額を払ってまで使いたいかどうかは微妙なので様子見中。

以下。Firefox のアドオン。昔はほいほいインストールしまくっていたが流石に重いので厳選。なので有名どころしか入れてません。ちなみに通常のサイト閲覧は Safari を愛用。

Web Developer

Web 管理者向けのアドオン。有名ですね。

Firebug

Ajaxデバッグツールとして。こちらも定番。

Html Validator

mozilla のアドオンのページでは「Mac OSX では利用できません」と書いているが上記の作者のサイトから対応版がダウンロード出来る。

User Agent Switcher

携帯サイトの動作確認用に。下記サイトから各キャリアの一部端末の User Agent をダウンロードできます。
User Agent Switcher の携帯用のXML | 我流天性 がらくた屋

Mac OS X Leopard に Webmin をインストール

まぁ。Terminal でコマンド叩いたりするよりは楽ですが。特に必要ないですが確認の為にインストール。まずは以下のサイトから最新版をダウンロードして解凍。分かり易い様にアプリケーションフォルダに移動させます(現在の最新版は 1.390)。
Webmin

フォルダに移動してセットアップを実行します。

$ cd /Applications/webmin-1.390
$ sudo ./setup.sh

途中に色々聞いてきますが特にデフォルトで問題ないのでリターンで進む。ログイン名とパスワードはしっかり入力しておく。SSL モードで使う場合や常に起動させる場合等は「y」を入力。

Config file directory [/etc/webmin]:
Log file directory [/var/webmin]:
Full path to perl (default /usr/bin/perl):
Web server port (default 10000):
Login name (default admin):
Login password:
Password again:
Use SSL (y/n): 
Start Webmin at boot time (y/n):

後は以下の URL でログインフォームが表示されれば終了。
http://localhost:10000/

日本語で使いたい場合は Webmin > Change Lanugage and Theme を「Japanese」にすれば日本語表示に。で。Leopard ではパスの設定が違うので以下の箇所を変更。

Servers > Apache Webserver
Apache server root directory

/etc/apache2

Path to httpd.conf or apache2.conf

/etc/apache2/httpd.conf

Path to mime.types

/etc/apache2/mime.types

ちなみに Webmin のアンインストールは以下のコマンド。

$ sudo /etc/webmin/uninstall.sh

Mac OS X Leopard で PHP の設定

こちらも最初の理念に沿ってデフォルトのものを使用。Mac OS X Leopard にインストールされているバージョンは 5.2.4。デフォルトで入っていない PEAR などを追加する。

PEAR

MacPorts でインストールする方法もあるのだが。MacPortspear-base はインストールディレクトリを間違えたりして知らないうちにハマるので使わない。Terminal で直接入れる事にする。

PEAR インストーラをダウンロード
$ curl http://pear.php.net/go-pear > go-pear.php
インストーラに従ってインストール
$ sudo php -q go-pear.php

途中でインストールの場所など聞いてくるが全てそのまま enter で(「MDB2 入れる?」と聞いてきた場合は Y で OK)。

PDO MySQL Driver

デフォルトで MySQL が無いので当然デフォルトの PHP にも PDO の MySQLドライバが入っていないので追加。現在の最新版は 1.0.2。

PDO MySQL Driver をダウンロード

PECL :: Package :: PDO_MYSQL
から最新版をダウンロード。

PDO_MYSQL-1.0.2.tgz を解凍して移動
$ cd ~/Downloads
$ tar -xvf PDO_MYSQL-1.0.2.tar
$ cd PDO_MYSQL-1.0.2
PDO MySQL Driver をコンパイルしてインストール
$ phpize
$ ./configure '--with-pdo-mysql=shared,/opt/local/lib/mysql5'
$ make
$ sudo make install

GD

MacPorts でインストールすると上手く動かないので Apple にある Leopard用のソースを利用する。

MacPorts で必要なライブラリのインストール

以前の MacPorts の項でインストール済か確認。

$ sudo port install freetype
$ sudo port install jpeg
$ sudo port install libpng
Apple にある Leopard用のソースのダウンロード

http://www.opensource.apple.com/darwinsource/10.5/apache_mod_php-43/
にある php-5.2.4.tar.bz2 をダウンロード。

php-5.2.4.tar.bz2 を解凍して GD のフォルダに移動
$ cd ~/Downloads
$ tar -xvf php-5.2.4.tar.bz2 
$ cd php-5.2.4/ext/gd
GD をコンパイルしてインストール
phpize
./configure '--with-png-dir=/opt/local' '--with-jpeg-dir=/opt/local' '--with-freetype-dir=/opt/local'
make
sudo make install

php5.conf の編集

デフォルトの PHP の設定ファイルは /private/etc/apache2/other/php5.conf にある。PDO MySQL Driver や GD を追加でインストールしてあるのでコマンドラインPHP が Extensions を認識しなかったりするので Apache のみで php.ini を有効にしておく。

PHPIniDir "/private/etc/apache2"

php.ini の編集

php.ini.default をコピーして php.ini を作成

まず設定ファイルの php.ini をコピーして作成する。

$ sudo cp /private/etc/php.ini.default /private/etc/apache2/php.ini
インクルードパスを PEAR の場所に設定
include_path = ".:/usr/share/pear"
Extensions ディレクトリを設定
extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20060613"
PDO MySQL Driver と GD を有効にする
extension=pdo_mysql.so
extension=gd.so
タイムゾーンの設定
date.timezone = "Aisa/Tokyo"
MySQL ソケットを設定
mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock

phpMyAdmin

ついでに phpMyAdmin の設定をしておく。phpMyAdmin 自体は前述の SVNリポジトリのもの。

config.sample.inc.php をコピーして config.inc.php を作成
パスフレーズの設定
$cfg['blowfish_secret'] = 'PASSPHRASE';
ログインの認証方法を config に変更
$cfg['Servers'][$i]['auth_type'] = 'config';
ユーザーの ID とパスワードを追記
$cfg['Servers'][$i]['user'] = 'USER';
$cfg['Servers'][$i]['password'] = 'PASSWORD';

Apache を再起動して諸々が動けば設定完了。漸くこれで開発環境が整ったのかな。