GitHub Actions を活用した Python プロジェクトの CI

この記事は CAMPHOR- Advent Calendar 2019 17日目の記事です.16日目の記事は @kmconner の「家の電気使用量を可視化する」でした.

この記事では,先日公開された CI/CD ツール GitHub Actions を Python のプロジェクトの CI に利用する方法を紹介します.主に GitHub Actions 上での以下の内容についてカバーします:

  • tox を使ったマルチプラットフォーム・バージョンでのテスト
  • C言語拡張モジュールを扱う際の注意点
  • バイナリを含む wheel のビルド

ここでは WSGI アプリケーションのためのラインプロファイラ wsgi_lineprof で利用している設定を紹介します.説明は不要なのでとにかく設定を知りたいという方は,直接こちらのリポジトリをチェックしてみてください.

“GitHub Actions を活用した Python プロジェクトの CI” の続きを読む

Python ウェブアプリのためのプロファイラ wsgi_lineprof の仕組み

この記事は CAMPHOR- Advent Calendar 2018 20日目の記事です.昨日の記事は @lotz 氏の「“アルゴリズムこうしん”のアルゴリズムをHaskellで実装する」でした.

wsgi_lineprof は WSGI ミドルウェアとして実装された Python のラインプロファイラです.この記事では wsgi_lineprof がどのようにして実装されているかを,WSGI や CPython の内部実装の簡単な説明とともに紹介します.プロファイラの実装について興味がある人や,Python 処理系,WSGI の裏側に興味がある人の参考になれば幸いです.

“Python ウェブアプリのためのプロファイラ wsgi_lineprof の仕組み” の続きを読む

「ネットワークの調子が悪い」ときの原因の見つけ方

この記事は CAMPHOR- Advent Calendar 2017 4日目の記事です.

「ネットワークの調子が悪い」という話をしばしば耳にします.このようなときにとりあえず設定をいじってみたり,機器の電源を入れ直してみたりして問題を解決して,根本的な原因がよく分からないままになることがあると思います.また,「ネットワークの調子が悪いのでなんとかしてくれ」と言ったことをよく人に言われて対応するのですが,実際にネットワークが悪いこともあれば,サービスが落ちていることもあったり,クレームを言っている人が設定を間違っていたりなど原因は様々です.

この記事ではネットワークの知識を使って,機器を再起動してしまう前にもう少しまともに原因を究明する方法について紹介します.ネットワークを支えるそれぞれのプロトコルについての説明はよく見られますが,具体的に問題が発生したときに原因を見つける方法が書かれている資料はあまりないように思うので,この記事が皆さんのお役に立てれば幸いです.

“「ネットワークの調子が悪い」ときの原因の見つけ方” の続きを読む

WSGI ミドルウェアとして使えるラインプロファイラを作った話

この記事は CAMPHOR- Advent Calendar 2016 の1日目の記事です.

Python の WSGI ミドルウェアとして使えるラインプロファイラ wsgi_lineprof を作成しました. wsgi_lineprof は Django や Pyramid, Flask, Bottle などの WSGI 互換のアプリケーションやフレームワークと組み合わせて利用できるようになっています.

“WSGI ミドルウェアとして使えるラインプロファイラを作った話” の続きを読む

iOS・Android のディープリンク技術のまとめ (2017年2月更新)

この記事は CAMPHOR- Advent Calendar 2015 の9日目の記事です.

この記事では Web ページでリンク等をタップした際に, スマートフォンアプリを起動し, 特定の画面を開くことができるディープリンクに関わる技術についてまとめます.

これらの技術を利用することで Web ページからスマートフォンアプリへのスムーズな遷移を実現できるようになります. また, アプリがインストールされていない場合も App Store や Google Play からアプリをダウンロード出来るようなものもあります.

“iOS・Android のディープリンク技術のまとめ (2017年2月更新)” の続きを読む