めじなてっく

出先で読みたいがためにナレッジを書き溜めるブログ

Macでbashからzshに移行したでござる

bashでいいや鼻ほじーだったが、補完が便利よーということでzshに乗り換えた。

環境

zshインストール

brew install zsh
brew install zsh-completions

シェル一覧に登録

vi /etc/shells

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/zsh <- 追加

デフォルトシェルを変更

chsh -s /usr/local/bin/zsh

.zshrc設定

vi ~/.zshrc <- 新規作成

中身は【少し凝った zshrc】を拝借+自分で切ったエイリアスとか。
ありがたやありがたや。

gist.github.com

設定した後、ログインし直して完了。
これで適当にコマンド打って、tabを押すと幸せおっぱい夢いっぱい。

その他やりたいこと

zplugとか、プラグイン管理してくれるやつを入れるともっと幸せになりそう。それは今度かな。

Apache2.4でのRewriteLogの有効化

RewriteRuleの設定をしくってるのかエラーになるでござる!
ここはいっちょログでも出しますかと思ったら以下エラー

AH00526: Syntax error on line 268 of /usr/local/etc/apache2/2.4/httpd.conf:
Invalid command 'RewriteLog', perhaps misspelled or defined by a module not included in the server configuration

おめーのRewriteLogなんて知らねえから!m9(^Д^)プギャー

ファッ!?なんでや!ワイの設定は間違えてないはず!

RewriteLog "/tmp/rewrite.log"
RewriteLogLevel 8

Apacheリファレンス読むと、上記のやり方はApache2.2までなんですなこれが。
というわけでApache2.4からは以下の通り。

LogLevel rewrite:trace8

設定するとmod_rewriteの詳細がApacheログに出力されるようになるよ!
でもtrace2より大きい値にすると情報の出力が増える分、負荷が掛かってApacheの処理が遅くなるので注意だそうです。

mod_rewrite - Apache HTTP Server Version 2.4

Antでbundle&minifyしたい場合

AntでいわゆるJSやCSSのバンドル化をしたいと思った時に使ったテク。

concat

複数ファイルを文字通りに連結させる。

<concat destfile="bundle.js" force="no">
  <fileset dir="/js" includes="*.js" excludes="hoge.js, piyo.js"/>
</concat>

minify

jarコマンドでYUICompressorを実行していたが、タスクにして呼べるようにするがいいかもね。

<?xml version="1.0" encoding="UTF-8"?>
<project default="build">

  <target name="build">

    <!-- JavaScript 連結 -->
    <concat destfile="httpdocs/all.js" encoding="UTF-8" fixlastline="yes" eol="lf">
      <filelist dir="httpdocs" files="jquery-1.4.2.js"/>
      <filelist dir="httpdocs/foo" files="bar.js"/>
      <filelist dir="httpdocs" files="common.js"/>
    </concat>

    <!-- JavaScript yui 圧縮、gzip 圧縮 -->
    <antcall target="yui.gzip"><param name="src" value="httpdocs/all.js"/></antcall>

    <!-- CSS 連結 -->
    <concat destfile="httpdocs/all.css" encoding="UTF-8" fixlastline="yes" eol="lf">
      <filelist dir="httpdocs" files="hoge.css"/>
      <filelist dir="httpdocs" files="fuga.css"/>
      <filelist dir="httpdocs" files="common.css"/>
    </concat>

    <!-- CSS yui 圧縮、gzip 圧縮 -->
    <antcall target="yui.gzip"><param name="src" value="httpdocs/all.css"/></antcall>
  </target>

  <target name="yui.gzip">
    <exec executable="java.exe" dir=".">
      <arg value="-jar"/>
      <arg value="yuicompressor-2.4.2.jar"/>
      <arg value="--charset"/>
      <arg value="UTF-8"/>
      <arg value="-o"/>
      <arg value="${src}.min"/>
      <arg value="${src}"/>
    </exec>

    <gzip src="${src}.min" destfile="${src}.gz" />
    <delete file="${src}.min" />
  </target>
</project>