記事一覧 - 地方エンジニアの学習日記

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

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

【Perl】特定の対向のポートに対してtcpのsynを投げてエラーになった場合にprocfsからtcpの再送メトリクスを取る

なぜかconnection timeoutが発生しまくる事象が起きてその際の再送をみるみたいなことをしたくてコンテナで動かせるようのやつ。仕事で使うことは滅多にない気がするがサッとあると便利。(ChatGPTだと頑なにIO::Socket::INETを使ってくれなくて微妙に困った)…

【DB】入門WAL

はじめに データベースの信頼性とパフォーマンスを支える重要な仕組みの一つに「WAL(Write-Ahead Logging)」があります。WALはトランザクションの整合性を確保し、クラッシュリカバリを効率的に行うための技術です。本記事では、WALの基本概念から仕組み、…

【PostgreSQL】Clock-Sweepを使ったキャッシュ管理

PostgreSQLのキャッシュ管理 PostgreSQLは高速データベースシステムとして広く使用されていますが、その高速性を支える重要な技術の一つに「Clock-Sweepアルゴリズム」があります。このアルゴリズムは、PostgreSQLのバッファキャッシュ(shared_buffers)を最…

【PostgreSQL】ロジカルレプリケーションの中身

目次 目次 ロジカルレプリケーションとは 仕組み ストリーミングレプリケーションとの比較 Auroraにおけるロジカルレプリケーション Auroraにおけるストリーミングレプリケーションの仕組み Auroraストレージの分散設計 リーダーインスタンスの高速レプリケ…

潰そうと思ったサーバから出てきたスクリプトとか置き場に色々貯めている

github.com 雑なシェルスクリプト、PerlやGoで書いたツールとかをVM立てては消してみたいなことをやってる時に消えていってるのでせっかくなので取っておいてみるみたいなことをしている。再利用性?みたいなのを正直あまり考えて書けていないのでこの辺を改…

【curl】8.12.0が出ていた

curl.se ssls-export機能というのが入ったらしい。SSLセッションをファイルへインポート/エクスポートできる機能とのこと。

【Datadog】PostgreSQLにクエリを投げた結果をメトリクスとして送るツールを書いた

github.com PostgreSQLだけにしてるけどMySQLでも動かせるようにしたいとは思っています。とりあえずとれた数値がメトリクス化されてアラートにも連携できるように鳴ったのでひとまず便利。

【SRE】SREがRAGを活用するには?

概要 近年、AIの活用が急速に進んでおり、特にRetrieval-Augmented Generation(RAG)は、情報検索と生成AIを組み合わせた技術として注目を集めています。RAGは、インフラエンジニアにとっても有用な技術であり、トラブルシューティングや運用の効率化に役立…

【Docker】host.docker.internalでホストのアプリに接続

zenn.dev 便利すぎる...知らなかったので書いておく。

【C言語】defineって

title: C言語における#defineの基本 -tags: C 演算子 備忘録 +tags: C プリプロセッサ マクロ 備忘録 author: hanahagewanko slide: false #defineとは C言語の中で使われる、コードを変換するディレクティブ 定数や算出式に名前を付けることで、コードを分…

【C言語】C++から呼び出す

概要 SingletonClass をシングルトンとして実装し、C 言語から呼び出せるようにラッパーを提供する。 手順 1. SingletonClass.hpp の作成 シングルトンのクラス SingletonClass を定義します。 プライベートコンストラクタを使用し、コピーコンストラクタと…

【Snowflake】入門する

www.snowflake.com Snowflakeとは? Snowflakeはクラウドベースのデータウェアハウス(DWH)ソリューションであり、従来のオンプレミス型DWHと比較してスケーラビリティ、パフォーマンス、コスト効率に優れた特長を持っています。AWS、Microsoft Azure、Goog…

【登壇記】コード化されていない稼働中のサーバを移設_再構築する技術というタイトルでSRE Kaigiで登壇した

SRE Kaigi 同じSREを扱っているカンファレンスということでスポンサー枠として登壇させていただきました。ありがとうございました🙏 登壇内容 speakerdeck.com 実際に稼働してるサーバから何が動いているのかをどうやって調べようかという話をしてきました。サ…

【colima】セットアップメモ

インストール # lima、docker brew install lima docker # colimaのインストール curl -LO https://github.com/abiosoft/colima/releases/download/v0.2.0/colima-amd64 sudo install colima-amd64 /usr/local/bin/colima # インストールが成功しているかど…

【Nginx】ngx_http_upstream_process_upgradedのメモ

NginxではWebSocketのプロキシーも対応している。その中でもngx_http_upstream_process_upgradedは、Nginx HTTPモジュールにおけるプロトコルアップグレードの処理を担当しています。主な役割は、クライアントとアップストリームサーバー間のデータ転送を管…

【Databricks】入門する

