1
/
5

アプリ

自動バグ修正ワークフローを支えるインフラ構築 ― Terraform・Cloud Build を使ってみて【株式会社ライトコード】

はじめに今回のグループワークでは、バグを自動で検知し、Claude が自動で修正 PR を作成するワークフローの構築に取り組みました。題材としてじゃんけんアプリを使用し、アプリに意図的にバグを仕込んだうえで、Sentry がそのエラーを検知すると、Cloud Run Functions が Webhook を受け取って GitHub Actions をトリガーし、Claude が自動でバグを修正して修正 PR を作成するという一連のパイプラインを実現しました。バグ発生 ↓Sentry(エラー検知) ↓Cloud Run Functions(Webhook 受信) ↓GitHub A...

【Swift】パパが3歳児のためにゲームアプリ作った話【株式会社ライトコード】

はじめに最近、3歳の子どもが私のiPhoneを使って遊ぶことが増えてきました。ゲームをしたり、動画を見たり、画面をタップして楽しそうに遊んでいる姿を見ているうちに、ふと思ったんです。「自分でも、子どもが喜んで遊んでくれるゲームアプリを作れないかな?」私は普段Webエンジニアとして働いていて、iOSアプリの開発は未経験です。興味はあったものの、なかなか作り始めるきっかけがありませんでした。そんな中、社内のペアブログ企画でゲームエンジニアの高岡さんとペアになり、打ち合わせでこの話をしたところ、子ども向けのゲームアプリを一緒に作ることになりました。KATASHIN最近、子どもがよく自分のiPh...

pm-skills で要件定義から GitHub issue はどこまで「いい感じ」に切れるか検証してみた【株式会社ライトコード】

1. 動機AI 時代になり、エンジニアとして Claude Code のような AI に開発そのものを依頼する機会が増えました。そこで強く感じるのが、AI に渡すタスクの粒度が、そのまま出力の質を左右するということです。粒度が粗すぎるまま「これ作って」と投げると期待とズレたものが返ってきて手戻りになりますし、逆に細かく切りすぎると自分でタスク分解する手間の方の本末転倒になります。人間の開発チームでも、この「作業をうまく分割して、適切な順番・粒度で割り振る」能力は PM の重要なスキルのひとつですが、AI に開発を依頼する上でも同じ能力が必要になってきていると感じていました。だとすれば、そ...

バックエンドエンジニアがモバイルアプリならではの領域を聞いてみた【株式会社ライトコード】

はじめに普段バックエンドを開発している服部です。以前アプリ向けのAPI開発にも携わっていたので、サーバー側の障害対応やAPI設計の勘所はある程度分かっているつもりです。ただ、審査フローやアプリ側の防御策、リリース周りの独特な事情など、アプリ開発者ならではの領域については断片的な知識しかありません。そこで今回は、弊社のモバイルアプリエンジニアの こー さんに、アプリ側の視点から色々教えてもらいつつ、バックエンド側の実践もお伝えしながら、両者の視点をすり合わせてみました!登場人物服部(聞き手):バックエンドエンジニア。アプリ開発は未経験。こーさん(話し手):モバイルアプリエンジニア。iOS/...

「とりあえず楽観的更新」の罠。UI状態の管理は「エラー時の影響度」で決める【株式会社ライトコード】

はじめにWeb アプリのUI開発において、楽観的更新(Optimistic Update)はUXを向上させる強力な手法としてよく推奨されます。サーバーの応答を待たずに画面を先に書き換えるため体感が速く、「とりあえず楽観的更新にしておけば間違いない」という空気すらあります。ただ、その定石をすべての操作にそのまま当てはめてよいのか迷う場面があります。整理してみると、UIの更新戦略は開発者の好みや一般論ではなく、「失敗時の影響度(リスク)」という明確な基準から判断できます。本稿ではその使い分けの考え方と、React 19(useOptimistic)および Next.js の Server A...

