記事タイトルは立花隆『ぼくはこんな本を読んできた』のパロディー。
ふとマイページを見たら,これまでに書いた記事が 99 本であることに気づいた。
100 本目は何を書こうか。思いつかないので過去記事を振り返ってみた。
101 本目以降の記事も必要に応じて追記していくことにする。
Ruby
やっぱり Ruby の記事が多い。
初心者向け
Ruby の初心者に知ってもらいたいこと。
-
Ruby のエラーメッセージを読み解く(初心者向け)その 1
エラーメッセージが読めるようになるのが中級への第一歩。 -
Ruby のエラーメッセージを読み解く(初心者向け)その 2
この続きを書くつもりだが,果たせていない。 - Ruby の文字列配列・シンボル配列を複数行で書く
-
Ruby の正規表現を複数行で書く
ややこしい正規表現を分かりやすくメンテしやすく書く方法。 -
Rubyのハッシュ記法は混ぜて書ける
べつに知らなくてもいいか。 - String#gsub の第二引数にハッシュが渡せるんだった
-
Ruby でベンチマークを取る方法
Ruby でのベンチマークテストのやり方や数値の捉え方について書かれた記事はあまり無かった。今となっては古い部分があるので最新のライブラリーを中心にして書き直したいが方針が定まっていない(benchmark_driver 一択でよいのかどうかなど)。
Rails
Rails の記事は数も少なく,マイナーテーマのが多い気がする。
-
Rails 5.2 で SQLite3 の boolean の値が変わった
Rails で SQLite3 がどの程度使われているのか知らないけど,使っている人は Rails 5.1 から 5.2 に移ったときに「ぎゃ!」となったはず。とくに過去データを引き継ぎたいとき。 - Rails 5.2 で ActiveSupport::MessageEncryptor::InvalidMessage
-
Rails:ネストしたルーティングのパスヘルパーが長えよ
xxx_path
型のパスヘルパーメソッドが,ルーティングが複雑になると長くなりがち。これを,デコーレーターメソッドを使ってもっと簡素にしようという話。 - Rails モデル名の i18n のもう一つの方法
- Rails で *.scss じゃなく *.sass を生成してほしい
- rails generate annotate:install でエラーが出た
- Rails テンプレートにはマジコメ必要
Slim
筆者は,テンプレートシステムは Slim 一択。HTML も XML も Slim で書いてる。
どれも,似た記事が他に無いと思うんだけど,あんまり「いいね」が付かなかった。
Windows
Windows で Ruby やってるといろいろある(笑)。
たいがいは文字コード絡み。
- listen が Encoding::CompatibilityError で死ぬ(Windows はつらいよ)
- Ruby で UTF-8 なのにマジックコメントが必要なケース
- Dir.mktmpdir が短縮ファイル名をブロックパラメーターにするのでエラい目にあった
- "Windows で File.expand_path(""~"") はどうなる"
- Object#inspect は Encoding.default_external の影響を受ける
refinements
- Ruby の refinements の使い途
- Refinement で追加したメソッドが irb で呼べない?
- Refinement で定義したメソッドが Symbol#to_proc で使えない
- Refinement で追加したメソッドが send で呼べない
refinements は Ruby バージョンが上がるごとに制限が緩和されていったので,もう古くなっているのがあるはず(記事を見直してない)。
小ネタ・雑多なもの
言語仕様
組込みと標準添付のライブラリー
- 素の Ruby で HTML エスケープするなら cgi/escapeが最強
- Ruby の csv ライブラリーにおける空フィールドの扱い
- Ruby の Integer#pred の pred って何?
- Ruby の Hash#select, reject のブロックパラメーター
- Random.rand(-1..1) は Random.rand(3) - 1 よりずっと遅い
- Ruby で MatchData#named_captures が欲しい
外部ライブラリー
- Ruby の i18n を単独で使う
- thor hoge と書きたい
- ホーム以外でホームの Rake タスクを実行
- Bundler.require でのエラーが変わった
- RuboCop の設定を共通と個別で別管理する
- 巨大 gem がゴミになってた件
その他
- Ruby で s が nil か String か分らぬとき s.to_s と s || '' はどっちがいい?
- rbenv で gem のコマンドが期待と異なる Ruby で動いてしまう
- Ruby のココがダメ
暇つぶし・遊び
- Array#permutation で覆面算を解く
- Ruby で百世紀までの素数日リスト
- 愛は金よりも重い
- 生死から愛が生まれるとき教科書から恐が生まれる
- Ruby と Rust でアベソートを実装してみた
- x == x が false になることはあるか
- "Ruby で """""""" < """""""" <=> """""""" > """""""""
- Ruby 2.6 で 0.step.step は何を返すか
用語,日本語文章
専門用語とか,技術文書の日本語表現とかに強い関心があるので,そういう記事をよく書いている。
誤った用語は SNS で一気に広まってしまうので何とか食い止めたいのだけれど,そういう動きに対して嫌悪感や反感を持つ人も少なくない。それはそれで分かるよう気もしている。
-
Qiita などの技術系の記事で残念に思うポイント
他人の記事を批判するつもりはなく,「こういうことに気をつけて書くといいんでは」ということを書いたつもり。 -
「値を返却する」って言うな
「値を返却する」はもう止められない気もしている。でも,借りてもいないものを「返却する」のは未だにプログラマー以外が使っているのを見たことが無い。 - opacity は透明度じゃない
- YAGNI は何の略?
- それは後方参照じゃない
-
違和感のある計算機用語
自分ではいいと思ったんだけど,ほとんど反響がなかった。 -
マイナーな漢語系電算用語
「作譜」とか「算法」とかを集めた。 - Rubyのブロック引数とブロックパラメーターを混同しないで
-
「特異メソッド」は誤訳か
これは Ruby の用語について書いたもの。あとで分かったけど,「特異メソッド」はそもそも訳語ではなかった。
正規表現
正規表現は書きたいことがいろいろあるのだが,果たせていない。
-
強欲な量指定子(絶対最大量指定子)の使いどころ
++
とかの類は何に役立つのかって話。 -
Rubyの行末
「行頭」「行末」って,自明な概念じゃないんだよ,という話。 -
EmEditor で Onigmo 正規表現エンジンを使おう
タイトルに「EmEditor」とあるけれど,記事の内容としては Onigmo の機能の紹介だったりする。「部分式呼び出し」の解説は他ではあまり見ないので知ってほしい。
Rust
Rust は未だに全くのド素人。筆者はシステムプログラミングをしておらず,ふだん作るものは Ruby で足りているので,学習も進まない。
いずれ Ruby と Rust の連携の記事をいくつか書いていきたいと思っているのだけれど。
言語仕様
正規表現
なんか作ってみた
Ruby だと計算量的にツライ絵を Rust で描かせてみた,という趣旨(ミンコフスキー距離は Ruby でも平気だろうけど)。
テキストエディター
プログラマーで EmEditor や CotEditor を使っている人は少ないのだろう。反響が無い。
- EmEditor で今書いている Ruby スクリプトの文法をチェック
- EmEditor 上で書いた Ruby のコードを動かして結果を後ろに挿入する
- CotEditor 上で書いた Ruby のコードを動かして結果を後ろに挿入する
その他
-
「プログラミング言語の歴史を会話方式で振り返る」を横目で見ながらの会話
あまり記事にされることが無い SNOBOL, Occam, CLU について,調べて書いてみた。自分では気に入っているが,あまり反響が無かった。 -
職業としてプログラムを書くことになった人にいちばん伝えたいこと
「新人プログラマ応援」という企画に乗っかって書いてみた半ジョーク記事。 -
ロートルエンジニアの私が圧倒的老化に抗おうとしてやれていないこと
老化したプログラマーのため息を記事にしたようなもの。 -
Firefox の Format Link の直し方
ウェブページへのリンクを Markdown 形式で取得するのにメッチャ便利なアドオン Format Link の異状を直す方法。