Gemini先生と始めるPython学習

Gemini先生と始めるPython学習

【Python_study_Day19】ユーザ登録機能に向けたデータベース設計と構築

Pythonの学習19日目です。前回はPodmanとpodman-composeを使って、開発環境の構築を行いました。今回は、Webアプリの要である「ユーザ登録」と「ログイン機能」を実装するために必要な、データベースの構築(設計)を進めてい...
Gemini先生と始めるPython学習

【Python_study_Day18】Webタイムトラッカーアプリをつくるぞ!

前回から1月以上の経過しましたが、Pythonの学習18日目です。HTML変換サービスの開発も一段落したので、今日からは新しいWebサービスを作っていくことにします。何を作るか?新しくWebサービスを作成するにあたり、現状自分がほしいサービ...
Gemini先生と始めるPython学習

【Python_study_Day17】HTML変換サービスを本番環境にデプロイ

Pythonの学習17日目です。今回は、これまでローカル環境で開発してきたHTML変換サービスを、本番環境であるConoHa VPS(Ubuntu 24.04)にデプロイし、conv.server-memo.netというホスト名でインターネ...
Gemini先生と始めるPython学習

【Python_study_Day16】フォームの二重送信を防ぐ「PRGパターン」とは?クリアボタン実装で学ぶWebの基本

Pythonの学習16日目です。今回は、検証環境でHTML変換サービスを使っていて改良したい、以下の機能を追加しました。 テキストフィールドをクリアする機能とボタンを追加 変換後の内容をクリップボードにコピーする機能とボタンを追加変換後の内...
Gemini先生と始めるPython学習

【Python_study_Day15】Flask-LimiterとRedisを連携させる

Python学習15日目です!これまで、HTML変換サービスにいくつかのセキュリティ対策を実装してきました。今回は、いよいよ本番環境へのデプロイを見据え、レートリミット機能(Flask-Limiter)のデータ保存先を、開発用のメモリからよ...
Gemini先生と始めるPython学習

【Python_study_Day14】Flask-LimiterとNginxを使ってレートリミットを実装

Python学習14日目です!Webサービスのセキュリティ対策の一つである、レートリミットの方法について学んでいきます。レートリミットとは?レートリミットは、特定のIPアドレスやユーザーから、時間あたりに受け付けるリクエストの数を制限する仕...
Gemini先生と始めるPython学習

【Python_study_Day13】WTFormsとFlask-WTFを使ったCSRF攻撃の対策方法を学ぶ

Python学習13日目です!Webアプリケーションのセキュリティ対策の一つである、CSRF(クロスサイトリクエストフォージェリ)対策について学んでいきます。CSRF攻撃とは何か?CSRF攻撃とは、ログイン中のユーザーを騙して、知らないうち...
Gemini先生と始めるPython学習

【Python_study_Day12】html変換サービスのセキュリティ対策を学ぶ

Python学習12日目です!前回はHTML変換サービスをGunicorn + Nginxの環境で動かすところまでできました。テスト環境から一歩進み、本番環境に近い形でサービスを動かせるようになったので、ここからはセキュリティ対策について学...
Gemini先生と始めるPython学習

【Pythonの学習 Day11】UNIXドメインソケットを使ってGunicornとNginxを連携させる

Python学習11日目です。今日は、Flaskの開発サーバで動作させていたhtml変換サービスを、Gunicorn + Nginxで動作させる設定を行っていきます。NginxインストールWebサーバーであるNginxを公式サイトの最新リポ...
Gemini先生と始めるPython学習

【Pythonの学習 Day10】HTML特殊文字変換サービスを自作!GitHub活用で開発スタート

Python学習10日目!今日は、これまで学んだGitHubの使い方を実践しながら、新しいウェブサービス開発に挑戦します。なぜ「HTML特殊文字変換サービス」?次に何を作ろうかと考えた時、普段から「ちょっと面倒だな」と感じていたことを思い出...