ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

仕事

世の中の動きの影響を受けた1週間の振り返り(2020/3/28〜2020/4/3)

世の中の動きの影響が本格化してきた1週間を振り返ります。 2020/3/28(土)スタッドレスタイヤからサマータイヤに交換しました。今シーズンは、一度も雪の中を走らずに終わりました。 2020/3/29(日)ショッピングモールのスーパー部門で食料品を選んで、レジに…

記録を残して活用する価値

毎年利用されているシステムの、設定作業を行いました。 昨年一部仕様変更があり、一部仕様変更に合わせて、作業の手順が変更になりました。仕様変更については、いろいろあったのでよく覚えています。 設定作業については、あまり覚えていませんでした。設…

子どもの卒園式があった1週間の振り返り(2020/3/21〜2020/3/27)

子どもが保育園を卒園した1週間を振り返ります。 2020/3/21(土)子どもに言われて、久しぶりにピアノを弾きました。ト音記号の譜面は読めるので、右手でなんとか弾けますが、ヘ音記号の譜面が読めないので、音の厚みが不足しています。ヘ音記号の譜面を読める…

2度目の申し込み時に、重複登録および時間が被った申し込みを許可しない方法

同一人物が複数回申し込みができるシステムを作成することになりました。 申し込む内容は、以下のような情報から選択します。 番号 時間 1 11時~12時 2 11時~12時 番号 時間 3 13時~14時 4 13時~14時 番号1と2、番号3と4は同じ時間なので、同時に申し込…

考えて実装して、改めて考えなおしてシンプルに実装しなおす

一旦実装が終わってテストを始めると、結果が正しくありませんでした。 具体的には、3月23日 8時~9時に予定ありというような時間帯の情報の作成を行う処理で、 ・3月23日 8時~9時に予定あり ・3月23日 8時~9時15分に予定あり というように、時間帯が重複…

新たなシステム設計を始めた1週間の振り返り(2020/3/14〜2020/3/20)

