2019-09-06
Techquickrunというプラグインを使うと、vim内から任意のプログラムを起動できるようになる。僕はこれを使って、Rustのユニットテスト(cargo test
コマンド)を\r
で起動できるようにしている。
ただ少し困るのは、場合によってコマンドの実行時間が大きくことなる点だ。コンパイルエラーがあるときは一瞬で結果が出るのだけど、コンパイルが通ると、実行に10秒程度かかることもある。どちらになるのかは実行してみるまで分からない。
これに対して、.vimrcを以下のようにすることでcargo test
の実行前と実行後に音を鳴らすようにしてみた。afplayはMacにデフォルトで入っている音声再生コマンドである。
let g:quickrun_config['rust'] = {
\ 'exec': 'afplay ~/proj/sound/beep_low.wav; cargo test; afplay ~/proj/sound/beep1.wav',
\}
こうすると、テストの実行が長い場合は音が鳴るまで目を閉じておくことができ、プログラミングという負荷の高い作業の中で少しでも目を休めることができる。
2019-06-09
Tech自作言語の処理系をRustで書いてLLVM IR生成をやろうとしているのですが、とりあえずHello Worldができたのでコードを載せておきます。
準備編は以下です。
Cargo.tomlに以下を追加
2019-05-11
Tech福岡で行われたRubyKaigi 2019 福岡に参加した。
自分の発表について
今年は登壇者で、Ovtoの話をした。詳細はのちに上がるであろう動画を見てほしいが、現時点の資料としてはスライドのPDF版がある。プレゼンターノート付きなので概要は分かるかもしれない。
今回の発表の裏テーマとして「文章で伝えにくいOvtoの良さをライブコーディングで伝えたい」「初心者から上級者まで何かしら得るものがあるようにしたい」というのがあり、いずれも(個人的評価では)達成できたように思う。
2019-02-12
Tech2018-12-21
Tech2018-12-18
Tech2018-12-18
TechJavaScriptによるSchemeインタプリタ、BiwaSchemeのリリースを行いました。バグ修正が主です。
https://www.biwascheme.org/
最近修正したものとして、トップページのREPLで(read)
ができるようになりました。

これの詳しい話はまた別途書きます。
2018-12-03
Tech2018-11-10
Tech最近はどのプロジェクトもCHANGELOG.mdを書くようにしているのだが、CHANGELOGとコミットログは基本的に同じ内容になるので、手間を省くために自動で記入するようにしてみた。
手順
以下を.git/hooks/prepare-commit-msgという名前で保存してchmod +xする。
#!/usr/bin/env ruby
CHANGELOG_PATH = "./CHANGELOG.md"
2018-11-02
TechRubyで書けるクライアントサイドWebフレームワーク、Ovtoの0.2.0をリリースしました。
いろいろ機能が増えていますが、一番大きいのはAjax対応で、Ovto.fetch
というメソッドでサーバ側のAPIを簡単に叩けるようになりました。
これでだいぶ実用的になった、というか実際にVisionというTODOアプリを作って、実用しています。VPSに置いているのでPCでもスマホでも使えて便利です。
VisionはRails5.2.1 + Ovtoという構成で、このへんがクライアント側(Ovto)のコードです。実行時には、これがopal-sprocketsでJavaScriptに変換されてブラウザで動きます。