Thought about system by Hiroyasu Ishikawa

We are uncovering better ways of developing system.

バッチファイルで連番のフォルダを作成する

中身は表題通り。 @echo off setlocal set start=1 set end=20 rem set output=%%i:~-2% setlocal enabledelayedexpansion for /l %%i in (%start%, 1, %end%) do ( set dirname=hoge00%%i set dirname=!dirname:~-2! mkdir !dirname! )バッチファイルは正直…

ロック機構付きUSB-C

PLC

産業用途で、抜け防止にDVIコネクタのようなロック機構が好まれることがある。しかし、DVIコネクタは巨大だ。 今所属している会社の産業用アクチュエータ・ロボットのコントローラ(PLC)もこんな感じでDVI1個でかなりの前面を占めている。 USB-Cは小さいけ…

データ中心と文書によるコミュニケーション

MBSEのデータ中心は文書(ドキュメント)を不要とするのだろうか。 データ中心への移行というキーフレーズ MBSEでよく目にするキーフレーズの1つに、ドキュメントを中心とした成果物からデータを中心とした成果物への移行があるように思う。 参考: MBSE is…

情報システムでない仕組み(システム)のモデリングとその表現

最近、自身の関わるシステムが情報システムから、物理的に人と相互作用するシステム(ロボット等)や、ツールを使って人を中心とした何かを成し遂げるシステムに関わることが多くなったように思う。 それらは、一般的にはシステムというよりも仕組み、取り組…

WBSをモデリングツールastah*で記述する

大学のとあるプロジェクトのためにWBSを記述することになった。PowerPoint、Miroなどを試した後、astah*のクラス図を使ってみた。 ワークパッケージをネスト関係を使って階層構造にしていく。 WBS with astah* Class Diagramツリー構造なら何でもよいと思う…

ICONIXプロセスのその後を追ってみた

ロバストネス分析とその後の並列アジャイル 数年前にロバストネス分析について記事にした. hiroi.hateblo.jpこの分析を含むICONIXプロセスを世に展開,下記を執筆されたDoug Rosenburgさんがその後にどんな活動をされているかを調べてみた. Use Case Drive…

C++バブルソートのコード

バブルソートのコードをC++で実装したものを以下に示す。 #include <utility> void bubble_sort(int target[], int len) { bool goon = true; while (goon) { goon = false; for (int i = len - 1; i > 0; i--) { if (target[i - 1] > target[i]) { std::swap(target[</utility>…

ROSの複数のワークスペースを読み込む

ROS

とある開発で複数のワークスペースを扱うようになった。 分散開発とか複数人で開発しているとか、色々な場面が考えられるが、そんな時何も考えずにsetup.bash叩くと最初に読み込んだワークスペースが見えなくなってしまう。 $ source ~/2nd_ws/devel/setup.b…

Ubuntuのディスクをバックアップして復元する

Clonezillaを使って、ディスク(パーティション)をコピーして、復元した。Clonezilla - About復元した時に警告に表示された通り、fstabを編集し、chrootしてgrubをインストール(再構築)必要があった。余裕があれば True Image でも再挑戦したい。

KinematicsBase does not exist

とあるLaunchファイルを起動したら、"KinematicsBase does not exist" というようなエラーが出力された。 $ dpkg -l | grep trac-ik 逆運動学用のパッケージを確認したら、インストールしていなかった。 $ sudo apt install ros-melodic-trac-ik-kinematics-…

Gitの認証情報の保存

Gitの認証を500分(8時間とちょっと)キャッシュする。鍵認証が使えず、かつ、1日作業するような場合に使う。時間は適宜短くする。 $ git config --global credential.helper cache $ git config --global credential.helper 'cache --timeout=30000' git-sc…

自分が使うGitのコマンドをまとめる

Git

Gitで時折使うが、忘れてしまう*1コマンドをメモしておく。ブランチのTrackingの状態を表示する $ git status -sb *1:あまり覚えようとしていない

GitLabで見積もりと費やした時間を記録

GitLabのIssuesにはTime Trackingの機能がある。 https://docs.gitlab.com/ee/workflow/time_tracking.htmlコメントで"/spend 3h"と投稿すれば3時間が計上される。 "/estimate xx"で見積もりも記録できる。

Visual Studio Codeを起動した時に前回の状態を復元しない

カテゴリ"Window"の"Restore Windows"を"None"に設定する

Universal ctagsをUbuntuにインストール

PPA*1を公開してくれている方がいた。さっとインストールしたい場合に助かる。PPAなので何かあっても泣かない。universal-ctagsのUbuntu 18.04 LTS用debパッケージをビルドした $ sudo add-apt-repository ppa:hnakamur/universal-ctags $ sudo apt update $…

VIMの環境メモ

Vim

