見出し画像

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

はじめに

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

メーラー・カレンダー

  • Outlook
    →会社用。メールをあまり整理できていないのが悩み。
    日々の業務のため、カレンダーは週間表示にしている。

  • Gmail
    →プライベート用。

  • Googleカレンダー
    →家族間で共有できるのが◎。プライベート用のため月間表示にしている。

  • Jorteカレンダー
    →Googleカレンダーと連携できる。スマホのウィジェット用。

チャット

  • Teams
    →会社用。社外の人ともやり取りできる。

  • Zoom
    →プライベート用。現状、ほとんど使っていない。

ブラウザ

  • Vivaldi
    →広告ブロックがデフォルトで付いているのが◎。

  • Edge
    →Copilot用。古いサイト用でもある。

その他MS Office製品

  • Power Point
    →毎日使う。進捗報告、プレゼンテーション、作図に使用。デザインセンスは研鑽中。

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

  • OneNote
    →メモ用ソフト。自由度が高い。メモを検索できるのが良い。整理が難しい。

  • OneDrive
    →クラウドストレージ。

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

Google製品

  • スプレッドシート
    →プライベート用。

  • Keep
    →メモ用。

テキストエディタおよび統合開発環境

  • Vim
    →圧倒的にVim派。Visual Studio CodeもVimキーバインドで使用。
    最新バージョンなら:terminalオプションでターミナルも起動できる。

  • Visual Studio Code
    →近年、統合開発環境といえばこれ。

    • Plant UML
      →UML図を生成する拡張機能。Javaが必要。

    • Wave Drom
      →タイミングチャートを生成する拡張機能。本家はブラウザ版。

    • draw.io
      →様々な図を描くことができる。本家はブラウザ版。

    • Markdownプレビューワー
      →Markdown形式のファイルをプレビューしてくれる。

    • git graph
      →gitリポジトリの履歴をグラフ化してくれる。

プログラミング言語・バージョン管理・RDBS

  • プログラミング言語

    • Python
      →最近の流行りはやはりこれ。今後は機械学習も頑張っていきたい。

      • numpy

      • pandas

      • matplotlib

    • Matlab / Octave
      →個人的に一番好きな言語。圧倒的に書きやすい。公式の日本語ドキュメントが豊富。

    • C言語
      →大学生のとき最初に習ったプログラミング言語。業務でもたまに使う。

    • シェルスクリプト
      →Glue(糊)言語として活用。if文while文くらいの制御は使う。

      • bash

      • zsh

    • Unix
      →簡単な処理であれば、高級プログラミング言語よりUnixコマンドの方が便利。

      • grep (global regular expression print)
        →ファイル内の特定文字列を検索するのに使用。-rオプション(再帰的検索)をよく使う。

      • sed (stream editor)
        →ファイル内の特定文字列を置換するのに

      • awk
        →プログラミング言語のひとつだが、主にデリミタで区切られたファイルの列抽出に使用。

      • diff / vimdiff
        →ファイル間差分を抽出する。ディレクトリ間比較もできる。

      • tmux
        →ターミナル分割に使用。

      • make
        →複雑なコマンドを流すために使用。引数による分岐なども使う。

  • バージョン管理

    • Git / GitHub
      →定番のバージョン管理方法。過去の遺産でsubversionを使用した経験もあるが、gitの素晴らしさはbranch運用だと思う。

  • RDBMS(関係データベースマネジメントシステム)

    • sqlite3
      →(個人が扱える程度の規模の)大量なデータを整理するのに使える。テーブル設計をしてpythonでSQLを発行するスタイル。sqlite3の軽量かつstand aloneで動作するところに魅力を感じている。

数式エディタ

  • TeXclip
    →Latexで論文を書いていた経験から、簡単な数式ならこちらのWebツールで書く。

生成AI

  • Chat GPT
    →生成AIといえばこれ。成果物を作るために使用。機密情報は入力できない。

  • Copilot
    →ネットワークに接続された生成AI。ブラウジングの代わりになるかも。

Drawツール

  • Inkscape
    →ベクターグラフィックスを作成するのに適している。拡大縮小に強い。

  • Gimp
    →高機能なDrawツール。高機能すぎて使いこなせてはいない。

UML図(Unified Modeling Language)

  • Plant UML
    →決められたフォーマットを持つ様々な図をテキストベースで作成できる。
    Visual Studio Codeの拡張機能で使用するのがオススメ。

    • アクティビティ図(フローチャート)

    • コンポーネント図(ブロック図)

    • シーケンス図

    • 状態遷移図

    • ガントチャート

    • WBS図(階層図)

    • マインドマップ

デジタル回路設計

  • タイミングチャート

    • Wave Drom
      →デジタル回路のタイミングを表す図をテキストベースで作成できる。
      Visual Studio Codeの拡張機能で使用するのがオススメ。

  • 回路図

    • draw.io
      →様々な図をGUIで作成できるブラウザベースのツール。
      デジタル回路の回路図を書くのに良さそう。
      Visual Studio Codeの拡張機能で使用するのがオススメ。

その他Windows用ソフト

  • WinSCP
    →GUIで使えるSFTPソフト(ファイル転送ソフト)。

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

この記事が気に入ったらサポートをしてみませんか?