FAQ

Author

Ryo Nakagami

Modified

2025-12-19

Linux

NoteOSの役割

OSは以下の役割を担う:

  • ユーザとのインタフェース機能(入力の受付・結果表示など)
  • 記憶装置(ハードディスク,テープ等)やプリンタなどへのデータ入出力の管理
  • メモリの管理やリソースの割り当て
  • アプリケーションソフトウェアの実行管理(OSが存在しないと,アプリケーションは動作できない)
  • システム全体を統括する中心部分としてカーネルを持ち,GNU/LinuxシステムではLinuxがそのカーネルにあたる
Noteカーネル情報の確認
% uname -a
Linux kirby-Desktop 6.14.0-35-generic #35~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Oct 14 13:55:17 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

表示フィールドは

kernel-name nodename kernel-release kernel-version
machine processor hardware-platform operating-system
フィールド 例(あなたの環境) 説明
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
  • pytestruffをこだわりなくクイックに用いたい場合は uvx(or uv tool run) を用いる
  • Pyproject.tomlで管理されていないディレクトリでもコマンド自体は利用可能

プログラミング

Note哲学としてのオブジェクト指向設計(OOD)
  • 解決しようとする現実の問題を上手く理解できる形に整理・表現(モデリング)した上で,自分の経験やベストプラクティスをパターンという形に結晶化し,それを再利用すること
  • 問題をどう捉え,どう構造化するかという思考法そのものを重視
  • 「オブジェクト指向設計」自体に拘るのではなく「問題解決に使えるオブジェクト指向設計」という考えが重要
NotePythonの特徴
  • Javaのようにオブジェクト指向を全面に出さないため,クラスに属さない関数やグローバル変数が定義可能
  • 一方,データ型はすべてクラスであり,個々のデータ値はインスタンス

Business Communication Skill

NoteなぜWriting Skillsを学ぶ必要があるのか?
  • writingは重要なコミュニケーションツールの一つ
  • writing skillがなければどのような才能があっても,自分の考えはvoicelessになってしまう
  It is important for you to recognize that academic success depends not only on the content of 
  your written work but also on the way you write your reports and papers.