kakakakakku blog

Weekly Tech Blog : Keep on Learning 👍

Python

python-pptx を使って PowerPoint ファイルの「発表者ノート」を抽出する

PowerPoint を使ってプレゼンテーションをするときに,原稿や関連情報を「発表者ノート」に書いておく人は多いと思う.最近 PowerPoint ファイルの「発表者ノート」を抽出して別のファイルにコピーする必要があった.具体的にはプロンプターに投影する原稿を…

Redash v9 で採用されたジョブキューライブラリ RQ (Redis Queue) の基本機能を試した

Redash v9 で「ジョブキューライブラリ」として採用された RQ (Redis Queue) を試した.今までの Redash では Celery を使っていた.RQ は Redis を使って「ジョブ登録 (enqueue)」と「ジョブ実行 (work)」の機能をサポートする.ドキュメントを読むと,多く…

Jupyter Notebook で clear_output() を使って定期的に表示を更新する

Jupyter Notebook を使ってデモ環境を作るときに while と print を組み合わせて,定期的に表示を更新したかった.例を出すと「時計のように」毎秒表示を更新するイメージとなる.調べたところ IPython.display モジュールに clear_output 関数があり,解決…

Jupyter Notebook でパフォーマンスを計測するなら %%timeit と書こう

Python で実装した処理のパフォーマンスを計測するときに,たまに timeit を使っている.timeit は処理を繰り返し実行することにより,精緻な計測結果を把握できる.今までは timeit を import して直接実行していたけど,よく調べてみると,Jupyter Noteboo…

VS Code で Jupyter Notebook を便利に編集できる新機能を試した

今月 Visual Studio Code (VS Code) で Python Extension 機能のリリースがあり,例えば VS Code から直接 .py を実行できるようになった.個人的に注目したのは「Jupyter Notebook サポート」で,日頃から Python のサンプルコードを書いたり,トレーニング…

Python + unittest を使ってテストパターンをパラメータ化するときに subTest() メソッドを使う

Python + unittest を使って TDD (Test Driven Development) の練習(ペアプログラミング)をしていたときに,リファクタリングのサイクルでテストパターンをパラメータ化することになった.Parameterized Test にリファクタリングをするために,期待値をパ…

Jupyter Notebook に環境変数を設定する

最近 Jupyter Notebook を使って Python コードを実装しているときに,設定値を直接コードに書くのではなく,環境変数から取得する必要があった.小ネタとして「Jupyter Notebook に環境変数を設定する方法」をまとめておく.結論として,今回は direnv を使…

Python の基礎知識を証明できる「Python 3 エンジニア認定基礎試験」に合格した

先週末に「Python 3 エンジニア認定基礎試験」を受験し,問題なく合格した.試験問題に関係する内容は NDA を厳守するため書かず,今回は「試験紹介(普及のため!)」と「勉強方法」にフォーカスする. Python 試験とは? 「一般社団法人 Python エンジニア…

Python の理解度確認をするために「Python チュートリアル 第3版」を読んだ

オライリーから出版されている「Python チュートリアル 第3版」を読んだ.読者対象として「Python 入門者のための」と書いてあるけど,そこそこ難しい内容もあり,中級者でも楽しめる内容になっている.本書の最初に載っている「訳者まえがき」にも,理解度…

Python で「両端キュー」として使えるデータ型 collections.deque

最近「Python チュートリアル 第3版」を読んでいて,11章で紹介されている collections.deque を実際に使ったことがなく,ドキュメントを読みながら動作確認をした.Python 3.2 と Python 3.5 で追加されたメソッドもあり,メモ程度にまとめておこうと思う.…