開発

テストコードを書くべき箇所

言語化しておく😺 重要な数値計算処理 会計処理 境界値による分離処理 有効期限など エラーハンドリング バリデーション オリジナルのライブラリ関数 バッチ・ジョブ処理 処理が複雑になりがちで大量データを処理するので、 バグが生じた際に影響がデカイ クエリビルダ SQLの出力 クエリビルダを利用しているGateway クエリビルダを変更した際に結果が変わる可能性がある

開発

[Solved] Git Pushでエラー | error: RPC failed; HTTP 400 curl 22 The requested URL returned error: 400 send-pack: unexpected disconnect while reading sideband packet Writing objects: 100% (9/9), 2.30 MiB | 4.19 MiB/s, done. Total 9 (delta 5), reused 0 (delta 0), pack-reused 0 fatal: the remote end hung up unexpectedly

  error: RPC failed; HTTP 400 curl 22 The requested URL returned error: 400 send-pack: unexpected disconnect while reading sideband packet Writing objects: 100% (9/9), 2.30 MiB | 4.19 MiB/s, done …

MySQL

[MysQL]オンラインDDL

オンラインDDL データベース稼働中に無停止で既存テーブルに対して変更を行う技術 変更中にロックされなくなり該当テーブルに対して読み書きが可能 ALGORITHM=INPLACE 処理をブロックしない。「その場で」で更新を行う LOCK=NONE ロックを行わない

MySQL, トラブルシューティング

[訓練]誤って有料会員を無料会員に全件更新してしまったので、テーブルを復旧する

経緯 とある動画をラジオ感覚で流していた   スタートアップに在籍 有料会員数は100程度のサービスを運用 メンテナンス作業のミスによるインシデントが発生 事故の内容 1件の特定の有料会員を無料会員に修正するメンテナンスを行う時に // WHERE句の付け忘れ // ;の位置が早くてWHEREが入らないケース // 改行されている && 1行目のみ選択されている &amp …

Golang

Golang Switchをinterfaceを利用することで消滅させるStrategyパターン

  Switchをinterfaceを利用することで消滅させるStrategyパターン interaface以外にもmapで同様のことができる。   client.go リクエストからNewMagic()へのインジェクションはMapを使えば、switchやifを使う必要もなくなります。      

Golang

Golang gormから取得した空オブジェクト, 空Collectionの判定。Collectionからオブジェクトの抽出

空のオブジェクトの判定 これで判定 例 空Collectionの判定 Find(&existingTargets).Errorとif len(existingTargets) != 0 {}の組み合わせ 例  Collectionからのオブジェクト抽出方法 for rangeで抽出できる 例