FAQ
Author
Ryo Nakagami
Modified
2025-12-19
Linux
NoteOSの役割
OSは以下の役割を担う:
- ユーザとのインタフェース機能(入力の受付・結果表示など)
- 記憶装置(ハードディスク,テープ等)やプリンタなどへのデータ入出力の管理
- メモリの管理やリソースの割り当て
- アプリケーションソフトウェアの実行管理(OSが存在しないと,アプリケーションは動作できない)
- システム全体を統括する中心部分としてカーネルを持ち,GNU/LinuxシステムではLinuxがそのカーネルにあたる
Noteカーネル情報の確認
表示フィールドは
| フィールド | 例(あなたの環境) | 説明 |
|---|---|---|
| Kernel name | Linux |
カーネルの種類(通常 Linux) |
| Hostname | ryo-billiken-Desktop |
ホスト名(マシン名) |
| Kernel release | 6.14.0-35-generic |
カーネルのリリースバージョン |
| Kernel version | #35~24.04.1-Ubuntu |
カーネルのビルド番号+ディストリビューション情報 |
| Build date | Tue Oct 14 13:55:17 UTC |
カーネルがビルドされた日時 |
| Build number / ABI | 2 |
ABI 番号や追加のビルドメタ情報 |
| Machine hardware name | x86_64 |
CPU アーキテクチャ(ハードウェア) |
| Processor type | x86_64 |
プロセッサタイプ(多くの Linux は machine と同じ値) |
| Hardware platform | x86_64 |
ハードウェアプラットフォーム(多くの環境で machine と同じ) |
| Operating system | GNU/Linux |
OS 種別 |
NoteLinuxを学ぶ意義は?
- Linuxは世界でもっとも使われているOSであり,サーバやクラウド環境で広く採用されている
- コンピューターはOS上で動作し,多くの機器がLinuxを搭載していることから,身の回りのコンピュータがどのような仕組みで動いているか理解する上でLinuxを学ぶ意義がある
- データ分析実践の場面では,分析サーバやクラウド環境の多くがLinuxを基盤としており,操作や管理能力は実務上重要
- Linuxの知識を身につけることで,効率的なデータ処理,自動化,環境構築など幅広いタスクを自力で行えるようになる
環境構築
Noteなぜデータサイエンティストにとって,ネットワークやサーバーなどの基盤知識が必要なのか?
- 自分で好きなように分析環境を整えられるようになる
- リソース不足時に,アルゴリズムの最適化のほか,スケールアップなどのインフラ計画まで踏み込んだ包括的な対応ができるようになる
- システムトラブル時にどこに問題があるか,どのように対策すれば良いかが判断できるようになる
Python分析環境
NoteQuick setup for ad-hoc analysis
pytestやruffをこだわりなくクイックに用いたい場合はuvx(oruv tool run) を用いるPyproject.tomlで管理されていないディレクトリでもコマンド自体は利用可能
プログラミング
Note哲学としてのオブジェクト指向設計(OOD)
- 解決しようとする現実の問題を上手く理解できる形に整理・表現(モデリング)した上で,自分の経験やベストプラクティスをパターンという形に結晶化し,それを再利用すること
- 問題をどう捉え,どう構造化するかという思考法そのものを重視
- 「オブジェクト指向設計」自体に拘るのではなく「問題解決に使えるオブジェクト指向設計」という考えが重要
NotePythonの特徴
- Javaのようにオブジェクト指向を全面に出さないため,クラスに属さない関数やグローバル変数が定義可能
- 一方,データ型はすべてクラスであり,個々のデータ値はインスタンス