タグ

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

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

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

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

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

  • エンジニアを育てる環境と、コミュニティのありかたについて - blog.8-p.info

    エンジニアを育てるはなしが、たぶん以下の Takuto Kihira さんの tweet をきっかけに盛り上がっていた。 昨日の飲みで、某CTOが「エンジニアを育てるって言うけど、紀平さん誰かに育てられました?自分で育ったでしょ?だからエンジニアに対しては、頑張れ、としか言いようがないと思うんですよね」って話をしていて、まあ確かにそうだと思った。自分はしかし親に環境を用意してもらったな。とかPCとか。 私の立場は、Dai MIKURUBE さんの tweet に近い。 エンジニアの成長について「自分は自力で育った」「今まで見てきた人は誰かに育てられたというより自力で育ってきてた」は観察としてたぶん真なんだけど、「だからこれからもそれでいい」は明確に偽だと思うんだよなー。それって各種の職人業が次々廃れてるのと同じことを再現するだけのような気がする 私自身も大学で情報工学を学ぶまえに多少はプ

  • blog.8-p.info: sbt で Scala の開発サイクルを速くする (後編)

  • blog.8-p.info: sbt で Scala の開発サイクルを速くする (前編)

    Posted at 2010/01/06 00:53, Modified at 2010/01/06 01:54 fsc は速くなった のだけど、コンパイルしたらテストしたいし、テストしたら普通に実行したい。コンパイルだけ速くなっても開発のサイクル全体はそんなに速くならないのでは、といまさら気づいた。scalac, fsc 同様に scala コマンドの実行のために Java VM をあげさげするのを減らす必要がある。 Java VM のあげさげを減らすのは Java 界にも需要があるらしく、具体的な実装として、Ant を対話的にした antshell や Ant Console がある。Scala は Ant からも使えるので、これらもまま使えるはずだけど、実はページがどちらも消えてしまっていて試せていない。 どうしようと探していたら sbt が良さげだった。 sbt - simple

  • https://blog.8-p.info/2009/06/html

  • https://blog.8-p.info/2009/05/code-smell

  • https://blog.8-p.info/2009/03/textfield-js

  • コマンドが失敗したらプロンプトを赤くする - blog.8-p.info

    しばらく前から、コマンドの終了ステータスをプロンプトの色に反映させるようにしている。 終了ステータスとは C言語なら int main(int argc, char* argv[]) { ... return 0; } この return している 0 が終了ステータス。この整数値の下位 8bit がプロセスの終了時に親 (そのプロセスを起動したプロセス) にわたる。 終了ステータスの指定方法はいろいろある。C言語の場合 main 関数の戻り値以外にも exit 関数の引数でも指定できる。Ruby, Perl の場合、そもそも main 関数は無くて exit 関数に引数を与える方法だけがつかえる。 この値はシェル上で $? で参照できる。 % perl -e 'exit(0xdead)'; echo $? 173 % 慣例として、正常終了のときは 0 を返すことになっている。 % ls

  • blog.8-p.info: Comet 勉強会

    日曜日は Comet 勉強会でドリコムに行ってきた。「勉強会」というものに参加するのは初めて。発表者を会場で決められるほどの層の厚さは、さすがに Comet や Erlang ではきびしめで、自分ももっと勉強しておくとよかったな。 DRECOM Chat に Comet 勉強会の部屋があって、話題になったページはそこに載ってたりします。 ShootingStar 瀧内さんの作っている Rails と組み合わせて使える Comet 実装について。 大量のコネクションをさばけること イベント通知に専念すること 通知されたクライアントが、改めてイベントの内容をサーバーに問い合わせる すぐに使える Rails との組み合わせで便利 「5分でチャット」とか Rails 風マーケもやってみたり Flash 不要 Flash は Linux では動かない、と Juggernaut のひとがいってた でも

  • 1