EurekaMoments

ロボットや自動車の自律移動に関する知識や技術、プログラミング、ソフトウェア開発について勉強したことをメモするブログ

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

  • はじめに
  • メモ

はじめに

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

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

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

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

続きを読む

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

目次

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

はじめに

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

続きを読む

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

目次

  • 目次
  • はじめに
  • メモ

はじめに

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

続きを読む

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

目次

  • 目次
  • はじめに
  • メモ

はじめに

日頃の仕事における自分のタスク管理を改善するために上記の書籍を読みました。
今回の記事は、これを読んで参考になった部分をTwitter上でメモしたものになります。

続きを読む

PlantUMLを通じてシーケンス図の描き方を学ぶ

目次

  • 目次
  • はじめに
  • シーケンス図とは
  • 設計プロセスにおけるシーケンス図の立ち位置
  • シーケンス図の描き方についてのヒント
    • ヒント1
    • ヒント2
  • シーケンス図を構成する要素
    • メッセージ
    • 自己メッセージ
    • 外部とのメッセージのやり取り
    • ライフライン
    • 実行仕様(イベント)の表現
    • シーケンス図の例: ログイン
    • 複合フラグメント
      • alt 分岐処理の表現例
      • ref 相互作用使用 別参照
      • opt 条件による実行の表現
      • delay 非同期の遅延処理
      • par 並列処理
      • loop 繰り返し処理
      • break 中断処理
      • critical 排他制御処理
      • グループ化
    • 作成と消滅
    • 上下でメッセージ間でスペースを空ける
    • 分離線
    • ボックス
    • ノート
      • メッセージのノート
  • GitHub
  • 参考資料

はじめに

ソフトウェアの仕様書、設計書の作成や管理を効率化するために、Markdown + PlantUMLによる作成方法を日々模索しています。 しかしながら、そもそもUML図の正式な書き方というものをちゃんと分かっていないというのが正直なところなので、PlantUMLを通じてUMLの各種図の書き方を勉強していきます。

  • 本稿のテーマは、「UMLによるシーケンス図の書き方」です。
  • 本稿におけるUML図の作成は、Markdown + PlantUMLがベースであることを前提とします。

シーケンス図とは

  • シーケンス図とは、クラスやオブジェクト間のやり取りを時間軸に沿って表現するものである。
  • 詳細設計の成果物の中で最も重要な図。描く際はいきなりゼロから描くのではなく、ロバストネス図を参考にしながら描く。
続きを読む

PlantUMLを通じてユースケース図の書き方を学ぶ

目次

  • 目次
  • はじめに
  • ユースケース記述とユースケース図
  • ユースケースを洗い出す際のポイント
  • 基本コースと代替コース
  • ユースケース図を構成する要素
    • アクター
    • ユースケース
    • 対象
  • ユースケース図を描く流れ
    • 1. アクターを列挙する
    • 2. アクター毎のユースケースを列挙する
    • 3. 対象に収める
    • 4. ユースケースを整理する
  • ユースケースの表現パターン
    • パターン1: 汎化(Generalization)
    • パターン2: 包含(Include)
    • パターン3: 拡張(Extend)
    • パターン4: パッケージ
  • GitHub
  • 参考資料

はじめに

ソフトウェアの仕様書、設計書の作成や管理を効率化するために、Markdown + PlantUMLによる作成方法を日々模索しています。
しかしながら、そもそもUML図の正式な書き方というものをちゃんと分かっていないというのが正直なところなので、PlantUMLを通じてUMLの各種図の書き方を勉強していきます。

  • 本稿のテーマは、「UMLによるユースケース図の書き方」です。
  • 本稿におけるUML図の作成は、Markdown + PlantUMLがベースであることを前提とします。
続きを読む

Gitによる複数人でのバージョン管理をSourceTreeを使って体験してみる

目次

  • 目次
  • はじめに
  • 前提条件
  • 作業対象とするGitHubリポジトリ
  • SourceTreeについて
  • 今回のシナリオ
  • Step1: リモートリポジトリをローカルにクローンする
  • Step2: 3人それぞれのブランチをmasterから作成して作業開始
  • Step3: Bの作業が先に完了→プルリクを作成してマージ
  • Step4: Shisatoの作業ブランチにBの完了分をマージして作業継続→完了したらプルリクを作成してマージ
  • Step5: Aの作業ブランチにShisatoとBの完了分をマージして作業継続→完了したらプルリクを作成してマージ
  • Step6: 追加作業でブランチ作成してマージしようとしたらコンフリクト→コンフリクトを解消してマージ
  • 最終的なコミット履歴
    • SourceTreeで可視化した履歴
    • GitHubで可視化した履歴
    • Visual Studio Codeで可視化した履歴
    • 比較した感想
  • 参考資料

はじめに

今の職場におけるバージョン管理システムをSVNからGitに変更することを提案したいと考えており、それの参考にと思い上記の書籍を読みました。
インストールや初期設定の手順から、実際にブランチを切りながらバージョン管理していく流れまで述べられていて大変参考になりました。ただし、これらは全てGit bashからのコマンド操作によるものがメインであり、今後職場で導入提案をするならGUIツールを使った場合の操作手順を把握しておきたいと考えました。
今回の記事では、GitのGUIツールとして人気の高いSourceTreeを使いながら、Gitでの複数人バージョン管理を一人で自作自演しながら体験してみた流れを紹介していきます。

続きを読む