表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
1/1

第一話 ターミナル? 環境構築?

 プログラミングって、よく分からないですよね。


 C言語、Python、JavaScriptとか色々あるし、

全部英語で書かれてるし、エラー文が出るとイライラします。


 そんな前置きはさておき、作者は今回、python?とやらで

初プログラミングをしました。


 この記念すべき第一話の大まかな流れは下記の通りです。


 ①Spoitlight検索


 ②ターミナル


 ③環境構築


 ④作ったものの簡単な紹介


 ⑤html


 ⑥結果


 ⑦始めての感想


 順に説明していきます。



①Spotlight検索


 作者の使用しているpcはMacBook Air 13。

なろうの執筆と同じ機種を採用しました。


 メンターはチャットgpt

生成aiは作者が指示したコードを貼り付けて貰うのが主な役ですが、

他にも分からなくなった事を聞くのに役立ちました。


 さて、では何が分からないのか?


 それは『Spotlight検索』です。


 一部、は? と思われた読者の方もいるでしょうが、

そうです。このレベルの人間が挑むプログラミング..。


 果たしてどうなる事やら..。


※Spotlight検索は、キーボードのcommand +シフトで表示されます。


②ターミナル


 前にもあげた例の検索装置で、

カタカナでターミナルと入力すると、

黒アイコンに顔文字の、変なアイコンが出てきます。


 それをクリックすると、更に可笑しな画面に飛ばされます。


 『シェル』と言うらしいです。とにかく小さい。

白い枠組みの中に、作者の本名と機種名が書かれていました。


③環境構築


 ここまで来たなら、後はaiに指示されたコードを打ち込むだけ。


 作者は恐る恐る、キーボードを叩きました。


 mkdir my_project


 これだけで、my_projeectという名前のファイルが

finderの中に出来上がるらしいです。次に、


 cd my_project


 ファイルの中に入る事に成功。更に次は..。


 python3 -m venv venv


 venvという名前の仮想環境が出来上がりました。

ちなみに今回利用したpythonは、既に最新のものをダウンロードしてあります。


 そして..。


 source venv/bin/activate


 これを打ち込む事によって、仮想環境が有効になり、

作者の本名と機種名、ファイル名の横に(venv)と表示されます。


 pip install flask


 仕組みはよく分かりませんが、flaskというソフトを

導入して、環境構築は終了ーー

 

 と、ここまでにかかった時間は30分くらい。

最初のターミナルからのコード入力で苦戦はしたものの、

思ったより難しくないというのが率直な感想でした。


④作ったものの簡単な紹介


 『サマーウォーズ』という作者が好きな映画の中に、

主人公の男の子が、ヒロインの誕生日から曜日を計算するシーンがあります。


 数学的な知識を用いるらしく、解説動画を見てもサッパリでした。


 しかし、プログラミングを使えばあるいは..、、


 という経緯で、早速作ってみました。


 以下がpythonのidleにて、生成aiに書かせたコードです。


 app.py(コード全体の名前みたいなもんです)


from flask import Flask, render_template, request

import datetime


app = Flask(__name__)


@app.route('/', methods=['GET', 'POST'])

def index():

weekday = None

if request.method == 'POST':

birth_date = request.form['birth_date']

try:

# 生年月日をdatetimeオブジェクトに変換

date_obj = datetime.datetime.strptime(birth_date, '%Y-%m-%d')

# 曜日を取得

weekday = date_obj.strftime('%A')

except ValueError:

weekday = "無効な日付形式です。YYYY-MM-DD形式で入力してください。"

return render_template('index.html', weekday=weekday)


if __name__ == '__main__':

app.run(debug=True)

 

 

 みたいな感じです。


 コピペ作業ですが、

生成aiの優秀さは♯以降に、そのコードがどうゆう意味を持つのかを

解説してくれる点です。


 さて、app.pyの作成はひと段落


 次は噂に聞く『html』とやらを作ってみました。


⑤html


 まずはmy_project(ファイル名)の中に、

templatesという名前の新しいファイルを作成。


 mkdir templates


 こう打ち込むだけです。


 次に、htmlの作成に必要なツールですが今回は、

VS Code(Visual Studio Code)を採用ーー


 早速ダウンロードしたそれを開くとなんとびっくり。

全部英語で書かれています。しかし恐るるに足らず..。


 共テ英語だけなら9割取れる作者の手にかかれば読める読める..。


 左上の書類マークを押して、Open folderってとこをクリックします。

そこからmy_project→templatesと進んでいき、開くを押せば出来たも同然。


 VS Code内にて、index.htmlを追加。


 以下がaiに書かせたコードです。


 <!DOCTYPE html>

<html lang="ja">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>生年月日から曜日を計算</title>

</head>

<body>

<h1>生年月日から曜日を計算</h1>


<form method="POST">

<label for="birth_date">生年月日 (YYYY-MM-DD):</label>

<input type="text" id="birth_date" name="birth_date" required>

<button type="submit">計算</button>

</form>


{% if weekday %}

<p>その日の曜日は: {{ weekday }}</p>

{% endif %}

</body>

</html>


 意味が分からない..。しかし、これで土台は完成みたいです。


⑥結果


 ターミナルに戻り入力ーー


 python app.py  

 

 すると、赤と黄色の変な文字と共に、

試験用のURL 「http://127.0.0.1:5000」

上記のものが貰えるはずです。


 これを、safariでもChromeでも、検索エンジンにかけて

望み通りの出力がなされれば成功なのですが結果は果たして..。









 成功!!


 諸事情により写真は添付できませんが(背景に個人情報が写っている)、

作成日、2025年2月18日の曜日が火曜日である事を当ててくれました。


 とくれば、作者の誕生日の曜日も当てられるのか? と思い早速入力ー


 結果は土曜日との事でしたが、、


 『ごめん、何曜日か知らないや』


 合ってるのか外れてるのか、分からないですが、

まぁ多分合っているでしょう。


 作者は手元にmacさえあれば、

夏希先輩(サマーウォーズのヒロインの名前)のそれを当てれるのです。


 ......。


 虚しい。


⑦感想


 意外と簡単に出来たのは、生成aiに手取り足取り教えて貰えたからで、

何もない真っ新な状態から作れと言われたら多分挫折します。

(噂に聞く挫折率9割は誇張でもなんでもないと思いました)


 要するに大事なのは、


1、自分の作りたいものを明確にする

2、生成aiを使う


 の二点だと思います。


 従来だとgoogleや本を使って調べるのが主流だったらしいですが、

aiは自分が今分からなくて困っている事をピンポイントで聞けるので、

そこが魅力的だなーと思いました。


 プログラミングは面白い..。


 この日記は恐らく更新頻度は高くありませんが、

次話ではもっと高度なものを作ってみたいなぁと、考えている次第です。


 




 






評価をするにはログインしてください。
この作品をシェア
Twitter LINEで送る
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