at backyard

Color my life with the chaos of trouble.

macでvim8.1をビルドして試す

macos版にはまだバイナリはないので、自前でビルドする感じかな?
(windowsならバイナリ落としてすぐ試せますね)

vim-jp - Vim 8.1 released!の記事にも書かれているとおりに、基本的に下記の内容を参考にしていきました。

The Vim repository at GitHub

git clone https://github.com/vim/vim.git
cd src
make
sudo make install

上記一連のコマンドで下記のpathにvimの実行ファイルが吐き出されます。

file /usr/local/bin/vim
/usr/local/bin/vim: Mach-O 64-bit executable x86_64

ところでvimを起動したところ下記のようなエラーが出ました。

ruby_hl_lvar: This plugin does not work without has('ruby')

build時の設定でrubyを有効にしてビルドをすれば解決すると思い、vimのrootで./configure --helpを打ってみると、色々と知れて面白いです。

で、エラーを解消するために、再設定した内容は下記の通り。

# 一度cleanしてから設定します。
make distclean 

# 設定
./configure --enable-rubyinterp=yes


# 再度makeしてinstall
cd src
make
sudo make install

これでvimを立ち上げて下記のコマンドを打ったときに1が返ればOK。
(すでにvimを立ち上げた時点でエラーは出なくなっている)

echo(has('ruby'))

vim8.1、楽しみます!

s2sを使ってVuexを自動生成させるbabelプラグインを書いてみた

作ったのは少し前なのだけど、こちらのブログにも書き残しておく。
(本当はもう少し早くポストしたかったのだけど、なんだかんだ後ろに伸びてしまった。最近ブログ書く時間をあまり確保できていない。。。)

s2sを使ってVuexを自動生成させるbabelプラグインを書いてみた。
s2sやbabelのドキュメントやソースを見ながら、手探りで書いていったものだけど、ひとまずは形になって嬉しい。

こんなの作った↓

https://github.com/shinshin86/try-s2s-vuex-201801/blob/master/gif/s2s_vuex_sample.gif?raw=true

https://github.com/shinshin86/try-s2s-vuex-201801/blob/master/gif/s2s_vuex_generate_test_code.gif?raw=true

始まりはこちらの記事を参照

shinshin86.hateblo.jp

Qiitaにも書いている。

qiita.com

コードは汚いので、後々リファクタリングをしていくつもり

嬉しかったこと😊

s2sの作者であるAKAMEさんが取り上げてくれたこと。

knife solo initでコンフリクトエラーが起きたけど、すぐに解決できてよかった、そんな自分メモ

knife-soloを勉強しようとしてみたところエラーが出ましたが、すぐに解決できたので、その過程を自分用メモとして残しておきます。備忘録。

knife solo init hogeoge

initコマンド打ったら、下記のようなエラーが。
原因としてはnet-sshがコンフリクトしている模様。

Unable to activate knife-solo-0.6.0, because net-ssh-4.2.0 conflicts with net-ssh (< 4.0, >= 2.7) (Gem::ConflictError)

調べてみると、たしかに。

gem list | grep net-ssh
net-ssh (4.2.0, 3.2.0)

先に結論を書いてしまうと、knife-solo最新版(0.7.0 pre)をインストールすることで、ここらへんの問題が解決されているので、問題解決できました。

# 一度アンインストール
gem uninstall knife-solo

# こちらをインストール
gem install knife-solo --pre

参照資料

この問題の解決要因は下記の記事を見つけたから。
助かりました。なぜ最新版で問題が解決されるかについても書かれているので、同じ問題に合われた方は参照してみると良いと思います。

サーバー構築初心者がプロビジョニングツール「chef」に挑戦してみました(前編) ~ chef13系での落とし穴 ~ – ニフティものづくりブログ

サーバー構築初心者がプロビジョニングツール「chef」に挑戦してみました(後編) ~knife-solo 0.7.0 preについて~ – ニフティものづくりブログ

サクサクと進めたかったので本当に助かりました。

In Marjoram (ep. 0: A Town Untold)

Desmondから送られてきて、とても良くて衝動的にツイートした。
Great!

Animation — Everything But Work

バックに流れている音楽はDesmondと作っているCaramel Shipから。

そうそう、そういえばこのブログ、これで200回目のポストみたい!
なんだかんだ達成感みたいなのありますね!(しみじみ)

mac上のDockerに立ち上げたmysqlに、host(mac)から接続する

基本的なことなのかもしれないけど、個人的な備忘録としてこちらにメモしておく。
最後に書いてあるが、ホストから接続するときに個人的に少しハマったので、それに関することも含め残しておきたかった。

以下、dockerでmysql取得・起動してhostのmacから接続するまでのコマンドメモ ※なお、開発用のユーザ名なども同時に作成する前提で書いている。ユーザ名などの設定している項目については{}で記載。

# mysql取得
docker pull mysql

# docker起動
docker run --name {name} -p 3306:3306 -e MYSQL_DATABASE={database_name} -e MYSQL_USER={username} -e MYSQL_PASSWORD={password}  -e MYSQL_ROOT_PASSWORD={root_password} -d mysql

# docker起動(設定ファイル読み込んで起動する場合)
docker run  -v {.cnf_path}:/etc/mysql/conf.d -d --name {name} -e MYSQL_DATABASE={database_name} -e MYSQL_USER={username} -e MYSQL_PASSWORD={password}  -e MYSQL_ROOT_PASSWORD={root_password} -d mysql

# host(mac)から接続 -> macにmysqlクライアントがある前提
mysql -u {username} -h localhost {database_name} --protocol=tcp -p
# -> パスワード入力してログイン

### ちなみにdocker自体に接続する場合

# docker接続
docker run --link  mysqld:mysql -it --rm mysql bash

# 環境変数チェック(接続したdocker内で)
env

# mysql接続
mysql -u {username} -p{password} -h $MYSQL_PORT_3306_TCP_ADDR {database_name}
# -> パスワード入力しないでログインできる

docker runするときに-p 3306:3306を付け忘れていて、なんてホストから接続できないんだろう??と少しハマってしまっていた。

Caramel Ship - Marjoram レビュー

Desmondと一緒に音楽を作っているCaramel Ship名義のアルバム、"Marjoram"についてレビューが書かれていることを先日教えていただきました。
純粋に嬉しい!なので、こちらのブログでもご報告。

emergingindiebands.com

"Marjoram"、まだ聴いていない方はBandcampから試聴&購入できます

caramelship.bandcamp.com

スキマ時間にNode.jsのDocument

今更感がありまくりですが、電車乗ってる時とか、ちょっとした隙間時間にNode.jsのドキュメントをダラダラ眺めたいな〜と思ったら、公式ドキュメントにちょうど求めていた感じのシングルページとして見れるページがありました。

About this Documentation | Node.js v9.5.0 Documentation

これなら電波のない地下鉄とかでも、電波ある場所で読み込んでおけば、地下を疾走する鉄の箱の中で吊革につかまりながら死んだ魚の眼の奥底をギラリと光らせて、node.jsに触れられるね!