私はとある地方都市で、人材派遣会社の正社員として働いています。
基本的には、客先病院に常駐し、その病院の電子カルテや業務システムの運用保守をしています。
WindowsのサーバやVisual basic6.0、FileMakerなどを保守する機会はあるのですが、
ゼロからシステム開発をした経験はありません。
2020年、コロナウイルスの蔓延により、自宅で過ごす時間が増えました。
そんななか、以前から興味を持っていたPythonを学習することにしました。
勉強を始めて数か月後、ようやくDjangoというPythonフレームワークを利用したWEBサービスが公開できました。
おもに、病院や医療に関するインシデントやハッカー被害、不正問題などの海外ニュースを紹介するサイトです。(まだまだ細かい機能が実装できていませんが、メイン機能は動いているので、いちおう完成ということで汗)
どうせ知識ゼロからPythonを触るのなら、いっそのこと載せるサーバやフレームワークなども未経験のものを試してみようと思い、最終的に、この図のような構成となりました。
主な環境は、以下のとおり。
① Centos8 : Conoha VPSのレンタルサーバ
② Python3.6.8 : Centos8にインストール
③ Django3.0.8 : PythonのWEBフレームワーク
SQLite : Django搭載のデータベース言語
HTML : WEB用テキスト言語
CSS : スタイルシート
BootStrap4 : デザイン用フレームワーク
④ Lets Encrypt : SSL証明書サービス
⑤ uWSGI・Gunicorn : WEBサーバゲートウェイ
⑥ Nginx : WEBサーバ
⑦ クライアント : マルチプラットフォーム対応
⑧ 管理者PC : 各種開発環境
⑨ Bitbucket : 開発環境を本番環境へデプロイ
参考にした書籍です。
自習課題として始めたこのWEBサービス、デプロイにこぎつけるまでが本当に大変でした・・・。
これまでWindows ServerやVB、.Net関連の技術しか触っておらず、しかも既存パッケージの保守運用だから、ほとんどプログラミングを実務ですることがありませんでした(もちろんPythonは全く業務で触りません)。
Djangoフレームワークのエラーではまるのはもちろん、デプロイする前のNginxのエラーやGunicornのエラーなども相当に厄介で、それによって土日祝日がどれだけ潰れたかわかりません。
それでも、Linux系OSを経験できたこと、Pythonという未知のプログラミング言語を学び、ひとつの作品として公開するまでこぎつけたこと、NginxやGunicornなどのバックエンド、HTMLやCSS、BootstrapなどのフロントエンドなどのWEB技術の全体が俯瞰できたことは、自分にとって大きな収穫でした。
ただ、今の業務にすぐ活かせるかというと全くそんなことはなく、せいぜいコマンドプロンプトへの苦手意識が薄れたぐらいですが・・・。
ひとまず今回のWEBサービス公開ノウハウを糧に、また別のレンタルサーバを借りて、また新たなWEBサービスを作ってみたいと思います。今度はubunntluにしようか、Windows Serverにしようか、思案中です。