Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】day 19 of 90 day code series..

2025年09月29日に「Dev.to」が公開したITニュース「day 19 of 90 day code series..」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

「90DaysOfCode」19日目は、Pythonで「家族構成記録アプリ」を開発。これは、システムエンジニア初心者がクラス作成、ユーザー入力処理、ファイルの読み書き、データ検索といった実践スキルを学ぶのに最適なプロジェクトだ。

出典: day 19 of 90 day code series.. | Dev.to公開日:

ITニュース解説

プログラミング学習は地道な努力の積み重ねであり、日々の学習を継続する「#90DaysOfCode」のような取り組みは、スキルを着実に身につける上で非常に有効な手段だ。今回紹介する「Day 19」のプロジェクトは、まさにそうした継続学習の中で具体的な成果を形にするものと言える。これは「Family Members Record App」と呼ばれる実践的なコンソールアプリケーションの開発であり、システムエンジニアを目指す多くの初心者が最初に直面するであろう、現実的な課題を解決する基礎的なスキルを習得する絶好の機会を提供する。

「Family Members Record App」は、家族の情報を記録し、管理するためのシンプルなアプリケーションだ。これは画面上で直接操作を行うグラフィカルユーザーインターフェース(GUI)を持つ一般的なアプリケーションとは異なり、テキストベースの入出力で動く「コンソールアプリケーション」として実装される。ユーザーはコマンドプロンプトやターミナルと呼ばれる黒い画面上で、指示に従って文字を入力し、アプリケーションからの出力も文字として受け取る形式だ。このようなコンソールアプリケーションは、一見地味に見えるかもしれないが、システムの中核となるロジックやデータ処理の仕組みを理解するために非常に適している。初心者がプログラムの基本的な動作原理を学ぶには、複雑な画面描画の知識が不要なコンソールアプリケーションから始めるのが定石である。このプロジェクトを通じて、ユーザーが入力した情報をどのように受け取り、処理し、結果を返すかという、あらゆるソフトウェアの根幹をなすインタラクションの概念を習得できる。

このプロジェクトの重要な学習ポイントの一つに「クラスの作成と利用」が挙げられる。クラスとは、現実世界に存在する「モノ」や「概念」をコンピュータ上で表現するための設計図のようなものだ。例えば、「家族のメンバー」という漠然とした概念を扱う場合、各メンバーには「名前」「年齢」「関係性」などの共通の属性があり、それらの情報をまとめて扱いたいと考えるだろう。クラスを使えば、「FamilyMember」という設計図を作り、その中に「名前を保持する場所」「年齢を保持する場所」といった属性(プロパティ)を定義できる。そして、この設計図に基づいて「父」「母」「私」といった具体的な「オブジェクト」(インスタンス)をいくつでも作成できるのだ。オブジェクト指向プログラミングの核となるこの考え方を学ぶことで、プログラムの構造が整理され、将来的に大規模なシステムを開発する際に、複雑な情報を効率的かつ再利用可能な形で管理する能力が養われる。情報を一つのまとまりとして扱うことで、プログラムはより理解しやすく、拡張しやすくなる。

アプリケーションがユーザーと対話するためには、ユーザーからの入力を受け付ける仕組みが必要だ。このプロジェクトでは、アプリケーション内で「メンバーを追加する」「メンバーを検索する」「アプリケーションを終了する」といった選択肢をメニュー形式で提示し、ユーザーが数字や文字を入力することで希望する操作を実行する「ユーザー入力の処理」を学ぶ。このメニュー方式は、ユーザーが直感的に操作を選べるようにするための基本的なユーザーインターフェース設計だ。ユーザーが入力した値が正しいかどうかをチェックしたり、間違った入力に対して適切なメッセージを返したりするロジックも、この段階で習得すべき重要なスキルである。これにより、単にコマンドを受け付けるだけでなく、エラーに強く、ユーザーフレンドリーなアプリケーションの基礎を築くことができる。

アプリケーションで入力されたデータは、プログラムが終了すると通常は失われてしまう。これを防ぎ、データを永続的に保存するために「ファイルへの書き込みと読み込み」の技術が不可欠となる。このプロジェクトでは、入力された家族のメンバー情報をテキストファイルとしてコンピュータに保存し、アプリケーションを再起動した際にそのファイルを読み込んで以前のデータを復元する方法を学ぶ。テキストファイルは最もシンプルなデータ保存形式の一つであり、特殊なデータベースソフトウェアを必要としないため、初心者にとってはファイル操作の基本を理解するのに適している。データをファイルに書き込むことで、作成した情報が失われることなく、いつでも参照できるようになる。また、ファイルを読み込むことで、過去の情報をプログラム内で利用できるようになり、アプリケーションの利便性が飛躍的に向上する。これは、より高度なデータベース管理システムを学ぶ上での重要な第一歩となる知識だ。

多くのデータがファイルに保存されるようになると、その中から特定の情報を見つけ出す機能が重要となる。このプロジェクトでは、保存されたテキストファイルの中から特定の条件に合致する「データを検索する」方法を学ぶ。例えば、「名前が〇〇のメンバーを探す」といった要求に対して、ファイルの内容を一行ずつ読み込み、指定された条件と比較しながら目的のデータを見つけ出すロジックを実装する。これは、情報検索システムの基本的なアルゴリズムを理解する上で役立つ。大量のデータの中から効率的に必要な情報を見つけ出す能力は、現代のITシステムにおいて非常に重要であり、データベース検索やWeb検索エンジンの基礎にもつながるスキルだ。ファイルからデータを読み込み、それをプログラム内で加工・分析する一連の処理は、データ駆動型アプリケーション開発の基礎を形成する。

これらの要素、つまりクラスを用いたデータの構造化、ユーザーとの対話を実現する入力処理、データの永続化を担うファイル操作、そして必要な情報を取り出すデータ検索という一連のプロセスは、どのような種類のシステム開発においても共通して現れる基本的な概念だ。Pythonは、そのシンプルで読みやすい構文からプログラミング初心者にとって非常に学びやすい言語であり、これらの概念を実践的に習得するのに適している。この「Family Members Record App」のような小規模なプロジェクトを通じて、個々の技術要素がどのように連携し、一つの動作品として機能するのかを体験することは、座学だけでは得られない深い理解と自信をもたらす。将来システムエンジニアとして活躍するためには、単にプログラミング言語の文法を覚えるだけでなく、現実の問題を解決するための思考プロセスや、アプリケーション全体を設計する視点が必要となる。このプロジェクトは、まさにそうした実践的な「システム思考」を養うための第一歩となるのだ。継続的な学習と、手を動かして実際にアプリケーションを作り上げる経験こそが、未来のシステムエンジニアを育む最も確実な道だと言えるだろう。

関連コンテンツ

関連IT用語