https://jp.quora.com/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%82%92%E5%A7%8B%E3%82%81%E3%81%9F%E3%81%84%E3%81%91%E3%81%A9%E4%BD%9C%E3%82%8A%E3%81%9F%E3%81%84%E3%82%82%E3%81%AE%E3%81%8C%E3%81%AA%E3%81%84?__nsrc__=4
作れるものから作るのを薦めればいいと思いますよ。
始めることが大切。着手することが重要。というやつです。
目的があって手段に移れるというのが理想ではありますが、手段から目的を見出すことはあります。それが例えば作りたいものがないという状態への対処で、とりあえずやってみるということです。目的のレベルの高い場合にいきなりそれを作ることはできないことはよくありますね。その目的を達成するために勉強をするわけですが、勉強も行ってしまえば高いレベルに至る過程を分解して小さい単位でやれるようになっていく取り組みです。作れるものから作る。勉強と同じで最初は50音や足し算からみたいになるのですな。
作れるものから作るのを薦める。これの反応である程度先が見えたりします。その意味で薦める側が薦めた相手を見極めるのにも役に立ちます。
薦めたけれど始まらない。これは基本的にプログラミングを始めたいわけではないと見てよいでしょう。プログラミングを始めたいのではなく、プログラミングをできるようになった結果得られる成果が欲しいということかもしれません。作りたいものがないが収入が欲しいとか、注目を受けている有名なサービスに携わる誇りや名誉みたいなものが欲しいとか。始めないということは結果には興味があるが手段には興味がないということを示すかもしれません。
薦めて始めたけれど続かない。これはあるあるです。プログラミングは最初の環境構築からある程度ハードルが高く谷もあるのでめげがちです。スタートラインに立つのが意外と大変なんですね。こんな時には時を待つのが基本になります。何かを与えて道が開けることはあるのですが、人は与えられるとその経験から与えらえるのを待つようになります。プログラミングは自分で取り組めるようにならないと旨味を享受できません。時を待つ必要があるのです。時を待つとは具体的に何なのかと言えば、プログラミングを用いる目的を得る時です。目の前にやりたいことがあるけれど、それを手作業で捌くのは大変で楽をしたい。みたいな時が来た時、プログラミングを思い出すとやってみるかとなることがあります。その時にプログラミングで作れるものを作ることで結果を得た時、プログラミングをする動機が形として明確になります。何をしたいのか、プログラミングでそれをどこまでどうできるのかが見えてくるようになります。
薦めて始めたけど辞めた。これもあるあるです。やってみて辞める人はけっこういます。プログラミングはけっこう地道ですから結果が出るまでにそれなりの知識・手数を要します。知識が積み重なって手段が増えると効率が上がって短時間で多くの成果を上げられたりするのですが、それをそうなるには相応に経験を要するのですね。なかなか結果が出ないんです。けれど結果が出せる段階にくると大きな成果を出せるのがプログラミング。初めて辞めるのは、コスパが悪いと本人が思ってしまった時です。手作業でやったり、人海戦術でやった方がある程度大きな規模になるまでは早いんです。概ね人は結果を求めますし、待つのが嫌だったり不安になりますから、耐えられないと辞めることになるんです。辞める理由を得てしまうと、始める理由を立てることが極めて難しくなります。始めたけれど辞めたという選択をした人は、プログラマーになる選択をすることはなくなります。誰かに頼んでやってもらった方がトータルとしては良いという一つの答えを見出すことになるからです。
始めることが大切。着手することが重要。
できるようなってから取り組むと考える人は少なくありません。これでプログラミングが実を成す人を20年業界にいて見たことはありません。まずは始めること。そして何がどうであれ実際に作る事。これに尽きます。プログラミングは入力を処理して出力するだけなんです。どんなレベルが高いものでも、やっていることはそれだけ。そのバリエーションが多種多様で、そのバリエーションはテクニック。始めとして、例えば四則演算の1+1=2のプログラム、Hello worldを出力するプログラムを書く。これを書くのは誰もが通る道なので、具体的な取り組みとして薦めると良いでしょう。これができないと何もできないみたいなものですから。
ChatGPTに聞きましょう。
Roo Clineがあまりにも簡単にアプリを作ってくれるので、PythonのWEBアプリ用フレームワークのFlaskの勉強をしてみることにしました。
まず最初にChatGPTに以下を聞いてみました。
Q.「Flaskの学習向けの簡単なWEBアプリをたくさん紹介してください。サーバーはsakuraレンタルサーバーを使用しpythonは3.8です。」
A.「Flaskの学習向けに、さくらレンタルサーバー(Python 3.8)で動作する簡単なWEBアプリのアイデアをいくつか紹介します。これらは、基本的なFlaskの機能を学ぶのに役立ちます。
1. メモ帳アプリ
- 機能: メモの追加、編集、削除
- 学べること: CRUD操作、SQLiteデータベース、テンプレートエンジン(Jinja2)
- 主な技術: Flask, Flask-SQLAlchemy, Bootstrap
2. ToDoリストアプリ
- 機能: タスクの登録、完了管理
- 学べること: フォーム処理、セッション管理、CSSフレームワーク連携
- 主な技術: Flask-WTF, Flask-SQLAlchemy, Bootstrap
3. 簡単なお問い合わせフォーム
- 機能: 名前、メールアドレス、メッセージの送信
- 学べること: フォームバリデーション、メール送信(Flask-Mail)
- 主な技術: Flask-WTF, Flask-Mail
4. 天気情報取得アプリ
- 機能: 都市名を入力して天気を取得(外部APIを使用)
- 学べること: API連携、非同期リクエスト処理
- 主な技術: Flask, requests, OpenWeatherMap API
5. 画像アップロードアプリ
- 機能: 画像のアップロード・表示・削除
- 学べること: ファイルのアップロード処理、Flaskのセキュリティ
- 主な技術: Flask-Uploads, Flask-WTF
6. ユーザー認証システム
- 機能: ユーザー登録・ログイン・ログアウト
- 学べること: Flask-Loginによる認証、セッション管理、パスワードハッシュ化
- 主な技術: Flask-Login, Flask-Bcrypt, Flask-SQLAlchemy
7. シンプルなブログシステム
- 機能: 記事の投稿、編集、削除、コメント機能
- 学べること: ORM、リレーショナルデータベースの使い方
- 主な技術: Flask-SQLAlchemy, Jinja2
8. チャットアプリ(WebSocket対応)
- 機能: リアルタイムチャット機能
- 学べること: WebSocket通信、非同期処理
- 主な技術: Flask-SocketIO
9. QRコード生成アプリ
- 機能: 入力されたテキストからQRコードを生成
- 学べること: 画像処理、外部ライブラリの活用
- 主な技術: Flask, qrcodeライブラリ
10. ポートフォリオサイト
- 機能: 自己紹介、プロジェクト一覧、問い合わせフォーム
- 学べること: 静的ページの作成、デザインの適用
- 主な技術: Flask, Bootstrap, Flask-Static-Digest
これらのアプリは、比較的簡単にセットアップでき、さくらレンタルサーバー上でPython 3.8を使って運用可能です。特に、requirements.txt で必要なライブラリを記載し、WSGI経由でアプリをデプロイする方法も学べます。興味のあるプロジェクトがあれば、具体的な実装方法を紹介できます。」
挙げられた例を元にRoo Clineにプロンプトで注文するとあっという間に動くWEBアプリを作ってくれます。
0 コメント:
コメントを投稿