www.databricks.com DataBricksとは? DataBricks は、Apache Spark をベースとしたデータ分析プラットフォームであり、データエンジニアリング、データサイエンス、機械学習を統合的に管理するクラウドサービスです。AWS、Azure、Google Cloud などのクラウ…

【Rust】TCPのエコーサーバを書く

仕事で使うわけでは今のところないけど触ってみてる。コンパイルエラーが凄くてそれ通りに書いていくと動くというのが良かった。cargoコマンドも少ししか触っていないけど便利。マスコットキャラクターのカニが可愛い。 Linuxにも入っていてるらしいのでとて…

【Linux】シグナルセーフとは

docs.oracle.com Linuxにおけるシグナルセーフとは、シグナルハンドラ内で安全に使用できる関数の特性を指します。シグナルは、特定のイベントが発生した際にプロセスに通知を送るための仕組みであり、その性質上、シグナルハンドラはプログラムの任意の時点…

【JavaScript】EventEmitter

EventEmitter とは、Node.js が提供する イベント駆動モデルを実現するためのクラスです。このクラスを使うことで、カスタムイベントを定義し、そのイベントのリスナー(処理)を登録して、イベント発生時にそれを呼び出す仕組みを簡単に実装できます。 主な…

【TypeScript】TCPサーバーでEchoを返す

最近はTypeScriptを書いています。JavaScriptも対して書いたことないので独特な書き味に色々戸惑っています。特にコールバック、無名関数、Promiseあたりは読めるようにはなったがまだ空では書けないですし複雑になると読めないですwコールバック地獄とか言…

【CDKTF】触ってみる

github.com terraform-cdkとは CDK for Terraform (CDKTF)を使えば、TypeScript、Python、Java、C#、Goといった馴染みのあるプログラミング言語でクラウドインフラを定義し、Terraformを通じてプロビジョニングできます。これにより、HCLを学ぶ必要がなく、T…

2024年を振り返る

2024年も色々あったので振り返ります。 ryuichi1208.hateblo.jp 目次 目次 仕事 転職した 登壇記録 技術書典で本を出した 技術色々入門してる SRE NEXTでCo-Chairになった ブログを書いた 技術書を読んだ 私生活 結婚した 旅行 ベッド買った 最後に 過去の振…

【iTerm2】帰ってきた

ryuichi1208.hateblo.jp という記事を書いて3日くらい使ってみた。画面綺麗だし設定もシンプルで良かったです。ただキーバインドがzshとかtmuxとかに最適化してる中でGhosttyに撮られるのが慣れなくて専用の設定を書く必要が出てきて「あれ、iTerm2で良いの…

【Ghostty】使ってみた

www.publickey1.jp この記事で楽しみにしていたやつの1.0がリリースされた。10月くらいから使えることは使えたらしいが1.0が出るのを待っていたので早速入れてみました。 github.com 最小の設定で使えて便利です。現在の設定は↓のようになっています。 githu…

【OpenTelemetry】Profileサポートについて

この記事はOpenTelemetry Advent Calendar 2024の24日目の記事です。 OpenTelemetryがProfileをサポートするといったニュースが出たのが去年あたりです。その後どうなっているのかをみてみます。 opentelemetry.io プロファイリングは、アプリケーションの実…

【Linux】Socket MigrationとWebSocketを使ったデプロイ戦略

この記事はLinux Advent Calendar 2024の23日目の記事です。 WebSocketを使っているアプリケーションを安全にデプロイする方法について考えてみる思考実験的な記事です 目次 目次 WebSocketとは WebSocketの仕組み 初回接続 データ交換 接続の維持 WebSocket…

【VSCode】Copilot Chatとの出入りをショートカットでやる

この記事はVisual Studio Code Advent Calendar 2024の18日目の記事です。 Copilot Chat便利ですサジェストも便利ですが最近はChatを使うようになってきました。デフォルトではマウスでの移動しかできなかったのでショートカットを割り当てています。 { "key…

【DuckDB】入門する

この記事はDuckDB Advent Calendar 2024の22日目の記事です gihyo.jp ということなので入門してみる。 目次 目次 DuckDBとは 特徴 列指向ストレージ インメモリ処理 シンプルなインターフェース 組み込みデータベース 利用例とか データ分析 ETL処理 研究開…

【SRE】ビジネスKPIとSLI/SLOへのポエム

この記事はSRE Advent Calendar 2024の19日目の記事です SLI/SLOの運用をどんなに頑張ってもビジネス貢献してなくない?や99.99999999%達成しようが結局売り上げが変わらないみたいな話をたまに聞く。これについてのポエムです。 SLI/SLOはビジネスKPIと直接…

【HTTP】curlがWebSocketに対応していた

この記事はHTTP Advent Calendar 2024の21日目の記事です。 curl.se これまでは独自ビルドが必要だったcurlのWebSocketですが8.11.0よりデフォルトで入るようになりました。 github.com インストール これでビルドできる。 $ wget https://github.com/curl/c…