アルダグラム Tech Blogのフィード
https://zenn.dev/p/aldagram_tech
株式会社アルダグラムのTech Blogです。 世界中のノンデスクワーク業界における現場の生産性アップを実現する現場DXサービス「KANNA」を開発しています。 採用情報はこちら: https://herp.careers/v1/aldagram0508/
フィード

賞味期限「30.4.1」って食べて OK?
アルダグラム Tech Blogのフィード
こんにちは!株式会社 Aldagram でエンジニアとして働いている鈴木です。「30.4.1」と印字された賞味期限を見て、何年何月何日だと思いますか?食品製造業向けの新機能を検討する中で、賞味期限を扱う可能性が出てきました。システムで日付を扱うなら、どんな書き方がありうるのかを知っておきたいところです。そこで、賞味期限の表示ルールを調べてみました。 賞味期限の書き方にルールはあるの?まずは法令を探してみました。食品の表示は、食品表示法にもとづく「食品表示基準」という内閣府令で決められています。期限表示のルールは、第 3 条第 1 項の表にありました。品質が急速に劣...
2日前

Bugbash改め『デモ会』へ。CSメンバーが参加するようになって変わったこと
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでQAエンジニアをしているshige_sです。2024年から取り組んでいる「Bugbash」について、以前こちらの記事でご紹介しました。https://zenn.dev/aldagram_tech/articles/7f4f7e5a1f3b97あれから2年以上が経ち、このイベントは今では開発プロセスに欠かせないものとして定着しています。今回は、今年7月から新たに加わった変化と、それにあわせて変更したイベント名「デモ会」についてご紹介します。 これまでの参加メンバーこれまでBugbashに参加してもらっていたのは、以下のような開発に近いメンバーでした。...
17日前

Figma を SoT としてデザインシステムを作り、新 theme を全ページに一括適用しました
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでエンジニアをしている kageyama です今回は、弊社が開発しているアプリ「KANNA」の Web フロントエンドに デザインシステムを導入した話 を書きます。 結論:Figma を「正」にして、人間も AI も迷わず実装できる土台を作ったKANNA の Web(kanna-web)に、次の 3 つをセットにしたデザインシステムをリリースしました。Figma デザインシステムを唯一の正(SoT)にする:デザイナーが管理する Figma のトークン・コンポーネントを、kanna-web 側では MUI の theme(dsTheme)とコンポーネン...
18日前

