ブックマーク / blog.8-p.info (4)

  • ソフトウェアを完成させる - blog.8-p.info

    Why is building the Ruby environment hard? の、 ソフトウェアは何もしないと壊れる というのは事実ではあるんだけど、それが良いことかというと、どうなのかなあと思う。ほかにも、我々プログラマはつい「ソフトウェアは完成しない」とかいってしまうし、それは雇用のためには良いことなんだろうけど、でも当に完成しないんだろうか。 Gologrus の README には、こんな段落がある。 Logrus is in maintenance-mode. We will not be introducing new features. It’s simply too hard to do in a way that won’t break many people’s projects, which is the last thing you want fro

  • モックは必要悪で、しないにこしたことはない - blog.8-p.info

    Mockitogomock が使いやすいせいか、単体テストというのはモックするものである、という思い込みがあるのか、人々がモックしすぎているのを時折みかける。 モックは必要悪で、しないにこしたことはない。外部の API サーバーとかはガンガン叩くわけにもいかないけれど、ファイル読み書きくらいは、実際にファイルを作ったり消したりしてしまっていい。/etc/passwd を消すとか、1GB のファイルを作るとかだと難しいかもしれないけれど、その場合でも、パスのプレフィックスを指定できるようにして、一時ディレクトリの中の etc/passwd を使うとか、ファイルサイズを指定できるようにするとか、逃げ道はいくつもある。そこを飛ばして「ファイル操作は一律モックしましょう」とか頑張りだすと辛いことになりがちだ。 モックの一番の問題は、番とテストで違うコードが走ることで、これは自動テストの価値

  • シェルスクリプトを書くのをやめる - blog.8-p.info

    今年から、できるだけシェルスクリプトを書くのをやめようとしている。私が毎日 zsh に打ち込んでいるのも広義のシェルスクリプトだし、自分用の雑なスクリプトを書くことはあるけれど、チームの他の人も将来に使ったり改変したりするようなものは、なるだけ他の言語を使っている。 シェルスクリプトを書くのは難しいし、その難しさは、学ぶに値しないといったら言い過ぎかもしれないけれど、2021年に初心者が取り組むべき問題とは言い難いと思う。 シェルは悪いプログラミング言語である Bash Strict Mode とかを使ってみても、シェルスクリプトには落とし穴が多すぎる。自分で書いたものを自分で使っている分には大丈夫なのだけど、スクリプトがチーム内で使われるようになると、考慮していなかったところ、例えばファイル名に空白文字が含まれるとか、そういうレベルの微妙なところで、ちゃんと書かれていないスクリプトは壊れ

  • プログラミングが楽しいとき - blog.8-p.info

    たまに Rust の勉強もかねて何かを再実装しようと思うんだけど、大抵は途中で飽きてしまう。一方で、最近に仕事で使っている雑なスクリプトをきれいに書き直して、これはなかなか楽しかった。というわけで、自分の中での楽しさを書き出してみようという試みです。 自分の生活が便利になった 仕事で書くスクリプトとか、個人的な便利コマンドとかはここの楽しさが大きい。 仕事で関わって製品としてリリースされるものが、自分の生活を便利にするかは、まあ半々くらい。「確かにこれあるといいですね。自分でも使います。」というものもあるし、正直いって自分は使わなそうなものもある。 コンシューマ向け製品だと、自分の好みはだんだんメインストリームとずれてきていて、それは将来に不安を感じる。携帯電話のプッシュ通知とか、なるべく来ないで欲しい。 無理そうなことが出来てかっこいい 昔に作っていた、SIMBLMac のアプリを

  • 1