さっき帰宅

 月曜日・火曜日と連続で23時帰宅。
 帰りにたまたま会った同期に、「今日と昨日で今月の全残業時間の3分の1ほど稼いだ」と伝えたら、「凄いのか凄くないのか分からんわ」と返答が返ってきた今日この頃です。
 
 相変わらずプライベートなネタはないですが、仕事で書ける内容をちょっとだけ……。
 

  • スレッドロックの問題

 火曜日に解決。月曜日の夜にderisに相談してみたら、丁度火曜日は研修で本社に来ているので、コードを見てくれるとのこと。定時前ぐらいにコードを見てもらって、あーだのこーだのいいながらプログラムを見直していたら、
 スレッドを開始させるfor文の直後にテスト開始時間を代入していたので、全部のスレッドにThread.start()をfor文でまわしている最中に、既にrun()メソッドを走っているスレッド内の初期化が行われて、テスト開始時間を0と取得してしまい、結果while文の条件に引っかからずにスレッドが早々に終了しているということが分かった。
 
 何たるミス。orz
 
 正直、こんな問題に時間を費やしていたのかと思うと馬鹿らしくなってくるのだが、それでも一人じゃ多分見つからなかったなぁ……と。コードを見に来てくれたderis&筋肉に感謝。
 

 そんなわけで、ツールが完成したので、データベースに負荷をかける段階になったのだけれども、なるべく汎用的に作りたかったので、テスト内容を大きく3つの要素に分けて別々にツールを作ってしまったため、シェルスクリプトでテストスケジュールを組み立てないといけない。
 
 で、いざ書いてみてると……
 
 bashスクリプト600行オーバー orz
 
 確かにテストパターンは1000パターン以上あるので、仕方ない部分もあるのだけれども、これは多すぎ。orz
 過去に書いたbashスクリプトの中では最長の部類に入るのではないかと思う。
 
 

入門bash 第3版

入門bash 第3版


 
 というわけで、昔買ったbash入門を片手にガリガリとシェルスクリプトを書いていたんだけれども、俺ってbashの機能1%も使ってないのな、とか書いてる最中に感じた。
 
 あと、正規表現のかける幅がちょいと広がったので、秀丸が以前より便利になったと感じてます。
 
 1000パターンのテスト結果はファイルに出力されるのだけれども、帰り際にパートナーに「それ、どうやって集計するのよ。」と突っ込まれて、何も言い返せませんでしたとさ。まあ、また正規表現でぶっこ抜きでしょうかね……。