『ソフトウェア品質を高める開発者テスト アジャイル時代の実践的・効率的なテストのやり方』
機能要求のテストに出てくる概念をまとめている。非機能要求は対象外。 広く浅く書かれていて、初学者向け。 主な内容は以下の2つ。
- シフトレフトで単体テストを厚くしてバグを早めに見つける
- ファイルの複雑度を下げる
Hotspot、McCabe数、WMC (Weighted Methods per Class)、キーワード駆動テストは新しく学べた。
以下を推奨しているのは疑問だった。
- 関数の出口を1つにする
- 理由は「単体テストが複雑になるため(?)」
- 早期リターンに触れていない
- MVCアーキテクチャ
- 理由は「Viewを分離するため」
- クリーンアーキテクチャなど、Viewを分離しつつ依存性をより明確にしているアーキテクチャに触れていない
- Viewにはロジックを含めない
- 理由は「単体テストが困難なため」
- 手動テストのみを対象にしている
- SPA、フロントエンドフレームワーク、testing-library などに触れていない
2021年に出版されているが、総じて古いプラクティスのままになっている印象。
Microsoft Teams の称賛アプリと承認アプリ
称賛アプリ
[称賛] をユーザーに送信する - Microsoft サポート 【Teams】称賛とは/称賛の使い方、出来ること | BEGIN-PROG
称賛アプリは、メンバーに対してバッジとともに称賛メッセージを送る機能。 感謝・応援・労い・お祝いなどで使えて、モチベーションや生産性の向上につながる。
承認アプリ
承認アプリから承認を作成する - Power Automate | Microsoft Learn
承認アプリは、Teams上で承認フローの作成と管理を行う機能。 一度作成された承認は削除できないので証拠として残せる。 テンプレートを作ることで同じような承認フローを繰り返すことができる。
不要な機能の割合
リリースした新機能や改善の多くに価値がないという調査結果が意味すること - mtx2s’s blog
アプリが持っている機能のうち、3分の2は価値がないか逆に価値を損なわせるというデータの紹介。
UIの直し方
16 little UI design rules that make a big impact - Adham Dannaway
UIを実際に悪い例から良い例に直す手順を1つずつ説明している。 基本はデザインの4原則である「近接」「整列」「強弱」「反復」に沿った内容。 今まで英数字のフォントは感覚的に選んでいたが、英小文字が高いと読みやすいという知見を得られた。
MySQL の REPLACE INTO
と INSERT ... ON DUPLICATE KEY UPDATE
の違い
いわゆるupsert処理がMySQLには2種類用意されていて、その違いをまとめたもの。
mysqldumpのinsert方法
mysqldumpでデータのdumpをとったときに生成されるinsert文のオプション。
Dockerで起動したMySQLにWSLのlocalhostで接続する
Dockerで MySQL を起動し、ポートを公開した状態で、WSLから MySQL クライアントでlocalhostを指定してもそのままでは接続できない。 その解決方法。
Bashで相対パスと絶対パスを変換する
相対パスと絶対パスを相互に変換する方法。
BashでカレントディレクトリがGitリポジトリか判定する
カレントディレクトリがGitリポジトリかどうか判定する方法。
Pythonのデコレータにwrapsを付ける
Pythonのデコレータに functools.wraps
を付ける理由。