アルパカログ

Webエンジニア兼マネージャーがプログラミングやマネジメント、読んだ本のまとめを中心に書いてます。

Python

Python デフォルト引数の定義タイミングはハマりやすい

言語を問わず、メソッドの引数にデフォルト値を設定しておく「デフォルト引数」はよく使います。しかしPythonでは、デフォルト引数の定義タイミングはRubyなど他の言語とは異なっており、ハマりポイントとなっています。このエントリでは、Python特有のデフ…

Gunicorn 重いロードにはpreload_appオプションを使おう(プリロード)

「Gunicorn」はWSGIに対応したPythonのWebサーバー(HTTPサーバー)です。Gunicornはリクエストを受け付けると、ワーカープロセスを生成(fork)して処理を任せます。このエントリでは、Gunicornで前もってロードしておくpreload_appオプションを紹介します。

Python テストでクラスメソッドをモックする方法(unittest.mock)

Python3において、メソッドをモックしてテストしたいときがあります。メソッドのモックにはMagicMockがよく使われますが、MagicMockを使ってクラスメソッドをモックすると、テストケースが終わっても影響が残ってしまいます。このエントリでは、範囲を限定し…

Python リストを任意の数に分割する(N分割)

PythonでリストをN分割したいときがあります。このエントリでは、PythonでリストをN分割するスニペットを紹介します。

Python 作って楽しい「Slack Bot」で学ぶ初めてのWeb API

天気予報や地図情報など、世の中の多くのWebサービスがWeb APIを提供しています。プログラミング初学者にとって、Slack Botの開発はWeb APIを学ぶのにちょうど良い題材です。このエントリでは、PythonプログラムからWeb APIを経由してSlack Botに発言させる…

Python MFAアカウントでAWS SDK(Boto3)を使う方法(STS)

AWSアカウントにはMFA(多要素認証)を設定している場合が多いと思います。そのため、MFAを設定したアカウントでAWS SDK for Python (Boto3)を使うには、先に認証情報を取得する必要があります。このエントリでは、MFAアカウントでAWS SDK(Boto3)を使う方法を…

Python シェルコマンドを安全にパイプして実行する

Python3でシェルコマンドを実行するにはsubprocessモジュールを使います。このエントリではshell=Falseとしながら、安全にシェルコマンドをパイプして実行するコード例を紹介します。

Python デフォルト値のないキーワード引数(Keyword-Only Arguments)

Python3ではデフォルト値のないキーワード引数を設定することができます。デフォルト値のないキーワード引数のことを「Keyword-Only Arguments」といいます。このエントリではKeyword-Only Argumentsについて説明します。

Python デコレータとは?使い方を解説(decorator)

Pythonには「デコレータ」(decorator) という機能が標準で提供されています。デコレータはPython以外のプログラミング言語ではあまり見ないので、少々とっつきにくい印象を受けます。このエントリでは、Pythonのデコレータについて説明し、その使い方を紹介…