はじめに 物事を上達するためには反復を、というのはよく聞きますが、もちろんプログラミングでも大事なのかと思います。とくに自分は「一を聞いて十を知る」ような器用なことはできないので、何度も何度もプログラムを書いて、試していました。 このような反復を支援するためには、できるかぎり「書き始めるコスト」と「実行して確認するコスト」は低い方がいいと思っています。書き始めるのがだるいと、そもそも「ちょっと書いてみようかな」となかなか思わないですし、実行するための手数が多いと、「書いて→結果を確認」の回数が減ります。本稿では、この「書き始めるコスト」と「実行して確認するコスト」を下げる私が20年くらい行っている工夫についてご紹介します。 筆者がRuby が好きなので、Ruby の例が多いですが、別にRuby に限った話ではありません。 プログラミング言語による違い たとえば、C 言語ですと、プログ

前編はこちら。 udzura.hatenablog.jp ここまででスキャナまでは実装し、大体動いたようです(型もちゃんとついたようです)ので、続きの実装をします。 閑話: エディタの型支援を受ける 当方はEmacsなので読者の参考にならないかもしれませんが...。 といっても以下を有効にしたぐらい。 rbs-mode lsp-mode 同梱になった lsp-steep どちらも @ybiquitous さんの力なので、神と崇める他ない。 さらに、RBS有効のプロジェクトだけlspをsteepが用意したものに変えるため、プロジェクトのルートに以下のような .dir-locals.el を用意する。この内容は とんさんのブログ記事 のものを参考にしている。 ((ruby-mode . ((lsp-enabled-clients . (steep-ls))))) これでlspとlsp-uiを有
「ファイルの変更を検知してなにかするツール」のデファクトスタンダード、guard。みなさんもきっと使ってますよね? guard はよくテストを自動で実行させるのに使われます。修正を検知して自動でテストを実行してくれるだけでも便利ですが、テストの結果を確認するためにいちいちターミナルを見なくてもよいように、いろんな方法の通知をサポートしているのがよいですね。「裏側でテストを実行させっぱなしにして、テストがコケたときだけターミナルで確認する」というのが一般的な guard の使い方だと思います。 そんな guard の README を眺めていたら、通知のオプションにemacs があるのに気づいたので試してみました。設定は、Guardfile に次の一行を足すだけです。 notification :emacs テストが通ればミニバッファが緑になり コケれば赤くなります。 growl や os

