地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

株式会社IVRyに入社しました

ryuichi1208.hateblo.jp ちょっと前に退職エントリを出してそこにも書いてますが11月1日入社でやっています。ロールは引き続きSREとしてサービスの信頼性に向き合っていこうと思っています。入社の経緯とかやってることは会社の公式の入社エントリ(?)に書く…

【Terraform】依存しているモジュールを出力してくれるツールを書いた

この記事は「terraform Advent Calendar 2024」の20日目の記事です。 最近はPython読んだり書いたりしてるのでGoもたまにはということで作ってみた。 github.com 実行すると.tfが読んでいるmoduleのsourceを出力してくれるくん。module側修正した際に呼び出…

【AWS】T系インスタンスメモ

AWSのT系インスタンスは、バースト可能な汎用インスタンスタイプであり、通常時はベースラインと呼ばれる一定のCPU性能を提供し、必要に応じて一時的に高いCPU性能(バースト)を発揮できる特徴を持っています。 AWS 主な特徴 CPUクレジット: T系インスタン…

【DuckDB】Goから使うメモ

duckdb.org github.com pkg.go.dev

【Linux】net.ipv4.tcp_tw_reuseとTIME-WAITと電話

リアルタイムの音声通信サービスでnet.ipv4.tcp_tw_reuseを有効化するとどういうことが起き得るのかを考えてみる 前提として音声をやりとるする際にTCPを使うケースはほぼないはず。VoIPはIPだしWebRTCはUDP(とTCP)。リアルタイムでやり取りする上でTCPは非…

【データベース】S2PLとは?

S2PL(Strict Two-Phase Locking)は、データベース管理システムなどでトランザクションの直列化可能性(serializability)を保証するために用いられるロック方式の一種です。S2PLは、特に厳密な直列化可能性を確保するために、トランザクションがすべてのロ…

【Envoy】upstream connect error or disconnect/reset before headers. reset reason: connection termination

概要 upstream connect error or disconnect/reset before headers. reset reason: connection termination というエラーメッセージがどこから出てくるのかを追ってみる。 結論としてはUpstreamとEnvoyのTCPコネクションがclose済みな状態(harf closeも含む)…

【データベース】Write SkewとRead Skew

Write Skewとは? Write Skewは、分散トランザクションの一貫性モデルにおいて発生する問題の一つです。これは、複数のトランザクションが独立して検証を行い、その結果が一致していないにもかかわらず、最終的に同じデータに対して矛盾した書き込みを行うこ…

【AWS】複数プロフファイルをfzfで切り替える

