2025
Railsのログからさまざまな条件による抽出と整形や集計を行うselect_rails_logというツールをgemにしてリリースしました。
プログラミング::Ruby2024
"string".scan(/regexp/) {}は引数の正規表現にマッチした文字列または文字列の配列をブロック引数に渡しますが、MatchDataを渡してくれるscanがあると便利ではないかと考え、試しにRegexp#scanとして実装してみました。
2022
2021
M5StickC Plusでマイコンを始めました。Arduino IDEのインストール、M5StickC Plus向けのボード設定、ライブラリの追加を行うまでは問題なかったのですが、サンプルスケッチを動かそうとしてもesptool.pyを実行できないというエラー。それをなんとか解消してスケッチを書き込めたもののLチカはできず、画面も黒いまま。そんなトラブルの記録です。
電子工作電子回路が壊れるような致命等な問題をmacOS版LTspiceのシミュレーションにより見付ける手順について調べてみた際の記録です。電子回路に詳しくなく、しかもLTspiceを使うのが初めてなので、おそらくこうではないかという推測が多分に入っています。
電子工作2020
ある名前が指定されたときにそれを実行できるかどうかを調べる方法について、zsh、bash、dash、fish、tcshで比較してみた。
プログラミングRubyやRailsのプロジェクトでシェルスクプトやRubyスクリプトで小さなコマンドを作ることがある。 そういったコマンドのテストをするためのヘルパーモジュールを考えてみた。
プログラミング::RubyRubyのテストでstubやmockが使えるようになるrrについて、不思議な感じの挙動に出会ったので動作を追跡してみた。
プログラミング::RubyVIMのaleからrubocopをrubocop-daemonやspringを経由して動かすための設定にチャレンジした。
プログラミング::Ruby2019
ファイルから一行ずつ読み込んで何か処理をするというときの、読み方について簡単な比較を行った。また、その結果をもとにもう少し現実的な例としてRailsのログを読み込んで日時やPIDに分割する処理を作り、それらの比較を行った。
プログラミング::Ruby長期間にわたって複数の人の手で開発が続いているプロジェクトにRuboCopを導入しようとしたとき、コードの書き方にいろいろなスタイルがあって困ることがある。そこでどのスタイルを選択すると、導入直後のストレスが小さくなるかを計るスクリプトを作成した。
プログラミング::Rubyhomebrewのimagemagick formulaからビルドオプションが廃止されたらしいので、brew editでカスタマイズしてimagemagickをインストールした。
作業環境構築2018
.ruby-versionを持っているあるプロジェクトの中で起動したRubyの中から、.ruby-versionの内容が異なる別のプロジェクトに入ってRubyスクリプトを実行するケースについて調べた。
プログラミング::Rubydelayed_job startならばジョブ実行されるのに、delayed_job runとするとジョブ実行されないという問題が発生した。何がどうなってそんなことになるのか調べてみた。
プログラミング::Rubyspring経由でrailsコマンドを実行すると、ログをつかみっぱなしになるので、ヒマになったら終了させるという設定を考えてみた。お試し中。
プログラミング::Rubybin/rake testは問題なく実行できるのに、bundle exec testを実行すると「ActiveRecordStatementInvalid: PGUndefinedTable: ERROR: relation “…” does not exist」というエラーになる。いったいなぜ。
プログラミング::Ruby2017
rb-readlineを使っているとCtrl-Yでirbやpryがサスペンドしてしまう問題について調べた。 macOSなどで起きるがLinuxでは起きない現象で、端末制御のdsuspへの対処がrb-readline.gemとreadlineライブラリとで異なっているのが要因であることが分かった。そこからrb-readlineを使わない以外の対策について考えてみた。
プログラミング::Ruby