半導体エンジニアの便利ツール紹介(2024年現在)

<!-- wp:heading -->
<h2 class="wp-block-heading">はじめに</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>現役半導体エンジニアが使っている便利ツール、プログラミング言語等を紹介します。こうしてみると、いろいろなツールを使っているなあとしみじみ思いました。「私も使っている！」「こういうツールもあるよ」などありましたら、ぜひコメントをお願いします！</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">メーラー・カレンダー</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Outlook<br>→会社用。メールをあまり整理できていないのが悩み。<br>日々の業務のため、カレンダーは週間表示にしている。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Gmail<br>→プライベート用。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Googleカレンダー<br>→家族間で共有できるのが◎。プライベート用のため月間表示にしている。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Jorteカレンダー<br>→Googleカレンダーと連携できる。スマホのウィジェット用。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">チャット</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Teams<br>→会社用。社外の人ともやり取りできる。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Zoom<br>→プライベート用。現状、ほとんど使っていない。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">ブラウザ</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><a href="https://vivaldi.com/ja/">Vivaldi</a><br>→広告ブロックがデフォルトで付いているのが◎。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Edge<br>→Copilot用。古いサイト用でもある。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">その他MS Office製品</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Power Point<br>→毎日使う。進捗報告、プレゼンテーション、作図に使用。デザインセンスは研鑽中。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Excel<br>→毎日のように使う。さまざまなデータを集めてきて、最終的にグラフ化してまとめるのには優秀。<br>関数を大量使用してプログラミング環境のように使うのはNG（素直にプログラミング言語を使ったほうが良い）。VBAも読みにくいのでNG。Excel方眼紙など、Excelを最終成果物にはしたくない。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>OneNote<br>→メモ用ソフト。自由度が高い。メモを検索できるのが良い。整理が難しい。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>OneDrive<br>→クラウドストレージ。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>(Word)<br>→バイナリファイルであるため生成AIとの相性が悪い（はず。MSがcopilotなどで頑張っているようだ。）。生成AIを活用できるためMarkdownの方が良い。過去の遺産などで仕方なく使う場面のみ。かつて論文などはLatexを使用していた。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Google製品</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>スプレッドシート<br>→プライベート用。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Keep<br>→メモ用。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">テキストエディタおよび統合開発環境</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Vim<br>→圧倒的にVim派。Visual Studio CodeもVimキーバインドで使用。<br>最新バージョンなら":terminal"オプションでターミナルも起動できる。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Visual Studio Code<br>→近年、統合開発環境といえばこれ。<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><a href="https://plantuml.com/ja/">Plant UML</a><br>→UML図を生成する拡張機能。Javaが必要。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Wave Drom<br>→タイミングチャートを生成する拡張機能。本家はブラウザ版。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>draw.io<br>→様々な図を描くことができる。本家はブラウザ版。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Markdownプレビューワー<br>→Markdown形式のファイルをプレビューしてくれる。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>git graph<br>→gitリポジトリの履歴をグラフ化してくれる。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">プログラミング言語・バージョン管理・RDBS</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>プログラミング言語<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Python<br>→最近の流行りはやはりこれ。今後は機械学習も頑張っていきたい。<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>numpy</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>pandas</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>matplotlib</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Matlab / Octave<br>→個人的に一番好きな言語。圧倒的に書きやすい。公式の日本語ドキュメントが豊富。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>C言語<br>→大学生のとき最初に習ったプログラミング言語。業務でもたまに使う。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>シェルスクリプト<br>→Glue（糊）言語として活用。if文while文くらいの制御は使う。<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>bash</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>zsh</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Unix<br>→簡単な処理であれば、高級プログラミング言語よりUnixコマンドの方が便利。<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>grep (global regular expression print)<br>→ファイル内の特定文字列を検索するのに使用。"-r"オプション（再帰的検索）をよく使う。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>sed (stream editor)<br>→ファイル内の特定文字列を置換するのに</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>awk<br>→プログラミング言語のひとつだが、主にデリミタで区切られたファイルの列抽出に使用。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>diff / vimdiff<br>→ファイル間差分を抽出する。ディレクトリ間比較もできる。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>tmux<br>→ターミナル分割に使用。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>make<br>→複雑なコマンドを流すために使用。引数による分岐なども使う。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>バージョン管理<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Git / GitHub<br>→定番のバージョン管理方法。過去の遺産でsubversionを使用した経験もあるが、gitの素晴らしさはbranch運用だと思う。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>RDBMS（関係データベースマネジメントシステム）<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>sqlite3<br>→（個人が扱える程度の規模の）大量なデータを整理するのに使える。テーブル設計をしてpythonでSQLを発行するスタイル。sqlite3の軽量かつstand aloneで動作するところに魅力を感じている。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">数式エディタ</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><a href="https://texclip.marutank.net">TeXclip</a><br>→Latexで論文を書いていた経験から、簡単な数式ならこちらのWebツールで書く。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">生成AI</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Chat GPT<br>→生成AIといえばこれ。成果物を作るために使用。機密情報は入力できない。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Copilot<br>→ネットワークに接続された生成AI。ブラウジングの代わりになるかも。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Drawツール</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Inkscape<br>→ベクターグラフィックスを作成するのに適している。拡大縮小に強い。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Gimp<br>→高機能なDrawツール。高機能すぎて使いこなせてはいない。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">UML図（Unified Modeling Language）</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><a href="https://plantuml.com/ja/">Plant UML</a><br>→決められたフォーマットを持つ様々な図をテキストベースで作成できる。<br>Visual Studio Codeの拡張機能で使用するのがオススメ。<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>アクティビティ図（フローチャート）</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>コンポーネント図（ブロック図）</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>シーケンス図</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>状態遷移図</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>ガントチャート</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>WBS図（階層図）</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>マインドマップ</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:group {"layout":{"type":"constrained"}} -->
<div class="wp-block-group"><!-- wp:group {"layout":{"type":"constrained"}} -->
<div class="wp-block-group"><!-- wp:heading -->
<h2 class="wp-block-heading">デジタル回路設計</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>タイミングチャート<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><a href="https://wavedrom.com">Wave Drom</a><br>→デジタル回路のタイミングを表す図をテキストベースで作成できる。<br>Visual Studio Codeの拡張機能で使用するのがオススメ。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>回路図<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><a href="http://draw.io draw.io https://app.diagrams.net">draw.io</a><br>→様々な図をGUIで作成できるブラウザベースのツール。<br>デジタル回路の回路図を書くのに良さそう。<br>Visual Studio Codeの拡張機能で使用するのがオススメ。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">その他Windows用ソフト</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>WinSCP<br>→GUIで使えるSFTPソフト（ファイル転送ソフト）。</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>WSL(Windows Subsystem for Linux)<br>→Windows上で動かすMicrosoft公式のLinuxエミュレータ。超強力。<br>なぜならば、Linuxが使えるということは、様々な作業を自動化できるということ。（Linuxに慣れているエンジニアならばWindowsのバッチを覚えるよりWSLを使った方が良い）<br>これが出る前はMinGWなどを使うしかなかった。</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></div>
<!-- /wp:group --></div>
<!-- /wp:group -->