タグ

ブックマーク / qiita.com/momotaro98 (3)

  • AWS OpenSearch (Elasticsearch) Serviceで専用マスターノードは3つが推奨な理由を段階を踏んで理解する - Qiita

    AWS OpenSearch (Elasticsearch) Serviceで専用マスターノードは3つが推奨な理由を段階を踏んで理解するAWSElasticsearch 前提 AWS OpenSearch ServiceでサポートするElasticsearch 7.10.2時点までの内容になります。 ノードが3つ必要という結論に関してはAWS OpenSearchの特別な話ではなく分散システムでの一般的な話になります。 理解のステップ 以下が記事での理解の流れです。 マスターノードとは何か、他にどんなノードタイプがあるのかを把握する。 専用マスターノードとは何か把握する。 quorumとは何か把握する。 理想のquoram数を出す式がdedicated master nodes / 2 + 1の理由を把握する。 これまでマスター候補ノード(master-eligible node)はなぜ

    AWS OpenSearch (Elasticsearch) Serviceで専用マスターノードは3つが推奨な理由を段階を踏んで理解する - Qiita
  • なぜGo言語の正規表現は遅いと言われるの? - Qiita

    はじめに Goの正規表現は遅いと言われていることが以前から疑問だったので調査してみました。 こちらの記事やこちらの記事を拝見する限り ① 現実的なユースケース(例えばURLのパースなど)ではGo言語の正規表現は使うべきではなく、stringsパッケージの標準の関数を利用した方がパフォーマンスとしては良い。 ② Go言語で正規表現を利用するために必要な"正規表現オブジェクト"を並行にアクセスするにはパフォーマンスが問題になるので注意が必要。 とあります。その理由は、それぞれ以下に集約できるようです。 ① Go言語標準の正規表現ライブラリは、正規表現と検査文字列の長さに対して常に$O(n^2)$のオーダーで計算量が増加する安定したアルゴリズムを採用している。 ② "正規表現オブジェクト"を用いたマッチング処理には排他制御が行われている。 調べてみる Go言語のpkg/regexpの公式ドキュメ

    なぜGo言語の正規表現は遅いと言われるの? - Qiita
  • Go言語でWEB APIからのJSON用構造体を楽に作る - Qiita

    はじめに Qiitaでストックした記事へコマンドラインからアクセスするCLIアプリをGoで作りました。 https://github.com/momotaro98/qiic このアプリを作る際、ユーザがストックしている記事を取得するAPI利用したので、そのときに使ったツールと簡単な実装を示します。 APIから得られるJSONの確認 利用したAPIからは以下のようなJSONデータが得られます(Qiita API v1 Documentより) [{"id": 1, "uuid": "1a43e55e7209c8f3c565", "user": {"name": "Hiroshige Umino", "url_name": "yaotti", "profile_image_url": "https://si0.twimg.com/profile_images/2309761038/1ijg13p

    Go言語でWEB APIからのJSON用構造体を楽に作る - Qiita
  • 1