エンジニアとしての強み
各カテゴリの詳細を確認できます
言語・フレームワークへの習熟
私が習得している言語やフレームワークのスキルレベルについて紹介します。
習熟度の凡例
各レベルの意味は以下の通りです
レベル | 説明 |
---|---|
1 | 触れたことがある |
2 | 簡単なアプリに採用することができる |
3 | 意図を持ってプログラムを記述することができる |
4 | プログラムによる実現方法を念頭に置きながら詳細設計から実施できる |
5 | その言語/フレームワークの強みを元に基本設計レベルから実施できる |
主に使用している言語
現在のプロジェクトで主に使用している言語です
言語 | 性質 | 習熟度 |
---|---|---|
TypeScript | 静的型付けされたJavaScriptのスーパーセット。型安全性と開発効率を両立。 | |
DOM (HTML, CSS) | Webページの構造とスタイルを定義する標準言語。モダンなWeb開発の基盤。 | |
PostgreSQL | 高度なオープンソースリレーショナルデータベース。拡張性と標準準拠が特徴。 |
主に使用しているフレームワーク
現在のプロジェクトで主に使用しているフレームワークです
フレームワーク | 分類 | 習熟度 |
---|---|---|
React | Typescriptのフロントエンドライブラリ。リアクティブな画面作成を得意としており、宣言的なクライアント処理が行えるメリットを有する | |
Next.js | Typescriptのフルスタックフレームワーク。レンダリングからキャッシュ戦略、APIの定義まで行うことができる |
主に使用している開発ツール
現在のプロジェクトで主に使用している開発ツールです
ツール | 分類 | 習熟度 |
---|---|---|
Visual Studio Code | 統合開発環境。拡張機能が豊富で、多言語対応の軽量エディタ。 | |
WSL | Windows Subsystem for Linux。Windowsで Linux 環境を利用するための互換レイヤー。 | |
Docker | コンテナ化プラットフォーム。アプリケーションの開発・配布・実行を一貫して行える環境を提供。 | |
GitHub | Git ベースのバージョン管理とコラボレーションプラットフォーム。CI/CD やプロジェクト管理機能も提供。 | |
AWS | Amazon Web Services。クラウドコンピューティングサービスの総合プラットフォーム。 |
使用したことのある言語/フレームワーク
以下は過去に使用した、または学習した言語/フレームワークです。これらは「有用でありさえすれば言語・フレームワークの敷居を跨ぐことができる」ということを示すためのものであり、積極的に利用する意欲はそれほど高くありません。
名前 | 分類 | 習熟度 |
---|---|---|
Java (Spring Boot) | 主に大規模業務アプリで用いられるオブジェクト指向の静的型付けの言語。 | |
Oracle SQL/PLSQL | 主に大規模業務アプリで用いられるデータベース言語 | |
C++ | パフォーマンス観点で非常に柔軟な記述が可能なオブジェクト指向の静的型付けの言語。一方で低レイヤーの知識が必要とされることが多い。競技プログラミングにおいて人気No1 | |
Python(Pytorch) | 動的型付けのプログラミング言語。AI界隈での人気が高い。 | |
Go | Google製の静的型付けのプログラミング言語。 | |
Elixir | 並行スレッド処理を得意とする関数型プログラミング言語 | |
Scheme | LISP方言の関数型プログラミング言語 |
学習したことのあるコンピュータサイエンスの分野
専攻が情報工学であるため、言語やフレームワークに依存しない普遍的なコンピュータサイエンスの知識を有しています。得意度と興味度を0〜5の段階で示しています(0は触れたことがない分野を表します)。
得意度:
興味度:
分野 | 内容 | 得意度 | 興味度 |
---|---|---|---|
離散数学 | アルゴリズム設計やデータ構造の最適化に応用。効率的なコード実装の理論的基盤として活用。 | ||
計算理論 | アルゴリズムの効率性と限界を理解し、最適な実装方法を選択するために活用。 | ||
アルゴリズムとデータ構造 | 効率的なコード設計と実装。パフォーマンスボトルネックの特定と最適化に直接応用。 | ||
プログラミング言語論 | 適切な言語選択と言語特性を活かした実装。新しい言語やパラダイムの習得速度向上に貢献。 | ||
コンパイラ | コード最適化とパフォーマンス向上。ビルドプロセスの理解と効率化に応用。 | ||
ソフトウェア工学 | 大規模プロジェクトの設計・開発・保守。品質管理、テスト戦略、チーム開発プロセスの最適化。 | ||
オペレーティングシステム | システムリソースの効率的な利用。マルチスレッド処理やプロセス管理の最適化に応用。 | ||
データベースシステム | 効率的なデータモデリングとクエリ最適化。大規模データの効率的な管理と処理に直接応用。 | ||
コンピュータアーキテクチャ | ハードウェア特性を考慮した最適化。メモリ使用効率やキャッシュ活用の改善に応用。 | ||
ディジタル回路設計 | ハードウェア制約を考慮したソフトウェア設計。組み込みシステム開発での最適化に応用。 | ||
コンピュータネットワーク | 分散システムやクラウドアプリケーションの効率的な設計。ネットワーク通信の最適化に応用。 | ||
分散システム | スケーラブルなアプリケーション設計。マイクロサービスアーキテクチャや分散データ処理の実装に活用。 | ||
人工知能 | インテリジェントな機能の実装。ユーザー体験向上や自動化機能の開発に応用。 | ||
機械学習 | データ駆動型の意思決定システム実装。予測モデルやレコメンデーション機能の開発に活用。 | ||
コンピュータグラフィックス | 視覚的なユーザーインターフェースの実装。データ可視化やインタラクティブな表現の開発に応用。 | ||
ヒューマンコンピュータインタラクション | 使いやすいUIの設計と実装。ユーザビリティテストとユーザー中心設計の実践に活用。 | ||
コンピュータセキュリティ | セキュアなアプリケーション開発。脆弱性対策と認証・認可システムの実装に応用。 | ||
データエンジニアリング | 効率的なデータパイプラインの構築。大規模データ処理システムの設計と実装に活用。 | ||
数値計算 | 科学技術計算や金融モデルの実装。高精度な計算アルゴリズムの開発に応用。 | ||
情報理論 | データ圧縮や効率的な通信プロトコルの実装。情報の最適な表現と伝送方法の設計に活用。 |