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

天下一レビュープロセス大会 2025
アルダグラム Tech Blogのフィード
!この記事の文章は100%天然由来の人間によって生成されています(ただしコードブロック内は除きます)こんにちは!アルダグラムのKANNAの開発お手伝いをさせて頂いているoubakiouです。PR単位でのレビュー依頼は、レビューを行う人間の脆弱な身体と精神を前提とした旧時代のプロセスでした。しかし現代では労働基準法に守られていない優秀なAIレビュアーがいつでも安価に利用できるため、PR単位だけではなく必要となればコミット単位・Ctrl+Sの単位でも懇切丁寧なレビューを受ける事が出来るようになりました。思い返せば2024年のLLMは極一部の状況では人間を上回る知性を発揮できたもの...
12日前

IaC(Terraform / Terragrunt)を1年以上運用してきた所感
アルダグラム Tech Blogのフィード
こんにちは、KANNA の SRE チームの okenak です。インフラの運用を続けていると、「この設定、どこで入れたんだっけ?」「本番を触るのが怖い」といった状況に直面することがあると思います。本記事では、Terraform / Terragrunt を使った IaC を1年以上運用してきた中で、そうした状況がどう変わったか、またどんなつらさがあったかを整理しています。 IaC / Terraform / Terragrunt について(補足)IaC はインフラ構成をコードで管理する考え方で、Terraform はそれを実現する代表的なツールです。Terragru...
20日前

runnでAPIテストをしてみた
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでエンジニアをしている秋田です。KANNAでは、契約していただいた会社様が自社リソースとシームレスに連携できるよう OpenAPI を公開し、業務に合わせた柔軟な拡張を可能にしています。今回は、その OpenAPI のシナリオテストツールとして runn を使ってみたので、その内容を書きたいと思います。runn とはAPI のテストシナリオを YAML で記述し、その手順どおりにリクエストを送りながら検証できるテストツールです。OpenAPI と連携した自動チェックにも対応しています。https://github.com/k1LoW/runnなお、 O...
1ヶ月前

ドッグフーディングで進捗管理してみたら、業務の質が上がった話
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでQAのお手伝いをしているmiyashitaです!アルダグラムでは、「KANNA」というサービスを通して、ノンデスクワーカーの業務効率改善を目標に日々開発を行っています。普段私はQAとして毎日KANNAに触れ、その中でユーザー目線を持って考えながらテスト設計・テスト実施を行っていますが、「実際に1ユーザーとしてプロダクトに触れる」 という機会はあまり持てていませんでした。そこから、「ユーザー目線で、自社プロダクトをちゃんと使ってみたいな」という気持ちが芽生え、ドッグフーディングをしてみようという考えに至りました。そこで、KANNAで現在提供されてい...
1ヶ月前

Apollo Clientのキャッシュ競合で無限ループ!?その原因と5つの対処法
アルダグラム Tech Blogのフィード
Apollo Client を使用した開発中に、「取得したはずのデータが消える」「なぜか GraphQL クエリが無限にリクエストされ続ける」といった不可解な現象に遭遇したことはありませんか?それは、Apollo Client における 「キャッシュ競合(Cache Clobbering)」 が原因かもしれません。本記事では、実際に遭遇したキャッシュ競合によるバグ(無限ループ)の仕組みと、その具体的な 5 つの対処法について解説します。 発生したトラブル:謎の無限ループある日、特定の画面を開くと、2 種類の GraphQL クエリが交互に、短時間で無限に実行され続ける という現...
2ヶ月前

Python で他生物の視覚をシミュレートする
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでエンジニアをしている内倉です今年も、一年が終わろうとしていますね。私のブログ当番は、これが今年最後の予定なので、また印象に残ったニュースを振り返ってみたいと思います。今年、個人的に気になったニュースは、だいぶ最近ですが日本では初めての発見となる、二枚貝と共生するヨコエビ、その名も「ユキミノノマルハサミヨコエビ」の発見です。(なんと風情のあるお名前…)研究者の方のコメントで、ミノガイの仲間ですが、調査で甲殻類を探していると海底の岩をどけたときに触手を活発に動かして蠢いている様子をまれに見ます。今回はそれを見て『何か寄生していないかな~』と考え貝を持...
2ヶ月前

