vim-sqlfix を改良した(1)
前回の記事からもろもろ改良したので備忘録を残しておく。
追加した機能
対括弧チェック機能
整形する過程で対括弧が一致しないとよろしく挙動をしていたので、
いっそ対括弧をチェックすれば良いかなと思い、チェック機能を追加しました。
EXPALIN文追加オプション機能
SQLを整形する際に整形したSQLをそのまま、EXPLAINにかけるケースが多々あるため、
オプション機能を追加しました。
一行の文字列長制限オプション機能
テーブルのカラムを全て出力している場合などで1行が長くなって見辛いので、
指定した文字列長になった際に改行するオプション機能を追加しました。
[BugFix]閉じ括弧チェック処理をスタック化
元々は関数の閉じ括弧を優先し、その後通常の閉じ過去を処理するロジックになっていました。
ただ、関数の括弧、通常の括弧を交互に利用しているSQLを整形した際に期待した動きになっていなかったため、スタック化し、LIFOで処理するように修正しました。
感想
ボチボチ良さ気になってきたので、使ってみてよかったら、
右上のStarをクリックして頂けると私が幸せになれます。
vim-sqlfix を作った
前々からVimでのSQLの整形に違和感と不要な手間が気になっていたのですが、
幾つかプラグインを作ってなんとなくそろそろいけそうな気がしたので自作した。
ただの整形ならVimというカテゴリーでもすでにありますし、Vim以外も大量にあります。
ただ、私が求めているのはFrameWorkのログを即座に整形して、
実行可能な形式にできるVimのプラグインです。
そういったニッチなプラグインは聞いた事がなかったのが、作った大きな理由です。
使用方法などについては、GitHubのリポジトリを参照して頂けると幸いです。
今のところ、PHPのYiiにのみ対応しているのですが、
今後はいろいろなフレームワークに対応していきたいと思います。
特にRailsに対応して認知度を上げたいなと個人的に思っていますが、
railsインストールにてこずってる雑魚なので、railsでSQLを実行した時のログを教えて頂けるとうれしいです。
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をいい感じに使い込んだので、ここらへんでブログにまとめる。
設定
コンセプト
Netrwを起動させず、NERDTreeを起動するようにpluginの制御と遅延ロードの徹底です。
NERDTreeを使うにあたって、プロジェクトディレクトリ内で起動した際に、プロジェクトのルートディレクトリから展開するようにした。また、プロジェクトのルートディレクトリをNERDTreeのブックマーク機能を利用する事で良い感じに移動が出来て便利です。
続々・VimDiffを設定した
Installed Vagrant
Vagrantを業務で使う機会がなさそうだったため、自宅で少し触ってみた。 コマンド数回で簡単に環境構築できるのはホント便利〜。 私の作ったVagrantfileはGithub上に公開しているので、おかしな所があったら指摘して頂けると助かります。 大分我流のような気がする。実践 Vagrantあたりをじっくり読んでみたいけど、Kindleは英語版しかなくて悩みどころですね。
- 作者: Mitchell Hashimoto,Sky株式会社玉川竜司
- 出版社/メーカー: オライリージャパン
- 発売日: 2014/02/21
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (9件) を見る
オペレーションログ
Vagrantインストール
$ brew cask install virtualbox vagrant vagrant-manager
$ 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