- 追加された行はこの色です。
- 削除された行はこの色です。
- 技術 へ行く。
#author("2026-01-12T23:27:47+09:00","","")
#author("2026-01-13T00:22:37+09:00","","")
[[MenuBar]]
* 技術 [#qfccc02b]
長年開発していると、色々勉強したなー。
もう、古い技術とかあまり役立たないけど、
思い出すと結構おもしろい・・・ということで、ちょっとだけまとめてみる。
** 基礎・理論 [#y8fee73b]
- アルゴリズム
- データ構造
- 計算量理論
- 数値計算
- 離散数学
- プログラミング言語理論
- コンパイラ理論
- 型理論
- オートマン・形式言語
- メモリ、リソース管理(RAII, GC, ...)
もっと細かく・・・と思ったが、これ以上細かいと爆発する(書ききれない気がする。)
** 構造化、開発手法、アーキテクチャ [#o6bf87a7]
- 手続き型 (C, Rust)
- オブジェクト指向 (Java, C#, C++)
- コンポーネント指向 (C#, Vue.js, React, Angular), Spring, OSGi)
- アスペクト指向 (AspectJ)
- 宣言型 (SQL, React, etc.)
- 関数型 (Lisp, Scala, Haskell, OCaml, etc.)
- イベント駆動型 (Node.js, ウィンドウズプログラミング)
- 論理型 (Prolog)
- リアクティブ (Swift)
- AIネイティブ
- エージェント指向
- 階層型
- MVC
- マイクロサービス
- モノシリック
- ドメイン駆動
- クリーン
- etc...
なんか、ほとんど、ここ20-30年で出てきたり、流行りだしたり。
今から勉強する人は、さらに+αされていく?AIネイティブ、エージェント指向
もう、プログラムあまり関係なくなっていくんだろうか・・・。
AspectJ とか懐かしい。。。
React ・・なんか、リアクティブ言語じゃないよとか揉めてた時期もあったな。
** OS、低レイヤー [#za4fba8f]
- カーネル
- デバイスドライバー
- BSP
- ファイルシステム
- 割り込み処理
- シグナル
- 仮想技術 (KVM, QEMU, LXD, Virtual Box, VMWare, Hyper-V, (WSL))
- コンテナ技術 (Vagrant, LXD, Multipass, Podman, SNAP, Docker, Kubernetes, etc.)
- クラウド (Public/Private)
** ネットワーク [#z0e98315]
- Ethernet
- Wi-Fi
- L2 (STP, LACP, VLAN, LLDP, ARP, PPP, PPPoE, HDLC, L2TP, etc.)
-- SR/SRv6 (Segment Routing)
-- MPLS
- L3
-- HTTP/HTTPS
-- QUIC
-- WebSocket
-- MQTT
-- ECHONET (Lite)
-- SMNP
-- SLNP
-- MODBUS
-- DNS
-- mDNS
-- Telnet
-- SSH
-- [S]FTP
-- SMTP[S]
-- POP3 (もう、ほぼ廃止)
-- IMAP
-- MNET
-- Finger
-- NTP
-- LDAP
-- RTP
-- BOOTP
-- TFTP
-- RPC
-- OpenAdr
-- Matter
-- BACnet
-- CEMP\TR-069
-- LwM2M
** DB [#m53254a3]
- リレーショナル
- NOSQL
- Key Value Store
- カラム指向 (カサンドラとか)
- グラフDB (neo4j とか)
- 分散DB
--
** セキュリティ [#w10125f3]
- 暗号化
- 証明書
- 認証/認可
- TLS/PKI
** 分野 [#f739705f]
- 組み込み
- アプリ
- クラウド
- IoT
- インフラ(基幹ネットワーク含む)、建設
- 家電
- モビリティ
- 産業機器、FA
- 医療
- 決済
- 環境、エネルギー
- 農業
- ゲーム
- メディア処理
- GIS
うむ。いろいろありすぎてまとめにくい。。。
----
* 技術分野-1 [#ce87d3b4]
- クラウド (Linux, Windows)
- オンプレミス (Linux, Windows, HP-UX, SunOS)
- モバイル (Android, iOS)
- PC (Linux, Windows)
- 組み込み [Linux 系]
- 組み込み [リアルタイムOS系(VxWorks, TRON, T-Kernel, FreeRTOS, etc.)]
- 組み込み [OS 無し、PICマイコン、etc.)]
- FPGA, CPLD
- ASIC
- ハードウェア
*技術分野-2(通信) [#efdf4ffd]
- 有線
-- LAN (Ethernet)
-- CAN (Controller Area Network)
-- USB (Universal Serial Bus)
-- シリアル (RS-485, RS-232C)
-- PLC
- 有線(通信回路)
-- I2S: 音声データ転送にて利用した
-- 1-Wire: 温度センサー読取に利用
-- I2C: いろいろ利用
-- I3C; 使ったことはない。
-- SPI: いろいろ利用
-- UART: いろいろ利用
-- MIPI: カメラ用で少しつかった
-- PCI Express: 利用はよくするが、プログラムで制御は、昔一度だけ。
-- SATA: 利用のみ
-- SDIO: コマンド送って、SDカードの書き込み回数などの情報を読み取ったりした。
-- JTAG: デバッグで。
-- GPIO: いろいろ利用
- 無線
-- Bluetooth
-- NFC
-- UWB
-- Wi-Fi
-- Zigbee
-- Thread
-- 5G/6G
-- LoRa
-- Wi-SUN
-- 特定小電力無線
-- 衛星通信
** OS (インストールした程度のものも含む。) [#g15c9ab3]
- Linux
-- Debian 系
--- Debian
--- Ubuntu (Ubuntu, Kubuntu, Xubuntu, Lubuntu)
--- Rapsberry Pi OS
--- BackTrack
--- Kali Linux
--- Tails
--- Devuan
--- KNOPPIX
--- Linux Mint
-- RedHat 系
--- RHEL
--- Rocky Linux
--- AlmaLinux
--- Fedora
--- Amazon Linux
--- Oracle Linux
--- CentOS
--- Vine Linux
--- Kondara MNU/Linux
--- Momonga Linux
-- Slackware 系
--- Slackware
--- Plamo Linux
--- Pupppy Linux
-- SUSE Linux 系
--- openSUSE
-- Android 系
--- Android
--- ChromeOS
--- Doke OS
-- Arch Linux
-- Tiny Core Linux
-- Gentoo Linux
-- Azure Linux
- Apple 系
-- macOS
-- iOS
-- iPadOS
- BSD
-- FreeBSD
-- OpenBSD
-- NetBSD
- Windows
- UNIX系
-- HP-UX
-- SunOS/Solaris
- μITRON
- FreeRTOS
- Azure RTOS
- VxWorks
- QNX
今は、趣味は大抵 Debian 系使っているけど、
Kondara とか、Plamo とか使ってた頃は、あまり、xxx 系とか意識せずつかってたな。。。
SunOS とか使ってる頃、ブラウザビルドするのに、一日ぐらいビルドかかってたのが懐かしい。。。そもそもOSインストール自体、何日かかかったな・・・。