SEO 面での Gatsby → Next.js 移行ポイント
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでエンジニアをしている柴田です。最近の Web 開発では SSG(Static Site Generation)を採用するケースがあると思います。SSG の代表的なフレームワークとしては、Gatsby や Next.js が選ばれることが多いと思います(他にもいくつか候補はあると思いますが)。Web 開発において、SEO は避けて通れない重要な要素です。特に LP や EC サイトなどでは重要な要件になることが多く、その際に重要となるのが SEO 機能の実装難易度・運用コストになるかと思います。本記事では、Gatsby から Next.js(App Rout...
2ヶ月前

学習のためのサービスを自分が普段使わない言語でAIに作ってもらった
アルダグラム Tech Blogのフィード
KANNAのバックエンド開発を担当している山下です。AIを使いながら個人で開発したサービスについて、作る中での気付きなどを書き留めてみたいと思います。 成果物https://learn-pm.vercel.app/プロジェクトマネジメントについて学習できるWebサイトを作りました。採点機能などもあり無料で使えますので、ぜひご利用&フィードバックをお待ちしています。(注意: こちらは山下が個人で開発したもので、アルダグラム社とは関係ありません) きっかけKANNAの新しい機能として、経営層に向けたものを作ろうという企画が立ち上がりました。それにあたり社内でプロジェクト...
2ヶ月前

[TypeScript] Object.freeze() の代替としての as const satisfies の活用
アルダグラム Tech Blogのフィード
アルダグラムでソフトウェアエンジニアとして活動している松田です。TypeScriptでオブジェクトを定義する場合、プロパティの変更を防ぎたいことがあります。例えば、以下のような設定オブジェクトがあるとします。const appConfig = { API_URL: "https://example.com", API_VERSION: "v2", TIMEOUT: 5000,}JSで長らく開発してきた人にとっては、Object.freeze() を使うのが自然なアプローチかもしれません。// 実行時に不変にするconst appConfig = Object.f...
2ヶ月前

【Compose Multiplatform】端末内の写真・動画ファイルを選択するファイルピッカーを作る
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでエンジニアをしている渡邊です。Android や iOS でアプリ開発を行う中で、端末内の写真や動画をアプリから参照したい、というケースは少なくないのではないでしょうか。ところが Android や iOS で写真や動画にアクセスするためにはアクセス権限が必要になったりと、実装が手間になることが多いです。ただ Android であれば PhotoPicker、iOS であれば PHPhotoPickerViewController を使うことによって、写真・動画へのアクセス権限が必要なくそれらのリソースを参照することが可能になっています。今回は Comp...
3ヶ月前

外部DBとの整合性を守るためのトレードオフ:技術的に「正しい」解決策が、必ずしもビジネス的に「最適」ではない
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでエンジニアをしている森下霞です。外部DBとの同期処理、どこで呼び出すのが正解?LockWaitTimeoutの原因を追う中で、外部サービスへの呼び出しをトランザクション内で行っていたことが分かりました。そこから、LockWaitTimeout を避けるための対策を検討する中で、整合性・UX・実装コスト、それぞれのトレードオフをどう整理し、どんな判断に至ったのかを紹介します。 LockWaitTimeoutから始まった調査ある処理で ActiveRecord::LockWaitTimeout が発生しました。調査を進めると、DBトランザクション内で外部...
3ヶ月前

[Playwright]E2Eテスト自動化におけるAIコーディングルールの作り方
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでQAエンジニアをしている千葉です!ここ数年で、AIを使ったコーディングが一般的になり、プロダクトの開発スピードが飛躍的に向上しました。これにより、UIの変更といった仕様変更が頻繁に起こるようになりE2Eテストコードの整備も今まで以上にスピード感が求められる時代になったのでは?と思います。今回は、E2Eテストの自動化もAIを前提としたコーディングの環境を整備し、自動化のスピードを向上させよう!ということで、弊社で定義しているE2Eテスト自動化におけるAIコーディングルールをご紹介したいと思います! 前提CursorやClaude code、GitHu...
3ヶ月前

Android 14/15のTimePickerがアプリをクラッシュさせることがある
アルダグラム Tech Blogのフィード
TimePicker や TimePickerDialog で時間を変更しようとすると例外が発生してアプリをクラッシュさせるといった事象が報告されていたようです。https://issuetracker.google.com/issues/333670354発生条件Android 14もしくは15の一部機種スピナーモードにしているAM/PMの選択がボタンになるスタイル(Theme.AppCompat.Light など)を当てているログjava.lang.NullPointerException: Attempt to invoke virtual method '...
3ヶ月前

品質は対話から生まれる ― QAユニットのなんでも相談会
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでエンジニアをしているshige_sです今回は、QAユニットで取り組んでいる新しい試み 「なんでも相談会」 についてご紹介します。 背景アルダグラムでは、5つの開発ユニットにそれぞれ専任のQAエンジニアが所属し、スクラムに参加しています。この体制により、開発の初期段階から施策をキャッチアップし、テスト戦略を十分に練ることができています。一方で、各QAエンジニアは開発ユニット業務に深く入り込む時間が長いため、QAユニット同士で知見を共有したり相談する場が不足していると感じていました。もちろん、プランニングやレトロスペクティブは実施していますが、議題が...
4ヶ月前

デザインシステムがあると何が良いんだろう?
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでエンジニアをしている kageyama です最近、「デザインシステムがあれば、この issue は解決する or 産まれなかったかも?」と思うことがありました。プロダクトが成長すると、ページごとで共通コンポーネントの扱いが若干違ったり、似て非なるコンポーネントが生まれる可能性があったりします。ドメインが違えば、共通コンポーネントも中々手が届かない位置にあったりします。これらが全てデザインシステムで解決できれば良いと願いつつ、この記事ではデザインシステムを作りたいと思った背景デザインシステムがあることのメリット・デメリットミニマム実装には何が必要なの...
4ヶ月前

Excel関数の数式エンジンをTypeScriptで実装したらプログラミング言語の実装みたいで面白かったので解説してみる
アルダグラム Tech Blogのフィード
アルダグラムでエンジニアをしている @sukechannnn です!開発に携わっている KANNAレポート は、Excelを取り込んでその見た目のまま帳票を電子化できるサービスで、いくつかのExcel関数にも対応しています。以前 @watabee が登壇した際にその仕組みについて触れていますが、現状は数式の依存関係(他セルの参照や他セル数式の計算結果を利用して計算するなど)を深さ優先探索(DFS)によるトポロジカルソートで構築した上で、各数式の計算は math.js を利用して行っています。https://speakerdeck.com/watabee/kanna-android-...
4ヶ月前

マルチプロダクト構成を支える KANNA のインフラアーキテクチャ
アルダグラム Tech Blogのフィード
はじめにこんにちは、KANNA の SRE チームの okenak です。今回は、KANNA のプロダクトを支えるインフラアーキテクチャをご紹介します。複数のサービスで成り立つ仕組みの中で、どうやって「止まらない」かつ「スケールできる」環境をつくり、さらに開発効率とコストのバランスを取っているのか。その工夫や取り組みをまとめました。 アーキテクチャの全体像 マルチサービスアーキテクチャKANNA はマイクロサービスではなく、モノリポをベースにした複数サービス構成です。サービスごとに独立して開発・デプロイでき、それぞれに合った技術スタックを採用しています。📦 K...
4ヶ月前

Ruby製バックエンドのgemを一括アップデートした話
アルダグラム Tech Blogのフィード
こんにちは!アルダグラムでエンジニアをしている秋田です。弊社では以前、 フロントエンドのライブラリ134個を一気にアップデートしてリリース しました。それと同様に Ruby製のバックエンドのアップデートも実施したので、今回はその内容について紹介します。 まず言いたいことライブラリを一括アップデートするのは全くもってお勧めしません。フロントエンドのときに分かっていたのにどうして……というのはもっともなのですが、全体的にアップデートされていなかったので仕方ないです。それでもアップデートされていないならアップデートしましょう!後回しにするほど大変になるので。 主なバージョン...
5ヶ月前

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