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

Next.jsのビルド速度を改善したい〜Next.jsのTrace情報を分析してボトルネックとなっている処理を特定してみる
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでエンジニアをしている今町です。ある日、Next.js で作られた Web アプリケーションをデプロイしていたときの話。「なんか、Next.js のビルド速度、遅くない…?」ということに気づきました(全体のデプロイ時間のうち、7 割がビルド時間になっていました)そんなわけで、Next.js のビルド速度を改善することにしました。 Next.js のビルド時間が遅い原因(ボトルネック)の調査まずは、Next.js のビルド時間のうち、どこの処理がボトルネックになっているのか特定する必要があります。Next.js は .next/trace にトレース情...
5時間前

生成AIでのテスト設計はこの「勘所3つ」を押さえれば大丈夫
25

アルダグラム Tech Blogのフィード
はじめにこんにちは!アルダグラムでQAのお手伝いをしているmiyashitaです!最近、QAのシステムテスト設計でもAI使いたいなぁ~と思い、色々と試行錯誤していました。その中で、こんな勘所を持っていたらAIでうまくテスト設計していけるのかも?と感じたところがありましたので、今回はそちらを紹介できればと思います。 使用するツールChatGPT:o4-mini-high 今回やりたいこと仕様書を解析して、テスト観点表を作成してもらう仕様書及びテスト観点表を基に、テストケースを作成してもらう 主な勘所AIをテスト設計で活用するための勘所は、以下の3つです...
7日前

Devin Wiki を利用して、システム運用を行ってみる
アルダグラム Tech Blogのフィード
こんにちはアルダグラムでエンジニアをしている安政です。最近、システムの要件や仕様などの知見があまり残っていないシステムのお客様対応をすることが多くなりました。基本的にはKANNA以外のシステム運用は外部の会社に委託をしているのですが、委託先の会社さん自体も変更したばかりのこともあり、仕様の調査などに時間がかかる状況です。今回は、知見が残っていないシステムの保守業務を行うにあたり、どのような AI サービスを用いて、システムの全体像を把握したか、内部仕様の調査を効率化しているかについて簡単に共有したいと思います。 活用しているサービス弊社では、KANNA の開発に Devin...
14日前

複数リポジトリをモノレポっぽくシンボリックリンクでまとめて Claude Code で開発しやすくする
アルダグラム Tech Blogのフィード
こんにちは。アルダグラムでエンジニアしている前山です。最近だと新規プロダクトを作る際、モノレポ構成にしてコンテキストを集約させた方が Claude Code で開発しやすいかなと感じています。ただ既存プロダクトで複数のリポジトリが分かれているケースが大いにあると思います。また、ghq のルートディレクトリで Claude Code を実行すると、タスクや開発に関係ないリポジトリまで子ディレクトリに含まれる状態になることもあるかなと思います。本記事では、ghq で管理しているリポジトリをシンボリックリンクで1つのワークスペースに集約し、Claude Code がタスクに必要なリポジト...
21日前

不要なインデックス狩り:MySQLの矛盾と出会う
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでエンジニアをしている森下霞です。インデックス削除の基本的な方法や「削除すると書き込みが速くなる」といった話は、Google検索等ですぐに見つかります。この投稿では、自分が実際に不要インデックス削除を進める中で、「MySQLが『使っていない』と言っているのに実際は使っていた」、いわゆる「クエリオプティマイザから見て未使用だが、ストレージエンジンから見れば外部キー制約等に必要だった」という矛盾に遭遇し、どのように確認し、判断したのかを中心にまとめます。 未使用インデックス確認 sys.schema_unused_indexes とは未使用の可能性が高いイ...
1ヶ月前

ちょっと待って!そのAIに作ってもらった正規表現、危険かも!
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでレポートチームのエンジニアをしている志茂です。レポートチームでは、お客様が利用されているExcelファイルをKANNA上にアップロードし、Webから編集できるような機能を開発しております。正規表現についてやってしまったなという話です。エンジニアなりたての頃は何も見ずに、正規表現をささっと書いてしまう先輩が職人っぽくてかっこよく思いましたが、最近はclaudeなり、GPTがあるので、判定したい文字列を渡して、複雑なものでもサクッと生成してしまうことが多いかなと思います。そんな正規表現ですが、合致するものをベースに生成した場合に、セキュリティ的にちょっと危...
1ヶ月前

