selmertsxの素振り日記

ひたすら日々の素振り内容を書き続けるだけの日記

Model Armor による Prompt Injection 対策について

この資料の目的 最近 Prompt Injection対策の1つである Model Armor を調査しました。 Model Armor はPrompt Injection対策の1つである「入力の検証及びサニタイズ」と「出力の検証」に利用できます。 本文書では、まず Prompt Injection と、その攻撃経路…

Workload Identityの運用とECSにおける設定例

はじめに 約1年前、AWS Lambda から Vertex AI を利用する際に Workload Identity を使用しました。 最近、AWS ECS (Fargate) で同様に Workload Identity を設定しようとした際に手順を完全に忘れてしまっていたため、備忘録としてこの記事を執筆します。 …

個人的な技術選定観

この文書の目的 最近、「森岡さんって技術選定するとき、めっちゃ本読んだり資料見るけどどうしてですか?公式ドキュメントだけで十分じゃないですか?」という話を受けまして、 そのときは「いやぁ、ある程度体系的に理解してから判断したいじゃないですか…

2~3年後のAIサービスと今のプロダクトマネージャーに求められること

この記事の目的 自分用の備忘録です。 2~3 年後、想定が当たったらちょっと嬉しいな。くらいのポエムです。 TL;DR 現時点で多くの人が AI に期待することは雑に言うと下記2点だと思う 人間ができることを効率化・自動化する 人間の能力ではできないことを実…

LLMプロダクトの開発プロセス例

はじめに この記事は、LLM を活用したシステムを企画・実装・運用する際のプロセスについて、私が考えた1つのサンプルの、そのまた一部を紹介するものです。 あくまでサンプルなので、状況によって全然活用できないかも知れません。読まれる方はそれを念頭…

Gemini にて自然言語で画像認識の指示をする

TL;DR 過去、趣味プロダクトで SAM ( Segment Anything Model ) を利用してました SAM はGPUやメモリ等のリソースをそれなりに必要とするので、金銭的な問題からクラウド上で動かせていませんでした GPUや大量のメモリがなくてもシステムを動かせる環境が欲…

ECS FargateでSolid Queue の health checkをする

この記事に書いてあること 本日、隣のチームから 「Solid Queue の コンテナをECSにデプロイしたけど health checkが通らない!助けて〜」とヘルプを受けまして、 最近ぜんぜんRailsを触ってなかったからワイワイと対応しました。 世のブログにはあんまり情…

AIを利用したサービスにおける構造化データの作成と活用例

はじめに 最近、休日に何人かの人達と、AI を活用したアプリケーションをつくってます。 その開発は AI 技術のキャッチアップを目的としており、あえてやや複雑な問題を扱っています。 僕はそこで技術選定と設計をしたわけですが、「Mastra だけじゃ駄目です…

心理的安全性が高いチームでリーダーがやってること

はじめに 今、めっちゃ仕事がしやすいです。 仕事がしやすいのはチームに心理的安全性があるからだろうなーと思っていて、 その状態を率先して作ってくれたチームリーダーの振る舞いや発言を忘れる前に書き出してみました。 ※ 注意 途中心理的安全性がないチ…

Terraformを使ってTypeScriptのLambdaをDeployする方法

この資料の目的 この記事では Terraform で、TypeScript を利用した AWS Lambda を管理する方法を記載しています。 個人的な好みで言えば Lambda を IaC で扱う場合、AWS の提供してくれる CI/CD の機能・サービスに乗りやすい CDK の方が好みです。しかし、…

「ChatGPT/LangChainによるチャットシステム構築 」という書籍が素晴らしかったのでNode.jsでも書いてみた

はじめに 「ChatGPT/LangChainによるチャットシステム構築」 という本が素晴らしかったので、ちゃんと身につけるために Python だけじゃなくて Node.js でも動かしてみました。同じことをやろうとした人のために、ここにそのときの記録を残します。特に call…

腕前で生きてるとWHYよりもHOWに執着しがち

はじめに この投稿はポエムです。 技術的な記事を期待してる人はブラウザバックお願いします! なおこの文書は諸々の理由により、一部ぼかしたところがありますがご容赦ください。 TL;DR 有名になった方法論は、目的が忘れられて、手段だけ広がることがある …

OCR用のSaaSをアレコレ調査してみた

TL;DR ちょっとプライベートでOCRを使ってみたかった SaaS決定の判断基準は下記 精度、費用、開発のしやすさ ( ライブラリの品質、インフラ設定の工数など ) 選定対象のSaaSは次の通り Microsoft Form Recognizer、Cloud Vision、adobe extract API 選定基準…

【PO編】PO&SMをやめるので過去の学びをアレコレ書いてく

背景 2年間くらい PO & Scrum Master とソフトウェアエンジニアを兼務したり色々あった この度、ソフトウェアエンジニアに集中できることになった せっかくなので、忘れる前に ( もうたくさん忘れたけど ) 書き出すことにした この記事は、未来の自分が思い…

チームみんなが参加しやすくなるIaC設計の工夫

モチベーション 私は「インフラ」という言葉は、人によって受け取り方が大き違う言葉だと思ってます。 「よく分からないけど難しそうなので出来れば触りたくない」という人や、「ごく小数の人にしか触らせたくない」という人、 「IaaS、PaaSはインフラと認め…

