タグ

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

  • リレーショナルデータベース設計の完全ガイド - 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

    これはなに? ISUCONに関する記事は数多あれど、初心者に対する勉強法をまとめてくれている記事が少ないように感じたので、筆者なりのISUCONの勉強方法を具体的にまとめました。 今回、筆者は2人チームで学生チームとして初めて参加をし、(筆者がサーバーを吹き飛ばすという事故がありながらも)全体で大体180位ぐらい(全チーム数が698チーム)というなんとも微妙な結果になってしまいました。 しかし、ISUCON番では、プロファイリングを行う→ボトルネックを見つける→改善する→スコアが上がるというISUCONの醍醐味を味わうことができました。 練習や模擬戦では、ISUCONで最低限戦うための、勉強やShellスクリプトの準備に殆どの時間が費やされてしまい、肝心のチューニングで手を動かして勉強するということに時間をあまり費やすことができませんでした。 記事はそうした、事前準備に加えて、筆者の今

    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
  • 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

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Linuxサーバーの最適化: vmstatとiostatを活用した性能分析と対処法 0.目的 インフラ開発者として、必須な性能分析を身につけることを目的としています。 カーネルパラメータをチューニングをする際に性能分析を前提とし、分析結果からチューニングしていきますが、具体的な指標というものが少ないので参考になれば幸いです。 基的なvmstatの使い方については、ちょっとググればいくらでも出てくるので割愛します。 「Linuxカーネルパラメータのチューニング&設計」でロードアベレージが高い状態にある場合、次のアクションとしてCPU使用

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

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Linuxカーネルパラメータのチューニング&設計 0.目的 【カーネルパラメータのチューニング】を修得する目的は、サーバの特性を理解し、それぞれに合ったカーネルパラメータのチューニングすることでリソースの有効活用をできるようになることを目的とし、私個人の経験を元にした見解を以下の記事に掲載します。 1.最初に サーバには、それぞれ必要なリソース特性があり、それに合わせたカーネルパラメータのチューニングが必要となります。 世の中の流れはオンプレよりクラウドに移行してはいるので、カーネルパラメータのチューニングよりスケールアップなりスケール

    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

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 目次 はじめに 何故出願したか 何故ジョージア工科大学か どうやって準備したか おわりに はじめに 既に先人たちが書かれている記事も多々ありますが、2023年3月にジョージア工科大学のコンピュータサイエンス修士過程に出願して合格しました。8月から授業が始まるので忘れない内に何故出願したのか、どのように出願準備したのかについてまとめようと思います。働きながら米国のコンピュータサイエンス大学院進学を考えている方々の参考になりますと幸いです。 Acceptance Letter ー 合格証 何故大学院に出願したか ジョージア工科大学に出願した

    ジョージア工科大学でコンピュータサイエンスを学び始める話 - Qiita
    kabukisan
    kabukisan 2024/07/20