2012-05-12
■ MacにEmacs 24をインストールしてみた
(わけあってMac Ports使い)
$ git clone http://git.savannah.gnu.org/cgit/emacs.git $ git co emacs-24 $ sudo port install autoconf automake jpeg libungif libpng tiff $ cd emacs $ ./autogen.sh $ env CPPFLAGS='-I/opt/local/include' CFLAGS='-I/opt/local/include' ./configure --with-ns $ make $ make install # emacs を終了 $ mv /Applications/Emacs.app /Applications/Emacs-23.app $ mv nextstep/Emacs.app /Applications/Emacs.app
なお、何が違うのかはまだわかっておりません。
2012-01-15
■はかどる話(主にmac)
アプリの切り替え、起動
エディタ、ブラウザ、ターミナルとかで仕事してるとアプリケーションの切り替えが頻繁で面倒ですね。Web開発者とかではブラウザを2つ3つぐらい区別して立ち上げる人もたくさんいるのではないでしょうか。筆者も3つぐらいブラウザを使い分けて開発してます。
アプリケーションの切り替えをDockやexposeやCommand+TabでやるのはかったるいのでQuickSilverのtriggersをみんな使ったらいいと思います*1。
「open Firefox」という設定をしておけば、「すでに起動しているFirefoxに切り替える or 起動していなければ起動」という動作をします。
設定のやり方はわかばマークのMacの備忘録 : Quicksilver/ Triggers の説明(2) を見るのがわかりやすいですね。
何をtriggerに割り当てるかですがCommand+Shift+[A-Z]あたりは個人的にはアプリ内であまり使わないので自分はCommand+Shift+[A-Z]を割り当てています。Command+Shiftを潰したくない場合はCommand+Control+[A-Z]とかですかね。
設定例
iTermのtriggerが便利だった話
などのように処理時間のかかる処理をやっていて、終わったときや、意図せずコケたときにnotifyしてほしいケースって結構あるとおもうんですが、
iTermのtriggerという設定があって*2
という設定をやっておくといいです。必要なのはechoコマンドだけなのでローカルだろうが開発サーバだろうが本番環境だろうが、マシンごとにセットアップをせずに簡単に通知ができるので楽です。
とても時間のかかるしょり ; echo "DONE"
ってやるだけです。簡単ですね!
セットアップスクリプトなどにもいれておくとよさそうです。
*1:QuickSilverといえばランチャーというイメージが強いかもしれませんが、ランチャーとしてはQuickSilverはもう使っていなくてAlfredを使っています。
2011-12-21
■mysqldump でカジュアルにデータのコピー
MySQL Casual Advent Calendar 2011 22日目の記事です。
いろんなAdvent Calendarの敷居を下げたり、下げ過ぎたりしているid:k12uです。
実はいろんなことに使えるみんな大好きmysqldump。
あるhost.db.tableのデータの一部を他のhost.db.table にカジュアルに移したいといったケースのために大変重宝しております。
意外とあまり知られていない "-w" オプションを使うことでSQLでおなじみの絞り込みができます。
-w 'row_id = 111' #重要です
このような感じでデータの出力を確認し、OKならパイプで直接 mysqlコマンドに食わせることで簡単にデータコピーできます。
さてこんな便利な mysqldump ですがオプションを調べようとしてターミナルでmysqldump --help と打とうものなら大量のメッセージが流れて・・・という人も多いんじゃないでしょうか。
そこで筆者がよく使うオプションをまとめてみました。選ぶ基準も説明も筆者の思いつきという大変なカジュアル具合です。
- --compact
- -n, --no-create-db
- create database 文を出力しないようになります。
- -t, --no-create-info
- create table 文を出力しないようになります。
- -d, --no-data
- data (insert文) を出力しないようにします
- -w, --where=name
- where の絞り込み条件を指定します。
しっかりちゃんと機能のあるデータコピーをやりたい場合はDBIx::Replicateなどを使うとよいと思いますが、
簡単な例であれば「mysqldumpコマンドからのmysqlにパイプでズッキューン!」でなんとかなるし簡単だよ!という話でした。
明日は永遠の新人@Spring_MTさんです。
2011-08-15
2011-08-13
■ Test::mysqld と MacPortsのmysqlの組み合わせがめんどくさい件
一応解決したメモ。
(homebrewを使っていたんだけれどもActive Directory管理下との組み合わせが微妙っぽいのでMacPortsに切り替えた。)
$ cd /opt/local/lib/mysql5/bin/ $ ln -s /opt/local/libexec/mysqld $ cd /opt/local/lib/mysql5 $ ln -s /opt/local/share/mysql5/ share $ /opt/local/lib/mysql5/bin/mysqld
これでTest::mysqldからmysqldを起動できるはず。
書き忘れてた:PATHに追加しておく
PATH=/opt/local/lib/mysql5/bin:$PATH
レイアウトがかわったらまた動かなくなるんだと思う。
