2020年2月28日金曜日

gist-embedを利用してGithub Gistのソースコード埋め込みをコントロールする

本サイトでは、サンプルソースコードをGitHub Gistを利用して管理することにしてますが、欠点としては、Gistのデフォルトの埋め込みコードでは、全ての行数が表示されるのがあります。これを解決するJavaScriptライブラリとして gist-embed があります。

gist-embedとは
ネットでググるといろいろ出てきますが、リンク先がリンク切れになってますね(2020/02/28現在)。で、サイトが変わってるようです。
使い方
上記サイトを見ればわかりますが、
  • Scriptタグを埋め込む
  • Codeタグを使って埋め込む
  • 必要に応じてオプションを指定する
    (行を指定する場合、data-gist-lineを指定すればOK)   
非常に簡単です。欠点としてはちょっと動作が遅くなるかな、、という気がするだけですね。

bloggerで設定する場合
限定的なネタになりますが、bloggerでScriptタグを埋め込みたい場合は、
  • 管理画面からテーマを選択
  • ブログで使用中のテーマを選び、編集を押す
  • 適当な場所に記述する
でOKです。


2020年2月22日土曜日

GAEにFlaskアプリをデプロイする

以前に
という記事で、zappaを利用してAWSにFlaskのウェブアプリをデプロイする手順を書きましたが、GAEだと思いの外、簡単だったので紹介します。

前提条件
  • GCP(Google Cloud Plaform)はすでに使えるように登録していて、GAEを利用するGCPのプロジェクトもすでに設定済みであることとします。(この辺りの話はどこかググってください)
  • ローカルでFlaskが動く環境を作っておきましょう
  • Google Cloud SDKもダウンロードしておいてください

サンプルプログラム
参考にしているサンプルはgitでダウンロードしてください。
  • git clone https://github.com/GoogleCloudPlatform/python-docs-samples
この中で、下記のファイルがサンプルです。
  • python-docs-samples/appengine/standard_python37/hello_world
これを用いて説明します。なお、コードは触ることはないでしょう。

ファイル構成
ここで利用するファイルは下記です
  • main.py・・・プログラム本体
  • app.yaml・・・設定ファイル
  • requirements.txt ・・・ライブラリ情報
  • libディレクトリ ・・・外部ライブラリをいれる場合に必要?
Flask関係の知識があれば、特別なファイルではないことに気づくかと思います。

デプロイ方法
とりあえず、普通のFlaskファイルなのでローカルで動くことを確認したうえで、デプロイしましょう。何も触らなくても動くはずです。コンソールで下記のGCPコマンドを打つだけです。カレントディレクトリはそのファイルがある場所に移動しておいてください。
  •  gcloud app deploy
ディレクトリ下の全てのファイルをアップしようとするので注意してください。実行は、URLを入力するか
  • gcloud app browse
を入力してください。

ちょっとGAEを再び使おうかと思ったり、、、
GAEは10年近く前に流行って、それから料金体系が改悪されて以降、個人的にあまり触らなくなり、最近はノータッチでしたが、ちょっとサーバーレス系の開発することになり、ふと思い立ったら使い勝手も良くなってました。GAEブームがまた来てもいいんじゃないでしょうか。。。