2025-01-01から1年間の記事一覧
rootly.com 「プロセスがレイテンシーになるとき」とは、インシデント対応のプロセスや手順が過剰に詳細または複雑すぎると、迅速な対応が遅れ、問題解決に時間がかかる状況を指します。過度に規定された手順や承認プロセス、情報整理の遅延が対応を停滞させ…
surfingcomplexity.blog 記事は、ヘラクレイトスの言葉「同じ川に二度と足を踏み入れることはない」を引用し、インシデントが再発する際に、同じ状況や原因が再現されるわけではないことを指摘している。たとえば、データベースの障害が再発した場合、前回と…
asyncio.Semaphore は、非同期プログラムでのリソースの制限を管理するために使用される同期プリミティブです。セマフォは、リソースの同時アクセス数を制限するために用いられます。asyncio.Semaphore は非同期タスクがリソースを安全に共有できるようにす…
uptimelabs.io ユーカリの木の回復力は、風や環境のストレスに柔軟に適応し、成長し続ける能力を指します。記事では、ユーカリの木を例にとって、回復力の概念を説明しています。 具体的には、ユーカリの木が風に耐えるために支柱を立てるのではなく、風によ…
「あってよかった問題」は、ある機能や仕組みが“ちゃんと働いているほど存在感が消える”ため、価値が過小評価される現象のことです。SRE文脈だと、信頼性が高いほど障害が目立たず、運用・予防・改善の努力が見えなくなるパラドックスを指します(= “Invisib…
github.com 用途は限られているがあらかじめ録音したデータを流すことができるようになるツール。とりあえず音声ファイルのみで使えるがこれを応用することでAIでのシステムに対してAIで会話をさせることが可能となる。 将来的な展望としてはこの辺 入力イン…
from pydantic_ai import Agent, ModelHTTPError from pydantic_ai.models.fallback import FallbackModel from pydantic_ai.models.google import GoogleModel from pydantic_ai.models.anthropic import AnthropicModel gemini_model = GoogleModel('gemin…
4泊5日で去年に引き続き行ってきた。 ryuichi1208.hateblo.jp 泊まったのはロワジールホテル那覇に2泊とヒルトン瀬底に2泊 奥は土砂降りかな? pic.twitter.com/X0fZ74m5V2— RyuichiWatanabe@gurasan (@ryuichi_1208) 2025年8月29日 行ったところ 首里城 瀬…
概要 私たちが普段から扱っている「音声ファイル」。音楽、ポッドキャスト、会議録音、そして音声認識の前処理など、さまざまな場面で利用されています。 しかし「MP3とWAVって何が違うの?」「サンプリングレートって何?」と聞かれると、意外と答えに困る…
音声認識とは何か? 音声認識とは、人間が話した言葉をコンピュータが解析し、テキストデータに変換する技術です。従来は「音声を録音して人が文字起こしをする」ことが一般的でしたが、AIと機械学習の発展によって、その作業をほぼリアルタイムに自動で行え…
最もシンプルなリトライ func RetrySimple(fn func() error, retries int) error { var err error for i := 0; i < retries; i++ { if err = fn(); err == nil { return nil } } return err } 指定回数だけリトライするだけのシンプルな仕組み。 デメリット…
forward プラグインのおさらい forward プラグインは、CoreDNS が受け取った問い合わせを外部 DNS サーバーに転送します。典型的な設定は以下のようになります。 .:53 { forward . 8.8.8.8 1.1.1.1 cache 30 } 8.8.8.8(Google Public DNS)、1.1.1.1(Cloud…
SRE NEXT 2025で@EGMC さんとChairをやる渡部です!コミュニティ活動分からないことだらけですが心強いメンバーが周りに沢山いるので頼りつつ、よいイベントにしていければなと思います引き続きSRE NEXTをよろしくお願いします!#srenext— RyuichiWatanabe@g…
2025年1月〜6月の振り返り。 よかった点 エンジニアとして新しい取り組みが色々できたんじゃないかなと思っている。特にECSやらDynamoDBなんかは触ってこなかった技術で1月くらいだとまだなんとかなくイメージしかなかったけどそれなりの設計と運用ができる…
FastAPI や Starlette アプリケーションでは、アプリケーションの起動時・終了時に非同期処理を実行する仕組みとして lifespan という概念があります。 from fastapi import FastAPI from contextlib import asynccontextmanager @asynccontextmanager async…
ストレージプール -> tank zfs create tank/share zfs create -o mountpoint=/DATA/share tank/share
RHEL 7.8 yum -y install yum-utils yum -y remove zfs zfs-kmod spl spl-kmod libzfs2 libnvpair1 libuutil1 libzpool2 zfs-release yum -y install http://download.zfsonlinux.org/epel/zfs-release.el7_8.noarch.rpm yum-config-manager --disable zfs y…
形式証明とは、明確に定義された論理ルールに従って、ある命題(主張)が真であることを一歩一歩証明していく方法です。自然言語ではなく、記号と論理だけで構成された「形式的な」方法で記述されるのが特徴です。日々のプログラミングでは、テストを書いて…
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のサービス…
import redis r = redis.Redis(host='localhost', port=6379, db=0) r.set('mykey', 'Hello, Redis!') value = r.get('mykey') print(value.decode('utf-8')) # 出力: Hello, Redis! 何もしないとこんな感じのコードになる。exponential_backoff_retryを仕込…
techcommunity.microsoft.com Azure SQLの接続ポリシーをデフォルトで作るとそういった設定になる。TCP KeepAliveだけでは接続を維持できないのでコネクションをプールするならなんかしらのクエリを実行してあげる必要がある。または接続ポリシーをリダイレ…