「実装できました」が、ブラウザで開くと動いていない ── AI エージェントの E2E QA を「実装者と評価者の分離」で自律ループ化した話【株式会社ライトコード】

この記事で分かることAI エージェントに実装を任せたとき、なぜ「実装できました」を鵜呑みにできないのかそこで自動 QA をワークフローに組み込んだら、今度は人間が毎回はさまる面倒 が生まれた話その面倒を消すために作った、実装したら勝手に検証→修正→再検証が回る自律 QA ループの設計実際に 1 画面でパイロットして分かった、ハマりどころと教訓(失敗込みの実録)この記事は、私たちが実際にたどった道のりを 4幕の物語 として書いています。「動かない」→「自動 QA を入れた」→「でも人間が毎回はさまる」→「自動で回るようにした」という、私たちがたどった順序そのものです。第1幕:「実装できまし...

Sentryでバグを自動検知させようとバグ含みアプリを仕込んでみたら思ったより大変だった話【株式会社ライトコード】

はじめにグループワークで「Sentry によるバグ自動検知 → Claude AI による自動修正 PR」というワークフローを構築するプロジェクトに取り組みました。グループは数人で役割を分担し、バグが含まれているアプリの作成チームと、Sentryの検知の仕組みを作るチームの二手に分かれて対応しました。自分はバグが含まれているアプリの作成の方で対応を進めていきました。どういったアプリが良いか話し合ったところ、動きが分かりやすい「じゃんけん」をコンピュータとさせて結果を出すアプリを作成しました。作業に使える時間も限られているので、簡単なレベルで。そのアプリの中にわざとバグを仕込んで Sent...

Sentryのアラートが自動PRになるまで ── GitHub App認証をちゃんと選んだ話【株式会社ライトコード】

はじめに先日、チームでこんな仕組みを作りました。「バグアプリのアラートを検知して、AIが自律的にPRを作成する」Sentryにアラートが飛んだら、自動で修正PRが届いている。そんな仕組みです。チーム内で役割分担をして、自分が担当したのはパイプラインの中の「GH Actionsを安全に起動する認証まわり」でした。地味といえば地味なテーマですが、ここの選択を雑にするとあとで運用コストとして返ってきます。この記事では、認証方式をどう選んで、どう実装したか、そしてどこでハマったかを書いていきます。作ったものの全体像まず全体のパイプラインをざっくり整理しておきます。Sentry↓ アラート発火Cl...

AI過渡期の今だからこそ考える!コーディングエージェント導入時のリポジトリ戦略(モノレポ vs サブモジュール vs 完全分離)【株式会社ライトコード】

…記事の続きは下のURLをクリック!https://rightcode.co.jp/blogs/55131もっとワクワクしたいあなたへ現在、ライトコードでは「WEBエンジニア」「モバイルエンジニア」「データエンジニア」「ゲームエンジニア」「デザイナー」「WEBディレクター」「営業」などを積極採用中です!ライトコードは技術力に定評のある受託開発をメインにしているIT企業です。有名WEBサービスやアプリの受託開発などの企画、開発案件が目白押しの状況です。もっと大きなことに挑戦したい!エンジニアとしてもっと成長したい!モダンな技術に触れたい!現状に満足していない方は、まずは、エンジニアとしても...

🚀 Solr大量データインポートが2時間→20分に改善した話

はじめに:なぜ高速化が必要だったのか?私が担当しているプロジェクトでは、大量の物件データを扱っています。Solrコアに保存されている「元となる物件データ」を、ユーザーや店舗に見せるための形に整形し、別のSolrコアへ保存し直す──そんな一連の処理を日々回しています。このときに問題になるのが、物件データのインポート速度です。インポート処理が遅くなると、どうしてもデータの反映が後ろ倒しになり、結果として物件データの鮮度が落ちてしまいます。物件の鮮度が落ちると、実際のサービスにも影響が出てきます。ユーザーから物件の問い合わせがあっても、すでに成約済みだった表示される物件が減り、ユーザーの選択肢...

