2025-06-01から1ヶ月間の記事一覧
C言語でこんなコードを書くとどうなるでしょうか? #define NUM_THREADS 5 #define TARGET_IP "127.0.0.1" #define TARGET_PORT 8080 void *thread_func(void *arg) { int sockfd; struct sockaddr_in serv_addr; sockfd = socket(AF_INET, SOCK_STREAM, 0);…
await はイベントループへの制御の委譲であり、この間に別のタスクが動いて状態を変える可能性がある。 これはマルチスレッドのプリエンプティブな並行処理とは異なるが、状態共有をすると同様に危険。 asyncio.create_task() を使ったタスク生成 import asy…
asyncio.Lock は Python の非同期プログラミングにおける 排他制御 を行うためのロックで、スレッドセーフな排他制御ではなく、イベントループ上のコルーチン同士の競合を防ぐために設計されています。 class Lock: def __init__(self, loop=None): self._lo…
Android xとは? 「Android X(AndroidX)」とは、Android Jetpack ライブラリで使われる新しいサポートライブラリの名称空間です。「エックス」と読まれ、従来の「Support Library(サポート ライブラリ)」に代わる、よりモダンで柔軟な仕組みです 切り替…
概要 PostgreSQLのインデックスは非クラスタ化インデックスです。非クラスタ化インデックスはでは、インデックス自体はテーブルのデータと直接的に並んで格納されるわけではなく、インデックスのエントリにはテーブルの行への参照(ポインタ)が格納されます…
import asyncio class UnsafeCounter: def __init__(self): self.count = 0 async def increment(self): current = self.count await asyncio.sleep(0.001) # わざと文脈切替を誘発 self.count = current + 1 async def main(): counter = UnsafeCounter() t…
Pythonのプロパティは、クラスの属性に対して、特定のロジックを組み込んでアクセスや変更を制御するための機能です。通常の属性と異なり、プロパティを使うと、アクセスや代入時に関数を通じて処理を行えるようになります。 プロパティは、@property デコレ…
SSTable(Sorted String Table)は、LSM-Treeでデータを永続的に保存するためのファイルフォーマットです。SSTableは、ディスクに効率的にデータを格納するためにソートされたキーとバリューのペアを格納します。主に以下の構造を持っています。 SSTableの基…
planetscale.com MySQLでのオンラインスキーママイグレーションは、変更内容や環境によって適切な手法を選択することが重要です。 INSTANTは、適用可能な変更に対して非常に高速で効率的ですが、リバートが必要な場合や変更内容が複雑な場合には注意が必要で…
概要 AWS SigV4 (Signature Version 4) は、AWSのAPIリクエストを認証するための署名方法です。この署名プロトコルは、リクエストが正当なものであり、AWSアカウントの認証情報を使って送信されたことを証明するために使用されます。SigV4は、AWSのサービス…