master への push を禁止するローカル git hook の正しい書き方

git

GitHub などで Pull Request ベースで開発をしていると、master には間違っても push したくないわけです。 GitHub 側には残念ながら master への push を禁止するような設定はできないので、仕方ないのでクライアント側の Hook で対応しようってことになり…

Ruby の Hash で値だけ map で変換したかった

hash = {a: 1, b: 2, c: 3} hash2 = hash.map {|k, v| [k, v * 2] }.to_h p hash2 # => {a: 2, b: 4, c: 6} めんどくさい。Scala には mapValues というのがあるらしい。Ruby で書くならこうかな。 class Hash def map_values(&block) dup.map_values!(&bloc…

無料で使える CI サービス 8 個まとめ

CI サービスをいくつか触ってみたのでまとめ。 今回の目的は、テストを実行すること。なので、ビルドやデプロイ辺りはちゃんとは見ていない。 ドキュメントで確認しただけの項目などもあったりするので、間違っていたらごめんなさい。教えてもらえると助かり…

Google の Vim script Guide について言っておきたいこと

この記事は Vim Advent Calendar 2014 の 25 日目の記事です。Google が、様々な言語に対する自社内でのスタイルガイドを公開しているのはご存知でしょうか。C++ のものや JavaScript のものなどがあり、この辺りは割と有名かと思います。 では、Vim script …

VimConf 2014 を開催しました

去る 2014年11月8日、VimConf 2014 を開催しました。 私は、主催、というわけでもないのだけど、本会開催スタッフの中心人物的な感じで関わらせていただきました。 VimConf は本当に多くの人の協力で成り立っています。私は今回、あちこちの人に色々お願いし…

Nagoya.vim #2 に行ってきた

9/20(土) に名古屋で開催された、Nagoya.vim #2 に行ってきた!初名古屋! お昼前頃に現地に到着し、@If_I_were_boxp さん、@Linda_pp さん、@c0hama さんと合流してランチへ。みんなが味噌カツを食べる中私は特選名古屋コーチン親子丼を食べ、満足したとこ…

momonga.vim #6.2 に行ってきた

去る週末の土曜日に、momonga.vim #6.2 に行ってもくもくするなどしました。 ポポラマーマでランチにパスタを食べ、夜は寿司でも食べようかと思ったけど人数的に入れなかったので適当にラーメンを食べ、半徹夜明けの日曜はバーガーキングで遅めの朝食を食べ…

winenv.vim 作った

vim

momonga.vim #2.2 で作っていたアレです。 あのあとすぐ、細かいバグを取ったりして本体の実装は完了したのだけど、その後ドキュメントを書くところで面倒になって長らく放置…。 しかし本日、yuk(balloon-stat)さんが、unite-winpath なるものを作ったと言う…

Vim プラグインを Windows 環境でテストする

最近は専ら Vim script 向けテスティングフレームワーク themis.vim を作っているわけですが、テストを書いたら当然実行しないと意味がないわけです。 しかし手動でテストするのは面倒。そこで CI。設定しておけばリモートのリポジトリに push した時に自動…

momonga.vim #6.1 に行ってきた

momonga.vim #6.1 に行ってもくもくしてきた。 momonga.vim の小数点回は、少人数によるももんが邸を会場にしたもくもく会。会場キャパの問題があるので、大体いつもほぼ決まったメンバーで行われることが多い。 今回は過去最長、だいたい32時間くらい滞在し…

Vim script テクニックバイブルが発売されました

vim

先週の 8/6(水) に、私も執筆に参加した Vim scriptテクニックバイブル 〜Vim使いの魔法の杖(Amazon) が発売されました。中にはもうすでに購入して読んだ、という方もいると思います。ありがとうございます。 読んだ人ならわかるかと思いますが、この本は入…

momonga.vim #6 に行ってきた

momonga.vim #6 に行ってきたよ!初ドワンゴ! momonga.vim #6 β 本会開始前に、数人で集まって会場近くのカフェでプレもくもく会などをした。電源が完備されており、とても便利だった。 本会 規模は大きかったけど、島が分かれていることで、かなりいい感じ…

momonga.vim #5 に行ってきた

momonga.vim #5、行ってきました。いつも通り早めの時間に @supermomonga さん宅に何人かで押し入り、一緒にバーガーキングでランチ。@aomoriringo さんがキングサイズのコーラを頼んでがんばってたけど結局飲みきれずに捨ててた。 今回はいつもとちょっと違…

Vim script 用テスティングフレームワーク themis.vim を公開した

vim

作ろうと思ったのが 2013年3月。1ヶ月くらいでサクっと最低限動くものを作ろうかなぁくらいの軽い気持ちで作り始めたわけですが、悪い癖をこじらせて、気付いたら1年以上経ってました…。 いい加減よろしくないと思い、先日の記事に書いた通り、えいやっとリ…

Osaka.vim #1 に行ってきた

