EurekaMoments

新米エンジニアが一人前を目指す修行の日々を記していくブログです。

CUnitを使ってC言語プログラムのユニットテストを実行する方法

  • はじめに
  • CUnit for Mr.Andoについて
  • CUnitの導入からサンプル実行までの流れ
    • 1. CUnitのダウンロード
    • 2. ダウンロードされるファイルの内容
    • 3. CUnitの使い方
    • 4. テストの対象とするコードを書く
    • 5. テストコードを書く
    • 6. ソースコードのフォルダ構成を決める
    • 7. Makefileを書く
    • 8. テストコードのmakeと実行
  • 感想
  • サンプルコード

はじめに

以前、C言語で書いたプログラムをPythonから呼び出してユニットテストを実行する方法として、下記の記事を書きました。

www.eureka-moments-blog.com

これはこれで良いのですが、Cythonのコードを書いてビルドできるようにするまでの準備が面倒だなとも感じており、もっと簡単に実行できる方法はないか調べてみました。その結果、「CUnit for Mr.Ando」というフリーのフレームワークを利用して、C言語だけでユニットテストが出来る環境を作ることが出来ることを知りました。
今回見つけた上記の方法を、簡単なサンプルプログラムを作って試してみたので、そのやり方について紹介しようと思います。

経験ゼロでもできるプログラミング現場の単体テスト

経験ゼロでもできるプログラミング現場の単体テスト

続きを読む

機械学習に必要な数学の基本についての勉強メモ: 指数関数・対数関数編

  • はじめに
  • 前回までの記事
  • 指数関数とは
  • 対数関数とは
  • 対数の便利さ
  • 機械学習における対数
  • 関数の最大値、最小値を探す場合
  • 指数関数の微分
  • 対数関数の微分
  • サンプルコード

はじめに

前回の投稿から間が空いてしまいましたが、また下記の書籍を読みながら、機械学習に必要な数学の基礎について勉強を再開しました。

Pythonで動かして学ぶ! あたらしい機械学習の教科書

Pythonで動かして学ぶ! あたらしい機械学習の教科書

今回の記事では、指数関数・対数関数について勉強した際にメモしたことを書いていきます。

前回までの記事

前回までに書いた、「ベクトルと微分編」「行列編」は下記になりますので、合わせてどうぞ。

www.eureka-moments-blog.com

www.eureka-moments-blog.com

続きを読む

ソフトウェアのモジュール設計について学べる良記事リンク集

  • はじめに
  • モジュール化について考えてみたときのまとめ
  • モジュール化設計について
  • 設計の原則: モジュール化

はじめに

最近の自分のソフトウェア設計業務にて、機能設計とモジュール設計について考えさせられる機会がありました。今回の問題では、機能設計の後に続くプロセスとしてモジュール設計があるのですが、これらは両者の違いが曖昧であり、機能設計の中で細かい機能の洗い出しや、扱うデータ構造の定義、クラス定義などを行っていると、モジュール設計って何のためにあるのか正直分からなくなります。
そこで、一般的なモジュール設計、いわゆるモジュール化の定義とは一体なんなのかと調べたところ、いくつか参考になる良記事が見つかったので、それらのリンクと、読んで学んだ事をメモしておこうと思います。

組込みソフトウェア開発のための構造化モデリング 要求定義/分析/設計からソースコード作成までソフトウェア開発上流工程の基本を構造化手法に学ぶ

組込みソフトウェア開発のための構造化モデリング 要求定義/分析/設計からソースコード作成までソフトウェア開発上流工程の基本を構造化手法に学ぶ

  • 作者: SESSAME WG(セサミワーキンググループ)2
  • 出版社/メーカー: 翔泳社
  • 発売日: 2006/01/24
  • メディア: 単行本(ソフトカバー)
  • 購入: 22人 クリック: 139回
  • この商品を含むブログ (22件) を見る

続きを読む

読書メモ: Cプログラミング診断室 さらに美しく健康的なプログラムのために

  • はじめに
  • メモ

はじめに

もっと可読性、メンテナンス性のいいC言語プログラムを書けるようになりたいと思い、下記の書籍を読みました。

改訂新版 Cプログラミング診断室

改訂新版 Cプログラミング診断室

今回の記事は、この書籍を読んで参考になった部分をTwitterでメモしたものになります。

続きを読む

読書メモ: いちばんやさしいGit&GitHubの教本

  • はじめに
  • メモ
  • SourceTreeを用いたGitによるバージョン管理の練習

はじめに

今の職場では、ソースコードのバージョン管理システムとしてSVNを使っています。自分が入社する前からずっと使い続けているようですが、今は当時よりも共同作業者の数が圧倒的に増えて、最近ではコミットの度に他に同じコードを編集している人がいないか確認したりとか、一つのブランチにいろんな人が同時に複数の変更を入れてマージが面倒になったりと非効率感が漂っています。
そこで、分散バージョン管理ができるGitを導入出来れば、今の問題が解決できるのではないかと考え、下記の書籍を読んでGitについて学ぶことにしました。

いちばんやさしいGit&GitHubの教本 人気講師が教えるバージョン管理&共有入門 (「いちばんやさしい教本」シリーズ)

いちばんやさしいGit&GitHubの教本 人気講師が教えるバージョン管理&共有入門 (「いちばんやさしい教本」シリーズ)

今回の記事は、これを読んで参考になった部分をTwitter上でメモしたものになります。

続きを読む

読書メモ: 欠測データの統計科学

  • はじめに
  • メモ

はじめに

日頃の業務でソフトウェア開発をする一方、開発試験データや現場の稼働データを解析することもあります。そんな中、解析対象となるデータは決して完璧なものではなく、何かしらの理由で「得られたはずなのに得られなかった」データというものがよくあります。
そういった欠測が生じたデータを解析するにはどうしたらいいのか勉強するために、下記の書籍を読みました。

欠測データの統計科学――医学と社会科学への応用 (調査観察データ解析の実際 第1巻)

欠測データの統計科学――医学と社会科学への応用 (調査観察データ解析の実際 第1巻)

今回の記事は、これを読んで参考になった部分をTwitter上でメモしたものになります。

続きを読む

読書メモ: エンジニアのための時間管理術

  • はじめに
  • メモ

はじめに

日頃の仕事における自分のタスク管理を改善するために下記の書籍を読みました。

エンジニアのための時間管理術

エンジニアのための時間管理術

  • 作者: Thomas A. Limoncelli,株式会社クイープ
  • 出版社/メーカー: オライリー・ジャパン
  • 発売日: 2006/10/19
  • メディア: 単行本(ソフトカバー)
  • 購入: 11人 クリック: 322回
  • この商品を含むブログ (153件) を見る

今回の記事は、これを読んで参考になった部分をTwitter上でメモしたものになります。

続きを読む