タグ

ブックマーク / qiita.com (1,036)

  • oci-secrets-store-csi-driver-providerでKubernetes Secretと同期する方法 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    oci-secrets-store-csi-driver-providerでKubernetes Secretと同期する方法 - Qiita
  • KubernetesのNode Affinity, Inter-Pod Affinityについて - Qiita

    Node Affinity taints/tolerations(参考)は特定のNodeにPodをscheduleされるのを避けるための仕組み。 それに対してNode Affinityという仕組みは、Podを特定のNode集合へscheduleするための仕組みだ。 特定のNodeにPodをscheduleするための仕組みとしてはnode selectorがある。Node Affinityはnode selectorよりももっとパワフル。 Node AffinityはNodeのlabelとして設定する。 そして(node selectorはpodにselectorを設定したが、同様に)Node Affinity ruleはpodに設定する。 podのNode Affinity ruleにnodeのlabelのNode Affinityがマッチした場合、そのnodeへpodがscheduleさ

    KubernetesのNode Affinity, Inter-Pod Affinityについて - Qiita
  • Argo CD Pull Request Generatorについて - Qiita

    はじめに 私は普段SREとしてAWSやEKS(Kubernetes)などのクラウドインフラの運用に従事しています。記事では、Argo CD Pull Request Generatorについて紹介します。 そもそも、Argo CD Generaterとは 公式では以下のように紹介されています。 Generators are responsible for generating parameters, which are then rendered into the template: fields of the ApplicationSet resource. See the Introduction for an example of how generators work with templates, to create Argo CD Applications. Generato

    Argo CD Pull Request Generatorについて - Qiita
  • fzfを活用してTerminalの作業効率を高める

    はじめに 今回は作業効率化をすすめるにあたって有用なfzfの利用例を紹介したいと思います。 似たようなものでpecoというのもありますが、fzfの記事が少ないと思うので、今回はfzfについて書いていきたいと思います! (あとfzfはVimでも使えるようにサポートされているので、Vimmerの方はpecoよりもfzfかなということもあり…。) fzfとは fzf https://github.com/junegunn/fzf fzfとはCLIでインクリメンタルに曖昧な検索が可能になるGO言語製のツールです。 標準出力をパイプでfzfコマンドで渡すだけで、標準出力の内容を対象に検索できます。 上部の入力箇所でインクリメンタル曖昧検索しながら、(CLIとしては慣れ親しんだキーバインドの)Ctrl-n,Ctrl-pで下部のリストから選択することができます。 (もちろんカーソルキーでもOK) 最初は

    fzfを活用してTerminalの作業効率を高める
    kabukisan
    kabukisan 2024/10/22
  • Linuxサーバーの最適化: vmstatとiostatを活用した性能分析と対処法 - Qiita

    Linuxサーバーの最適化: vmstatとiostatを活用した性能分析と対処法 0.目的 インフラ開発者として、必須な性能分析を身につけることを目的としています。 カーネルパラメータをチューニングをする際に性能分析を前提とし、分析結果からチューニングしていきますが、具体的な指標というものが少ないので参考になれば幸いです。 基的なvmstatの使い方については、ちょっとググればいくらでも出てくるので割愛します。 「Linuxカーネルパラメータのチューニング&設計」でロードアベレージが高い状態にある場合、次のアクションとしてCPU使用率の確認が必要となりますので、vmstatの結果分析および対処法について深堀していきます。 よって、vmstatの結果分析と対処法を理解すると性能試験を実施した際のその対処法とカーネルパラメータによるチューニングする対象が理解できるかと思います。 1.パフォ

    Linuxサーバーの最適化: vmstatとiostatを活用した性能分析と対処法 - Qiita
    kabukisan
    kabukisan 2024/09/02
  • Linuxカーネルパラメータのチューニング&設計 - Qiita

    Linuxカーネルパラメータのチューニング&設計 0.目的 【カーネルパラメータのチューニング】を修得する目的は、サーバの特性を理解し、それぞれに合ったカーネルパラメータのチューニングすることでリソースの有効活用をできるようになることを目的とし、私個人の経験を元にした見解を以下の記事に掲載します。 1.最初に サーバには、それぞれ必要なリソース特性があり、それに合わせたカーネルパラメータのチューニングが必要となります。 世の中の流れはオンプレよりクラウドに移行してはいるので、カーネルパラメータのチューニングよりスケールアップなりスケールアウトするなりの対応をすべきなのでしょう。 ですが、カーネルパラメータのチューニングを知らないとどちらを選択すべきかも理解しずらいと思いますので軽率には出来きません。(待ち行列理論もしらないといけませんが) また、最近のLinuxはデフォルト値が大きくなって

    Linuxカーネルパラメータのチューニング&設計 - Qiita
    kabukisan
    kabukisan 2024/09/01
  • Rust HashMap::entry ユースケースと書き方まとめ - Qiita

    Rust の HashMap の entry とは 「Rust entry」などで検索すると HashMap の entry を説明してくださっている記事は多く出てくるので、ここでは簡単な説明にとどめます。 参考: RustのHashMapはentryが便利 参考: Rustでdefaultdict マップや辞書などのデータ構造を扱う際、「あるキーの値が、あればなんらかの処理、なければ新たにデータを追加してから処理」という操作をしたいことは多いと思います。 たとえば、「キーの出現回数をマップに保存する」というケースを考えます。愚直に実装をすると、条件分岐を用いて、「マップにキーがあるか判定し、あれば処理、なければ追加」という操作を記述するかと思います。 let mut map = std::collections::HashMap::new(); let key = "one"; // m

    Rust HashMap::entry ユースケースと書き方まとめ - Qiita
  • ジョージア工科大学でコンピュータサイエンスを学び始める話 - Qiita

    目次 はじめに 何故出願したか 何故ジョージア工科大学か どうやって準備したか おわりに はじめに 既に先人たちが書かれている記事も多々ありますが、2023年3月にジョージア工科大学のコンピュータサイエンス修士過程に出願して合格しました。8月から授業が始まるので忘れない内に何故出願したのか、どのように出願準備したのかについてまとめようと思います。働きながら米国のコンピュータサイエンス大学院進学を考えている方々の参考になりますと幸いです。 Acceptance Letter ー 合格証 何故大学院に出願したか ジョージア工科大学に出願した理由をざっくりまとめると、下記の3点です。 「Data&AI周辺への理解を深めて顧客からの技術的信頼度を上げたい」 「学問を続けられる環境に身を置きたい。加えて学位が欲しい」 「世界中どこでも働けるポータブルスキルを持った人材になりたい」 詳細は下記にプロフ

    ジョージア工科大学でコンピュータサイエンスを学び始める話 - Qiita
    kabukisan
    kabukisan 2024/07/20
  • OCRとElasticsearchで画像ファイルの検索エンジンを作る - Qiita

    はじめに こちらはABEJAアドベントカレンダー2021の17日目の記事です。 この記事では、文字認識用のGoogleのCloug Vision API(OCR)と、全文検索エンジンのElasticsearch(以下ES)を使用して、画像ファイルの文章内容からワード検索を行えるようにします。 過去の大量の文書ファイルや資料などから、特定のファイルを探したいけどなかなか見つけられない。。というよう方に紹介したい内容になっております。 OCRとESを使用することで、ファイル内の文章の内容からより効率的に検索することができるようになります。 そもそも紙の書類が多いから効率化を諦めている。。といった場合もスキャンやカメラで画像化することで同じことが再現できます。 ディレクトリ構成 最終的なディレクトリ構成です。 . ├── docker-compose.yml ├── docker │ ├── p

    OCRとElasticsearchで画像ファイルの検索エンジンを作る - Qiita
    kabukisan
    kabukisan 2024/07/08
  • Rust petgraph で競技プログラミングのグラフ理論系頻出アルゴリズムを学ぶ - Qiita

    はじめに AtCoder に参加して 3か月ほど経ちました。グラフ問題を見ると身構えてしまいます。 Rust 初心者の AtCoder でよく使う言語機能とライブラリー覚え書き - Qiita で Union Find のために petgraph を使いました。せっかくだからとその流れで、petgraph のグラフ系のアルゴリズム関連の使い方を調べました。 想定読者 競技プログラミングに参加している・興味がある Rust の経験がある、または Rust 以外の何かのプログラミング言語を使える グラフ理論系のアルゴリズムを眺めたい、使いたい DP (動的計画法)、スタック、キュー、優先度付きキューを使ったことがある 記事で行うこと 競技プログラミングで、グラフ理論系で頻出するアルゴリズムを短く紹介 最短経路探索: ダイクストラ法、ベルマン-フォード法、ワーシャル-フロイド法 最小全域木問題

    Rust petgraph で競技プログラミングのグラフ理論系頻出アルゴリズムを学ぶ - Qiita
    kabukisan
    kabukisan 2024/04/22
  • 高効率なSQLクエリの書き方 - Qiita

    概要 この記事では、SQLクエリをより効率的に記述するためのベストプラクティスとテクニックに焦点を当てています。データベースのクエリはシステム全体のパフォーマンスに直結するため、最適な書き方を知ることは重要です。インデックスの効果的な活用方法、適切な結合の選択、そして条件の効果的な書き方など、SQLの最適化に関する具体的な手法を解説します。各SQL文に関する実行計画の結果も掲載していますので、ぜひご確認ください。 なお、Oracle19cとOracle12cでの利用実績がありますが、他のデータベースやバージョンにおいての検証は行っておりません。 新しい情報は随時追加されますので、お楽しみにしてください。 SQLの最適化に関連する基的なアイデア 以下の通りと考えています。 1.インデックスの利用 2.正しいJOINの選択 INNER JOIN、LEFT JOIN、RIGHT JOINなど、

    高効率なSQLクエリの書き方 - Qiita
  • CKADに合格したので、CKAと比べながら体験を振り返ります - Qiita

    Certified Kubernetes Application Developer(CKAD)を先日受験し、84%で無事合格しました。CKA受験の時を振り返りながら体験をまとめます。 CKAとCKAD CKAとCKADの出題範囲を下記に転記しました。 ぱっと見の印象から分かるようにCKAはKubernetes Clusterのアーキテクチャについての理解が求められ、CKADはPodを中心とした理解について理解が求められます。 Application Lifecycle Management 8% Installation, Configuration & Validation 12% Core Concepts 19% Networking 11% Scheduling 5% Security 12% Cluster Maintenance 11% Logging / Monitorin

    CKADに合格したので、CKAと比べながら体験を振り返ります - Qiita
  • はじめに - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? そんなに正確ではないかもしれないけど、便利であろう情報を数日にわたって書いていきます。 はじめに ある概念を理解することと、使えるようになることは別のことです。 ある概念に関して定義からその性質を追って行き、その結果理解に到達するという手順はもちろん重要なことですが、その手順を毎回追っていってはより高度なことを理解することは難しいでしょう。例えば僕らは小学校で四則演算を苦労して学習していったわけですが、いつの間にかそれらを瞬時にこなし、より高度なことを中学、高校、人によっては大学、大学院と進み、理解し、また使えるようにしてきました。 未

    はじめに - Qiita
    kabukisan
    kabukisan 2023/10/27
  • 累積和を何も考えずに書けるようにする! - Qiita

    0. はじめに 最近では AtCoder がコーディング面接の文脈でも有効なものとしての認識が広まってきています。AtCoder の登竜門といわれる水色を目指すにあたって多くの方が「勉強した」と報告している代表的なアルゴリズム的手法の一つに累積和があります。 今回はそんな累積和をストレスなく機械的に書けるようになることを目標とします。累積和は、そのコンセプト自体は簡明で決して難しくないのですが、 添字の扱い方など、頭がゴッチャになりがちである 応用範囲が非常に広い ということから、整理する価値の高い手法です。僕自身、累積和を用いる問題に対して、毎回添字の扱いに神経を尖らせながら頑張っていたのですが、一度実装テンプレートを決め込んでしまえば何も考えなくても書けるようになりました。そうなってからは累積和を実装することにストレスが無くなりました。 そんな体験を共有できたらと思います。 1. 累積

    累積和を何も考えずに書けるようにする! - Qiita
    kabukisan
    kabukisan 2023/10/24
  • KubernetesのCRDまわりを整理する。 - Qiita

    Kubernetes CRDまわりを整理する。 KubernetesにはCustom Resource Definitions(CRD)という機能があります。CRDはKubernetes APIを拡張して独自のリソースを定義するものです。KubernetesのリソースとはDeploymentやPodのようなもののことですが、CRDではDeploymentやPodと並ぶリソースを自分で定義し実装することが可能となっています。 記事ではCRDについて、概念やツールを整理します(2018/12/24時点の情報をもとに)。 リソースとオブジェクト CRDに入る前にKubernetesのリソースとオブジェクトについて整理します。 リソース リソースとは何らかのオブジェクトを概念です。例えばDeploymentやPodsがリソースです。リソースはKubernetes APIを持ち、実際に配備されてい

    KubernetesのCRDまわりを整理する。 - Qiita
  • Terraform面接質問集を作ってみた - Qiita

    はじめに 面接時に役に立つ、Terraformにおける実践的な基礎知識やベストプラクティスを学べる問題集を作ってみました。 面接形式なので、サンプルコードの記述が少なく、わかりにくい部分もあるかと思いますが、Terraformの基的な概念の整理にお役立ていただけます。ぜひ面接の準備や知識の確認にご活用ください。 注意事項 問題集はTerraformのv1.5.xを基準に作成されています。 問題集は、Terraformにおける実践的な基礎知識やベストプラクティスなどを学ぶための問題集であり、全ての問題が実際の企業採用面接時に出題されるとは限りません。また筆者の現在所属する組織の採用活動とは一切関係ありません。 問題集では、Terraformの全ての基礎知識やベストプラクティスが網羅されているわけではありません。また特定のprovider(AWS等)に特化したものでもありません。特定の

    Terraform面接質問集を作ってみた - Qiita
  • 図解 JWS/JWE/JWT/IDトークン/アクセストークンの包含関係 - Qiita

    JWS/JWE/JWT/IDトークンの包含関係 JWS (JSON Web Signature) と JWE (JSON Web Encryption) の直列化方法には、それぞれ JSON 形式とコンパクト形式がある。 JWT (JSON Web Token) は JWS か JWE だが、いずれにしてもコンパクト形式である。仕様でそう決まっている。 仕様により、ID トークンには署名が必要なので、ID トークンは JWS もしくは「JWS を含む JWE」という形式をとる。 ID トークンは「JWE を含む JWS」という形式はとらない。なぜなら、仕様により、ID トークンを暗号化する際は「署名してから暗号化」という順番と決まっているため。 アクセストークン/JWT/IDトークンの包含関係 アクセストークンの実装が JWT だとは限らない。 仕様により、ID トークンは必ず JWT で

    図解 JWS/JWE/JWT/IDトークン/アクセストークンの包含関係 - Qiita
    kabukisan
    kabukisan 2023/08/01
  • kubernetesクラスタでRailsアプリを公開するチュートリアル - Qiita

    はじめに kubernetes(k8s) クラスタを構築するためのインフラがあり、kubectl コマンドで操作が出来る状態となっていることが前提です。 Rancher を使って構築する方法(勉強用ですが)について安いクラウド環境で RancherOS / Kubernetes を使って勉強用クラスタを作るも参照してみて下さい。 記事について 色々な k8s の概念についての説明は家ドキュメント、他記事や、に書かれていることを参考にしてみて下さい。 この記事では概念の整理はせず、チュートリアル形式でアプリケーションを k8s で動作させることを目的として、なるべく 1 歩ずつ進めつつ概念理解が必要になったタイミングで説明していきます。 チュートリアルが終わった段階で k8s 上で特定のアプリケーションが公開できるようにするための関連知識を一通り理解できるようになることを目指します。

    kubernetesクラスタでRailsアプリを公開するチュートリアル - Qiita
  • 【TCP】コネクションの確立までの道のり - Qiita

    レイヤ4の役割 レイヤ4トランスポート層では パケットを送信元から宛先までのデータ転送を制御・調整する層 となっており、主にTCPやUDPが使用される。TCPに於いては、 信頼性の高い通信サービスを保証している。 信頼性の高い通信サービスを確立することによって、転送中のデータがメディアの干渉によって信号がおかしくなり、レイヤ2(データリンク層)のエラーチェックで引っかかるなどが起こってしまうのを防いでくれる。レイヤ2では、同一LAN内の、ノードとノードとの接続で、レイヤ3はネットワークとネットワークの接続だったが、今回のレイヤ4ではホストの、どの通信アプリケーションへのデータかを見分けるためにポート番号によって見分け接続する層。つまり、データの発生元と受け取り元のアプリケーションが対象で、端と端の接続なので 「エンドツーエンド」 の接続を確実にできるようにしている層言える。 具体的には、T

    【TCP】コネクションの確立までの道のり - Qiita
    kabukisan
    kabukisan 2023/06/04
  • Diffie-Hellman鍵交換入門 - Qiita

    鍵交換とは 例えば、zipを作成するときにはパスワードを設定しますね。これは、zip作成者がパスワードを知っている人だけが中身を読めるようにするためのものです。 我々がふだん使っているセキュアな通信(TLS, SSHなど)は、送信側と受信側が同じ「鍵」を共有することで行います。実際には鍵は一定の長さのビット列(256ビットがよくありますが、暗号アルゴリズムとその設定でまちまちです)なのですが、送信者と受信者だけが鍵を知っていて、他の人は知らないというのがポイントです。 では、通信を開始するとき、送信者と受信者はどのように鍵を取り決めるのでしょうか? 通信を傍受している悪者がいたとすると、「これからこの鍵で暗号化して通信するよー!」と鍵をそのままネットワークに流しては鍵が悪者にばれてしまい、その後の通信も盗み見ることができてしまいます。しかし通信開始時には暗号化された通信経路は存在しないので

    Diffie-Hellman鍵交換入門 - Qiita
    kabukisan
    kabukisan 2023/06/01