お知らせ:

Python Cookbook [Delegating Iteration : 独自クラスへのイテレーション機能の実装]

Tags: iterable , iterator , __iter__ , python , cookbook

Published 2020年5月1日19:41 by T.Tsuyoshi

Problem: list や tuple といったイテラブルを属性値として含む独自のコンテナクラスがある場合に、そのクラス自体でイテレーション機能を提供したい。 Solution: クラス内で __iter__() メソッドを定義し、実態として、内部で保持するコンテナのイテレーターに動作をお任せするだけです、楽チンです。 class Topping: def …

アカウント作成、認証機能を追加しました

Tags: django , authenticaitoni , email , token

Published 2020年5月1日10:10 by T.Tsuyoshi

Django で提供されているパスワードリセット機能の動作を参考にしながら、メール認証が必要なアカウント作成機能を作成してみました。 アカウント作成のためにユーザーがアクセスしてくると、 ・ユーザー名 ・姓 ・名 ・メールアドレス を入力してもらうフォームを含んだテンプレートを表示し、 それが POST されてくると、 ・ユーザー名の重複チェック ・メールアドレ…

Python Cookbook [Manually Consuming an Iterator : 手作業によるイテレーション操作]

Tags: iterable , iteration , stopiteration , python , cookbook

Published 2020年4月24日21:08 by T.Tsuyoshi

今回からイテレーション関連の tips を取り上げていきます。 Problem: イテラブル (iterable) 中の要素を for ループを使わずに処理しろ、って、無茶言うよ、本当に。 Solution: 手作業でイテラブルを処理するには next() 関数を利用し、コード内で StopIteration 例外を捕まえるようにします。 例えば、ファイルから手作業で1…

Python Cookbook [Manipulating Dates Involving Time Zones : タイムゾーンを考慮した日付操作]

Tags: datetime , timedelta , pytz , timezone , python , cookbook , olson

Published 2020年4月23日22:37 by T.Tsuyoshi

Problem: 東京でテレワークをしている僕にニューヨークの同僚から電話。 「現地時間(2020年)4月27日午前9時30分から会議をするから、ちゃんと出席してね」。 さて、僕は何時にテレビ会議システムの前にいなきゃダメなんだろう? Solution: タイムゾーンが関係するほとんど全ての問題には pytz モジュールが使用できます。 Python3 からは、datet…

Let's encrypt を利用してやっと SSL 通信対応になりました

Tags: ssl , let's encrypt

Published 2020年4月22日23:00 by T.Tsuyoshi

ACMEクライアントとして定番の Certbot を使い、Let's encrypt サービスで 証明書を取得、やっとこのサイトも SSL 通信に対応しました。 このサイトは、CentOS 上で Apache ( Httpd ) を Virtual Host として機能させ、Daemon mode で動作する mod_wsgi を経由して Django をバックエンドフレームワークとして利…