Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PyHack#141今日やったこと

Soogie
November 26, 2022

 PyHack#141今日やったこと

Python mini hack-a-thon第141回

Soogie

November 26, 2022
Tweet

More Decks by Soogie

Other Decks in Programming

Transcript

  1. 今日やったこと
    PyHack #141
    2022/11/26 @Soogie

    View full-size slide

  2. Herokuのお掃除
     数年前に作ってHerokuに置きっぱなしだった蔵書管理アプリ
     PyConJP2016初登壇時( https://togetter.com/li/1027387 )のテーマ
    「無料でできる、Cloud9で開発してHerokuにデプロイする手順を紹介します」
     登壇用じゃなく自分が使うためのアプリだったのでその後もずっと利用
     小説を買うときには必ず見るけど最近は小説読まなくなって頻度はかなり減った
     Heroku有料化→毎月課金するような利用頻度じゃないのでやめよう
     移転先未定だけど、とりあえずデータだけは退避しないとね

    View full-size slide

  3. HerokuPostgreSQLのバックアップ
     HerokuPostgreSQLのバックアップ機能を使ってダンプしたバイナリをダウンロード
     ローカルのPostgreSQLにインポートしようとして、そういえば今のPCには
    そもそもインストールしてなかったのでインストールから
     PostgreSQLってもうバージョン15なんですね。6年前は9.4くらいでした
     ローカルのPostgreSQLに空のデータベースを作ってダウンロードしたバイナリを
    リストア
     Pgadmin4でCSVにエクスポートしてMacでも見えるようにOneDriveに保存
     と、ここまでやって同じようなことを2か月前にやっていたことを思い出す
    (OneDrive上にすでに保存してた)

    View full-size slide

  4. Herokuから削除
     データも退避したし、コードはリポジトリに入ってるのでいよいよ削除
     6年半の間、無料で楽しませてくれてありがとうございました

    View full-size slide

  5. Herokuの代替サービスを探す
     「Heroku 代替」で検索するとFly.ioってのがよく出てくる
     単に移行してもつまらないので作り直そうかな
     「Fly.io Python」で検索したら公式がFlask使ったサンプルを公開してるので
    今回はDjangoじゃなくFlaskで作ってみよう
     まずは公式サンプルを試してみる
    https://fly.io/docs/languages-and-frameworks/python/
     環境変数をセットしてflask run する方法がWindowsだとちょっと違ってた
    PS > $env:FLASK_APP=“hellofly”
    PS > flask run
     Heroku CLIの代わりにflyのコマンドラインツールを入れる
     ターミナルはWindowsターミナルを使わないとflyctl launchが謎のエラーで止まる

    View full-size slide

  6.  サンプルはとりあえず動いた

    View full-size slide

  7. Flaskチュートリアル
     これまで簡単なFlaskアプリを書いたことがないわけではないけどログインとか
    データベースとか基本の「き」のところをちゃんと学びなおそう
     ということで、Flaskチュートリアル
    https://msiz07-flask-docs-ja.readthedocs.io/ja/latest/tutorial/index.html
     今日はチュートリアルを最後までやったところで時間切れ

    View full-size slide