Osaka.vim #1 に行ってきたよ!初大阪! 直前にキャンセルが相次いでしまったけど、それでも 16 人もの Vimmer が参加。 京都の学生さん率が意外に高くて、京都の学生さんすごい。兵庫からの参加者もいました。関西圏の距離感よくわかってなかったんだけど、…

Aizu.vim #2 に行ってきた

Aizu.vim #2 に行ってきたよー。初会津です。 新幹線で郡山まで行ってから、更に電車に揺られること1時間10分。途中流れる山々の景色を眺めつつ、のんのんびより2期に思いを馳せるなどしました。 到着した先はさすがに途中で見たほど山って感じではなくてち…

TokyoVim#20 に行ってきた

行ってきました TokyoVim#20。前回は参加できなかったので、#18 以来の参加。今回は、以前から作っていた目下開発中の Vim script 用のテスティングフレームワーク「themis.vim」について、主に犬さんからただならぬプレッシャーを感じとり、こいつを完成さ…

momonga.vim #4 に行ってきた

momonga.vim #4 に行ってきたよ。前回は午前中からだったけど、今回は午後から。会場の武蔵野プレイスはかなりの人気施設で、予約開始直後に予約がいっぱい入ってしまい、なかなか1日中は取れないらしい。 私は早めに行って、同じく早めに来た @aomoriringo …

Sapporo.vim #2 に行ってきた

Sapporo.vim #2 に行ってきました! 会場は株式会社インフィニットループさんの会議室。初インフィニットループです。 もくもく会ということで、私は threes.vim に記録を残す機能に着手するなどしてました。進捗はある程度はあったけどアウトプットできる量…

Boost.勉強会 #15 札幌 に行ってきた

Boost.勉強会 #15 札幌、行ってまいりました!初札幌! 会場は北海道大学。会場で使えるはずのネットワークがトラブルで使えなくなり、有志のテザリングなどでしのぎました。つらい。 いつものように役に立たない感想書きます。 「マルチパラダイムデザイン …

一週間vimrc

「私、vimrc…一週間で消えちゃうの…」 0 0 * * 1 rm -f ~/.vimrc ~/.vim/vimrc あかん、泣けてきた。

TokyoVim#18 に行ってきた

TokyoVim#18 に行ってきたよ。 今回はなんと不覚にも寝坊により1時間遅れての参加…。夜更かしして vital のランダムモジュールいじってる場合ではなかった。今回は遅れて参加した割にちゃんと進捗出ました。threes.vim の改良をしていて、結果、r でゲームを…

Vim でバイナリデータを扱う

Vim Advent Calendar 2013 の 128 日目の記事です。 Vim でバイナリデータを扱う方法についてのまとめです。 基礎知識 Vim script で扱える文字列は、C 言語の文字列と同じです。すなわち、'\0' 文字終端のバイト列です。これはつまり、NUL 文字が扱えないこ…

Yokohama.vim #5 に行ってきた

Yokohama.vim #5 に行ってきたよ! Yokohama.vim は大体私が gu4 さんを焚き付けて開催されている感じなのだけど、今回は開催1週間前くらいで定員15人のところ5人くらいしか集まってなくて、しかもメンバーが常連の面々になっていたので、焚き付けた手前この…

gf-user で gf の動作を拡張する

Vim Advent Calendar 2013 の 114 日目の記事です。 gf の問題について gf は、カーソル下のファイルを開く便利機能です。例えば、"foo.c" とバッファに書かれていた場合、ここにカーソルをのせて gf を押すと、foo.c を開いてくれます。更に gF を使うと、"…

threes.vim にアニメーション機能付けた

↓で mp4 でも見れるよ。 http://gyazo.com/c2b752c5bcdcfae0445ebedb18208fa6↓インストールはこちら。 https://github.com/thinca/vim-threes

momonga.vim #3 に行ってきた

若い女性に大人気と噂のVimについて便利するという、momonga.vim #3 に行ってきた。 今回は 10:00 から 22:00 とかなり長丁場。全編参加する必要はなく、途中から来たり途中で帰ってもいいのだけど、午前中の時点で20人中18人が揃うことに。みんなやる気すご…

threes.vim 作った

Threes! と言うゲームがあります。http://threesgame.com/スマホで遊べるパズルゲームで、単純なのになかなかハマります。先日行った TokyoVim#17 で @kana1 さんもハマっていたので、これは Vim 業界で流行りそうな予感です。なので、Vim で遊べるように th…

TokyoVim#17 に行ってきた

TokyoVim#17 に行ってきたよ。 前回の #16 は 12 月に予定されていたのだけど、kana さんの病欠により流れてしまったので、実に9ヶ月ぶりです。久々。今回はいつもと違って会場は3階だった。そして、そのせいかはわからないけど、トラブルで無線LANが使えな…

git pull したときに自動で git stash save と git stash pop をする

git

なんか作業している時に最新版取ってきたいとき、git stash してから git pull してまた git stash pop するのダルいので自動でやる設定。 [rebase] autostash = true 設定の名前見るとわかるけど、rebase の時にも動く。当然 conflict した場合は手動の時と…