プロ野球審判出場記録アプリの改修作業①
転職したばかりなのでまだ有給がなく、GW間の平日は出勤かなと思っていたら会社自体が休みでした。さすがメーカーだなという感じです。昨年は北海道の南千歳から根室まで汽車で行くとかいう西村京太郎トラベルミステリーごっこをしていました。今年はどこも行かないし家でのんびり野球中継でも見ようとしていたのですが、プロ野球審判出場記録アプリの改修作業に仕事でもしたことがない一人デスマーチをしてしまったので全く野球が見れていません。デスマ過ぎて何をしたからどうなったのか覚えてないのですが、主な変更点を記録しておきます。
・さくらVPSのOSをCentOS7からUbuntu 22.04に変更
→後述しますがUbuntu18を使っていたら文字化けが発生してにっちもさっちもいかなくなったため、python3が標準のUbuntu 22.04に変更。この記事を参考に勧めました。
・DBから引っ張ってくるファイルとリクエストのファイルをそれぞれページや機能毎に分割
→だら~~~~っと書かれているinit.pyを改修する気になれなかったので、分けました。これで今後の改修もしやすくなるはず。
・Flask-Bootstrapの導入
→スマホでも見やすくするためにレイアウトとメニューバーにFlask-Bootstrapを導入。あんまり日本語の解説がないけど便利
・ミドルウェアをnginxからapache2に変更
→別にnginxのままでもよかったのですがUbuntu使ってる人はapache使っている人が多かったのでという理由
・アワードの受賞者とファインジャッジ賞と審判用語辞典、お問い合わせページの新設
→ファインジャッジ賞は前職のPCで作成してたんですけど消えちゃったんで…今回一番「ああ、、、やりたくないな、、、」と思いながらCSVを作成しました。
今回の改修作業で一番大変だったのは文字化けです。OSの設定やFlaskとapacheの連携作業は一回やってるし全然余裕だったのですが、アプリを動かそうとするとUnicodeEncodeErrorが出てしまい、元の言語をUTF-8にしてみたりapacheの言語を設定してみたりしたのですが変わらず、、、これに1日弱費やしました。
色々やってみて、Python2.7で動いているから文字化けするのでは?という結論に至り、最初にいれたOSがUbuntu 18.04でデフォルトのPythonが2.7だったのでデフォルトのPythonが3.10のUbuntu 22.04にして、さらに上の記事の方法も試してみたのですが変わらなかったので、pyファイル先頭に「# coding:utf-8」をつけて、DBのコネクションに「 con.text_factory = str」を追加したら正常に動かすことができました。
ogp設定がうまくいってなかったりデザインがそもそももう少し見やすくしたり色々したいところなのですが、ひとまずデスマの成果です!
令和のWEBアプリに近づけたのではないでしょうか。Bootstrapの実装やCSSのフロントエンド系はまた後日まとめたいと思います。
この記事が気に入ったらサポートをしてみませんか?