mabulog

このブログは、mabuの平凡な日常を淡々と描く物です。 過度な期待はしないでください。 あと、部屋は明るくして、 モニターから3メートルは離れて見やがってください。

vim-sqlfix を改良した(1)

前回の記事からもろもろ改良したので備忘録を残しておく。

追加した機能

対括弧チェック機能

整形する過程で対括弧が一致しないとよろしく挙動をしていたので、
いっそ対括弧をチェックすれば良いかなと思い、チェック機能を追加しました。

EXPALIN文追加オプション機能

SQLを整形する際に整形したSQLをそのまま、EXPLAINにかけるケースが多々あるため、
オプション機能を追加しました。

一行の文字列長制限オプション機能

テーブルのカラムを全て出力している場合などで1行が長くなって見辛いので、
指定した文字列長になった際に改行するオプション機能を追加しました。

[BugFix]閉じ括弧チェック処理をスタック化

元々は関数の閉じ括弧を優先し、その後通常の閉じ過去を処理するロジックになっていました。
ただ、関数の括弧、通常の括弧を交互に利用しているSQLを整形した際に期待した動きになっていなかったため、スタック化し、LIFOで処理するように修正しました。

感想

ボチボチ良さ気になってきたので、使ってみてよかったら、
右上のStarをクリックして頂けると私が幸せになれます。

github.com

vim-sqlfix を作った

前々からVimでのSQLの整形に違和感と不要な手間が気になっていたのですが、
幾つかプラグインを作ってなんとなくそろそろいけそうな気がしたので自作した。
ただの整形ならVimというカテゴリーでもすでにありますし、Vim以外も大量にあります。

ただ、私が求めているのはFrameWorkのログを即座に整形して、
実行可能な形式にできるVimプラグインです。
そういったニッチなプラグインは聞いた事がなかったのが、作った大きな理由です。

使用方法などについては、GitHubリポジトリを参照して頂けると幸いです。

github.com

今のところ、PHPのYiiにのみ対応しているのですが、
今後はいろいろなフレームワークに対応していきたいと思います。
特にRailsに対応して認知度を上げたいなと個人的に思っていますが、
railsインストールにてこずってる雑魚なので、railsSQLを実行した時のログを教えて頂けるとうれしいです。

Kindleストア以外の(Non-DRM)電子書籍をKindleに取込

Kindleストアで電子書籍を買うように心がけていましたが、株式会社技術評論社出版の本で読みたい書籍がKindle化されず、(買っていないが)積み本状態が酷かったためどうにかKindleで読めないかと調べた備忘録を残します。

Non-DRM電子書籍について

以前から存在は知っていた株式会社技術評論社出版の電子書籍について調べた所、Non-DRMだという事がわかり、これはイケると確信しました。

DRMフリーで専用アプリ不要な電子書籍ストアをリストアップ | Binbo-Special – WEB制作や運営に関する楽屋話 –

Kindleアプリのインストール

Kindle Previewerを利用する事でEPUBをMOBIに変換します。ただ、Kindle Previewerを使うにはJava SE 6(古いバージョン)が必要となるため、別途インストールが必要となります。

ここからJava SE 6をダウンロードしてインストールを行います。
Kindleアプリはhomebrewから行いました。

$ brew tap caskroom/cask
$ brew cask install kindle

※kindle-previewer は私の環境ではエラーとなったため、
 Kindle Previewerのサイトからインストーラを取得してインストールしました。

$ brew cask install kindle-previewer

Kindle PreviewerはこのままだとJava SE 7(現在バージョン)を参照する問題があるため、Java SE 6を参照するようにid:JunichiItoさんの記事を参考に起動スクリプトを修正しました。

$ /usr/libexec/java_home -v 1.6
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

$ vim /Applications/Kindle\ Previewer.app/Contents/MacOS/Launcher

   export DYLD_LIBRARY_PATH=.
   export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

Amazon Cloud Driveにアップロード

Amazon Cloud DriveにMOBIファイルをアップロードします。アップロード方法はいろいろありますが、極秘文書でないのならメールで送付するのがツールをインストールする必要もなく楽に実現できます。アップロード手順の詳細はこちらに記載されています。

タブレットで動作検証

各デバイスで確認して問題なければ、完了です。

感想

この手の情報があまり出回っていないのは問題があった時に誰が悪いのかという問題に発展するので出版社もリーダー作成元もあまり情報を発信しないのが電子書籍が普及しない理由ですね。私自身もNon-DRMだという事を知るまでは諦めていました。

参考サイト

NERDTreeが便利だった件

NERDTreeをいい感じに使い込んだので、ここらへんでブログにまとめる。

設定

NERDTree設定例

コンセプト

Netrwを起動させず、NERDTreeを起動するようにpluginの制御と遅延ロードの徹底です。

NERDTreeを使うにあたって、プロジェクトディレクトリ内で起動した際に、プロジェクトのルートディレクトリから展開するようにした。また、プロジェクトのルートディレクトリをNERDTreeのブックマーク機能を利用する事で良い感じに移動が出来て便利です。

続々・VimDiffを設定した

先週設定して、いろいろ調べていたが初歩的なミスを犯している事に気付けなかった。
それは、使用しているVimDiffのバージョンが古いというものだ。
Vimが7.4だったため、VimDiffも7.4だと錯覚に陥っていた。
正しく設定する事で期待されたVimDiffが機能した。ここにその備忘録を残す。

設定

続々・VimDiff資料

感想

もっと広めた方がいいと思う。マジで。
そして、前回の記事のみを見た方、すみませんでした。

Installed Vagrant

Vagrantを業務で使う機会がなさそうだったため、自宅で少し触ってみた。 コマンド数回で簡単に環境構築できるのはホント便利〜。 私の作ったVagrantfileGithub上に公開しているので、おかしな所があったら指摘して頂けると助かります。 大分我流のような気がする。実践 Vagrantあたりをじっくり読んでみたいけど、Kindle英語版しかなくて悩みどころですね。

実践 Vagrant

実践 Vagrant

オペレーションログ

Vagrantインストール

$ brew cask install virtualbox vagrant vagrant-manager

Vagrantfileを作成する。

$ mkdir -p /srv/vagrant
$ cd /srv/vagrant
$ vagrant init
$ ls
 Vagrantfile

仮想マシンインストール(・起動)/ログイン/シャットダウン

$ cd /srv/vagrant
$ vagrant up
$ vagrant ssh

vagrant$ sudo shutdown -h now

仮想マシン破棄

$ cd /srv/vagrant
$ vagrant destroy

Vargrant Box破棄

$ cd /srv/vagrant
$ vagrant box list
$ vagrant box remove

Vagrantfile編集&検証

$ cd /srv/vagrant && vagrant destroy -f && vagrant up