適当に自分がエンジニアやってて見聞きしたスキルを羅列。
目次
- 基礎
- プログラミング言語
- データ記述形式
- プログラミングパラダイム
- プログラミング原則・原理・ノウハウ
- メモリ管理
- 並列処理
- プログラミング系その他
- コンパイラ
- ビルドツール
- 自動テスト
- パッケージ管理
- バージョン管理
- デバッグ
- IDE
- ドキュメント生成ツール
- ソースコード解析ツール、動的解析ツール
- バグ
- その他
- ツール、コマンド
- OSSライセンス
- データベース
- Webサーバー系
- Webフレームワーク、ライブラリ
- コンテナ化技術
- 仮想マシン
- OS
- ネットワーク
- 開発モデル
- クラウド
- GUI関連
- セキュリティ
- プロジェクト管理
- 見積り
- アイデア出し
- 雑学
- IoT機器関連
- その他
基礎
プログラミング言語
- C/C++
- Java
- JVM
- メモリモデル
- SQL
- JavaScript (ECMAScript)
- TypeScript
- python
- ruby
- go
- rust
- アセンブリ
データ記述形式
プログラミングパラダイム
- 構造化プログラミング
- 手続き型プログラミング
- 関数型プログラミング
- イベント駆動型プログラミング
- オブジェクト指向
- クラスベース
- プロトタイプベース
- アスペクト指向
プログラミング原則・原理・ノウハウ
- コーディング規約
- 命名規則
- 単一責任の原則
- リスコフの置換原則
- 継承より包含
- Mix-in
- 仮装関数
- 動的ポリモーフィズム(動的多態性)
- アドホック多層(オーバーロード)
- パラメータ多層(ジェネリックプログラミング)
- 例外安全
- 型安全性
- 静的型付け、動的型付け
- NULL安全
- RAII
メモリ管理
- スタック、ヒープ
- 仮装メモリ
- ページング
- 断片化、メモリコンパクション
- ガベージコレクション
- スマートポインタ
並列処理
- プロセス
- スレッド
- カーネルスレッド
- ユーザスレッド
- グリーンスレッド
- 排他制御
- クリティカルセクション
- Mutex
プログラミング系その他
- デザインパターン、アンチパターン
- イディオム
- アルゴリズムとデータ構造
- 計算量オーダー
- 数値解析、データサイエンス
- AI
- コンピュータアーキテクチャ/ハードウェアアーキテクチャ
- 計算機科学/コンピュータサイエンス
- 2036年問題
- WebAPI, RESTful
- 継続的インテグレーション(CI)、自動デプロイ
- バイトオーダー、ビッグエンディアン、リトルエンディアン
- 正規表現
- 処理系依存、未定義動作
- GraphQL
コンパイラ
- Visual Studio C/C++
- gcc, g++
- Clang
ビルドツール
- make
- Visual Studio C/C++
- gradle
- bazel
- nmake
- cmake
- gulp
自動テスト
パッケージ管理
バージョン管理
- cvs
- Subversion
- git
デバッグ
IDE
- Visutal Studio C/C++
- Visual Studio Code
- eclipse
ドキュメント生成ツール
ソースコード解析ツール、動的解析ツール
- lint
- Fortify Static Code Analyzer
- black duck protex
- AppScan
バグ
- データ競合
- メモリリーク、リソースリーク
- メモリ不正アクセス
- NULLアクセス
- ダングリングポインタ
- 二重解放
- バッファオーバーラン
- Off-by-oneエラー
その他
- ファイルシステム
- タイムゾーン
- 文字コード
- 改行コード
- シグナル
- DLL地獄/Dependency Hell
- FQDN
ツール、コマンド
OSSライセンス
データベース
- MySQL
- PostgreSQL
- SQLite
- Oracle Database
- Microsoft SQL Server
- NoSQL
Webサーバー系
Webフレームワーク、ライブラリ
- フロントエンド
- React
- AngularJS
- Vue.js
- Riot.js
- jQuery
- Bootstrap
- Vanilla JS (Pure JavaScript)
- ポリフィル
- バックエンド
コンテナ化技術
- docker
- kubernetes
- OpenShift
仮想マシン
OS
- Windows
- Linux
- ディストリビューション
- shell
- 共有ライブラリ
- 起動スクリプト、systemd
- UNIX
ネットワーク
開発モデル
クラウド
GUI関連
- ユーザーインターフェース
- ユーザーエクスペリエンス
- 認知的負荷
- アクセシビリティ
- 色覚特性
セキュリティ
プロジェクト管理
見積り
- 類推法
- ファンクションポイント法
- ユースケースポイント法
- WBS法
アイデア出し
雑学
IoT機器関連
- Raspberry Pi
- Arduino
- M5Stack
その他
- PREP法
- 量子コンピュータ
- Web Push