新たなシステムを受注したので、設計を始めた1週間を振り返ります。 2020/3/14(土)医療費控除の申請をしました。昨年に引き続きの2回目なので、手順はわかっていますが、手間がかかりました。やはり毎月毎にでも、医療費をまとめておきたいです。 2020/3/15(…

マルチタスクをしたくなくても、待ち時間があるのだから仕方がない

システムを作成して大量のデータを用いてテストしています。 当初は5分もかからないで終わるデータ量でテストしていました。 実際の業務では30分かかるデータ量になり、データ量をあまり減らしすぎるとテストの意味がなく、データ量を減らさないとテストに時…

どちらを選ぶのか迷うとき

開始日時と終了日時を含むデータを元に、2つの切り口で判定をするために、全件検索をしないためのインデックスを作成しています。 ajya.hatenablog.jpデータAとデータBにおいて、2つの切り口が一致して、データAの終了日時とデータBの開始日時が一緒であれば…

違和感を感じる心がデバッグには必要

システムの動作確認のために、データを処理して、正しいのか確認をしていました。 日時が関係しているデータで、画面上には上から下にガントチャートのようにバーを連続して表示しています。データを確認していると、ふと気になるバーの表示がありました。 …

逆にする発想をどちらに適用するか

日時が含まれるデータの配列があって、データAに含まれる終了日時と、データBに含まれる開始日時が一致した場合、別々になっている意味がないので、結合しなければならなくなりました。 データA 開始日時 3/17 12:39:50 終了日時 3/17 13:34:33 データB 開始…

感情や状態を切り替えるために、頭の中でかける声

システムの不具合を見つけると、気分が落ち込みます。 作ったばかりで初めてのテストで見つけた場合は、不具合はあって当たり前だと思っているので、落ち込みません。 不具合がなかったら、逆に不審に思います。思いもよらなかった条件が成立して、不具合が…

システムの機能追加が予想外に手間取った1週間の振り返り(2020/3/7〜2020/3/13)

システムの機能の追加において、これまで発覚しなかった不具合があり、時間をかけて修正していた1週間を振り返ります。 2020/3/7(土)ホームセンターに行ったら、トラックをチャーターして運んできたと書かれていたトイレットペーパーが売られていた、多くの…

なかなか思った通りの動作に修正できなくて、なんとかなったのは状況が変わって思いつけたから

不具合修正のために、特定の条件でのみデバッグ用のログ出力を行うようにして、原因を探っていきます。 処理を行っている間に、現象とデバッグ用のログ出力を比較しながら検討してます。 処理が終わって新たなデバッグ用のログ出力から、原因がわかるのか、…

テスト内容の充実具合は、どれだけ発想できるかで決まる

自分で作成したプログラムをテストする機会、同僚が作成したプログラムをテストする機会の両方があります。 どちらの機会でも、テスト内容に相違が無いように、チェックシートやテスト仕様書を作成します。 チェックシートやテスト仕様書に沿ってテストをす…

画像を抽出したときに加工するか、抽出した後に加工するか

登録されたファイルから画像を抽出するシステムがあります。 抽出された画像は、貼り付ける前の縦横比で保存しています。 貼り付ける前の縦横比でのピクセル数、貼り付けた後の縦横比でのピクセル数をデータベースに保存しています。抽出した画像を利用する…

忙しいときほど決めた内容と順番を守る

毎日仕事が忙しい日々が続いていますが、決めた手順を守るようにしています。仕事で対応しなければいけない事項がメールで連絡があったり、電話で連絡があったら、ToDoリストに入れます。見積をしなければならない場合、まず案件の情報を管理情報として保存…

手間をかけてデバッグしたロジックを、あっさり捨てて作り替える

メモリ上のデータ量が多くなるのがわかっているシステムがあります。 メモリ上のデータから全件検索をしていると、たとえメモリ上とはいえ検索回数が多いと、処理時間がもったいないだろうなと思いました。 検索の回数を減らすのは難しいので、検索対象の件…

システムの機能追加が予想外に手間取った1週間の振り返り(2020/2/29〜2020/3/6)

システムの機能追加をして、再度実装をしたなどで、予想外に時間がかかっていた1週間を振り返ります。 2020/2/29(土)ドラッグストアに行ったら、トイレットペーパーとティッシュを買う人ばかりいて驚きました。別のドラッグストアでは、棚が空でした。トイレ…

同じデータを用いているのに表示順序が違う

システムの動作を確認していると、入力内容の確認画面だけ表示順序がおかしく、入力内容の変更画面、CSV出力は予定通りの順番に出力されるという現象に気がつきました。 具体的には、入力内容の確認画面では、 No.2 Bさん No.3 Cさん No.4 Dさん No.1 Aさん…

一度考えて、改めて考えて納得するけれど、手間がかかっている

システムに新しく休日を保持するテーブルが追加されました。 休日として操作されたら日付のレコードが追加され、休日でないとして操作されたら日付のレコードが削除されます。 このテーブルのデータを元に、ある日付が稼働日なのか休日なのか判定を行います…

気力がみなぎるとき、やる気が出てくるとき

前の記事で気持ちが落ちるときについて書きました。 ajya.hatenablog.jp 今回は前の記事とは反対の、気持ちが高揚するときについて考えてみました。 システムの不具合を見つけたけれど、早く見つけられてよかったと思ったとき システムの不具合を見つけたと…

気力が萎えるとき、やる気がなくなるとき

個人の受け取り方次第だといったらそれまでですが、締め切りを延長されるのは気持ちが落ちるときがあります。作成したシステムを使われていて、手間がかかっていないシステムであれば、システム利用の締め切りを延長されても影響はありません。 延長したんだ…

デバッグは機能を少しずつ追加して原因を探る

複数のメソッドからなる、新しい機能のメソッドを作成しました。 新しい機能のメソッドのみでの動作が正しいのはテストで確認しました。 システム全体を通してのテストを行うと、動作が正しくありません。 テスト間での違いを考える まず現象を確認しました。…

システムの修正のデバッグに手間取った1週間の振り返り(2020/2/22〜2020/2/28)

システムの機能修正により発生した不具合の修正に手間がかかった1週間を振り返ります。 2020/2/22(土)子どもの体操服を買いに行きました。以前試着したときのサイズのままでは、ズボンが小さく見えたので1サイズ大きくしました。4月からの小学校生活に向けて…

デバッグ用のログの出力と処理速度を天秤にかける

ロジックを新たに作成し、一見正しく動作していました。 結合テストをすると、処理結果のデータが正しくなく、動作が正しくありません。 デバッグ用のログ出力をどんどん追加して何度も試していけば、どこが正しくないのかわかります。 何度も試したいところ…

描いて書いて考える

プログラムのロジックを考える場合、頭の中で考えれる場合と考えられない場合があります。頭の中で考えられない場合、紙にさらっと図を描いて考えるようにしています。 さらっと図を描いて、補足の文章を書くときもあります。補足の文章はロジックであったり…

テスト用のコードが書きにくいときにも、関数/メソッドを分割したくなります

以前、プログラミンにおいて関数/メソッドを分割したくなるときについて書きました。 ajya.hatenablog.jpこの記事を書いた後に追加で、関数/メソッドを分割したくなるときがあるのは、テスト用のコードを書くときです。データベースから取得した値を処理す…

未経験業種のシステムで機能追加を行った1週間の振り返り(2020/2/15〜2020/2/21)

未経験業種のシステムへの機能追加を始めた1週間を振り返ります。 2020/2/15(土)夕方短い時間でしたが、子どもとなわとびとかくれんぼをしました。なわとびはなわとび大会に向けての練習のようでした。昨年は入賞できたので、今年も入賞してくれると嬉しいで…

古いシステムから送信されるメールをThunderbirdで受信して読むと、文字化けが発生

古いシステムから送信されるメールを、メールソフトのThunderbirdで受信して読む機会がありました。 1年ほど前にも読む機会があり、ちゃんと読めました。 最近受信したメール、1年ほど前に受信したメールのどちらも、文字化けして読めません。GmailとBecky!…

未経験業種のシステムで機能追加が発生した1週間の振り返り(2020/2/8〜2020/2/14)

未経験業種のシステムへの機能追加への検討を始めた1週間を振り返ります。 2020/2/8(土)ショッピングモールで買い物していたら、子どもがイベントを見に行きたいというので行くと、お笑いライブでした。途中子どもが参加できるタイミングがあったので参加さ…