リバナレテックブログのフィード

https://zenn.dev/p/lnest_knowledge

使い倒せ、テクノロジー。(MAX OUT TECHNOLOGY)をミッションに掲げる、株式会社リバネスナレッジのチャレンジを共有するブログです。Buld in Publichの精神でオープンに綴ります。 Qiita:https://qiita.com/organizations

フィード

記事のアイキャッチ画像
Repository パターンを「DB 差し替え用の層」だと思っていたのは間違いだった
リバナレテックブログのフィード
はじめに以前の私は、Repository パターンを「データアクセス層を切り分けるための定番パターン」くらいに捉えていました。たとえば、アプリケーションから直接 DB クライアントや ORM を触らないように、次のようなインターフェースを作る。interface UserRepository { findById(id: string): Promise<User | null> save(user: User): Promise<void>}そして、実装として PrismaUserRepository や InMemoryUserRepos...
2ヶ月前
記事のアイキャッチ画像
AIに毎回コンテキストを渡すworkspaceテンプレートを作った
リバナレテックブログのフィード
ゆるコンピュータ科学ラジオを毎週楽しみに聞いています。少し前の「個人情報を保護する時代は、終わりました。」という回で、AI に何かを頼むとき自分の情報をどこまで渡すか、という話をしていました。聞きながら、たしかに自分も毎回いろいろ渡しているな、と思ったのがきっかけです。それで、AI に単発で相談するのではなく、自分の文脈を Markdown と git に貯めておいて、毎回同じ前提で作業してもらう。そのための workspace テンプレートを作りました。https://github.com/shown-it/ai-delegation-workspace-templateこの記事...
2ヶ月前
記事のアイキャッチ画像
Claude FableがOpusへフォールバックした部分だけ、Codexを監督にしてやり直す
リバナレテックブログのフィード
Claude Fable 5に文章を書かせていたら、生成の途中でClaude Opus 4.8へフォールバックし、ひとつのファイルの中に2つのモデルの編集が混在しました。書かせていたのは、連番で28ファイルに分かれた長い文章です。あれ、と思ったのは、ファイル12を書かせている途中でした。切り替えの通知は出ます。応答モデルの表示もあります。それでも、複数ファイルを連続で編集したあとでは、出来上がった文章だけを見て「ここまでがFable、ここからがOpus」と線を引けませんでした。やったことは2つです。まず、ローカルのログから「Fableが最後に書いた状態」を復元する。次に、Codexの...
2ヶ月前
記事のアイキャッチ画像
MCP Appsホストを自作する: SDK同梱AppBridgeでチャット内UIを動かすまで
リバナレテックブログのフィード
はじめに前回、Slackbot MCP Clientを検証したとき、公式サンプルの rich-responses/mcp-apps でMCP Appsという拡張に出会いました。そのときはMCP serverの単体テストまでで、UIの表示確認は宿題として残していました。https://zenn.dev/lnest_knowledge/articles/slackbot-mcp-client-retry-no-authSlackbotからの表示確認に行く前に、まずMCP Appsそのものを理解しておきたい。ということで、公式のビルドガイドに沿って手元で動かしてみました。チャットの返...
2ヶ月前
記事のアイキャッチ画像
Slackbot MCP Clientを再検証したらサイコロMCPをSlackbotから呼べた
リバナレテックブログのフィード
前回止まったところ前回、Slackbot MCP Client を試した記事を書きました。https://zenn.dev/lnest_knowledge/articles/slackbot-mcp-client2026年6月19日時点では、自分の環境で mcp:connect を manifest に入れると illegal_bot_scopes で止まりました。App Settings に MCP Servers も出ておらず、Slackbot から MCP tool を呼ぶところまでは進めませんでした。そこから少し経って、Slack の公式サンプルに Slackbot ...
2ヶ月前
記事のアイキャッチ画像
Anime.js v4 で Three.js を動かしてみた:engine.update 問題と、4.5.0 で増えてた公式アダプタ
リバナレテックブログのフィード
はじめにAnime.js v4 と Three.js を組み合わせて、3D を宣言的に動かすデモを作りました。きっかけは「Three.js のオブジェクトってただの JS オブジェクトだから、mesh.position.y を Anime.js で補間できるよね?」という軽い思いつきです。先に言っておくと、組み合わせ自体はかなり良かったです。良かったんですが、移行ガイドや解説記事のとおりに書き始めたら、最初の30分で何か所もズレました。npm i animejs で入ってきたのが想定より新しい 4.5.0 で、下調べしていた前提がいくつか古くなっていたんです。なので今回は、ドキ...
2ヶ月前
記事のアイキャッチ画像
Slackbot MCP Clientを試したが、2026-06-19時点ではmcp:connectが通らなかった
リバナレテックブログのフィード
2026年6月18日に Slackbot MCP Client が発表されました。https://docs.slack.dev/changelog/2026/06/18/slackbot-mcp-client/Slackbot が MCP Client になり、Slack アプリに登録した remote MCP server を Slackbot から呼べるようにする機能です。この記事は、Slackbot MCP Client が動いた手順ではありません。2026年6月19日時点で、自分の環境でどこまで確認できたかの検証ログです。Slackbot から MCP tool を呼ぶと...
2ヶ月前
記事のアイキャッチ画像
Claude Code Artifactsを試したら、Team/Enterprise限定で自分には使えなかった話
リバナレテックブログのフィード
はじめに2026年6月18日、Claude CodeにArtifactsが追加されました。https://claude.com/blog/artifacts-in-claude-code公式ブログでは、Claude Codeのセッション中の作業を、PRウォークスルー、システム説明、ダッシュボード、リリースチェックリストのようなライブで共有できるページにできる、と説明されています。これを見て、自分がClaude Codeのルーチン(定期実行)で毎朝やっている作業に合いそうだと思いました。AI界隈や気になるアカウントのXと技術トレンドをざっと集めて、その日の発信テーマ候補、SNS...
2ヶ月前
記事のアイキャッチ画像
validateは通ったのに投稿でコケた──Slack Block Kitの新グラフブロックを当日に試した話
リバナレテックブログのフィード
ある日 Slack の changelog を眺めていたら、Block Kit に data_visualization block という新顔が増えていました。「お、ついに Slack にグラフを直接出せるやつだ」とテンションが上がり、リリース当日にそのまま触りました。https://docs.slack.dev/changelog/先に結論を言うと、めちゃくちゃ便利です。便利なんですが、最後の最後で1個だけ盛大に転びました。blocks.validate が「OKだよ」と太鼓判を押してくれた payload を、いざ chat.postMessage で投げたら普通にエラーで落ち...
3ヶ月前
記事のアイキャッチ画像
CodexがDevToolsの中まで見てくれる!新機能Developer mode(CDP)でブラウザデバッグを実測してみた
リバナレテックブログのフィード
はじめに2026年6月11日の Codex app 26.609 で、Browser use 向けに Developer mode が追加されました。OpenAI の changelog によると、Chrome と Codex の in-app browser で Developer mode が使えるようになり、Chrome DevTools Protocol(CDP)経由で network traffic、console output、runtime errors、page state、performance profiling まで確認できるとのこと。https://de...
3ヶ月前
記事のアイキャッチ画像
SlackにExcelを投げたらAIが返ってこない。ログとxlsx2csvで直した話
リバナレテックブログのフィード
はじめにSlackアプリ「Party on Slack」で、Excelファイルを添付してAIに質問すると、回答が極端に遅い、もしくは返ってこないことがありました。Party on Slackは、SlackにAIを呼べるようにするアプリです。インストールはこちらから。https://slack.com/marketplace/A04S4LQJHHT最初は「LLMが重いんでしょ」くらいに思っていました。でも、Herokuのログ、Redisのキュー状態、Slack上の応答タイミングをAIエージェントと一緒に追っていくと、犯人はLLMだけではなくて。むしろLLMに渡す前、ファイル取得...
3ヶ月前
記事のアイキャッチ画像
LLM時代に非構造化データを構造化して扱う設計を考える
リバナレテックブログのフィード
はじめに最近、非構造化データや現場由来のデータをどうAIで扱うかについて考えることが増えました。これまで非構造化データというと、画像、音声、紙の帳票、動画などは扱いづらいデータという印象が強かったと思います。これらをシステムで扱うには、OCR、音声認識、画像認識など、それぞれ専用の処理を用意する必要がありました。しかし、LLM自体の性能向上によって、非構造化データをAIに解釈させることが現実的になってきました。その中でもマルチモーダル化は大きな変化で、画像や音声のような入力を、従来より少ない前処理で扱える場面が増えています。一方で、LLMに入力して自然文で結果を返すだけでは、...
3ヶ月前
記事のアイキャッチ画像
Deno Slackアプリを複数人で更新できるようにする
リバナレテックブログのフィード
この記事で書くことSlack Platform、つまり Deno Slack SDK で作ったアプリを運用していると、複数人で同じデプロイ済みアプリを更新したくなることがあります。複数人で更新するには、ソースコードだけでなく、Slack 側の collaborator 設定、Slack CLI のログイン状態、ローカルプロジェクトとデプロイ済みアプリの紐付けを確認します。Deno Slack SDK のアプリは、初回デプロイしたユーザーだけに更新権限が固定されるわけではありません。更新する人が対象 Workspace にログインでき、対象アプリの collaborator に...
3ヶ月前
記事のアイキャッチ画像
Codex Appのリモート接続で別のMacでのスレッドのやり取りをそのまま続ける
リバナレテックブログのフィード
この記事で書くことCodex Appのリモート接続を使って、別のMacから母艦Mac上のプロジェクトやスレッドを扱う方法を整理します。自分が最初に迷ったのは、次の点です。別端末から母艦Macに接続できたでも、母艦Macで使っていたプロジェクトやスレッドが期待した形で見えなかった結論から言うと、母艦Macに接続するだけでは足りません。接続元のCodex App側にも、母艦Mac上のディレクトリをリモートプロジェクトとして追加する必要があります。 前提この記事では、次の構成を想定します。母艦MacでCodex Appを起動している手元のMacから母艦Macに接...
3ヶ月前
記事のアイキャッチ画像
Amplify Gen2 の Lambda リゾルバー数上限を Custom AppSync で回避した話
リバナレテックブログのフィード
はじめに前回の記事では、Amplify Gen2 の a.handler.function() で Lambda リゾルバーを大量に定義すると、83 個で上限に達することを確認しました。Amplify Gen2 の Lambda リゾルバーは何個まで定義できるのか?上限を検証した本記事は、Amplify Gen2 のデプロイ上限を調べたシリーズの第3弾です。シリーズでは以下を扱います。回テーマ1a.model() のテーブル数上限2a.handler.function() の Lambda リゾルバー数上限3Custom AppSyn...
3ヶ月前
記事のアイキャッチ画像
Amplify Gen2 の Lambda リゾルバーは何個まで定義できるのか?上限を検証した
リバナレテックブログのフィード
はじめに前回の記事では、Amplify Gen2 の a.model() を大量に定義したときのテーブル数上限を検証しました。Amplify Gen2 の a.model() は何個まで定義できるのか?認証ルール別に上限を検証した本記事は、Amplify Gen2 のデプロイ上限を調べたシリーズの第2弾です。シリーズでは以下を扱います。回テーマ1a.model() のテーブル数上限2a.handler.function() の Lambda リゾルバー数上限3Custom AppSync による Lambda リゾルバー数上限の回避...
3ヶ月前
記事のアイキャッチ画像
Amplify Gen2 の a.model() は何個まで定義できるのか?認証ルール別に上限を検証した
リバナレテックブログのフィード
はじめにAmplify Gen2 は a.schema() にモデルを追加していくだけで、GraphQL API、DynamoDB テーブル、AppSync リゾルバー、IAM 権限などをまとめて構築できます。一方で、プロダクトの規模が大きくなると気になるのが 「a.model() は何個まで増やせるのか」 です。今回、検証用リポジトリで Amplify Gen2 のモデル数上限を実測しました。この記事では、allow.authenticated() と allow.guest() で上限がどう変わるのか、どの AWS の制限がボトルネックになるのかを整理します。なお、この記...
4ヶ月前
記事のアイキャッチ画像
Codex appをWindowsで使用するためのセットアップ【備忘録】
リバナレテックブログのフィード
はじめにOpenAIが2026年2月にリリースしたCodexデスクトップアプリ(以下、Codex app)のWindowsで使用するためのセットアップ方法を備忘録です。Mac OS番で先行して開発が進められている関係もあり、Windows版での快適な環境構築があまり資料としてまとまっている感じもしていないので、個人的なメモ程度に記述します。あんまり多いと微妙なので、絞ってます。 ソフトウェア一覧パッケージ管理ソフトwingetscoopUniGetUIターミナルWindows TerminalPowerShell開発ツールuvVite+mi...
4ヶ月前
記事のアイキャッチ画像
Claude Designで自分のポートフォリオサイトを8bit風にリニューアルしてみた
リバナレテックブログのフィード
はじめに2026年4月17日にClaude Designがリサーチプレビューで公開されました。claude.ai/design 上で動くデザインツールで、チャットで指示すると右のキャンバスにHTMLプロトタイプが出てきます。前に書いた一切コーディングせずにAI連携だけでWebサイトを作った話で作ったZenn / noteの記事一覧サイトが、半年以上Material Design 3のまま放置されていたので、ちょうどいい機会と思ってリニューアルに使ってみました。半年放置されていたMaterial Design 3版のサイト結果はこちらです。今回も自分でコードは書いていませ...
4ヶ月前
記事のアイキャッチ画像
SORACOMデバイスの監視をSlackに集約!slack-utils-soracom をリリース🎉
リバナレテックブログのフィード
はじめにSORACOMには、閾値を超えたらすぐ通知するリアルタイムアラート(Lagoon / Funnel / Flux)がすでにあります。一方で、日常の運用では定期的に状況を確認して共有するニーズもあります。「毎朝SIMの状態を一覧で確認したい」「CO2レポートを日次でチームに共有したい」「ソラカメのスナップショットを定期的にSlackに流したい」——こうした定期チェック・レポートをSlackのワークフローに載せるために、slack-utils-soracom を開発しました。SORACOMの通知機能を補完する、再利用可能なカスタムステップ集です。https://gith...
5ヶ月前