じゃあ、おうちで学べる

本能を呼び覚ますこのコードに、君は抗えるか

Go

go-rod/rod でブラウザ自動化とWebスクレイピングをやっていく

はじめに Webスクレイピングの需要が高まる中、Goで実装する機会が増えてきました(よね?)。Goの豊富な標準ライブラリとシンプルな文法は、スクレイピングのような自動化タスクと非常に相性が良いです。 が、今回はGoの有力なスクレイピングライブラリの1つで…

SQLBoilerによるPostgreSQLの操作についての話

はじめに データベースは、現代のアプリケーション開発において不可欠な要素です。特にリレーショナルデータベースは、その整合性と信頼性から幅広い用途で使用されています。しかし、リレーショナルデータベースを効率的に操作するためには、複雑なSQLクエ…

Golang のEcho でMiddlewareを使ってPrometheus Exporter を実装する

はじめに もし、アプリケーションに実装できるならそれが良いです。独自に実装などせずにエンドポイントにて500 Internal Server Errorが多発していればアラートをすれば良いので...。 こちらの続編になります。 syu-m-5151.hatenablog.com 本エントリーでは…

Golang のEcho で Prometheus Exporter を実装する

はじめに Prometheus でアプリケーションの構築をしているとどうしてもこの値が取りたいのに... と思うことが多々ある。Pushgateway も選択肢として上げられるが今回は選択肢を増やしてほしいという意味でもExporterの実装方法について検討していきます。Exp…

Shell ScriptをGo言語に書き直す際に役立つ50本ノックなるものを作り始めた。

インフラ側で必要な問題は100問も要らないので50問に変更した 概要 システム運用者として働く中で、システムの自動化について考える際、まずはShell Scriptによる自動化が思い浮かびます。しかし、より効率的な方法として、2023年にはシステム運用者がGo言語…

Kubernetes 上でsablier を用いてZero Scale を実現する 前編

前回のエントリー syu-m-5151.hatenablog.com はじめに やはり、人は強欲らしいのでコンテナを使っているのに必要な時必要な分だけのリソースを起動させてほしいという願いを常に持っている。Kubernetes の場合はKnativeなどを利用すれば達成できる。sablier…

私はGo言語でシェルスクリプトが書きたい不都合な生きもの

Goに入ってはGoに従え 私の好きな言葉です(スライド)。XX(架空の)という言語を書いてるならばXX言語らしく書きましょうと常々、思っております。 しかし、インフラエンジニアの魂に最も刻まれた言語は何か? それはシェルスクリプトではないですか。異論は認…

sablier でコンテナのScale to zero が実現できるので覗き見だけした。

はじめに 人は強欲なのでコンテナを使っているのに必要な時必要な分だけのリソースを起動させてほしいという願いを常に持っている。Kubernetes の場合はKnativeなどを利用すれば達成できる。が今回はsablierというツールを紹介する。sablierはリバースプロキ…

SRE に成る君に最低限の開発力を身に着けてほしい

はじめに まず、はじめに皆さんへ言っておきたいことがあります。 このドキュメントの目的は皆さんをやる気にさせて一心不乱にコードを書きまくって新機能追加や改善をしてソフトウェアを開発していってほしいというわけではないということです。 もちろん、…

PrometheusのSLO generator であるSloth について雑多な作業ログ入門失敗編

はじめに このブログではPrometheus のSLO generator であるSloth に関して取り上げたいと思っている。正直、業務後の深夜に書いているのでGrafana でDashboards を生成したら感動的なラストシーンということにしてほしい。今回は取り上げないが最近、バージ…

インフラエンジニアが学ぶと良さそうなgRPCサーバーについて

3-shake にはSreake共有会 という毎週、火曜日と木曜日に担当者が現場で得た知見などを発表する社内勉強会が開催されています。こちらのブログはそれらを変更修正しております。 syu-m-5151.hatenablog.com 元々しようとしていたの話 Go 1.18 の最新情報←Gen…

samber / lo はGoperである私を愚直なfor もしくは筋肉信仰から救ってくれるのか?

はじめに Go 1.18 がリリースされました。Go 1.18でシュッとGenerics を手軽に良さを実感する方法としてsamber/lo があります。 もちろん、Tutorial: Getting started with generics で完全に理解できるならそちらの方が良いですし、これを終わった後でやる…

Kind を利用してFeature Gates のGRPCContainerProbe を有効にしたKubernetes クラスターを構築してアルファー機能のgRPC Health Checkを試したいなー

Kind でGRPCContainerProbe がやりたいよ はじめに KubernetesではLiveness & Readiness Probeを使って、Pod内のコンテナ、プロセスのヘルスチェックが行える。Kubernetes上で動くgRPCサーバーのヘルスチェックする際にはgrpc-health-probeで簡単に実装でき…

CloudNativeな時代に求められるWebサービス基盤モデルの再考 というタイトルで Developers Summit 2022 に登壇しました。

振り返り Developers Summit 2022 で登壇しました。 CloudNativeな時代に求められるWebサービス基盤モデルの再考 - Daprについての考察と実装 というタイトルで、CloudNativeな技術と共に歩んできた中で見えてきた、CloudNativeな技術を背景に持つ分散アプリ…

『SREの車窓から』という題で #geekgig に登壇。

前書き 『GeekGig #1 〜Goと私の一年〜』という株式会社Showcase Gigが主催しているイベントでLTで登壇してきました。運営の皆様ありがとうございました。今回の登壇はSREというよりもシステム管理者がGo言語を使うメリットについて言及しました。タイトルは…