夏休みの自由研究はプログラミングで決まり!面白テーマ5選(Scratch & Python)

目次

はじめに

夏休みの自由研究、毎年テーマ決めに悩みませんか?今年は、ただ観察したり作ったりするだけでなく、自分で「考える力」「創り出す力」を育てられるプログラミングに挑戦してみましょう!ゲームやアートを自分の手で生み出す経験は、最高の夏の思い出になるはずです。

この記事では、プログラミングが自由研究に最適な理由、すなわち論理的思考力、問題解決能力、そして創造性を育む点を解説します。その上で、初心者から少し背伸びしたい挑戦者まで、誰もが楽しめる5つの具体的なテーマを、作り方の手順付きで詳しく紹介します。

扱うツールは、プログラミングが初めてでも安心な、パズル感覚で学べるビジュアルプログラミング言語「Scratch(スクラッチ)」 と、世界中のプロが使う本格的な言語でありながら初心者にも学びやすい「Python(パイソン)」 の2つです。  

これから紹介する5つのテーマは、アート、ゲーム、社会問題の解決まで、あなたの興味をきっと刺激するはずです。さあ、一緒にプログラミングの世界へ冒険に出かけましょう!

スクロールできます
テーマ主なツール学べること難易度
幾何学模様ジェネレーターScratch / Python繰り返し処理・数学の応用★☆☆
オリジナルシューティングゲームScratch / Python変数・条件分岐・イベント処理★★☆
SDGsゴミ分別クイズScratch / Python社会問題解決・インタラクション★★☆
テキストアドベンチャーゲームPython論理構造・物語制作★★☆
お天気予報アプリPythonAPI連携・データ活用★★★

自由研究を始める前の準備

プログラミング学習で初心者が挫折する大きな原因の一つに、最初の「環境構築」の難しさがあります 。専門的なソフトをインストールする段階でつまずき、楽しいコーディングにたどり着く前に諦めてしまうのは非常にもったいないことです。そこで、このセクションでは、その壁を完全に取り払う、ブラウザだけで始められる簡単な方法を紹介します。  

初心者でも安心!ビジュアルプログラミング「Scratch」入門

Scratch(スクラッチ)は、アメリカのMITメディア・ラボが子どもたちのために開発した、世界中で使われている無料のプログラミング学習ツールです 。難しいコードをキーボードで打ち込む代わりに、命令が書かれたブロックをパズルのように組み合わせるだけで、本格的なアニメーションやゲームを直感的に作ることができます 。  