function awsp() { PROFILES=$(aws configure list-profiles) SELECTED_PROFILE=$(echo "$PROFILES" | fzf) if [[ -n "$SELECTED_PROFILE" ]]; then export AWS_PROFILE="$SELECTED_PROFILE" echo "Updated profile to $AWS_PROFILE" else echo "No profile …

【PostgreSQL】ユーザー定義関数を登録する

概要 ユーザー定義関数を実装してPostgreSQLで呼び出せるようにします。 準備 $ sudo apt install postgresql-server-dev-all ソース #include "postgres.h" #include "fmgr.h" PG_MODULE_MAGIC; // INT4 (整数) 用関数 PG_FUNCTION_INFO_V1(multiply_by_ten…

【Linux】fioメモ

dd command SeqR: time dd if=/nvme/testfile of=/dev/null bs=1024k iflag=direct SeqW: time dd if=/dev/zero of=/nvme/testfile bs=1024k count=8192 oflag=direct https://developers.cyberagent.co.jp/blog/archives/6623/ https://www.na3.jp/entry/20…

GMOペパボを退職します

2024年10月30日をもって、約3年間勤めたGMOペパボを退職します。 入社したのは2021年7月なのでした。 ryuichi1208.hateblo.jp ペパボでは主にSREとして、サービスの信頼性に関する施策の考案と実践を担当してきました。入社時にはSREの概念は認知されていま…

【登壇】YAPC::Hakodate 2024の前夜祭で登壇してきた

登壇内容 speakerdeck.com 本編はrejectでしたが前夜祭で登壇する機会をいただけたのでバックアップの話をしてきました。ちょうど仕事でもバックアップについて考える必要があったりしたいので良い振り返りとなったりしました。 ↑は同僚に撮ってもらった写真…

【Nginx】reloadではソケットの開き直しは反映されない

すでにopen(2)済みのソケットのソケットオプションをいじることはLinuxでは可能なのでsetsockopt(2)で設定できる内容ならreloadだけでも変更が可能。一方でbindするIPは後から変えれないので一旦ソケットを閉じる必要がある。その場合はreloadだけだと反映さ…

【MySQL】MySQLにクエリを投げて指定された文字列と同じかを比較するツールを書いた

github.com ファイルで渡したクエリを投げて引数で渡した値と一致しているかを見るためのツール。引数の部分を動的に変えることで日時で確認したい項目とかのチェックに使える。一致していない場合は終了ステータスを分けるという感じのツール。 余談 vimか…

【旅行記】栃木旅行に行ってきた

9/21-23で栃木旅行に行ってきた。宇都宮、日光、鬼怒川、那須あたりで2泊3日。 雨 pic.twitter.com/jiVNQjL0M6— RyuichiWatanabe@gurasan (@ryuichi_1208) 2024年9月21日 日光東照宮は思っていたよりも小さいなとなった。建物自体はすごく豪華で見応えがあっ…

【AWS】Amazon Neptuneとは

aws.amazon.com Amazon Neptuneは、フルマネージド型のグラフデータベースサービスで、AWSによって提供されます。グラフデータベースは、ノード(頂点)とエッジ(辺)で構成されるグラフ構造を使ってデータを格納し、複雑なリレーションシップを持つデータ…

【curl】8.10.0が出ていた

curl.se autotools: add `--enable-windows-unicode` option curl: --help [option] displays documentation for given cmdline option curl: add --skip-existing curl: for -O, use "default" as filename when the URL has none curl: make --rate accept…

【LLM】Ollamaとは

ollama.com Ollamaは、ローカル環境でLLMを実行するためのオープンソースのプラットフォームです。これにより、クラウドに依存せず、自分のコンピュータ上で直接LLMを利用できるようになります。主にLlama2やMistralといったモデルをサポートしており、コマ…

【LLM】ローカルLLMとは

ローカルLLMとは??と思ったのでまとめ。豪華な自宅サーバを持っている人の趣味なんだろうなぁwって印象だったが実はそんなこともないというのがわかった ローカルLLMとは ローカルLLMとは、ローカル環境で動作する大規模言語モデル(LLM: Large Language M…

【LLM】GPUはどのように使われるのか

GPUがどこで使われているのか微妙に理解してなかったのでそのまとめ記事。LLMの勉強をしていて勢いでローカルLLMやりたくなってGPU買おうと思ったけど思ったより高くてとりあえず色々調べてみるか...となったのが今ここ。売れ筋とか見ても自分の想像してる価…

【登壇】IT 運用管理セミナー 2024 夏で登壇してきた

members08.live.itmedia.co.jp 基調講演という話をもらって登壇してきた。「こんな話をしてほしい」みたいな感じで始まって実際に話す内容を事前に打ち合わせしつつ決めていくというのはこれまでやったことがないので良い機会でした。 speakerdeck.com 内容…

【LLM】ベクトルデータベースとは

ベクトルデータベースとは ベクトルデータベースは、データをベクトル(多次元の数値データ)として保存・検索・処理するためのデータベースです。特に、近似最近傍探索(Approximate Nearest Neighbor, ANN)に特化しており、高次元空間におけるデータの類…

【LLM】ChromaDBとは

www.trychroma.com ChromaDBは、ベクトルデータを効率的に保存し、検索するためのオープンソースのベクトルデータベースです。特に、機械学習モデルや自然言語処理(NLP)で生成される高次元ベクトルを扱うために最適化されています。ChromaDBは、ドキュメン…

【LLM】Embeddingとは

Embedding(エンベディング)とは、情報をコンパクトな数値ベクトル(多くの場合は高次元ベクトル)に変換する技術を指します。主に機械学習や自然言語処理の分野で使用され、文章や単語、画像、その他のデータを数値の形で表現することで、コンピュータがそ…

【LLM】RAGってなんだ?ってなったので調べた

最近よくきくRAGがなんなのかよくわかっていないので調べたメモ www.hicareer.jp 最初聞いた時はこっちを思い浮かべたがググっても全く出てこないので取り残されている 目次 目次 RAGとは RAGの仕組み RAGの特徴 メリデメ RAGの利点 RAGの欠点 実際の応用 RA…

【PostgreSQL】物理レプリケーションとは

www.fujitsu.com PostgreSQLの物理レプリケーションは、データベースの物理的なデータ(つまり、ディスク上のバイナリファイル)を基にデータベース全体を複製し、データベースの可用性やデータの冗長性を確保する方法です。これは、マスターサーバー(プラ…

【memcached】1.30が来ていた

github.com バグフィックスがメインとProxyモードの古い構文の削除あたり。機能追加が最近見ていても大きいものがない。Proxyモードもついに枯れてきてGAする感じになる流れだろうか?楽しみである。

【Redis】クラスターモードで使えるコマンド集

ローカルのメモがいっぱいになってきたのでブログに転記しておく。 # クラスタ全体の情報を取得 CLUSTER INFO # クラスタ内のすべてのノードのリストを取得 CLUSTER NODES # 新しいノードをクラスタに追加 CLUSTER MEET <ip> <port> # クラスタからノードを削除 CLUSTE</port></ip>…

【登壇】ゆるSRE勉強会 #7 怖い話をしてきた

yuru-sre.connpass.com 特に資料とかを公開する予定はないのでアレですがLTをやってきました。ある日知らないサーバーが出てきたという感じの話です。誰も知らないようなサーバーができてしまう可能性があるので手動で構築はやめてIaCとかしましょうねという…