Ubuntuによく使うVIMプラグインをインストールする時、現時点でそのまま"apt install vim"しても、要件を満たせない。以下にさっと環境を整えるためのコマンド一覧をメモしておく。 $ sudo add-apt-repository ppa:jonathonf/vim $ sudo apt install vim $ s…

Legion Y540 のブート選択

なぜブート選択したか 表題のLenovo社製ノートPC Legion T540 にUbuntu 18.04をインストールしたかった。 F12で選択の画面に移行 UEFIのブート選択は電源ON直後でF12を連打する。

ROSで使う新旧のビルドツール

ROS

ROSのCatkin向けツールについて、新旧の2つのツールがあるようだ。古い記事だけでなく、最近も古い方で記述されている記事もあるため、どちらも知らないと読み替えで混乱しそう。catkin-tools.readthedocs.ioROS/Tutorials/catkin/CreatingPackage - ROS Wi…

Network configuration for ubuntu linux

Ubuntu Linuxでネットワークを設定 Ubuntu LinuxでIPアドレスを静的に割り振ろうとしてネットワークの設定を変更した。 以前Linuxで設定した時の方法と異なる記憶であるため、記録しておく。 環境は、以下の通り。 Ubuntu Server 18.04 LTS Virtual Box(仮…

Systems Thinking の講座を受けてきた

3/9(土)10(日)に、慶応SDMで開講されていたSystems Thinkingの講座に参加してきました。講師はOckie先生で、もちろん全て英語での講義。なかなかハードな2日間でした。www.sdm.keio.ac.jp なぜ参加したかというと、システム思考の基礎をより強くしたか…

MacOSにYeomanをインストールした時に発生したエラーへの対応

VS Codeのエクステンションを開発しようと、Yeomanをインストールしていた時にパーミッションで怒られた。Step 1: Set up your dev environment | Yeomanパーミッションというとなんとなくsudoコマンドで管理権限を実行し、解決してしまいそうだが、上記のド…

ボリューム名が重複したディスクのLVMボリュームをマウントする

どんな問題だったか メンテナンスしようとしてpvscan、lvscanしてみると、名前が重複していた。 PV /dev/sdb VG tank lvm [5.46TiB / 0 free] PV /dev/sda VG tank lvm [5.46TiB / 0 free]lvscan inactive /dev/tank/tv ACTIVE /dev/tank/tv どうしたか vgdi…

私の批判に対する心の保ち方

ソニックガーデンの倉貫さんの記事を受け、私が感じたことと、私なりの安寧の保ち方を少し書きたいと思った。 倉貫さんの心の保ち方 倉貫さんの記事は以下より。 medium.comなかでも今まで知らなくて、なるほど、と思ったのがゲニウスのくだり。 外在するゲ…

Sprottyのサンプルをビルドする

SprottyというEclipseのプロジェクトがある。サイトの解説の一文を直訳すると、Webベースの作図フレームワークである。 はじめに Eclipseのプロジェクトサイトは以下にある。 Eclipse Sprotty | projects.eclipse.orgソースはGitHubから取得できる。 github.…

Clean Architecture

少し前にコミュニティに関連して翻訳レビューに参加させてもらったClean Architectureという書籍が7月末に出版されたようです。このClean Architectureという本は、アジャイルソフトウェア開発で著名なRobert C. Martinさんが書かれた本です。 訳者である角…

Vimで検索した文字列にジャンプせずにハイライトする

Vim

Vimで`*`や`?`を使って検索してハイライトするのだけれど、検索先へジャンプしてしまう。 また、複数の文字列をハイライトできない。 そんな時に有効なコマンド。 :match Search /{string}/

goroutineを試してみた

Go言語のgoroutineを試してみたのでメモ。 なぜ試したか Go言語の筆頭の特徴っぽいので。 どう試したか Windows環境にGo言語の環境をインストールして、以下のように実装、コンパイルして実行。 func say(s string) { for i := 0; i < 4; i++ { time.Sleep(1…

ポートで動いているプログラムを確認する

Linuxのポートで動いているプログラムを確認する。lsofはインストールされていないとする。デーモンがポートをLISTENしているかを確認したかった。 しかも、lsofがインストールされていない環境で、むやみにインストールはできない。netstat の-pオプション…

SHIROBAKOに添えて、アニメーションを作ること

SHIROBAKOは言わずもがな、アニメーションを作ることをテーマとしたアニメーションだ。そこから、自分のお仕事や夢などに重ね合わせて語られることも多い。しかしながら、ここはやはりSHIROBAKOの内容に沿い、私がアニメーションを作ることについて感じてい…

ICONIXプロセスのロバストネス分析をastah*でやってみたお話

これはなに ICONIXプロセスはユースケースから駆動する開発手法で以下の本が詳しい。 www.shoeisha.co.jp この開発手法で、ユースケース(分析)と設計の狭間にロバストネス図を使ったプロセスが存在する。 これをUMLツール(astah*)でやってみた。 なぜや…