タグ

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

  • エンジニアなら知っておきたいトラブルシューティングのセオリー - Qiita

    エンジニアにとって、突発的な障害対応や不具合の解消 は避けて通れない業務のひとつです。 この記事では、トラブルシューティングのセオリーとして意識したい 7つのステップ をご紹介します。これらのステップを意識することで、問題解決の効率を上げ、より迅速かつ確実にトラブル対処することができるでしょう。 7ステップの全体像 事象を把握する 問題発生箇所を特定する 暫定対処を実施する 事象を再現し、発生条件を特定する 原因仮説を立てる 仮説を検証し、原因を特定する 恒久対処を実施する ステップ1:事象を把握する 最初のステップは、問題の全体像を正確に把握することです。 いつ、どこで、どのような影響が出ているのかを把握し、障害規模や対処の優先度を判断することが目的です。 次の3つの要素と収集し、時系列で整理しましょう。 技術データ 対象 ログ メトリクス ポイント ErrorやWarningレベルログ

    kabukisan
    kabukisan 2025/04/25
  • Linux シグナルの基本と仕組み (カーネル v5.5 時点) - Qiita

    この記事は、Linux シグナルの基と仕組み (カーネルでの実装) について調査したことのまとめです。 シグナルは普段から利用しているものの仕組みについては理解してなかったので、カーネル勉強の題材として調べてみました。想像以上に複雑でボリュームがあったため、書き切れていない部分 (調査しきれなかった部分) もありますが、一通りの流れ (仕組み) は理解できたと思います。 なお、この記事は主に「■ 基編」と「■ カーネル編 (v5.5)」で構成されています。仕組みを理解するには基も知る必要があると思い、このような構成となっています。書籍レベルの基を理解されている方は 「■ カーネル編 (v5.5)」 から読み進めることを推奨します。 ■ 基編 はじめにシグナルの基について、ざっと整理します。 なお、例で登場するコマンドや API (C 言語) の細かい使い方やエラー処理などは省き

    Linux シグナルの基本と仕組み (カーネル v5.5 時点) - Qiita
  • BackstageのKubernetes Pluginを使ってカタログのKubernetesリソースの状態を確認する - Qiita

    Backstageとは Backstageとは元はSpotifyが開発したOSSで、オフィシャルドキュメントを引用すると、 Backstage は、開発者ポータルを構築するためのオープンプラットフォームです。一元化されたソフトウェア・カタログを搭載したBackstageは、マイクロサービスやインフラの秩序を回復し、製品チームが自律性を損なうことなく、高品質のコードを迅速に出荷することを可能にします。 とあり、開発者向けのポータルを提供してくれることが分かる。 主要な機能は以下となる。 ソフトウェアカタログ ソフトウェアテンプレート 技術文書 今回はBackstageを起動し、ソフトウェアカタログの機能からKubernetesのリソースの状態を取得してみる。 検証環境 今回は以下の環境で試している。 Backstageの動作環境:Ubuntu 20.04.6 LTS ソースコード置き場:Gi

    BackstageのKubernetes Pluginを使ってカタログのKubernetesリソースの状態を確認する - Qiita
  • Pythonの開発用適当ツールの作成・実行はuvを使うのがオススメ - Qiita

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

    kabukisan
    kabukisan 2025/03/28
  • 【Python】【requests】プロキシ環境下でSSLErrorになる原因と対処法 - Qiita

    ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997) During handling of the above exception, another exception occurred: (略) urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='hogehoge.com', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_

    【Python】【requests】プロキシ環境下でSSLErrorになる原因と対処法 - Qiita
    kabukisan
    kabukisan 2025/03/22
  • そのS3暗号化ちょっと待って(SSE-S3とSSE-KMSの違いと注意点) - Qiita

    はじめに 暗号化キーに対する特別な要件が無い PJ の場合、 利用時に検討する S3 の暗号化方式は SSE-S3 と SSE-KMS の 2 種類があるかと思います。 なんとなく他サービスでも利用している SSE-KMS を使用していませんか? 同じ暗号化かつ、AWS のマネージドキーなら機能に違いはないため、 どちらでもいいと考えてしまうことがあるかもしれません。 記事は S3 において SSE-KMS を選んでエラーとなるケースと暗号化方針の違いを記載した記事になります。 直面した問題 ALB のアクセスログ出力先に S3(SSE-KMS 暗号化)を設定したところ、 アクセスログが出力されないエラーが発生。 結論 SSE-KMS では以下一部の機能利用時にエラーが発生します。 そのため機能の利用が必須の場合はSSE-S3の利用が必要となります。 主にエラーとなるケース S3 アク

    そのS3暗号化ちょっと待って(SSE-S3とSSE-KMSの違いと注意点) - Qiita
  • データ構造 Fenwick tree (binary indexed tree, BIT) にどっぷりと入門し、その美しき構造に心を洗われたい方のための紹介記事です! - Qiita

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

    データ構造 Fenwick tree (binary indexed tree, BIT) にどっぷりと入門し、その美しき構造に心を洗われたい方のための紹介記事です! - Qiita
    kabukisan
    kabukisan 2025/03/09
  • リレーショナルデータベース設計の完全ガイド - Qiita

    はじめに リレーショナルデータベース設計の世界へようこそ!このガイドでは、データベース設計の基から応用まで、幅広くカバーしていきます。一緒に学び、理解を深めていきましょう。 リレーショナルデータベースとは リレーショナルデータベースとは、データを表(テーブル)形式で整理・管理するシステムのことです。各テーブルは行(レコード)と列(フィールド)で構成され、情報を効率的に保存・検索できます。 例えば、顧客情報や注文履歴を別々のテーブルで管理し、共通のキー(例えば顧客ID)で関連付けることで、必要な情報を簡単に取得できます。このような構造により、データの一貫性や整合性を保ちながら、複雑なデータ操作や分析が可能になります。 ガイドの目的と構成 このガイドの目的は、リレーショナルデータベース設計の基概念から高度なトピックまでを体系的に学び、実践的なスキルを身につけることです。各章では、理論的な

    kabukisan
    kabukisan 2025/02/26
  • BaggageをREST/gRPC/SQSで伝播できるようにした話 - Qiita

    なお、弊社はベンダーとしてはDatadog、言語としてはGoを使っているのでその前提でこのブログを書きますが、その他のベンダー、言語でも参考になると思います。 Baggageに含めるとよさそうなもの よくあげられる例としては、UserIDやProductID、ソースIPアドレスなどのリクエストに紐づくデータが挙げられます。注意点として、誤って外部のベンダーにBaggageが渡ってしまう(注意しないとあり得ます)ことを考慮し、セキュアな情報は含めないようにすべきです。 他には、featureフラグを運用しているのであれば、feature情報をBaggageに含めると良いでしょう。 BFFなどの通信の入り口でどのfeatureかを判断し、その後のマイクロサービス間での通信はその情報を常に渡してあげることでマイクロサービス全体で同じfeatureを提供することができます。 以前、軽量featur

    BaggageをREST/gRPC/SQSで伝播できるようにした話 - Qiita
    kabukisan
    kabukisan 2025/02/26
  • Kubeflow入門 - Qiita

    はじめに Kubeflowとは何なのか。 どんな知識が必要でどんなメリットがあるの? エコシステムなんかはどうなっているの? 現状これらの問いの答えとなるような記事を見つけることができなかったため、記事を執筆しました。 記事ではKubeflowとは何なのか。そしてどのようなツールで構成されているのか図を交えながらできる限りわかりやすくまとめました。(記事で使用している図に関してはご連絡いただければ元データをお送りできます。) MLOps、Kubeflowについての日語の学習リソースがほとんどないですが、MLOpsの概念や技術が日で広まる一助になればいいなと思っています。 Kubeflowとは 近年の機械学習の急速な発展に伴って、機械学習番運用する機会が増えてくる中、てデータサイエンティストと開発者の連携やモデルのバージョン管理などの課題が重要視されてきています。そんな中で出て

    Kubeflow入門 - Qiita
  • Rustをスクリプト言語として使ってみよう - Qiita

    この記事は Rust Advent Calendar 2023 シリーズ 2 の 16日目の記事です。 はじめに Nightly 限定ですが、Rust がスクリプト言語っぽく使えるようになっています。Unix系OSやLinuxなどには、text-file の先頭行に #!program と書いておくと、program text-file が起動される shebang と呼ばれる機能がありますが、Rust(というか、cargo)がそれに対応しましたよ、ということです。これまでも cargo-script や rust-script など、同じような取り組みがありましたが、cargo に組み込まれたところがちょっと違うところです。面白そうな気がしたので、試してみました。

    Rustをスクリプト言語として使ってみよう - Qiita
    kabukisan
    kabukisan 2025/02/19
  • git bisect で問題箇所を特定する - Qiita

    以前は問題なく動いていたはずの機能が、最新版では動かなくなっている・・・。こんなときは、「どのコミットが問題を混入させてしまったのだろうか?」を知りたくなるでしょう。 これを手助けするのが git bisect コマンドです。git bisect コマンドは、二分探索によって問題箇所を特定します。 事前準備 最初に大事なことがひとつあります。それは、「問題がない(good)状態と問題がある(bad)状態を、確実に判定できるようにする」 ことです。 当然のことではありますが、ここがあやふやだと、二分探索をしても問題箇所をうまく特定できません。 可能なら、「テストスクリプトを1つ実行するだけで判定」できるようにしたほうが良いです。このとき、テストスクリプトは、git リポジトリからチェックアウトした作業ツリーに対して実行できるようにします(例えばソースからのビルド処理もテストスクリプトに含めま

    git bisect で問題箇所を特定する - Qiita
    kabukisan
    kabukisan 2025/02/17
    “git bisect start”
  • kube-proxyの実装から学ぶiptables 〜 Part 1. kube-proxyの基礎 〜 - Qiita

    はじめに 記事は サイバーエージェント24卒内定者 Advent Calendar 2023 6日目の記事です。 みなさんご存知のコンテナプラットフォーム Kubernetes は様々コンポーネントが組み合わさって構成されており、その中でもワーカーノードのネットワークを制御する 「kube-proxy」 というコンポーネントがあります。kube-proxy はワーカーノード内のトラフィックを制御する方式としていくつかの動作モードを持っていますが、今回はその中でも Linux のネットワーク機能である 「iptables」 を使用する動作モードの挙動を追ってみます。 kube-proxy とは kube-proxy は各ワーカーノードで動くプロセスであり、Pod への通信を可能にするための Service リソース等の作成に応じてワーカーノード内のネットワーク設定を行います。 (引用: h

  • cargo-lambda + cargo-lambda-cdkでRustで書いたLambdaをAWSにデプロイするハンズオン記事 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに LambdaRustで書く機会がありました。 LambdaRustを標準でサポートしているわけではないので、通常であればカスタムランタイムを使うことになると思います。 一見大変そう...と感じるかもしれませんが、cargo-lambdaとcargo-lambda-cdkを用いることによって、快適に開発を進められました。 今回の記事では簡単なAPIをハンズオンで実装することでそのtipsをお伝えできればと思っています。 記事では,POSTすることでDynamoDBにレコード追加をするLambda, GETすることで作成した

    cargo-lambda + cargo-lambda-cdkでRustで書いたLambdaをAWSにデプロイするハンズオン記事 - Qiita
    kabukisan
    kabukisan 2025/02/11
    “cargo lambda watch”
  • [保存版]短期間でKubernetesのCKA、CKAD、CKSの三冠達成したので攻略法(勉強方法の解説とコツ)を共有 - Qiita

    [保存版]短期間でKubernetesのCKA、CKAD、CKSの三冠達成したので攻略法(勉強方法の解説とコツ)を共有初心者kubernetesckadcksCKA はじめに 2022/8月から11月の約3ヶ月弱でKubernetesのCKA、CKAD、CKSの三冠達成をしましたので、 記録として残します。 勉強期間としてはあまりにも短いので、そこは真似しない方がいいと思いますが、記事を参考にすれば、5ヶ月以内で三冠は現実的にいけるかと思います。勉強した時間以外の部分で参考になればと思います。 試験対策のような内容ですが、確実に実力はつきます。 むしろ、実力がないと試験合格は不可能であるため、試験合格=実力がついたと言っても過言ではないです。 (資格があると某ムスカ大佐みたいに、「読める、読めるぞ!!」状態になります。) 「Podは滅びぬ! 何度でもよみがえるさ!」 筆者&読者のターゲッ

    [保存版]短期間でKubernetesのCKA、CKAD、CKSの三冠達成したので攻略法(勉強方法の解説とコツ)を共有 - Qiita
    kabukisan
    kabukisan 2024/12/16
  • 「Microsoft Azure Functions」でのPython関数の作り方 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 概要 Microsoft Azure Functions を使用し、Python関数作成の備忘録です。 今まで、クラウドはAWSばかり触っており、Azureに触れたのが初めてでした。 Azureの情報は公式にはありますが、他にはあまりない印象でした。 AWSAWS Lambdaを使用した時のように簡単にはいかず、苦労したためまとめてみます。 間違った認識をしているのもあるかもしれません。 サンプルプログラムを一通り動作した段階となっています。 ・ローカルのVisual Studio Codeにて環境を構築、ローカル環境で動作確認を実

    「Microsoft Azure Functions」でのPython関数の作り方 - Qiita
  • Python+poetry+fastAPIのDocker開発環境構築 - Qiita

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

    Python+poetry+fastAPIのDocker開発環境構築 - Qiita
    kabukisan
    kabukisan 2024/12/10
    “FROM python:3.11.9-slim-bullseye AS base # baseをbuilderステージで使用 FROM base AS builder”
  • ISUCON初心者のための勉強方法 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? これはなに? ISUCONに関する記事は数多あれど、初心者に対する勉強法をまとめてくれている記事が少ないように感じたので、筆者なりのISUCONの勉強方法を具体的にまとめました。 今回、筆者は2人チームで学生チームとして初めて参加をし、(筆者がサーバーを吹き飛ばすという事故がありながらも)全体で大体180位ぐらい(全チーム数が698チーム)というなんとも微妙な結果になってしまいました。 しかし、ISUCON番では、プロファイリングを行う→ボトルネックを見つける→改善する→スコアが上がるというISUCONの醍醐味を味わうことができました

    ISUCON初心者のための勉強方法 - Qiita
    kabukisan
    kabukisan 2024/12/09
  • Slackbot(Azure Functions×FastAPI)でAzure AI Search(旧Cognitive Search)でベクトル検索をやってみた - Qiita

    Slackbot(Azure Functions×FastAPI)でAzure AI Search(旧Cognitive Search)でベクトル検索をやってみたslackbotAzureFunctionsCosmosDBragChatGPT やりたいこと ファイルに関する質問をSlackメンションに投げると回答を返してくれる。 どうやるか 事前に対象ファイルをAzure AI Searchに読み込ませておく(ベクトルインデックス化) Slackから質問がきたら、OpenAIやCosmosDBを連携させながらAI Search検索を行い その検索結果を基にOpenAIで回答を生成してSlackに返す。 今回のslackbot作成にあたり、こちらを大変参考させて頂きました🙏 誠に有難うございます🙇 https://zenn.dev/microsoft/articles/jp-openai

    Slackbot(Azure Functions×FastAPI)でAzure AI Search(旧Cognitive Search)でベクトル検索をやってみた - Qiita
    kabukisan
    kabukisan 2024/12/09
  • 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