はじめかた まずはScratch公式サイト(https://scratch.mit.edu/)にアクセスしましょう。サイト上部の「スクラッチに参加しよう」からアカウントを作成すると、作った作品を保存したり、世界中の友達と共有したりできるようになります 。  

画面の見方 Scratchの編集画面は、主に3つのエリアで構成されています 。  

  1. ステージ(右上): 作成したプログラムが実行され、キャラクターが動く場所です。
  2. スプライトリスト(右下): プログラムで動かすキャラクターやアイテム(スプライト)を管理する場所です。
  3. ブロックパレット & スクリプトエリア(左・中央): 左側のパレットから命令ブロックを選び、中央のスクリプトエリアにドラッグ&ドロップしてプログラムを組み立てます。

本格的なコードに挑戦!「Python」の始め方

Python(パイソン)は、シンプルで読みやすい文法が特徴で、プロの現場でも非常に人気のあるプログラミング言語です。YouTubeのようなWebサービスから、最先端のAI(人工知能)開発まで、非常に幅広い分野で活躍しています 。  

はじめかた(簡単な方法) 通常、Pythonを始めるには専用ソフトのインストールが必要ですが、これも初心者がつまずきやすいポイントです 。そこで今回は、インストール不要でブラウザだけでプログラミングが試せるオンラインの実行環境(Google ColaboratoryやReplitなど)の利用をおすすめします。これにより、面倒な準備をスキップして、すぐにコーディングの楽しさを体験できます。  

Pythonの強力な武器(ライブラリ) Pythonには「ライブラリ」と呼ばれる、便利な機能がまとまった拡張パーツがたくさんあります。今回の自由研究では、以下のようなライブラリを使っていきます。

  • turtle: 画面上のカメ(タートル)を動かして、図形や絵を描くためのライブラリです 。  
  • pygame: ゲーム作りに特化した機能が豊富に揃ったライブラリです 。  
  • tkinter: クイズアプリのような、ボタンやテキストボックスを持つ画面(GUI)を簡単に作るための標準ライブラリです 。  
  • requests: インターネット上にある情報(API)にアクセスし、天気予報などのデータを取得するためのライブラリです 。  
特徴ScratchPython
とっつきやすさブロックを組み合わせるだけキーボードでコードを記述
学習曲線ゆるやかやや急
作れるものアニメ、簡単なゲームゲーム、ツール、Webアプリなど何でも
プロの世界とのつながりプログラミングの考え方を学ぶ実際にプロが使う言語

面白テーマ5選!作って学べる自由研究プロジェクト

テーマ1: アートと数学の融合!幾何学模様ジェネレーター

プログラムに「繰り返し」と「角度」という2つのルールを教えるだけで、まるで万華鏡を覗いたときのような、美しく複雑な模様を自動で描かせるプロジェクトです。プログラミングが、算数や数学、そしてアートと深く結びついていることを体感できます。

Scratchバージョン

  • ステップ1: 準備をしよう 画面左下の「拡張機能を追加」ボタンから「ペン」を選びます。これで、スプライトが動いた軌跡に線を描く機能が使えるようになります 。  
  • ステップ2: 正方形を描いてみよう 「ペンを下ろす」ブロックを置いた後、「100歩動かす」→「90度回す」という命令の組み合わせを、「4回繰り返す」ブロックで囲みます。たったこれだけで、コンピューターに正方形を描かせることができます 。  
  • ステップ3: いろいろな多角形に応用しよう 正方形を描くときに「90度」回したのはなぜでしょう?それは、360÷4=90 だからです。この法則を使えば、正N角形を描くには「360÷N 度回す」処理を「N回繰り返す」だけで良いことがわかります 。この「N」の部分を「変数」という機能に置き換えれば、好きな数字を入力するだけで自在に多角形を描けるプログラムに発展させられます 。  
  • ステップ4: 美しい模様に発展させよう ステップ3で作った「多角形を描く」プログラムを、さらに大きな「繰り返し」ブロックで囲み、繰り返すたびに少しずつ角度をずらして描くように命令します。すると、多角形が重なり合って美しい幾何学模様が生まれます。「ペンの色を10ずつ変える」ブロックを追加すれば、カラフルで幻想的なアート作品が完成します 。  

Pythonバージョン

  • ステップ1: 準備をしよう import turtle という一行を書き、お絵描きライブラリ「turtle」を呼び出します 。  
  • ステップ2: 正方形を描いてみよう Scratchの考え方はそのままPythonでも通用します。Scratchの「4回繰り返す」は for _ in range(4): に、「100歩動かす」は t.forward(100) に、「90度回す」は t.right(90) になります。このように、プログラミングの基本的な考え方は言語が違っても共通しているのです 。  
  • ステップ3: 模様に発展させよう Scratchと同様に、forループを二重(入れ子)にします。外側のループで少しずつ角度を変えながら、内側のループで多角形を描画するコードを書くことで、複雑な模様を生成できます。

研究のまとめ方ポイント

  • 角度や繰り返しの回数を変えると、模様がどのように変化するかを実験し、たくさんのパターンのスクリーンショットを撮って比較・分類してみましょう。
  • 「なぜこの計算式(360÷N)で正多角形が描けるのか?」を、小学校や中学校で習う「多角形の外角の和は360度」という数学の知識と結びつけて考察すると、非常に説得力のあるレポートになります。

テーマ2: 自分だけのゲームを作ろう!オリジナルシューティングゲーム

誰もが一度は遊んだことのあるシューティングゲーム。その面白い仕組みを、プログラミングで一つひとつ解き明かしていくプロジェクトです。このテーマには、キャラクターの操作、弾の発射、当たり判定、スコア計算など、ゲーム作りの基本的な要素がすべて詰まっています。

このプロジェクトは、「変数」や「条件分岐(もし~なら)」といった、プログラミングの最も重要で、時に難しく感じられる概念を学ぶのに最適です。「スコア」や「HP(ヒットポイント)」は、目に見える形で変化する「変数」の完璧な例です 。そして、「もし敵の弾が自分に当たったら、HPという変数を1減らす」という処理は、「条件分岐」がなぜゲームに不可欠なのかを体感的に理解させてくれます 。  

Scratchバージョン

  • ステップ1: 自機を操作しよう 「制御」カテゴリの「もし~なら」ブロックと、「調べる」カテゴリの「〇キーが押された」ブロックを組み合わせます。「もし右向き矢印キーが押されたなら、x座標を10ずつ変える」といったプログラムで、キーボード操作を実現します 。  
  • ステップ2: 弾を発射しよう 「スペースキーが押されたなら」という条件で、弾のスプライトの「クローンを作る」命令を実行します。クローンとは、スプライトの分身のことです。作られたクローンは自機の位置からスタートし、画面の端に触れるまでまっすぐ進み、触れたら消えるようにプログラムします 。  
  • ステップ3: 敵を出現させよう 敵のスプライトもクローンを使って、画面の上部のランダムな位置から定期的に出現させ、下に向かってゆっくり動くようにします 。  
  • ステップ4: 当たり判定をつけよう ゲームの心臓部、「もし~なら」ブロックの出番です。「もし(弾のクローンが)敵に触れたなら」という条件分岐を作り、条件が満たされたら敵のクローンを削除し、「スコア」を増やします。同様に、「もし(敵が)自機に触れたなら」、「HP」を減らします 。  
  • ステップ5: スコアとHPを管理しよう 「変数」カテゴリの「変数を作る」から、「スコア」と「HP」という2つの変数を作ります。敵を倒したら「スコアを1ずつ変える」、ダメージを受けたら「HPを-1ずつ変える」ブロックで値を操作します 。HPが0になったら、ゲームオーバー画面を表示してゲームを終了させます。  

Pythonバージョン

  • ステップ1: 準備をしよう ゲーム制作用ライブラリpygameimport pygameで呼び出します 。  
  • ステップ2: ゲームの骨格を作ろう まず、pygameでゲームのウィンドウ(画面)を作成します。次に、自機、敵、弾の画像を読み込み、表示する準備をします。そして、ゲームが動き続けるための心臓部である「ゲームループ」(while True:で始まる繰り返し処理)の基本構造を記述します 。  
  • ステップ3: キー操作を実装しよう ゲームループの中で、pygame.key.get_pressed()という命令を使い、どのキーが押されているかを常にチェックします。矢印キーが押されていれば、自機の座標を更新して画面上で動かします。
  • ステップ4: 当たり判定を実装しよう pygameには、スプライト(画像)が持つ四角い領域(rect)同士が重なっているかを簡単に判定できるcolliderect()という便利な関数があります。これを使って、弾と敵、敵と自機の衝突を検出します。

研究のまとめ方ポイント

  • 敵の移動速度、出現頻度、弾の速さなどを変えると、ゲームの難易度がどのように変化するかを実験し、表にまとめてみましょう。
  • プログラムのどの部分が「当たり判定」で、どの部分が「スコア計算」なのかが分かるように、スクリーンショットと説明文、あるいはコード内のコメント機能を使って解説すると、論理的な思考プロセスが伝わりやすくなります 。  

テーマ3: 社会問題にアプローチ!SDGsゴミ分別クイズ

プログラミングの力で社会問題を解決する第一歩!近年、学校教育でも重要視されているSDGs(持続可能な開発目標)をテーマに、複雑なゴミの分別ルールを楽しく学べるクイズやゲームを作ります。自由研究として、社会的なテーマとプログラミング技術を結びつけられるため、非常に評価の高いプロジェクトになります 。  

Scratchバージョン(分別ゲーム)

  • ステップ1: 素材を準備しよう ゴミのイラスト(ペットボトル、空き缶、生ゴミ、新聞紙など)と、分別用のゴミ箱(可燃ごみ、不燃ごみ、資源ごみなど)のスプライトを複数用意します。
  • ステップ2: ゴミを空から降らせよう ゴミのスプライトをクローン機能で増やし、画面の上からランダムな位置に、ランダムな種類のゴミが降ってくるようにプログラムします 。  
  • ステップ3: ゴミ箱を操作しよう 左右の矢印キーで、プレイヤーが操作するゴミ箱のスプライトを動かせるようにします。
  • ステップ4: 正しい分別を判定しよう ここがプログラミングの腕の見せ所です。ゴミがゴミ箱に触れたとき、「もし(ゴミのコスチューム名が)『ペットボトル』で、かつ、(触れたゴミ箱の色が)『青』なら」のように、「もし~なら」ブロックと「かつ」ブロックを組み合わせて、正しい分別が行われたかを判定します 。正解ならスコアを加え、不正解ならペナルティを与えるなど、ゲーム性を高めましょう。  

Pythonバージョン(GUIクイズ)

  • ステップ1: 準備をしよう Pythonに標準で備わっているGUI(グラフィカル・ユーザー・インターフェース)作成ライブラリtkinterimportします 。  
  • ステップ2: 画面を作ろう tkinter.Tk()でウィンドウの土台を作り、Labelウィジェットで問題文(例:「この中で資源ごみはどれ?」)を、Buttonウィジェットで選択肢(例:「ペットボトル」「割れたガラス」など)を表示します 。  
  • ステップ3: クイズデータを用意しよう 問題文、4つの選択肢、そして正解の選択肢番号を、リストや辞書といったPythonのデータ構造を使ってプログラム内に用意します。発展として、これらのデータをCSVファイルにまとめておき、プログラムで読み込むようにすると、問題の追加や修正が簡単になります 。  
  • ステップ4: 正誤を判定しよう いずれかの選択肢ボタンが押されたら、そのボタンに対応する答えが正解かどうかをチェックする関数を呼び出します。正解か不正解かの結果は、messagebox.showinfo()などの機能を使ってポップアップウィンドウで表示すると、分かりやすくなります 。  

研究のまとめ方ポイント

  • そもそも「なぜゴミの分別が必要なのか?」を調べ、SDGsの目標、特に12番目の目標「つくる責任 つかう責任」とどのように関連しているのかをまとめてみましょう 。  
  • 完成したゲームやクイズを友達や家族に遊んでもらい、プレイ前と後でどれくらい分別の知識が増えたかアンケートを取るなどして、自分の作ったプログラムの効果を測定すると、より科学的な研究になります。

テーマ4: 物語の主人公は君だ!テキストアドベンチャーゲーム

美しいグラフィックがなくても、言葉と選択肢だけでプレイヤーを引き込む。それがテキストアドベンチャーゲームの魅力です。プレイヤーの選択によって物語の展開がダイナミックに変化する「インタラクティブな物語」を自分で作ることを通じて、物事を順序立てて考える論理的な構成力と、人を惹きつける物語創作能力の両方を鍛えることができます。このテーマは、文字の扱いに長けたPythonの得意分野です。

Python専用テーマ

  • ステップ1: 物語の始まりとプレイヤーの選択 print()関数を使って、「君は古い城の前に立っている。目の前には重厚な扉がある。」といった状況をテキストで表示します。次に、input()関数を使ってプレイヤーに「どうする? 1: 扉を開ける 2: 城の周りを調べる」といった選択肢を入力させます 。  
  • ステップ2: 物語を分岐させよう プログラミングの基本であるif, elif, else構文の出番です。プレイヤーが入力した値に応じて、表示するメッセージを変え、物語を分岐させます。「もしプレイヤーの答えが ‘1’ だったら、扉を開ける場面に進む。もし ‘2’ だったら、城の周りを調べる場面に進む。それ以外の入力だったら、『1か2を選んでください』と表示する」といった具合です 。  
  • ステップ3: ゲームを進行させよう whileループ(繰り返し処理)を使うことで、ゲームを継続させます。特定の条件(例:お宝を見つけてゴールにたどり着く、罠にかかってゲームオーバーになるなど)が満たされるまで、「状況説明 → 選択肢の提示 → 入力待ち」という一連の流れを繰り返す構造を作ります 。  
  • ステップ4: プログラムを整理しよう 物語が複雑になってきたら、defを使って各場面(例えば「玉座の間」「地下牢」など)を一つの関数としてまとめると、プログラム全体の見通しが良くなります。これにより、大きな物語を小さな部品に分けて考える、プログラマー的な思考法が身につきます 。  

研究のまとめ方ポイント

  • ゲームの全体像が一目でわかるように、物語の分岐構造をフローチャート(流れ図)に描いてみましょう。どの選択がどの結末に繋がるのかを視覚化することで、論理構造が明確になります。
  • プログラミングにおける「条件分岐(if文)」が、物語における「プレイヤーの選択」とどのように対応しているのかを考察し、その関係性を説明しましょう。
  • どんな謎やイベントを用意すればプレイヤーが一番楽しめるか、ストーリーを工夫した点や、面白さを生み出すために仕掛けた「伏線」などをアピールするのも良いでしょう 。  

テーマ5: 現実世界とつながる!お天気予報アプリ

今回の5つのテーマの中で最難関のチャレンジです。自分の作ったプログラムをインターネットの世界に接続し、現実世界の「今、この瞬間」の天気情報をリアルタイムで取得するアプリを開発します。プロのエンジニアが日常的に使う「API」という技術の初歩を体験できる、非常に高度でやりがいのあるテーマです。このプロジェクトを完成させれば、プログラミングが単なる画面の中の遊びではなく、現実世界と情報をやり取りするための強力なツールであることを実感できるでしょう。

Python専用テーマ

  • ステップ1: 「APIキー」を手に入れよう 天気情報を無料で提供してくれている海外のサービス「OpenWeatherMap」のウェブサイトにアクセスし、ユーザー登録をします。登録すると、自分専用の「APIキー」が発行されます。これは、サービスを利用するための「合言葉」のようなもので、プログラムに組み込んで使います 。  
  • ステップ2: APIに「リクエスト」を送ろう requestsライブラリを使って、OpenWeatherMapのサーバーに「東京の天気を教えてください」というお願い(リクエスト)を送るコードを書きます。このとき、専用のURLに、都市名(例:q=Tokyo,JP)と、ステップ1で取得した自分専用のAPIキー(例:appid=...)を付け加えるのが重要なポイントです 。  
  • ステップ3: データを解析しよう リクエストが成功すると、APIサーバーから「JSON」という形式で天気データが返ってきます。これはPythonの「辞書」というデータ型によく似た構造をしています。data['weather']['description']のように、キーを指定することで、欲しい情報(例えば「晴れ」といった天気概況)や、data['main']['temp'](気温)などをピンポイントで取り出すことができます 。  
  • ステップ4: 結果を表示しよう 取得した情報をprint()関数を使って、人間が読みやすいように整形して表示します。「東京の現在の天気は『晴れ』、気温は28.5度です」のように出力できれば成功です。

研究のまとめ方ポイント

  • 「APIとは何か?」を、自分の言葉で説明してみましょう。例えば、「レストランで、客(自分のプログラム)がウェイター(API)に注文(リクエスト)を伝えると、ウェイターが厨房(サーバー)に注文を届け、出来上がった料理(データ)を運んできてくれる仕組み」のような、身近な例に例えると分かりやすくなります。
  • プログラムを朝、昼、晩と時間を置いて何回か実行し、気温や天気が変化する様子を記録しましょう。実際の天気とプログラムが取得した情報が一致しているかどうかも検証します。
  • プログラムを改造して、自分の住んでいる街や、おじいちゃんおばあちゃんの住む街、旅行先の天気など、他の都市の天気も取得できるようにしてみましょう。

自由研究を魅力的にまとめる方法

素晴らしいプログラミング作品も、その過程や学びをきちんと伝えられなければ、自由研究としては評価されにくいかもしれません。作品作りと同じくらい、それをまとめるレポート作りも重要です。ここでは、君の頑張りが先生や友達にしっかり伝わるレポートの書き方を紹介します。

レポートの基本構成

自由研究のレポートは、主に以下の5つの柱で構成すると、論理的で分かりやすくなります 。  

  1. 研究の動機・目的
    • なぜこのテーマを選んだのか?(例:「面白いシューティングゲームを自分で作ってみたかったから」)
    • このプログラムで何を実現したかったのか?(例:「ゴミの分別を楽しく学べるクイズを作り、家族に遊んでもらうこと」)
  2. 計画・設計
    • どんな機能が必要か、リストアップしてみよう。(例:自機の移動、弾の発射、当たり判定、スコア表示)
    • どんな画面にするか、簡単なイラストや設計図を描いてみよう。テキストアドベンチャーゲームなら、物語の分岐をフローチャートにしてみるのも良い方法です。
  3. 開発の過程
    • プログラムを作っている様子を記録しましょう。特に重要なのは、うまくいかなかった点(バグやエラー)と、それを解決するためにどんな試行錯誤をしたか、という過程です。この部分が、君の「問題解決能力」を示す一番のアピールポイントになります。
    • プログラムの重要な部分のスクリーンショットを撮り、「このブロックは〇〇をするためのものです」といった説明を加えると、非常に分かりやすくなります 。  
  4. 結果と考察
    • 完成したプログラムがどのように動くのかを説明します。
    • 計画通りに動いたか、動かなかった場合はなぜかを考えます。
    • 友達や家族に遊んでもらった感想や、アンケート結果などを載せると、客観的な評価が加わります。
    • この研究を通して何が分かったか、何を学んだかを自分の言葉でまとめます。(例:「変数の仕組みを使うと、スコアを記録できることがわかった」)
  5. 結論と今後の課題
    • 研究全体を振り返っての感想を述べます。
    • 「もっとこうしたい」という今後の展望を書きましょう。(例:「次は敵キャラクターの種類を増やして、ボス戦も作ってみたい」)

作品を共有しよう!

Scratchで作った作品は、プロジェクトページのURLをQRコードに変換してレポートに貼り付けるのがおすすめです 。レポートを読んだ人がスマートフォンでQRコードを読み取るだけで、君の作ったゲームをその場で遊ぶことができます。これは見る人に驚きと感動を与える、最高のプレゼンテーション方法です。「QRのススメ」などの無料サイトで簡単に作成できます。  

プログラミング学習でつまずかないためのヒント

プログラミングは楽しいですが、時には壁にぶつかることもあります。でも大丈夫。これから紹介するヒントを知っておけば、きっと乗り越えられます。

大切な心構え

  • エラーは友達 プログラムにエラーが出るのは当たり前のことです。むしろ、エラーメッセージは「どこが間違っているか」を教えてくれる親切なヒントです 。英語で表示されても怖がらず、まずは読んでみましょう。多くの場合、単純なスペルミスや、Scratchでのブロックのはめ間違いが原因です。  
  • 暗記より理解 プログラミングのコードやブロックをすべて丸暗記する必要は全くありません 。「この命令(ブロック)は、どんな役割を持っているのか」「どんな時に使うと便利なのか」という、役割を理解することが何よりも大切です。  
  • 完璧じゃなくてOK 最初から完璧なプログラムを作れるプロはいません 。まずは「とりあえず動く」簡単なものを作り、そこから少しずつ機能を追加したり、見た目を良くしたりしていくのが、プログラミング上達のコツです。  

これだけは押さえたい!重要コンセプト

  • 変数 (Variable) よく「名前を付けたデータを入れておくための箱」に例えられます 。ゲームのスコアやHP、残り時間など、プログラムの実行中に変化する数字や言葉を一時的に保存しておくために使います。この箱があるおかげで、プログラムは「前の状態」を覚えておくことができるのです 。  
  • 条件分岐 (Conditional / if文) 「もし~なら、〇〇する。でなければ、△△する」という、状況に応じて処理の流れを変えるための、プログラミングで最も重要な命令の一つです 。信号機をイメージすると分かりやすいでしょう。「もし信号が青なら(条件)、進む(処理)。もし赤なら、止まる」というように、条件によってコンピューターの行動を変えることができます 。  

結論

この記事では、夏休みの自由研究に最適なプログラミングのテーマとして、ScratchとPythonを使った5つのプロジェクトを紹介しました。簡単な図形を描く幾何学アートから、本格的なゲーム制作、さらにはAPIを使って現実世界の天気情報を取得する実用的なアプリまで、プログラミングで実現できる世界の広さと面白さを感じていただけたのではないでしょうか。

プログラミングは、物事を順序立てて考える「論理的思考力」と、頭の中のアイデアを具体的に形にする「創造力」を、同時に、そして何より楽しく育ててくれる最高のツールです。この夏、ぜひあなただけのオリジナル作品作りに挑戦して、誰にも真似できない、忘れられない自由研究を完成させてください。応援しています!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

現役エンジニア 歴12年。
仕事でプログラミングをやっています。
長女がスクラッチ(学習用プログラミング)にハマったのをきっかけに、スクラッチを一緒に学習開始。
このサイトではスクラッチ/プログラミング学習、エンジニアの生態、エンジニアによる生活改善について全力で解説していきます!

コメント

コメントする

CAPTCHA


目次