Jetpack Composeで無理やりSharedFlowを監視したら失敗だった話【株式会社ライトコード】

はじめにJetpack Composeの導入、進んでいますか?新規プロダクトなら「フルCompose」で気持ちよく開発できますが、歴史あるプロダクトや大規模なアプリでは、まだまだActivityやFragmentの遷移を残しつつ、Viewの中身だけComposeに置き換えるというハイブリッドな構成で戦っている方も多いのではないでしょうか。そんなActivity/FragmentとComposeが共存するハイブリッドな開発環境において、「Activityのコードを減らしたい」「将来の完全Compose移行を考慮したい」という動機から、SharedFlowをComposable内で処理しよう...

【iOS】Whisperで文字起こししてみた【株式会社ライトコード】

はじめにWhisper を使った文字起こしアプリを実装してみたのですが、導入や実装で時間がかかってしまったため、今回、備忘録として導入から実際に音声の文字起こしまでをまとめたいと思います。Whisper とはWhisperは汎用的な音声認識モデルです。多様な音声を収録した大規模なデータセットで学習されており、多言語音声認識、音声翻訳、言語識別を実行できるマルチタスクモデルでもあります。引用:https://github.com/openai/whisper/blob/main/README.md#whisperWhisper は MIT ライセンスになっており、無料で使用することができる...

Claude Opus 4.5とSonnet 4.5に同じ実装をお願いしてみた【株式会社ライトコード】

はじめに2025年11月25日、Anthropicから最新モデル「Claude Opus 4.5」がリリースされました。Opus4.5は、他のAIモデルと比較しても、現段階では最先端のモデルとなったようです。トークン出力時にかかるコストも従来のOpusから67%削減され、Maxプランだと、普段使いではほぼ上限に行くことはなくなり、Opusでの開発がより一層楽しめます。私は、会社のサブスク補助制度を利用して、Maxプラン($100)に加入させていただいています。100ドルの補助はありがたすぎます!!感謝です。また、Claude Codeがデスクトップアプリで利用可能になったことで、アプリ上...

Android Roomで動的クエリを扱う【株式会社ライトコード】

Roomで動的クエリを使いたい時だってある(株)ライトコードでモバイルアプリケーションメインで色々開発している笹川(ささがわ)です!Androidアプリ開発でRoomを使っていると、@Queryアノテーションで静的なSQLを定義する場面が多いですよね。ほとんどのケースではこれで十分なのですが、アプリの機能が複雑になってくると、次のような要望が出てくることがあります。ユーザーの入力に応じて検索条件を柔軟に変えたい特定の条件を満たすデータだけを動的に絞り込みたいLIKEやGLOBなど、より高度な文字列検索をカスタマイズしたいこのような場合、事前に定義された @Queryだけでは対応が難しいこ...

なぜアプリは壊れやすいのか? 〜ドメイン駆動設計の視点から〜

はじめに最近遅ればせながらドメイン駆動設計を本格的に勉強しようと思い立ちました。「ドメイン駆動設計」エンジニアの皆さんならば一度は聞いたことがあると思います。ただ、あまりに抽象的で難解な言葉が多く、そのメリットを享受できずに途中であきらめた人も多い(自分も含む)のも事実です。アプリケーションを実装する際に「何が問題」でどうすれば問題を最小化できるのか、という視点で考えていこうと思います。ビジネスロジックドメイン駆動設計の本では必ず「ビジネスロジックをドメイン層に閉じ込める」と必ず出てきます。まず、ビジネスロジックとは?が一番大事なのですが、なぜビジネスロジックが大事なのかというと以下が答...

5,760Followers
352Posts

Spaces

Spaces

エンジニア初心者向け記事

注目のストーリー

ライトコード技術記事

社員の声

フリーランス応援