タグ

toenobuのブックマーク (12,543)

  • FractalDBを内製するに至った背景とサービス設計概要

    こんにちは。エンジニアの中野です。前回は、私たちが開発している FractalDB: LINEヤフーのオンプレミス・マルチテナンシー型データベースシステムの紹介という記事を公開しました。 今回は続いて、開発に至った背景とそれからどのようなサービス設計を行ったのか、少し具体的な話をさせていただきます。 課題(FractalDB開発の背景) 社内クラウドDBが欲しい 比較的昔から「パブリッククラウドの"クラウドDB"、例えばAWS DynamoDB(以下DynamoDB)やGCP Cloud SpannerMicrosoft Azure CosmosDBのようなデータベースが社内にも欲しいよね」という漠然とした話はありました。 例えば、DynamoDBを使ったアプリケーション作成は、通常のRDBMSを使ったアプリケーション開発と以下のような違いがあります。 普通のRDBMSを使ったアプリDy

    FractalDBを内製するに至った背景とサービス設計概要
    toenobu
    toenobu 2024/09/29
  • マルチモーダル画像検索アプリを作ってみた! - Qiita

    アプリケーションの紹介 自然言語で画像を検索 入力した検索テキストと 類似した特徴 を持つ画像を検索 画像で画像を検索 アップロードした画像と 類似した特徴 を持つ画像を検索 キャプションを検索して、該当画像を表示 事前に画像のキャプション(説明)を AIで自動生成 してデータベースへ登録 入力した検索テキストと 類似した特徴 を持つキャプションを検索 ヒットしたキャプションの画像を表示 OCRテキストを検索して、該当画像を表示 事前に画像からテキストを AIで自動抽出 してデータベースへ登録 入力した検索テキストと 類似した特徴 を持つ抽出テキストを検索 ヒットした抽出テキストの画像を表示 画像生成プロンプトを検索して、該当画像を表示 事前に画像生成プロンプトをデータベースへ登録 全文検索を使って検索テキスト、正確に一致するプロンプトを検索 ヒットした画像を表示 (生成時の seed 値

    マルチモーダル画像検索アプリを作ってみた! - Qiita
    toenobu
    toenobu 2024/09/28
  • 要件定義について言語化できる様に整理してみた - Qiita

    はじめに エンジニアのみなさま、日々の学習当にお疲れ様です! また記事まで足を運んでいただき当に感謝です。 約3分程度で読めるので最後まで読んでもらえると幸いです。 要件定義フェーズの新しい案件に入る予定です。過去何回か対応したものの、対応手順や内容、要件定義に関わる用語について上手く言語化出来ない箇所があったため、振り返り兼ねて整理してみました。 要件定義とは 要件定義は、システム開発の初期段階で、ユーザーの要求やニーズを具体的な開発内容に落とし込む工程です。要求定義がユーザー視点で 「何を必要とするか」 を定義するのに対し、要件定義は開発者の視点から 「どのように実現するか」 を明確にします。このプロセスでは、システムの機能や性能、利用する技術などを具体的に定め、ステークホルダーと合意形成を行います。 プロジェクトの目的やゴールを明確にし、開発範囲や実装すべき機能を確定するため

    要件定義について言語化できる様に整理してみた - Qiita
    toenobu
    toenobu 2024/09/28
  • 要件定義|3分で読める非機能要件について - Qiita

    はじめに エンジニアのみなさま、日々の学習当にお疲れ様です! また記事まで足を運んでいただき当に感謝です。 約3分程度で読めるので最後まで読んでもらえると幸いです。 先週、要件定義の記事の投稿をしました。時間あればぜひ読んでみてください。 今回は「非機能要件」の 可用性 性能・拡張性 運用・保守性 移行性 セキュリティ システム環境・エコロジー の6項目について理解を深めてアウトプットしようと思います。 非機能要件|6項目について 1. 可用性 システムが継続して利用可能な状態を維持する能力を指します。『稼働率』 で表現されます。システムは定期メンテナンスや予期しない障害により、一時的に利用できなくなることがあります。可用性は、稼働している時間と停止から復旧までの時間の割合で決まります。たとえば、Amazonの「Amazon ECS」サービスは 『99.99%』 の稼働率を保証してお

    要件定義|3分で読める非機能要件について - Qiita
    toenobu
    toenobu 2024/09/28
  • オブザーバビリティには限りがない話

    先日NewRelicのSさんにマンツーマンでオブザーバビリティの話をきかせてもらえるという貴重な経験をした。長年アプリケーションレイヤーも含んでシステム運用の経験があると「あるある」な話なのだが、次のようなことが起こる。 何か不具合や障害が起こる 該当時刻のエラーログなどを見るが情報が少なく、原因を特定する決定打に欠ける 次回、また同じことが起こったときには原因を特定できるように、printfデバッグするコードを大量に埋め込んだバージョンに更新して、デプロイする もう一度起こるのを待つ これは最初の状態が「オブザーバビリティに欠けた状態」だったと言える。めちゃ納得してEnter Sandmanくらいヘドバンして頷いてしまう。 僕の経験上このようなケースを避けるために良い結果を出してきたのは、Javaの例外が出た箇所でスタックトレースを取得しておくことだ(僕らは単にログファイルに吐いておいた

    オブザーバビリティには限りがない話
    toenobu
    toenobu 2024/09/28
  • 新進気鋭の認証サービスClerkを実プロダクトで使いこなせ

    こんにちは。プレイドでWicleを開発しているchakeです。 Wicleはプロダクトを使うユーザーの行動を分析し、改善するサイクルを助けるプロダクトアナリティクスサービスです。先日パブリックベータ版をリリースし、だれでもオンライン上からサインアップすることができるようになりました。

    新進気鋭の認証サービスClerkを実プロダクトで使いこなせ
    toenobu
    toenobu 2024/09/28
  • 意思決定できる人の手順の型 - Konifar's ZATSU

    意思決定できる人は進める手順の型みたいなものを持っているように見える。逆に意思決定が遅かったりできなかったりする人は、進めるときに型のうちの何かが欠けているのかもしれない。 体系化された話は書籍で語られつくされているとは思うが、思考整理のために雑にまとめてみる。 最後は決めるだけだという考えを持つ 目的や満たしたいことを明確にする 最終的な決め方や期日を明確にする 選択肢を広げて考える 今は意思決定しない、という意思決定も選択肢に入れる 意思決定の軸を明確にする 軸をもとに定量/定性データを集める 軸をもとに選択肢を評価する 自分はこうしたいという"推し"を決めてたたき台にする ここまでの話をドキュメントにしている ここまでのプロセスに時間をかけない 意見を聞く人を見定めてフィードバックをもらう 最初に明確にした決め方で意思決定する 意思決定できない場合は決め方と期日と意思決定軸を再定義す

    意思決定できる人の手順の型 - Konifar's ZATSU
    toenobu
    toenobu 2024/09/27
  • 「1塁打」を狙う日本のVCに、存在価値はあるのだろうか?|山田真央|ダイニー

    のスタートアップや VC は、気でホームランを狙っているのか? 大半のプレイヤーがスモール IPO で満足しているのではないだろうか? 日のスタートアップ界隈は、皆、「1塁打」を狙いすぎだ。 起業家のビジョンも小さいし、投資家のレベルも低い。その上で、いやしくてつまらない「界隈意識」と、くだらない「同調圧力」によって、「仲良しこよし」で小さくまとまっている。その生ぬるさと閉塞感には、正直言って辟易している。 来、スタートアップとは「100社に投資して、1社が大成功し、残り99社の失敗を補って余りあるほどのリターンを叩き出す」というゲームである。「ホームランを狙う」というのが、このゲームを支えるグランドルールだ。北米はもちろん、ヨーロッパ、南米、アジア圏においても「ホームランを狙う」ことこそがゲームを回し続けている。 唯一の例外が日だ。ホームランを狙わずに、「仲良しこよし」で「1

    「1塁打」を狙う日本のVCに、存在価値はあるのだろうか?|山田真央|ダイニー
    toenobu
    toenobu 2024/09/27
  • マスタリングAPIアーキテクチャ

    TOPICS Web 発行年月日 2024年10月19日 発売予定 PRINT LENGTH 308 (予定) ISBN 978-4-8144-0089-8 原書 Mastering API Architecture FORMAT Print PDF この10年の間に、ソフトウェア開発を行う方法は大きく変容しました。作業に依存関係が生じるモノリシックなアーキテクチャから、APIによるマイクロサービスアーキテクチャが主役となりつつあります。一度構築すれば終わりではなく、変化とスピード、生産性の向上に対応するため、APIの設計、構築、運用、変更に関するニーズはますます高まっています。 書は、モダンなAPI駆動型アーキテクチャについて解説する書籍です。既存のモノリシックアーキテクチャから、どのようにAPI駆動型のシステムへ発展させていくかを、カンファレンスシステムを例に、具体的なケーススタディ

    マスタリングAPIアーキテクチャ
    toenobu
    toenobu 2024/09/27
  • k6を活用した再現性・拡張性の高い負荷試験基盤の構築

    負荷テストツール4選!ユーザーが語る効果的なパフォーマンステストのプラクティス! 登壇資料 https://trident-qa.connpass.com/event/326996/

    k6を活用した再現性・拡張性の高い負荷試験基盤の構築
    toenobu
    toenobu 2024/09/27
  • 公開鍵暗号方式だからフィッシング対策できるって意見、もうええでしょう|ritou

    定期ってつけてるぐらいいつも言ってることなのですが、公開鍵暗号方式にしたらフィッシング対策もできてすんばらしいみたいな表現には反対です。 何が課題なのかパスワード認証とフィッシング攻撃における課題はいくつかあります。 フィッシングサイトにパスワードそのものが盗まれ、それを使ってログインされてしまう (クレデンシャルスタッフィング) フィッシングサイトの中継により、ログインセッションが盗まれてしまう(MiTM, AiTM) OTP、TOTP、認証アプリなどの認証を追加してもやられてしまう 前者については明示的ですね。そもそもSMS OTPは認証イベントに紐づいていますし、TOTPは時間に紐づけられています。なので前者のような再利用の課題へは元から対策されているとも言えます。Webアプリケーションやネイティブアプリが正規なものに対してのみパスワードが入力されるような仕組みが必要とされていたわけ

    公開鍵暗号方式だからフィッシング対策できるって意見、もうええでしょう|ritou
    toenobu
    toenobu 2024/09/27
  • 【今さら聞けない?!】T3 Stack によるフルスタックWebアプリ開発 - Qiita

    はじめに 今フロントエンド/バックエンドの垣根を超えて巷を賑わせている T3 Stack について調べてみました。要素技術一つ一つが濃密なので、記事ではあまり深入りはしませんが、「それらがどういう旨みを持ってT3 Stackを成しているのか」、「少し動かしたことがあるよ」と読み終わる頃には人に説明できるようまとめてみました。 キーワードは full-stack typesafety(フルスタックな型安全) です。📝 T3 Stack T3 Stack とは、Theo 氏によって提唱された Web 開発技術スタックで、以下の思想に焦点を当てています。 simplicity(シンプルさ) modularity(モジュール性) full-stack typesafety(フルスタックな型安全) The “T3 Stack” is a web development stack made by

    【今さら聞けない?!】T3 Stack によるフルスタックWebアプリ開発 - Qiita
    toenobu
    toenobu 2024/09/26
  • TerraformのCIをAtlantisに移行しました - Repro Tech Blog

    Repro では AWS 等のリソース管理に Terraform を活用しています。 この度 Terraform で管理しているコードの CI を Atlantis に移行したので、その経緯などについて書きます。 背景 Repro では以下のリソースを Terraform を使ってコード化して GitHub で管理しています。 AWS で構築したインフラ DataDog のモニターやアラート Google Cloud Platform で利用している一部のリソース GitHub の reproio organization のメンバーやチーム Kafka Topic MySQL アカウント PagerDuty の通知まわりの設定 Rollbar の通知 移行前は CircleCIAWS CodeBuild を活用して独自に CI を構築していました。 課題 初期から CicleCI

    TerraformのCIをAtlantisに移行しました - Repro Tech Blog
    toenobu
    toenobu 2024/09/26
  • kptでWETなKubernetesマニフェスト管理

    kptでWETなKubernetesマニフェスト管理 みなさん、Kubernetesでのマニフェスト管理ってどうしてますか? Kubernetesでは、GitOpsと呼ばれる運用方法を用いてマニフェストをGitで管理することが一般的です。 マニフェストをGitで管理することで、変更履歴の追跡、コードレビュー、環境ごとのリリース管理をおこなうことができます。 一方でWall of YAMLとも呼ばれるように、マニフェスト管理は一筋縄ではいかず、Kubernetesの利用者を悩ませる課題の1つとなっています。 記事では、メジャーなマニフェスト管理ツールの課題やマニフェストのリリース方式の課題、WETリポジトリと呼ばれるマニフェストの管理方法を紹介した後、 kptと呼ばれるツールを利用し、既存ツールの課題やリリース方式の問題点を解決する方法について解説します。 マニフェスト管理ツール Kube

    kptでWETなKubernetesマニフェスト管理
    toenobu
    toenobu 2024/09/26
  • Linuxで手軽にCPU/メモリの負荷をかける方法 - Qiita

    今日の目標 サーバー構築後、Linuxのリソースの負荷試験を実施する際にLinuxの標準機能だけで負荷を発生させる簡単な方法を学ぶ CPU負荷を手軽にかける 一般的に知られている「stress」といったツールを使って・・・、といった方法ではなく、Linux標準コマンドで出来る方法が良いな~ 番環境とかだと気軽ツールとかインストール出来ないので。 なるべく環境には手を加えない方法をピックアップしてみました。 yesコマンドを使う yesコマンドはOS標準で入っているビルトインコマンドです。 このyesコマンドを連打することによってCPU負荷をかける方法になります。 yesコマンドで処理をかける

    Linuxで手軽にCPU/メモリの負荷をかける方法 - Qiita
    toenobu
    toenobu 2024/09/26
  • CPUに負荷をかけてEC2 Auto Scalingを確認してみた | DevelopersIO

    新卒エンジニアのSongYeongjinです! 今日はAmazon EC2 Auto Scalingをセッティングして、意図的にCPUに負荷をかけて新しいインスタンスが追加される事を確認してみます。 Amazon EC2 Auto Scalingとは? Amazon EC2 Auto Scalingは負荷を処理するために適切な数のAmazon EC2インスタンスを利用できるように準備することができるようにするサービスです。 Auto Scalingグループと呼ばれるEC2インスタンスの集合を作成して最小数と最大数、希望する容量を指定してインスタンスを何個から何個まで使うのかを決めることができます。 Amazon EC2 Auto Scalingでは、次のようなメリットがあります。 耐障害性の向上 インスタンスに異常が発生したタイミングを検出し、インスタンスを終了して、その代わりに新しいイン

    CPUに負荷をかけてEC2 Auto Scalingを確認してみた | DevelopersIO
    toenobu
    toenobu 2024/09/26
  • GitHub - ben-n93/SQL-tips-and-tricks: SQL tips and tricks

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - ben-n93/SQL-tips-and-tricks: SQL tips and tricks
    toenobu
    toenobu 2024/09/26
  • 不要な処理が実行速度を速くする謎を追う - Money Forward Developers Blog

    こんにちは。 id:Pocke です。マネーフォワードでは Rails を用いた Web アプリケーションの開発と、RBS という Ruby の静的型システムの開発を行っています。 最近 RBS の開発をする中で、「不要な処理を削除すると実行速度が遅くなる」という不思議な現象に遭遇しました。この記事ではその現象を解説しようと思います。 なおこの記事は Ruby の知識を前提としないように執筆されており、Ruby の知識が必要となるところには注釈を加えて補足しています。 普段 Ruby を書かない方にも読んでいただければ幸いです。 問題を引き起こした変更 今回の問題は、RBS のメモリ使用量の削減を行っている中で遭遇しました。まずはどんな変更を行おうとしていたかを解説します。 変更の動機 最近私は RBS のメモリ使用量の削減に取り組んでいます。1 その取り組みの中で、RBS のパーサーが作

    不要な処理が実行速度を速くする謎を追う - Money Forward Developers Blog
    toenobu
    toenobu 2024/09/26
  • Classification with Image Embedding with AWS Bedrock Titan Multimodal and Vector DB

    toenobu
    toenobu 2024/09/26
  • マルチモーダル検索とは何か: 「視覚を持った LLM」でビジネスが変わる | Google Cloud 公式ブログ

    Ivan CheungDeveloper Programs Engineer, Google Cloud ※この投稿は米国時間 2023 年 8 月 22 日に、Google Cloud blog に投稿されたものの抄訳です。 もし大規模言語モデル(Large Language Models; LLMs)が、画像を理解する能力をもっていたらどうでしょうか。チャットボットやテキストデータにおいて、今まさに私たちは LLM の革新を体験しています。このイノベーションと同じように、今後 LLM が企業内 IT システムの何百万もの画像を整理し、ビジネスに大きな影響を与えることになるでしょう。この記事では、大規模ビジョン言語モデル(Vision Language Model; VLM)がどのように機能し、この先数年でビジネスにどのような変化をもたらすかを見ていきます。 詳細に入る前に、ライブデモで

    マルチモーダル検索とは何か: 「視覚を持った LLM」でビジネスが変わる | Google Cloud 公式ブログ
    toenobu
    toenobu 2024/09/26