反省はしても後悔はしない

Vim とか備忘録とか。それと関数型言語勉強中

Functional 花見 2013 に行ってきた

Functional 花見 2013 に行ってきました。 天気は良いし、桜は満開で最高のお花見日和でした。 そして、なぜか電源もWi-Fiもあるったのでハッカソンにも最適な環境でした。 本日の成果 @mzp さんに opam という、OCaml 用のパッケージ管理ツールを教えてもら…

今更ながら F# で逆 FizzBuzz を解いてみた。それと List モナド

F#

背景 先週のなごやかScala #9にて、逆 FizzBuzz 問題というものを Scala で解いたものをコードレビューするというのがありました。 はてなダイアリーふっかつと逆FizzBuzz問題をScalaで解こう(前編) - スノトラさんのつれづれ日記 元ネタは多分これ 逆Fizz…

Vim でコピペするときの Tips

Vim

この記事は Vim Advent Calendar 2012 の 40 日目の記事です。 昨日は @kokukuma さんのなんかvimがセグメンテーションフォルト吐いたんですけど。。でした。 はじめに プログラミングに限らず、何かを書くときにコピー&ペーストってよく使いますよね。Vim …

Vim で使える Ctrl を使うキーバインドまとめ

Vim

キーマップに Ctrl キーを使うものを割り当てたいんですが、既存の機能と衝突するのが怖いので調べてみました。 keybind normal visual insert <C-a> 数字を加算 なし さっき挿入した文字を挿入 <C-b> 1ページ上にスクロール 1ページ上にスクロール なし*1 <C-c> (検索)コマ</c-c></c-b></c-a>…

vim-smartinput と vim-endwise が競合した時の対処法

Vim

vim-smartinput も vim-endwise もどちらもすごく良いプラグインなのですが、2 つ一緒に使ってると smartinput の C 系の中括弧入力がうまくはたらかなくなってしまいました。↓正常時 if (hoge) { # } ↓vim-endwise と競合時 if (hoge) { #} 原因 vim-smarti…

Scala の関数の変位について調べてみた

ジェネリックの変位についてはいろいろ資料とかあるんだけど、関数の変位ってどうなってるのか少し疑問だったので調べて見ました。 どういうこと? たとえば、以下のようなイベントがあったときに def onLoad(callback: Event => Unit) def onClick(callback…

LinuxMint13 で gvim をコンパイル

Vim

最新版の gVim が使いたいなと思い、gVim をコンパイルしようとしていろいろつまづいたので備忘録として書いておきます。 OS は LinuxMint13 ですが、多分 Ubuntu でも似たような感じになると思います。 mercurial のインストール $ sudo apt-get install me…

vim で gitk 的なことを行う gitv が便利

前回に引き続き、今回も Vim + Git ネタですが・・・。vimshell や fugitive.vim を使っているとほとんどの操作を Vim 上で実現できるます。でも、gitk だけは別ウィンドウで起動しなければならず面倒だと思っていました。 Vim 上で gitk 的なことを行うプラ…

fugitive.vim が便利すぎたのでメモ

Vim から Git を操作するプラグインとしては、今まで git.vim を使っていたんですが、fugitive.vim のほうが便利だったので乗り換えました。詳しい説明はここ VimmerなGit使いはfugitive.vimを今すぐ入れたほうがいい - SELECT * FROM life;ここでは、自分が…

rails + mongoDB

Ubuntu 11.10 に rails + mongoDB な環境を構築したのでメモ。 10gen の GPG キーをインストール $ apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 10gen のリポジトリを追加 $ sudo vim /etc/apt/sources.list で管理者権限でファイルを開…

Vim のプラグインを Vundle でインストールして Git で管理しようとしたらハマった

vimrc に Bundle 'rails.vim'を記述して :BundleInstallみたいな感じで rails.vim を ~/.vim/bundle/vundle にインストールしたあと、.vim ディレクトリで $ git add .しても、 # new file: bundle/rails.vim # # Changes not staged for commit: # (use "gi…

Vim のインサートモードで方向キーが A B C D になる・・・。

Vim

現象 Vim のインサートモード時に hoge と入力したあと、方向キー(↑、↓、→、←)を入力すると、 D C B A hoge みたいな感じで1行上に移動しながら A B C D という文字入力になる。 まぁ、普段はあまり方向キーを入力しないので気にならないです。 が、neoco…

sbt と scalatest をいれました。

sbt のインストール sbt-launch.jar を拾ってきて、パスの通ったフォルダ(例: ~/bin)に置く。 以下のようなスクリプトファイルを作成して sbt という名前で保存。 java -Xmx512M -jar `dirname $0`/sbt-launch.jar "$@" 作ったファイルに実行権限を付与す…

heroku にデプロイするときにハマった。

ローカルでは問題なく動作するアプリケーションを $ git push herokuで heroku にデプロイしてみたんだけど、 We’re sorry, but something went wrong. とか表示されてうまく動かない・・・。原因は heroku サーバー上でのマイグレーションのし忘れ。 $ hero…

RSpec の before(:all) と before(:each) でハマったのでメモ

before(:all) と before(:each) と it の実行タイミングとか状態とかについて調べてみた。 コード describe 'invalid user' do before(:all) do @value = 1 puts 'all' end before(:each) do @value += 1 puts 'each' end it { p @value } it { p @value } i…

heroku で rails を使うための環境を 0 から構築した

ふと、heroku 上の Ruby on Rails で Web アプリケーションを作りたくなったので、Ubuntu 10.10 上に環境を構築してみました。 RVM を導入 RVM (Ruby Version Manager) があれば、ローカルの環境に複数バージョンの Ruby をインストールすることができます。…

Ubuntu 10.10 に Google IME を入れたのでメモ

メイン PC の OS を Ubuntu 10.10 にしてみました。 とりあえず、一番最初に気になったのは日本語入力。最初から入っていた Anthy は使いづらかったので Google IME (というか Mozc)を入れました。その時のメモ。 参考にしたページ Ubuntu10.10にMozc(Goo…

F# の判別共用体で電卓もどきを作った

F#

リリカル合宿というハッカソンに参加してきました。 そこでやったことを忘れないうちにメモ。bleis さんに手伝ってもらいながら超簡単な電卓もどきみたいなものを作りました。 例えば、 3 + 4 + 4 というような計算式を入力すると 11 を出力します。 ただし…