生成AIをチューニングしたらテスト設計できるかな?
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでQAのお手伝いをしているmiyashitaです!生成AIの活躍が著しい現代、私もQA業務でのAI活用法を模索している日々。。。元々既存のデフォルトAIを活用していたが、どこか精度が上がり切らず頭打ちを感じていたが、最近AIの「チューニング」をすることを思い立ち、少し試してみた。すると、一気にAIの回答精度を上げることができました😎今回はその効果をBefore / Afterでご紹介します。 今回のゴール今回は、テスト観点の出力までに絞ってAIのチューニング効果を検証してみる。 試したAIツール🤖今回はこの2つで検証していく。Google G...
1ヶ月前

「これ?歴史的な経緯でこうなってます!」
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムの田中です。さて、先日引き継ぎ資料を書いたときに、こんな言葉を書きました。「※歴史的な経緯でxxx環境の名前は「YYY」となっています。」私の経験だと過去所属した会社でも、同僚に質問した際に「歴史的な経緯があって・・・」とかよく耳にしたことがあります。今回はこの「歴史的な経緯」とは何なのか?について書いていきたいと思います。社内Slackの「歴史的な経緯」のメッセージの様子 歴史的な経緯とは?あくまでも個人的な主観ですが、エンジニアが「歴史的な経緯があって...」と言うときは、ほとんどの場合以下のような意味が込められているのではないかと思います。...
2ヶ月前

