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

【 Python + Kivy 】仕事の合間企画! Python で Kivy を使ってみる! 今回は RecycleView を使ってみた。データ更新時も自動で反映してくれるのでお気楽です。

Tags: python , kivy , recycleview

Published 2020年10月18日20:36 by T.Tsuyoshi

kivy 1.10 で ListView が廃止され、RecycleView を使ってね、ということらしいので使ってみました。 何の変哲も面白味もないけど、こんな感じ。 TextInput に入力して (このプログラムでは日本語未対応) 3 つのうちのいずれかのボタンを押すと、ボタンテキストの「...」の部分を TextInput の内容に置き換えた文字列を text とした Button widget を item …

【 Using Asyncio in Python 】Python における asyncio を利用した非同期プログラム ( asynchronous programming ) の勉強を継続する前に、今一度スレッド ( thread ) についてのちょっとした復習ノート、まとめてみた

Tags: python , thread , asyncio , asynchronous programming

Published 2020年10月11日19:42 by T.Tsuyoshi

スレッドは OS によって提供されている機能で、プログラムの一部を並行実行するようにするものです。 OS は、マシン上で同時に動作している他のプログラムも含めて、複数のスレッドにどのように CPU リソースを割り当てるか、を決定します。 「スレッドを使うべきではない」と書いている asyncio 関連の本も沢山あるようですが、物事はそれほど単純ではありません。 長所、短所を見極める必要があるのは当然のことです。 Asyncio はスレッドの代替選択肢として採用されました。ですから、ある程度の比較無しには asyncio 本来の価値を見極めることは困難です。 また、asyncio を利用するときでさえ、threads や processes を考慮しなけばいけない状況は多々あります。 …

【 Python + Kivy で Android 】仕事の合間企画! Python で Kivy を使って GUI ストップウォッチを作って、python-for-android と Buildozer を使って Android APK にしてスマホで動かしてみた、もちろん Windows 上でも動きます、Mac? 多分、でも試してないから分からない、の巻

Tags: python , python-for-android , android , buildozer , kivy , windows

Published 2020年10月8日12:38 by T.Tsuyoshi

1: ( Android ) スマホへのインストール後、アイコン登録スクショ 2: ( Android ) アプリが立ち上がりスクショ 3: ( Android ) ストップウォッチ動作中スクショ 4: ( Windows ) ストップウォッチ立ち上げスクショ …

【 Effective Python, 2nd Edition 】スレッド ( thread ) とコルーチン ( coroutine ) を混在させながら、asyncio を利用した非同期プログラムへ段階的に移行させよう!

Tags: Effective , python , thread , coroutine , asyncio

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

前回の記事 では、ブロッキング I/O ( blocking I/O ) とスレッド ( thread ) を利用して作成した TCP サーバー / クライアントプログラムを、コルーチン ( coroutine ) と …

【 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 …