この記事は「渡部 Advent Calendar 2025」の7日目の記事です。 ja.wikipedia.org pthread の TLS(Thread-Local Storage) を扱う API(pthread_key_create, pthread_setspecific, pthread_getspecific)が “重い” と言われる理由は、実装上の構造・呼び出しコ…
この記事は「渡部 Advent Calendar 2025」の6日目の記事です。 github.com 障害対応の記事を書いたり書籍を書いていたらbotについて聞かれることが多かったのでサンプルとして書いてみたやつ。現在社内で作られたものとは別のものですが概ねこんな感じでやっ…
この記事は「渡部 Advent Calendar 2025」の5日目の記事です。 nxmnpg.lemoda.net ファイルシステムに関わるプログラムを書いていると、access() システムコールを見かける機会は意外と多いと思います。しかし、この access() は “知っておくと便利” という…
この記事は「渡部 Advent Calendar 2025」の4日目の記事です。 ざっくりいうとCPU の「コア数」を使って、複数のスレッドが同時に物理的に実行されている状態。 「並列(parallel)」=物理的に同時 「並行(concurrent)」=論理的に同時(実際は切り替え)…
この記事は「渡部 Advent Calendar 2025」の3日目の記事です。 私は対話が苦手だ。みたいな話ではなく対話って難しい営みだよなと思った話です。難しいというか面白いなと思ったポイントを書いてみます。 アドカレ2日続けてポエムかよって思いもあるが溜まっ…
この記事は「渡部 Advent Calendar 2025」の2日目の記事です。 ITエンジニアとして10年目に差しかかろうとしている。これまで分野がバラバラというわけではなく、システムプログラミングやインフラ、SREといった領域を中心に経験を積んできた。どれかひとつ…
この記事は「渡部 Advent Calendar 2025」の1日目の記事です。 概要 やります。https://t.co/MHBzH1RNXB— RyuichiWatanabe@gurasan (@ryuichi_1208) 2025年11月29日 ひとりアドベントカレンダーをやってみようと思います。2017年くらいからアドベントカレン…
やりました!私は運営と会場スポンサーとパネルディスカッションをやりました。会場周りは何もわからずでしたが同僚の皆さんに助けてもらいながらなんとかなりました(いなかったらどうなっていんだと考えるとゾッとします。本当にありがとうございました☺️) …
散歩をしていたら、あたり一面に落ち葉が積もっていた。ついこの前まであんなに鮮やかだった紅葉も、いまは地面を覆う茶色の層に変わっている。光に透けて輝いていた葉も、風に吹かれて乾いた音を立てるばかりだ。季節が確かに進んだのだと、足元の感触で知…
私は雑談が苦手だ。オフィスにいても、自然発生する雑談に乗っかっていく程度で、得意な方ではなかった。リモートになってからは、その苦手意識がさらに強まっている気がする。なぜ自分は雑談が難しいと感じるのか、少し考えてみた。 リアルタイム性が求めら…
早くも1年が経った。変化とかに絞ってつらつらと文章を書いてみようと思う。 音声対話システムのEmbedded SREになった 大きな変化の一つ。直近はo11yの実装をやっていっている。音声対話システムはとても面白くて難しくて大変だが周りにすごいメンバーがたく…
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);…