プログラムとか 思ったこととか 徒然ブログ

【 Effective Python, 2nd Edition 】ブロッキング I/O ( blocking I/O ) とスレッド ( thread ) を利用しているプログラムを、asyncio 組み込みモジュールを利用してコルーチン ( coroutine ) と非同期 I/O ( asyncronous I/O ) を利用したプログラムにリファクタリング ( refactoring ) しよう!

Tags: Effective , python , thread , coroutine , asyncio , blocking io

Published 2020年9月27日22:00 by T.Tsuyoshi

さて、コルーチンを利用した fan-out、fan-in パターン実装を取り上げた記事 を読んで、「でも既存のプログラムをコルーチンを利用した非同期プログラムに移行するのは大変だ」という感想を持った方は多いようです。 Python には言語自体に非同期実行 ( asynchronous execution ) プログラムを記述するための仕様がスマートに組み込まれています。 それによって、スレッド ( thread ) を利用してブロッキング I/O ( blocking I/O …

【Python 雑談・雑学 + coding challenge】Unicode の正規化処理 ( normalization ) を利用して、diacritical marks ( 発音区別符号 ) を取り除こう! テキスト解析の前処理としても重要です!

Tags: Python , miscellaneous , challenge , diacritical , unicode , normalization

Published 2020年9月24日21:35 by T.Tsuyoshi

問題 ( 制限時間: 45 分 ): 私の元にこんな内容のファイルが送られてきました (ファイル名は 'greek_str.txt' とします)。 δοκῶ μοι περὶ ὧν πυνθάνεσθε οὐκ ἀμελέτητος εἶναι. καὶ γὰρ …

【Python 雑談・雑学 + coding challenge】文字列中の数字を抜き出して桁区切りをつけよう! 正規表現 (regular expression ) を使うと「えっ!?」っていうくらい簡単ですょ。lookahead と negative lookahead を使います。

Tags: Python , miscellaneous , challenge , coding , regular expressions , lookahead , negative lookahead

Published 2020年9月19日21:33 by T.Tsuyoshi

問題 ( 制限時間: 40 分 ): s = 'The numbers are 1234567890 and 98' 上のような文字列があった場合、この中の数字に桁区切りをつけましょう。 この場合の出力結果は以下のようになります。 # The numbers are …

【 Python + Regular Expressions 】複数のマッチパターンを look ahead (先読み) シンタックスを利用して 1 つのマッチパターンにまとめて処理しよう! re.match() の呼び出しも 1 回で済んじゃいます!

Tags: Python , regular expressions , lookahead

Published 2020年9月11日20:20 by T.Tsuyoshi

時には、テキストが複数の条件に合致しているか、を調べる必要に迫られることもあります。 ユーザーが設定しようとしているパスワードが十分に「安全」かを確認したいような場合もそうですね。 ここでは「十分に安全」なパスワード ( strong passowrd ) の条件を以下のように定めるとします。。 1: 8 文字以上で、アルファベット、数字、句読文字 ( punctuation character ) のいずれもが使用されていること。 2: 少なくとも 1 文字以上のアルファベットの大文字を含むこと …