新しい技術を検討する際、PdMとして事前に決めておくこと

この資料の目的 自分のキャリアを振り返ってみると、PdMとソフトウェアエンジニア業を兼務することが多くありました。PdMとして業務していくなかで、エンジニアへのお願いの仕方を間違えて、想定よりも多く時間が掛かってしまうこともありました。その問題は…

説明・説得コストについてアレコレ考えたこと

TL;DR 払うべき説明・説得コストと、払うべきでない説明・説得コストが存在する 払うべき説明・説得コストとは、その行為によって期待する成果 (積極的に) 払うべきでない、もしくは説明の方向性を逆転すべき説明・説得コストは、下記の通りだと考えている …

ドメイン乗っ取りを防ぐためにAWSで .com ドメインを使っている

TL;DR JPドメインの管理をしている株式会社日本レジストリサービスには、下記の規則がある ざっくり言うと、「誰かがあなたのドメインを欲しいと言って、あなたが10日以内に返事をしなければ、ほしいと言った人にあげちゃうよ」という規約である // https://…

AWSにおける踏み台(Bastion)サーバーの作り方

モチベーション Bastionサーバーは、会社のサーバーの入り口であり、アクセス管理は厳重に行う必要があります。Bastion(要塞)という名前の通り、各社強力なセキュリティの対策を行っていました。最も一般的なものだと、個人ごとにアカウントとSSHアクセス用…

TypeScriptのnode-fetchをテストの際にmockする

モチベーション TypeScript で node-fetch のライブラリを使ってテストするのに少し手間取った 他にもハマる人がいるかも知れないので、ここに記事として残しておく テストしたい内容 Soracom Arcを利用して unified endpointにテストデータを送信したい テ…

モブプログラミングの進め方

この文章の目的 システム開発における共通認識の作成、または共同学習を目的としてペア/モブプログラミングが有効とされています。 モブプロをより良いものにするためのプラクティスについて、モブプログラミング ベストプラクティスという書籍を元に説明し…

Terraform / aws-cdk を比較してみた(個人の所感です)

プライベートにて、経験の浅いチームから aws-cdk と terraformどちらが良いのですか?と聞かれたのでまとめてみました。間違いがあればご指摘いただければ幸いです。 前提 利用する人間はIaCの初心者である 当然 CloudFormation等に関する基本的な知識がな…

課題を整理・分類し、対処できるように解像度を高めていく

モチベーション 日々、未加工の生肉のような課題っぽいものが飛んでくる 課題っぽいものの中で、今の状態で実施すべき打ち手を把握したい 課題をうまく整理・仕分けし、上記を実施していきたい 課題の図 そもそも課題とは何でしょうか。本書は課題を理想と現…

アジャイルとリーン・スタートアップを組み合わせた開発プロセス ( 施策立案編 )

突然ですが最近転職しました。転職先は三菱重工業です。 業務内容については、概ねこちらの記事に書いてある感じです。 多くの人が意外に思うかも知れませんが、AWSをゴリゴリ使って毎日楽しくシステムを作ってます。 findy-code.io 製造業の世界に飛び込ん…

Azitで学んだことの棚卸し(たぶんずっとWIP)

2019年7月から参加したAzitを、2020年6月30日をもって退職することになりました。 AzitにはSREとして参加しましたが、開発プロセスを設計したり、開発物を考えたり、データを分析してみたり、 振り返ればSRE的な仕事はほとんどしておらず、色んなことに手を…

react-railsを利用したRailsアプリケーションにてCSRFの対策を行う

はじめに 最近久しぶりに Rails で Web アプリケーションを開発しました。その中で React でフォームを作ることになったため、CSRF に関する対策について調べました。そのとき調べた内容を記載します。 なお、React の利用は SPA などではなく、react-rails …

アジャイルとリーン・スタートアップを組み合わせた開発プロセス ~第3回 ライフサイクルとOMTM~

前回の記事では「事業計画とのすり合わせ」のステップについて記載しました。 selmertsx.hatenablog.com 今回の記事も、引き続き「事業計画とのすり合わせ」のステップについて説明しています。 TL;DR 顧客のライフサイクルを書き出し、課題の解像度を上げま…

アジャイルとリーン・スタートアップを組み合わせた開発プロセス ~第2回 数値目標の認識合わせ~

先日書いたこちらの文章における、「事業計画とのすり合わせ」のプロセスについてのお話です。 selmertsx.hatenablog.com 一口にスクラムマスターと言っても、事業計画に関わる深さは人によって異なります。 会社の文化や、その他様々な要素によって変わるで…

アジャイルとリーン・スタートアップを組み合わせた開発プロセス ~第1回 概要~

2019年8月にAzitに入社して4ヶ月。 私はSREとしての役割を期待されてAzitに入社したけれども、気がつけばバックエンドエンジニア兼スクラムマスターをやっていました。 バックエンドエンジニアとしては、AWSインフラ環境の完全な作り直しとTerraformによるコ…

エンジニア面接において構造化面接を取り入れる際に色々考えたときのメモ

前提 このドキュメントは、Work Rulesと失敗の科学 、そして Google re:Workに記載されている面接方法をベースに書いています。上記の資料について、既に古い認識になっている。またはより良い知識がある場合は、このドキュメントは既に古いものになっている…