技術系のめも

技術系のめも

最近の記事

「入門 監視」を読んだ

「入門 監視」を読んだので特に印象に残った要点と感想を記録します。 1. 監視のアンチパターンについてチームに何が必要かを考えてから要求に見合うツールを探す 例: 私たちのチームは「監視ツールのxxを取り入れる必要がある」ではなくて「△△のメトリクスを監視する必要があるから何を導入すれば良いか」を考える 監視は複雑な問題を一括りにしたもの→監視したい目的によって専用のツールが必要 監視を支えにしない 監視をしているからといって保守が難しいひどいコードを書かない ■

    • Goのコンテキスト管理: context.Canceled と context.DeadlineExceededについて

      はじめに■GoのContextとは GoパッケージにはContextパッケージが実装されています。このパッケージでは、異なるAPIやプロセスを超えて通信の期限(deadline)やキャンセル信号を伝達するContextタイプを定義しています。 ■Contextに定義されている変数について Contextパッケージには以下の2つの変数が定義されています。 Canceled DeadlineExceed  context.Canceledについて■概要 contex

      • SQLiteで既存テーブルに制約を追加する

        SQLiteとはSQLiteは軽量なSQLデータベースエンジンを実装するC言語ライブラリです。セットアップが必要なく、データベースは単一のファイルに格納されます。 ALTER TABLEの概要基本 SQLiteではALTER TABLEコマンドを提供しています。このコマンドは既存のテーブルに対して操作をすることができ、以下の操作をサポートしています。 ALTER TABLE RENAME: テーブル名を変更する  ALTER TABLE RENAME COLUMN: 

        • PromQLのrate関数とirate関数について

          この記事ではPromQLのrate関数とirate関数の違いと使うポイントについて紹介していきます。 はじめに■Prometheusとは Prometheus(プロメテウス)はSoundCloud社によって開発されたオープンソースのモニタリング・アラートシステムです。主に以下の機能を持ちます ■PromQLとは 上記でも紹介しましたが、Prometheus上で時系列データを選択して集計する関数型クエリ言語 PromQL(Prometheus Query Languag

          Pythonのinspectモジュール Signatureオブジェクトについて

          inspectはオブジェクト (モジュール、クラス、メソッド、関数etc)から情報を取得する関数をもつPython言語のbuilt-inのモジュールです。このinspectモジュールのSignatureオブジェクトを使って関数の情報を取得することがあったので、復習として本記事にまとめていきます。 Signatureオブジェクト■概要 Signatureオブジェクトは、関数などの呼び出し可能なオブジェクトのシグネチャとその戻り値のアノテーションを表します。具体的には、任意の

          Pythonのinspectモジュール Signatureオブジェクトについて

          Go言語のFunctional Options パターンについて

          Functional Options パターンとは■概要 Functional OptionsパターンとはAPIをクリーンに実装することができる実装パターンの一つです。オブジェクトの初期化時にオプションを柔軟・簡潔行うことができる方法として、Goコミュニティで広く採用されています。 ■背景 このパターンはRob Pike氏によるSelf referential functions and design というブログ記事にて2014年1月に発表されました。その後2014年

          Go言語のFunctional Options パターンについて

          JavascriptのIIFE(即時実行関数式)とは

          IIFE(即時実行関数式)とは■定義 IIFEとは「Immediately Invoked Function Expression」の略であり、日本語で「即時実行関数式」と訳されます。その名の通り、定義されたタイミングですぐに実行されるJavascript関数のことを指します。 通常関数は、定義された後に別途呼び出される必要がありますがIIFE(即時実行関数式)は宣言されたタイミングで自動的に実行されるという特徴があります。 ■基本的な構文 基本的に以下のような構文で

          JavascriptのIIFE(即時実行関数式)とは

          Attribution Reporting APIにおけるアトリビューションソース登録について

          ■Attribution Reporting APIとはAttribution Reporting APIは、サードパーティークッキーを使用せずに「コンバージョン」と「インプレッションやクリックなどのイベント」を結びつける広告の効果測定の仕組みです。ユーザーのプライバシーが保護され、個々のユーザーの情報が匿名化される点が特徴です。 このAttribution Reporting APIはGoogleが提唱するPrivacy Sandboxの一部として開発されました。Priv

          Attribution Reporting APIにおけるアトリビューションソース登録について

          VAST規格におけるAttribution Reporting APIのサポートについて

          ■VAST規格とはVASTは「Video Ad Serving Template」の略で、動画広告を配信する際に使われる広告タグのテンプレート・プロトコルです。これにより、ビデオプレーヤーに広告を正しく再生するための設定が提供されます。 形式はXML形式で、以下のような形式を取ります。 <VAST version="4.0"> <Ad id="123"> <InLine> <AdSystem>Example Ad System</AdSystem>

          VAST規格におけるAttribution Reporting APIのサポートについて

          docker prune周りのコマンドまとめ

          全削除する イメージ・コンテナ・ネットワークを削除する docker system prune イメージ・コンテナ・ネットワーク・ボリュームを削除する docker system prune --volumes イメージの削除 タグを持たず他のコンテナからも参照されていないイメージを削除する docker image prune 全てのイメージを削除 docker image prune -a コンテナの削除 docker container prune

          docker prune周りのコマンドまとめ

          [W3C]Clear Site Dataについて

          W3CのWeb Application Security WG が公開している、「Clear Site Data」というWorking Draftを解説していきます。英語の原文は以下です。 概要Clear-Site-Data ヘッダーはホストに関するローカルデータ(クッキー・ストレージ・キャッシュ)を削除するように指定することができます。 この機能が必要な理由ユーザーのローカル環境に保存されたデータはアプリケーションのパフォーマンスをあげたりと開発者とユーザー双方にとって

          [W3C]Clear Site Dataについて

          [W3C]Referrer Policyについて

          W3CのWeb Application Security WG が公開している、「Referrer Policy」というRecommendationを解説していきます。英語の原文は以下です。 概要ウェブサイトのreferrer policyの定め方や、外部に対するリクエストのRefererヘッダーに対してどんなポリシーを設定できるのかを説明している文書です そもそもRefererヘッダーとはRefererヘッダーはMDNのドキュメントを見ると以下のように記載があります。

          [W3C]Referrer Policyについて

          [W3C] Truested Typesについて

          W3CのWeb Application Security WG が公開している、「Truested Types」というWorking Draftの大事なところを日本語でまとめていきます。英語の原文は以下です。 はじめにウェブアプリケーション上でユーザーからの入力を元に何かしらの操作をするのは脆弱性の元になります。Trusted TypesはDOMベースのクロスサイトスクリプティング(DOM XSS)のリスクを下げるための機能になります。 ポリシーTrusted Types

          [W3C] Truested Typesについて

          [Go]プログラミング言語の脆弱性を読む - CVE-2022-29804

          この記事ではGo言語に関連するCVEの内容を読んでみます。今回ピックアップしたのは2022年8月10日に報告された CVE-2022-29804 です。 前提知識go言語の filepath.Clean というパスを整形する関数があります。 挙動は以下のような形でドキュメント記載のルールに従ってパスを綺麗にしてくれます。 func main() { fmt.Println(filepath.Clean("./dir1/dir1-1/sample.txt")) fmt.Pr

          [Go]プログラミング言語の脆弱性を読む - CVE-2022-29804

          [W3C]Content Security Policy Level 2 の要点まとめ

          W3CのWeb Application Security WGが公開している、「Content Security Policy Level 2(コンテンツセキュリティポリシー レベル2)」というRecommendationの大事なところを日本語でまとめていきます。英語の原文は以下です。 はじめに本文書では、コンテンツセキュリティポリシーというXSSのようなインジェクション脆弱性を緩和させる仕組みを定義します。コンテンツセキュリティポリシーは、ウェブアプリケーションの作者が「

          [W3C]Content Security Policy Level 2 の要点まとめ

          [W3C]Subresource Integrity の要点まとめ

          W3CのWeb Application Security WGが公開している、「Subresource Integrity(サブリソース完全性)」というRecommendationの大事なところを日本語でまとめていきます。英語の原文は以下です。 概要本文書はユーザーエージェントが、取得したリソースに意図していない改変がないどうかを確認する仕組みを定義します。 はじめにウェブサイトはさまざまなオリジンからスクリプト・画像などを取得し、表示しています。その場合、以下のような攻

          [W3C]Subresource Integrity の要点まとめ