Application Inference Profile で Bedrock のコストを機能別に分解する
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでエンジニアをしている秋田です。弊社では KANNA のいくつかの機能で Amazon Bedrock を使っています。AIアシスタント、帳票 AI OCR、報告 音声AI、タスク 音声AI などです。ところが、Bedrock の請求を見ても、どの機能がいくら使ったのかが分かりませんでした。全体の金額は出るものの、内訳が取れません。これを機能単位で分解できるようにしたので、その方法を書きます。ただ、この記事の中心は作り方そのものではありません。仕組みを入れたことで別の問題が出てきたので、記事の後半はその話になります。なお本記事の内容は、弊社の構成(Terr...
1ヶ月前

AIのテスト観点を「決定論的」にする - テスト観点カタログを作った
アルダグラム Tech Blogのフィード
こんにちは!株式会社 Aldagramで業務委託QAをしている宮下です!前回は、Claude Code 上で QA プロセスを回す AI エージェント「qa-orchestrator」を作った話を書きました。https://zenn.dev/aldagram_tech/articles/4aea4b13671ae3今回はその続きになります。qa-orchestrator を運用してみて、いちばん気になっていたのが「仕様書に書かれていない振る舞いの観点が抜ける」ことでした。これに対して、テスト観点カタログという仕組みを考え少しずつ運用を始めているので、何を考えてどう作ったか、そして...
1ヶ月前

1Day ハッカソンで、3DGS を使ったルームツアーを作ってみた
アルダグラム Tech Blogのフィード
こんにちは。アルダグラム でエンジニアをしている内倉です!先日、社内で 「夏のAIハッカソン」 イベントがありました。今回で2回目の開催となるこのハッカソンでは、普段の業務とは少し離れて「AI を絡めた、業務やプロダクトに関係するテーマ」に各自が挑戦しました。私が今回作ったのは 「スマホ標準カメラで撮った動画から作る3Dルームツアーメーカー」 です。この記事では、今回作ったものと、3DGS を使ったルームツアーができるまでのハッカソンの様子を、タイムラインに沿ってご紹介します。 1. アイデアを考えるよくある物件情報サイトのルームツアーや、Google ストリートビューを使...
2ヶ月前

MUI の DatePicker と TextField が100個あるモーダルの初期表示を、遅延マウントで94%短縮した話
アルダグラム Tech Blogのフィード
新機能を開発していたとき、追加したモーダルの表示に数秒かかる条件がありました。モーダル内は、1行が「日付 + テキスト」で、行を自由に増やせるフォームです。構成は次のイメージ図のとおりです。数行程度では、何も問題はありませんでしたが、100行になると、モーダルを開くたびに画面が固まる事象が発生しました。そのとき、React Developer Tools の Profiler で計測すると、操作可能になるまでに約3.5秒かかっていました。今回は、その原因を調べて改善した話を書きます。 背景今回実装したモーダルのフォームは、React Hook Form(以降、RHF と表記)...
2ヶ月前

TypeScriptでPoint-free styleが非推奨とされる理由
アルダグラム Tech Blogのフィード
TypeScriptの公式ハンドブック『TypeScript for Functional Programmers』には、Point-free programming について以下のように記されています。Point-free programming — heavy use of currying and function composition — is possible in JavaScript, but can be verbose. In TypeScript, type inference often fails for point-free programs, so yo...
3ヶ月前

いまさら理解する Transformer の概要(数式は使いません)
アルダグラム Tech Blogのフィード
こんにちは!株式会社 Aldagram でエンジニアとして働いている渡邊です!先日弊社メンバーから 【輪読会レポート】Attention ってなに? というブログ記事が公開されましたが、この輪読会に私も参加して、大規模言語モデル(LLM)の仕組みについて学んでいます。今回の記事では数式を使わずに Transformer の概要を紹介します! ちなみに輪読会で読んでいる本ではもちろん数式が出てきます。!LLM 輪読会とは社内で開催されている輪読会の一つで、 LLM の原理を理解することを目標としています!週に 1 回、5 人前後で議論しながら取り組んでいます。読んでいる本...
3ヶ月前

モバイルアプリでFirebaseとSAMLを使って認証する
アルダグラム Tech Blogのフィード
Firebase Authentication with Identity Platformを利用するとSAML認証によるFirebaseへのログインを簡単に実装できるようになりますが、現時点ではウェブでのログインしかサポートしていません。https://firebase.google.com/docs/auth?hl=ja#identity-platform-featuresではモバイルアプリでのログインには使えないのかというとそんなことはなく、ウェブでログインした結果をサーバーを通じてアプリに渡すことで同じように実装できます。具体的にはこんな感じです:ウェブでユーザーにログ...
3ヶ月前

iOS WebView で writing-mode(縦書き)が効かない・崩れる問題の原因と対処
アルダグラム Tech Blogのフィード
アルダグラムで、KANNA というモバイルアプリの開発を担当している小千田です。この記事では、iOS の WebView 上で「縦書き文字の表示」に関して発生した表示不具合と、その対応についてまとめます。 事象KANNA には、KANNAレポート という、工事現場や製造現場で使っている Excel を Web 上でアップロードし、Excel ライクな帳票をテンプレートとして作成・表示・編集できる機能があります。この機能は Web とアプリ(WebView)の両方で提供しています。今回、お客様から「Web では表示できるのに、アプリだとうまく表示できない帳票がある」という不具合報...
3ヶ月前

Speech-to-Text Chirp 3 が asia-northeast1 で PERMISSION_DENIED になる原因
アルダグラム Tech Blogのフィード
はじめにGoogle Cloud Speech-to-Text V2 の chirp_3 を asia-northeast1 で利用した際、一部のプロジェクトで以下のエラーが発生しました。7 PERMISSION_DENIED:Permission denied for project <PROJECT_NUMBER>on model chirp_3 locale ja-JP.It is no longer generally available.一方、同じモデルとリージョンを指定していても、別のプロジェクトでは正常に動作していました。Google Clou...
3ヶ月前

Claude Codeのskillをskillでレビューする ― 静的チェック×LLMレビュー×git hooksの3層ゲート
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでQAエンジニアをしている千葉です。私たちのQAチームでは、テスト分析からテスト設計までのQAプロセスをClaude Codeのskill(スキル)として整備し、チームで共同運用しています。その中心が、これらのQAプロセスを丸ごと任せられるAIエージェント「qa-orchestrator」です。仕組みと効果は、弊社QAメンバーが記事にしていますのでそちらもご参考ください。https://zenn.dev/aldagram_tech/articles/4aea4b13671ae3今ではqa-orchestratorの存在を前提に、固定制インプロセスQAから...
3ヶ月前

固定制インプロセスQAからプール制へ——QA体制を再設計した話
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでQAエンジニアをしているshige_sです。私たちQAユニットでは、ノンデスクワーカー向けアプリ「KANNA」の品質保証を担っています。これまでアルダグラムのQAユニットは、各開発チームに固定のQAエンジニアが所属する「インプロセスQA」という体制を採用していました。しかし、プロダクトの成長と開発組織の拡大に伴い、この体制では対応しきれない課題が生まれてきました。この記事では、固定制からプール制への移行という大きな体制転換を、どのように設計・運用しているかをご紹介します。 1. これまでの体制:固定制インプロセスQA従来のQA体制では、各開発チー...
4ヶ月前

【輪読会レポート】Attention ってなに?
アルダグラム Tech Blogのフィード
こんにちは!株式会社 Aldagram でエンジニアとして働いている鈴木です!Attention って何なのか、気になりますよね?Google の有名な論文「Attention Is All You Need」のあれです。正直、名前を知っているだけで、何のことか全然わかっていませんでした!今回は、LLM 輪読会で Attention について扱ったので簡単に紹介します!!LLM 輪読会とは社内で開催されている輪読会の一つで、 LLM の原理を理解することを目標としています!週に 1 回、5 人前後で議論しながら取り組んでいます。読んでいる本: 作ってわかる大規模言語...
4ヶ月前

[Rails]一括インポート処理におけるメモリ改善
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでエンジニアをしている kageyama です私たちが開発している「KANNA」のバックエンド(Ruby on Rails)で、案件インポートの上限を引き上げるための取り組み記録です。単純な上限値の変更ではなく、Worker のメモリ枯渇 という壁にどう向き合い、計測 → クイックウィン → 根本対応と段階的に削っていったか、コードを交えて紹介します。 TL;DR既存案件インポートの処理は 行数 × カスタマイズ項目数 に比例してメモリを食う。500 件で数百MB、仮に単純計算で 3,000 件なら 1.5GB 超。Worker が落ちると他ジョブ...
4ヶ月前

Blacksmith 導入で GitHub Actions のコストを約1/3にした話
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでエンジニアをしている秋田です。弊社では複数のリポジトリで GitHub Actions を使って CI/CD を回しており、Rails の RSpec や各種デプロイなどが毎日大量に走っています。ここしばらく「GitHub Actions の請求が地味に重い」「重い CI が遅い」という悩みを抱えていたのですが、ランナーを Blacksmith に移行することで、コストを下げつつ重い CI の実行時間も短くすることができました。本記事では、その背景・PoC・本格移行・ハマりどころ・結果をまとめます。https://www.blacksmith.sh/...
5ヶ月前

Aurora → Datastream → BigQuery で社内分析基盤を作り直してる話
アルダグラム Tech Blogのフィード
こんにちは、アルダグラムのSREエンジニアの okenak です。今期は、社内のデータ分析基盤を、Web 上の GUI から SQL クエリを実行・可視化できる OSS の BI ツール Redash を中心とした構成から、BigQuery を中心とした構成に拡張する対応を行いました。具体的には、Aurora MySQL / PostgreSQL の変更データを Google Cloud Datastream でほぼリアルタイムに BigQuery へ同期する CDC パイプラインを構築しています。本記事ではその際の方式選定の経緯と、構築にあたっての設計判断について整理してみたいと思...
5ヶ月前

QAボトルネック解消に挑戦 - QAプロセスを qa-orchestrator に任せてみた
アルダグラム Tech Blogのフィード
1. はじめにこんにちは。アルダグラムで業務委託QAをしている miyashita です。今回は、qa-orchestrator という AIエージェント(Claude Code の skill / agent 群)について、なぜ作ったか / どう設計したか / 結果どうなったか を一通り書きます。3 行サマリQA が開発のボトルネック化してきて、属人化も気になっていたClaude Code 上で QAプロセスを担う AIエージェントを作った結果:テスト設計工数 約 45% 削減、クオリティ・フォーマットも一定化(ただし課題も残っている)AIをQAプロセスにどう...
5ヶ月前

Amazon S3 Vectors で、ベクトル DB を立てずに画像検索 PoC を作る
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでエンジニアをしているやすまさです。建設・施工管理 SaaS「KANNA」では、現場写真が日々大量にアップロードされています。これらを「足場の写真」「配筋の写真」のように 自然言語で検索したい という要望は以前からありましたが、ベクトル DB を一台立てて運用する、というのは PoC のハードルとしては少し重めでした。そこで、2025 年に一般提供が始まった Amazon S3 Vectors を使って、KANNA の現場写真をテキストで意味検索するプロトタイプを作ってみました。本記事ではその構成と、実際に作って分かった所感を共有します。 TL;DRA...
5ヶ月前