MELPAで取得できるruby-modeのruby-beginning-of-defun(C-M-aに bind)は moduleの中で定義される classや関数の定義には移動してくれません。 定義は以下のようになっています。 (defun-region-commandruby-beginning-of-defun (&optional arg) "Move backward to next beginning-of-defun. With argument, do this that many times. Returns t unless search stops due to end of buffer." (interactive "p") (and (re-search-backward (concat "^\\("ruby-block-beg-re "\\)\\_>"
僕はこれまで下記のようなインデントでruby のコードを書いてきました。 SuperLongClassName.super_long_name_method(hoge: 'fuga', foo: 'bar', baka: 'aho') 理由は、Emacs のruby-mode による標準インデントが上記のような形になっているからです。今ひとつだなーと思いながら幾年月。すばらしい設定を発見しました。 (setqruby-deep-indent-paren-style nil) とすると下記のようにインデントできます。 SuperLongClassName.super_long_name_method( hoge: 'fuga', foo: 'bar', baka: 'aho' ) おお!すばらしい…かと思ったら閉じ括弧が微妙ですね。ぐぐったらこんな設定を見つけました。 (defadvi
はじめにEvernote便利ですよね!でも、やっぱEmacsから使いたいですよね! そんなEmacs使いの夢を叶えてくれるemacs-evernote-modeを見つけたので、早速使ってみました。 環境 Ubuntu 10.10Emacs 23emacs-evernote-mode 0.21Ruby 1.8.7 Thrift 0.5.0 インストール 1. 取ってきて解凍して配置 ダウンロードページからzipファイルを取ってきて解凍し、.emacs.dに配置します。以降は ~/.emacs.d/evernote-mode に配置されている前提で進めていきます。 2. RVM使ってる人はsystemrubyに変更 /usr/bin/ruby以外のRubyを使おうとすると、使うときに"enclient.rbが見つからない"とエラーが出ます。Emacsのexec-pathをちゃんと設

[2010-11-16 00:45:35] >>>[emacs] >>>[evernote] cf.http://code.google.com/p/emacs-evernote-mode/wiki/README_Japanese友達がEvernoteとか言ってたから,Emacsにはないんだよねー.APIでも見てみるか→サンプルみたいなのが紹介されてる→emacs-evernote-modeあるやん というわけです.ようやくうまく動いたので,紹介します.emacs-evernote-mode - Functions for editingEvernotenotes directly fromEmacs -Google Project Hostingの右にあるFeatured downloads:からダウンロード. 現時点ではevernote-mode-0_10.zipが最新って
Posts May 27, 2021 Gitのグローバルな設定はデフォルトで$HOME/.config/git/を読みにいく Mar 17, 2021 VALTESさん品質保証セミナー受講記録 Dec 13, 2020 「紙粘土スクラムから得たアンチパターン」を聞いて感じたこと Dec 7, 2020アジャイルな開発のなかで得にスクラムをやりたい、やっている理由をスクラムフェス札幌2020の中で尋ねた Nov 22, 2020 他人がどう思うかをうまく利用する Aug 25, 2020 Elixirを使ってログをStackdriverのLoggingへ送る May 18, 2020ADR(Architecture Decision Records)を書く May 18, 2020 自動化を行う Mar 4, 2020 しょぼい起業で生きていく Jan 20, 2020 runtime_
前回のRuby リファレンスマニュアル(通称るりま)と ReFe2 をインストール・Emacs で参照する・ anything.el との連携 - http://rubikitch.com/に移転しました では欠点があったのでより強化してみた。 ライブラリのリファレンスが見られるようになった 「 Enumerable#map 」などの別名のエントリも作るようになった ライブラリ名、クラス名、メソッド名が一箇所になるように目次を作成した refe2x コマンド ReFe2 よりも bitclust コマンドを使う方がより詳細な説明が出ることが判明。それに ReFe2 だとライブラリのリファレンスが見られないようだ。 bitclust ならば見られる。なので、拙作 refe2 コマンドを改訂して refe2x コマンドを作成した。以下からもってけ! refe2x コマンドの BITCLUS
■ [emacs][ruby][rsense]emacs で *.rb の補完を何とかしたい いい加減 typo が多いので本格的にemacs での rb なコードを書くときの補完環境を整えている。 試してみたのは以下のelispの皆さん。 http://github.com/m2ym/auto-complete 何故か popup.el が load-path なディレクトリに存在しなくて動かなかったんだけど、入れ直したらあっさり動いた。かなり良い感じ。 http://github.com/m2ym/rsense manual.ja.txt を読みながら試行錯誤してみたんだけど、M-x rsense-version がどうやっても動かないので諦め。 http://rubyforge.org/projects/rcodetools 何も考えないで require しただけだと動かなくて
![[emacs][ruby][rsense] emacs で *.rb の補完を何とかしたい - HsbtDiary(2010-03-18)](/image.pl?url=https%3a%2f%2fcdn-ak-scissors.b.st-hatena.com%2fimage%2fsquare%2f8cab6183abe73ade0ce0a24c302ac36ee5c17b43%2fheight%3d288%3bversion%3d1%3bwidth%3d512%2fhttps%253A%252F%252Fwww.hsbt.org%252Fdiary%252Ftheme%252Fogimage.png&f=jpg&w=240)
最近Rubyリファレンスマニュアル刷新計画(るりま)を更新してなかったので状況が変わっていた。今ではsvnリポジトリを使ってドキュメントが作成されている。ドキュメントのデータを除いてみたら拡張RDで書かれている。Ruby リファレンスマニュアルをEmacs で参照・ anything.el との連携(改訂版) - http://rubikitch.com/に移転しましたではReFe2を呼んでいたが、直接RDを読み込んだほうが効率的なのでここに新しい方法を示す。こんな感じになる。 準備 まずは、るりまのリポジトリをチェックアウトする。 ~/compile/rurima以下に展開するものとする。 $ cd ~/compile; mkdir rurima; cd rurima $ svn co http://jp.rubyist.net/svn/rurema/doctree/trunk rub
Emacsを触っているとRubyに関するEmacs Lispなんかは大体「使ったことないけども知っている」状態になる。 たぶんrubikitchさんがいるからと個人的に思っている。 とりあえず、rubyのコードを一切書かずにEmacs Lispの設定をしてみた。Ruby:1.9.0 OS:Ubunturuby-modeRubyのソースコードからruby/misc/*.elをEmacsのload-pathにセット http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/misc/ruby-block.elEmacsWikiから取得。 rcodetools $gem install rcodetools $sudoruby ~/.gem/ruby/1.9.0/gems/rcodetools-0.8.5.0/setup.rb xmpfilt
_ [ruby] referubyのリファレンスをひくrefeをセットアップした。 便利だこれ。ヽ(´▽`)ノ hidaqa先生に「emacsはヘルプと対話しながら使うんです!」と教えてもらってから、emacsでヘルプをひきながら調べる楽しさの味をしめています。 これでrubyもヘルプをひけます。 いくつかメモ。 なんか無駄なことやってるとこもあるけど動いたから良し。 --- メモ--- http://www.ruby-lang.org/ja/man/html/ReFe.html の通りにやればOK。 ■windowsの場合は↓でやったruby mkrefe_rubyrefm -d /usr/local/share/refe --lang=ja *.rd (--lang=ja をつけるとエラーになるときがあるな・・・。 あと、mkrefe_rubyrefm がないと言われたらd:/r

リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く