シンプルBBSアプリケーション導入#1


緒論


最近は簡単な掲示板アプリ(SimpleBBS)が行われています.以前は投稿、コメントのCRUDでしたが、最近は会員機能やファイルのアップロード、ダウンロードを拡張しています.
ただし、localhostを使用したテストには限界があるため、実際の導入時にHerokuとCloudinaryを使用することにした.

本題


どうしてハロークを選んだの?


実は一番大きな原因は金額です.Webアプリケーションを導入する場合、ほとんどのチュートリアルでAWS EC 2のprettyを使用することをお勧めしますが、私は大学生の頃にすでに使い切っていました.prettyは期限切れなので、有料で使用する必要があります.
どうせマイクロインスタンスでもトラフィックはありませんし、何の費用もかかりませんか?そうですが、以前は学期末の項目で、2、3週間の間隔が8千元程度(もちろんその時は相互評価でリンクが公開された状態)だったので、固定収入のない就業者の状態では、なんといっても負担になります.そこで費用を気にせず、気軽に進めるために無料プランを探し、最終的にHerokuに到着.
Heroku自体はとっくに知っていたのですが、その時はWeb開発に興味がなかったので実際に使ったことはありませんでした.しかし今回AWSのナノスケールや他の様々な計画について理解した結果,制約を受けたものの,無料 Herkuの提供を最終決定した.

IaaS vs PaaS


Herokuを選んだもう一つの理由はIaaS AWS EC 2とは異なるPaaSである.正式な書類からも分かるように、簡単なコマンドを数回でアプリケーションをすばやく生成でき、必要に応じて簡単にスケールできます.
逆にAWSでEC 2を用いてアプリケーションを構築するには,Webサーバ,データベースなどを直接インストールする必要がある.ひげを剃るようなことは考えるだに難しい.
実際、アプリケーション内のトラフィックはスケーリングが必要なほど集約されませんが、Herokuユーザーが多く、ドキュメントの整理もよく、私の現在のアプリケーションレベルでは何の不足もないので選択しました.

初期設定


まず導入するソースコードは既存であるため、Herokuはアプリケーションのみを作成し、GitHubにバインドします.

データベース#データベース#


アプリケーションのデータベースはMariaDBを使用します.ただし、個別のデータベースサーバがないため、Herokuの添付ファイルを使用し、リンクを参照して、以下のコマンドで簡単に生成することができます.
C:\Users\park2\source\repos\SimpleBBS>heroku addons:create jawsdb-maria:kitefin --app simple-bbs-springboot
Creating jawsdb-maria:kitefin on ⬢ simple-bbs-springboot... free
Database is being provisioned. Your config_var will be set automatically once available.
Created jawsdb-maria-clear-21044 as JAWSDB_MARIA_URL
Use heroku addons:docs jawsdb-maria to view documentation
このように添付ファイルを登録すると、データベースアクセス情報は自動的にHerokuのアプリケーション環境変数に登録されます.なのでlocalhostで行った時はアプリpropertiesにはデータベースアクセス情報が直接記録されていますが、リンクを参照して、環境変数を設定する方法に変更します.
アプリケーションはアプリケーションのHerokuリモート・リポジトリにあります.アプリケーションを配備するには、ファイルをアプリケーションに移動しない限り、アプリケーションを配備できません.propertiesを転送する必要がありますが、データベース・アクセス情報が記録されている場合は、セキュリティ・ホールが発生するのは当然です.しかし、リポジトリを単独で置くこともできないので、どうすればいいか悩んでいます.答えはこの環境変数です.

ファイルリポジトリ


もう一つの問題は、ファイルのアップロード、ダウンロードをどのように処理するかです.AWSはS 3というデータベースを提供している.S 3はまだ書かれていないので12ヶ月の無料プランが利用できますが、完全無料のHerokuを利用した以上、無料プロファイル項目のすべての要素を決めて、無料ファイルリポジトリを探しているうちにCloudinaryサービスを発見しました.
クラウドコンピューティングの主な目的は、画像、ビデオファイルをアップロードし、画像とビデオ変換機能を提供することですが、普通のファイルをアップロードすることもできます.Maven(またはGraves)を使用して依存性を管理し、Java SDKを提供するため、使用は難しくありません.多くのことを考慮して、ほとんどの画像、ビデオファイルは伝言板サービスを添付するのに適していると思い、使用することにしました.
無料サービスについてCloudinaryは,圧縮ファイル(zip,rarなど)やpdfファイルなどをアップロード制限ダウンロードとする原則を明確に規定している.ただし、拡張子を変更してファイルタイプを「raw」に設定してアップロードすれば迂回できますし、実際のサービスのアプリであれば不便ですが、今はそこまではないと思い、受け入れることにしました.
また、HerokuはCloudinary添付ファイルも提供しているので、以下のコマンドを簡単に使用してサービスを登録することができます.
C:\Users\park2\source\repos\SimpleBBS>heroku addons:create cloudinary --app simple-bbs-springboot
Creating cloudinary on ⬢ simple-bbs-springboot... free
Created cloudinary-silhouetted-52833 as CLOUDINARY_URL
Use heroku addons:docs cloudinary to view documentation
データベースと同様に、関連する環境変数が自動的にアプリケーションに登録されます.
添付ファイルを登録すると、アプリケーション名でCloudoryアカウントが作成されるので、Cloudoryリポジトリを別途作成する必要はありません.リポジトリを作成した場合は、環境変数で設定できますが、この場合は追加する必要はありません.

n/a.結論


プロジェクトのすべての機能が実装されていないため、アプリケーションは実際に配備されていません.正確には、自動配置が設定されたメインブランチに統合されていないので、できるだけ早く完了する必要があります.