EurekaMoments

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

Refactoring for Legacy software

Table of contents

  • Table of contents
  • Introduction
  • Start refactoring
  • Preparation for refactoring
  • Code review
  • Special event
  • Risk
  • Mikado Method
  • Commented out code
  • Test
  • Documentation
  • Construction of development environment
  • Keeping quality of code

Introduction

I have a lot of times to read or modify a legacy code at my company.
The code sometimes let me feel that I want to refactor because it has a bad design and is difficult for me to read.
I read the following book and studied a lot of things to refactor the legacy code.

レガシーソフトウェア改善ガイド

レガシーソフトウェア改善ガイド

In this article, I'm introducing what I studied.

続きを読む

Fundamentals of Regression by Machine Learning

Table of contents

  • Table of contents
  • Introduction
  • Author
  • GitHub
  • Linear model with 1 dimensional input
    • Input data: Age
    • Target data: Height
    • Data generation
    • Linear model definition
    • Gradient method
    • Learning Result
    • Point to notice
  • Plane model with 2 dimensional input
    • Data generation
    • Plane model
  • D-dimensional Linear Regression Model
    • Solution of model
    • Extension to plane not passing through origin
  • Linear basis function
  • Overfitting problem
  • Hold-out validation
  • Cross-validation
    • K-hold cross-validation
    • Leave-one-out cross-validation
    • Validation result
  • Model improvement
    • Correct tendency
    • New model
    • Optimization
  • Model selection
    • Model A
    • Model B
    • Comparison result
  • Conclusion

Introduction

This is my studying log about machine learning, regression. I referred to a following book.

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

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

I extracted some important points and some related sample python codes and wrote them as memo in this article.

続きを読む

Reading Log: FACTFULNESS

Table of contents

  • Table of contents
  • Introduction
  • Author
  • Memo

Introduction

I read a book, 'FACTFULNESS' as follow.

Factfulness: Ten Reasons We're Wrong About The World - And Why Things Are Better Than You Think

Factfulness: Ten Reasons We're Wrong About The World - And Why Things Are Better Than You Think

In this book, customs and skills to understand the world based on data and facts correctly. I extracted some sentences which I was impressed and wrote as memo in this article.

続きを読む

Usage of Fork

Table of contents

  • Table of contents
  • Introduction
  • About Fork
  • Downloading and Installation
  • GUI
  • Clone
  • Repository Manager
  • Commit
  • Push
  • Create Branch
  • Merge Branch
  • Merge Conflict
  • Conclusion

Introduction

I tried to use Git GUI client, Fork.
This article is a memo about usage of Fork.

About Fork

You can see an explanation about Fork on the following web site.
Fork - a fast and friendly git client for Mac and Windows

続きを読む

読書メモ: モダンC言語プログラミング

  • はじめに
  • メモ

はじめに

自分の職場では、プログラムの設計や開発環境構築、コーディングやテストなどで、非効率なやり方だと感じる部分がちょいちょいあり、そろそろ本格的に改善したいという思いが強くなっています。そこで、改善案の参考にしようとこの書籍を読みました。

今回の記事は、これを読みながらTwitter上でメモしたものになります。

続きを読む

機械学習に必要な数学の基本についての勉強メモ: ガウス関数編

  • はじめに
  • 参考書籍
  • ガウス関数とは
  • 2次元への拡張
  • 関数の形を表すパラメータを加えた2次元ガウス関数
  • サンプルコード

はじめに

前回は、指数関数と対数関数の応用編としてシグモイド関数・ソフトマックス関数編を記事にしました。

www.eureka-moments-blog.com

今回は、このシリーズの最後として、ガウス関数について勉強した事のメモになります。

参考書籍

本記事の内容は、下記の書籍を読んで要点を抽出し、メモしたものになります。

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

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

続きを読む

PlantUMLで描いたUML図をEnterprise Architectからインポートして共有する方法

  • はじめに
  • Enterprise Architect(EA)とは
  • PlantUMLの図をEAからインポートする手順
    • 1. PlantUMLでUML図を描く
    • 2. 作成した図をXMI形式でエクスポートする
    • 3. EAからXMIファイルをインポートする
    • 4. インポートされたUML図を確認する
  • まだまだ知らないEAの便利機能

はじめに

ソフトウェア設計におけるUML図を描くツールとして、近頃はPlantUMLを用いるのが流行りのようですが、それと双璧を成すツールとして、Enterprise Architect(通称EA)という有償の設計開発支援ツールがあります。GUI操作で簡単にUML図を作成する事ができ、自分がいる会社でも導入されているのですが、テキスト形式のPlantUMLと違ってバイナリ形式で保存されるので、作成後の管理という面では不便に感じていました。
そこで最近は、下記の記事のようにPlantUMLでテキストベース作成し、その後の管理を効率化する方法を社内で布教しているのですが、長年EAを使い続けている人達には、「作成した図を共有することができない」「そもそもEAを使う事が会社のルールだろ」と言われ、正直受けが悪いです。

www.eureka-moments-blog.com

「何かいい方法はないものか」と悩んでいたところ、PlantUMLとEAが共通で持つ機能として、「作成したUML図をXMI形式というテキストファイルに変換する」というものがある事を知りました。

ja.wikipedia.org

続きを読む