タグ "refactoring" を含むブログ一覧 投稿一覧へ戻る

【 Effective Python, 2nd Edition 】プログラムを並列処理 ( concurrency ) パターンへ移行するタイミングとツールを考えるシリーズ 第 4 回 - 並列処理 ( concurrency ) 実現のために queue を利用するとリファクタリング ( refactoring ) 作業が大変です、の巻

Tags: refactoring , python , concurrency , queue , fan-out , fan-in , effective

Published 2020年9月6日9:46 by T.Tsuyoshi

シリーズ第 3 回の記事 の検証で、コンスタントに fan-out / fan-in を繰り返す場合にはスレッド ( thread ) だけでの構築は不向き、ということが分かりました。 それにも懲りず今回も Conway's Game of Life サンプルを利用して、ブロッキング I/O の並行実行 ( parallelism ) 実装に向けた最適ツールの探求を続けていきたいと思い…

【 Effective Python, 2nd Edition 】プログラムを並列処理 ( concurrency ) パターンへ移行するタイミングとツールを考えるシリーズ 第 3 回 - Thread インスタンスの頻繁な start / join による fan-out / fan-in パターン実装は避けるべし、の巻

Tags: refactoring , python , thread , concurrency , fan-out , fan-in , effective

Published 2020年8月31日6:35 by T.Tsuyoshi

Python において I/O の並行実行を考えたときに真っ先に思い浮かぶのはスレッド ( thread ) だと思います。 しかしながら、fan-out を実現しようとして多数の並行実行ラインを作成した場合、スレッドの大きな弱点が顕わになってしまいます。 これを、前回までの coding challenge で実装した Conway's Game of Life プログラム…

【 Effective Python, 2nd Edition 】組み込みタイプ ( built-in types ) を利用していてネストが深くなってきたらクラス ( class ) を作成する頃合いです、の巻

Tags: dictionary , namedtuple , defaultdict , refactoring , python , effective

Published 2020年7月6日22:30 by T.Tsuyoshi

Python はやはり OOP (Object-Oriented Programming) 言語ですから、いかにうまくクラスを設計、利用するかで将来的な拡張性、メンテナンス性が大きく左右されます。 基本的なことではありますけど「最重要」と言い切っても過言ではないと思いますので、今回からはクラスやインターフェース関連の話題を中心に取り上げていきます。 Python における辞書…