Android のユニットテストが終わる気がしないある日の作業ログ
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでエンジニアをしている内倉です。テストは好きでも、実行時間が長いとつらい気持ちになってしまうことがありますね。弊社では現在、React Native から KMP(Kotlin Multiplatform)への移行を進めていることもあり、Android のユニットテストが続々と増えてきています。比例して、テストの実行時間もだいぶ長くなってきたので、高速化できる余地がないか調べてみることにしました。 はじめに前提として、今回のプロジェクトは以下のようになっています。マルチモジュール構成(KMPのモジュールと、Androidネイティブのモジュールが混在...
2ヶ月前

[Next.js] next/image で画像の遅延読み込み中に、サムネイルをぼかさずに表示する方法
アルダグラム Tech Blogのフィード
アルダグラムでソフトウェアエンジニアとして活動している松田です。Next.jsでは、next/image (または Next.js 12 以前の next/legacy/image) コンポーネントを使用して効率的に画像を表示できます。このコンポーネントは標準の <img> タグを拡張し、遅延読み込みや画像最適化といった機能を提供します。機能の一つに、メイン画像が読み込まれるまでの間、代替画像(サムネイル)をぼかして表示するプレースホルダーがあります。しかし、ユースケースによっては、このぼかし効果を適用したくない場合もあるでしょう。本稿では、next/image お...
2ヶ月前

TypeScript CLI で Markdown 1 ファイルから Cursor/Cline ルールを自動生成する方法
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでエンジニアをしている柴田です はじめに近年、AI エージェントツールの発展が著しく、開発現場でも Cursor や Cline のような自律エージェントを活用してコード生成やレビューを行うケースが増えていると思います。弊社でも業務効率化を目的に複数の AI ツールを試験的に導入しており、特定のAIツールに依存せず用途に応じて併用しています。これらのツールでは、プロジェクト固有のガイドラインやインデックス除外設定を記述したルールファイルを設定することができますが、Cursor と Cline の両方でほぼ同一のルールファイルを手動管理していると、更新タイ...
3ヶ月前

【Android】BottomSheetDialogFragment で Jetpack Compose を活用する
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでエンジニアをしている渡邊です!弊社で提供しているモバイルアプリ「KANNA」は、主に React Native で開発されていますが、一部の機能や画面では Kotlin と Jetpack Compose を積極的に採用しています。このようなハイブリッドな構成において、BottomSheetDialogFragment は React Native から Jetpack Compose で構築した画面や機能をシームレスに呼び出し、表示することが可能になります。今回は、Android 開発で BottomSheetDialogFragment を使用して Je...
3ヶ月前

📝Playwright-mcp を使ったE2Eテストスクリプトの作成を試してみた
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでQAエンジニアをしている千葉です!最近AIの進化が目覚ましく、画像生成とかコードを書くAIとか何にでもAI使えるようになってきて、技術の進歩が凄まじい勢いだなって感じている今日この頃です。突然ですが、私が担当している業務として、E2Eテストの自動化があります。弊社でのE2Eテストの自動化は、MagicPodとPlaywrightを利用しており、併用してテストの自動化を進めている状況です。開発のメンバーでは、様々なAIを駆使して開発業務の効率化を行っていますが、QAメンバーでもAIを利用してテスト自動化の工数を削減する取り組みを行っていきたいと考えています...
3ヶ月前

モノリスからマイクロサービスへ(アルダグラムの場合)
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでエンジニアをしている @sukechannnn です。アルダグラムでは企画・開発・採用とプロダクト開発に関わることを色々やってます。今回はアーキテクチャのお話です。アルダグラムのサーバーサイドは、元々は Ruby on Rails で実装されたモノリシックな構成でした。そこから、新プロダクトの開発をきっかけにサーバーを分離して開発し始め、直近ではサービスの責務に応じてサーバーを新しく立てる方針を取っており、だんだんとマイクロサービスみが出てきました。そこで、どんな進め方で完全なモノリスからマイクロサービス化を進めていったのかをご紹介しようと思います! ...
4ヶ月前

QAがNotebookLMを使って業務効率化を目指す
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでQAのお手伝いをしているmiyashitaです!昨今AI活用スキルの必要性が増してきて、私も今AIスキルを身に着けていこうと必死にもがいていますところです。そんな中で、「これいいかも!」と思ったAIツールがあったので、ご紹介します。 1. 使っているAI現在、NotebookLMというGemini2.0を搭載しているAIツールを使用しています。 2. AIの担当領域今のところ、QAの領域の内でAIが担当しているのは以下の工程になります。仕様理解の要約テスト観点抽出生成AI全般に言えることですが、情報要約が得意な側面が大きいので、特に仕様...
4ヶ月前

何もわからんけど作ってみる、なんちゃってAIエージェント
アルダグラム Tech Blogのフィード
みなさんこんにちは!株式会社アルダグラムでエンジニアをしている大木です。今回は何もわからんけどAIエージェントを作っていこうと思います。せっかくなので、自社サービスの劣化版を作りつつAIエージェントを実装していきます。 1. システムの構成今回は主に3つのシステムを利用して、AIエージェントを作成します。概要使用する技術SDK等フロントエンドNext.jsAI SDKAIエージェントPythonOpenAI Agents SDK / FastAPIMCPGomcp-go図に表すとこんな感じです(雑ですみません) 2. ...
4ヶ月前

何もわからんけど作ってみるMCPサーバー(mcp-go)
アルダグラム Tech Blogのフィード
みなさんこんにちは!株式会社アルダグラムでエンジニアをしている大木です。昨今AIの隆盛がとんでもなく、ついていくのに精一杯なのが正直なところです。けどついていけないと時代に取り残されそうなので頑張ります!ってことで何もわからんけど、とりあえずMCPサーバーを作っていこうと思います。 準備今回は mcp-go を使って実装していきたいと思います。TypeScriptやKotlinはMCPの標準のSDK が用意されていますが、Goに関してはまだ存在しないようですね。mcp-goの詳細は以下から確認いただけます!(サンプルも記載されていて、とてもありがたい…)https://git...
4ヶ月前

.clinerulesを導入して、開発効率を上げていきたい話
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでエンジニアをしているkageyamaです。最近のAIの発展は目覚ましく、普段の開発業務における生産性向上に大きく貢献しています。弊社開発部でも、今年から積極的にAIツールの導入・活用を進めており、AI戦略ユニットも発足しました。現在は色々なツールを各自が試しながら知見を共有して、より良い開発体験を模索しています。2025年4月時点で、開発部では以下のAIツールを全社員が利用できる環境を整えています。ChatGPTClaudeOpenAI PlatformDevinGemini Code AssistCursorJunieCline (R...
4ヶ月前

KANNAのAWSインフラ基盤リプレースの舞台裏
アルダグラム Tech Blogのフィード
こんにちは、アルダグラムでSREを担当している okenak です。今回は、2024年末に実施した KANNA の AWS インフラ基盤の全面リプレースについてご紹介します。このプロジェクトは、昨年下期に実施した大規模な基盤移行であり、構成の見直しから段階的な切り替え、本番移行に至るまで、多くの検討と労力が求められました。本記事では、移行に至った背景、当時直面していた課題、具体的な取り組み内容、そして移行を通じて得られた学びについてまとめています。どこか一部でもご参考になれば幸いです。▶️ KANNAのサービス紹介ページはこちらhttps://lp.kanna4u.com/...
4ヶ月前

Magicpodで繰り返し処理が使えるようになりました!
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでエンジニアをしているshige_sです今回、Magicpodに新しくリリースされた「繰り返し処理」機能についてご紹介します。また、弊社でのE2E自動テストの取り組みについても触れながら、この機能の活用方法をお伝えします。 繰り返し処理とは「繰り返し処理」は、特定の条件が満たされるまで処理を繰り返すことができる新機能です。例えば、以下のようなケースで活用できます。カレンダーUIで特定の年月が表示されるまで「月送りボタン」を押下する弊社では、カレンダーUIを操作するシナリオが多く存在していました。これまでは、毎月「特定の日付」をクリックする際に、ロケ...
4ヶ月前