Rust の勉強中にメモリリーク検出ツール Valgrind を macOS Mojave (10.14.4)にインストールしようとして失敗した

2019年4月から「Rust By Example(実例で学ぶRust)」というサイトを利用して、新たなプログラミング言語としてRustを学んでいる。

 

doc.rust-lang.org

 

現在写経中の15章はRustのメモリ管理をテーマにしており、いよいよRustの大事な部分に入りつつあるが、初っ端から未解決問題につまづいてしまったのでメモしておく。

employment.en-japan.com

 

  • [Rust By ExampleでValgrindを使う]
  • [HomebrewでValgrindをインストール(失敗)]
  • [パッチ適用済ブランチを利用(失敗)]
  • [symbol(s) not found]
  • [まとめ]

 

続きを読む

実戦TDD! / PythonのMagicMockを使ってDynamoDBをモックしたテストコードを実装する

今は昔、チームメンバーがPython3で書いたコードありけり。コード、AWS Lambdaにデプロイされて動作しつつ、ときたまエラーを吐きてバグりけり。

 

……しかし、このPythonプロジェクト、テストコードがない(古文調は諦めた)。

 

そこで、ただバグを直しても芸がないと思い、ついでにPythonのテストコードの書き方を学びつつ、テスト駆動開発(TDD)を実戦投入してみることにした。

以下、Python初心者によるTDDの記録である。

 

  • [DynamoDBへのアクセス時エラーをテストする]
  • [MagicMockでDynamoDBへのアクセスをモックする]
  • [モックした関数呼び出しをテストする]
  • [MagicMockのアサートを利用する]
  • [引数リストのアンパックを利用してリファクタ]
  • [まとめ]

 

続きを読む