株式会社フォトラクションのフィード

https://zenn.dev/p/photoruction_bl

「建設の世界を限りなくスマートにする」をミッションに掲げ、建設テックサービスを提供する株式会社フォトラクションの開発ブログです!日々の開発を通して得られた学びや知見などを投稿しています。

フィード

記事のアイキャッチ画像
iOS26のCATiledLayerでクラッシュする条件と回避方法
株式会社フォトラクションのフィード
はじめにiOSエンジニアのYoshitakaです。先日、iOS26の端末でのみCATiledLayerを使った描画で確率的に発生するクラッシュに遭遇しました。落ちている場所はアプリのコードではなくUIKitの内部でした。クラッシュが起きる条件と回避方法を見つける過程と結果についてまとめました。 環境Xcode 26.4.1iOS 26.4 CATiledLayerとタイル描画本題の前にCATiledLayerについて簡単に説明します。画像をタイルに分割し、見えている範囲と拡大率に応じた解像度だけを描くための CALayer のサブクラスです。layerCla...
2日前
記事のアイキャッチ画像
KMP × AIエージェントで個人開発して分かった「AIに任せるための設計」
株式会社フォトラクションのフィード
はじめにAndroidエンジニアの藤井です。最近、個人開発で Kotlin Multiplatform(KMP)を使ったモバイルアプリを開発しています。Android版はすでにリリースしており、iOS版は最近開発に着手したばかりです。今回の個人開発では、KMPに加えて Antigravity / Gemini を中心としたAIコーディングエージェントも積極的に利用しました。普段の業務では Claude Code を利用していますが、今回Antigravityを使い始めたことに、特別な比較検討や技術選定上の理由があったわけではありません。個人のGoogleアカウントでAIを利...
19日前
記事のアイキャッチ画像
Androidチームがよく使う Claude Code Skills 5選
株式会社フォトラクションのフィード
こんにちは。斎藤です。みなさん Claude Code の Skills 使ってますか?AIにコードを書いてもらうことは、今では珍しくありませんが、Android チームではチームが日常的に行っている業務もAIへの委譲をすすめています。今回は、Androidチームで実際に運用している Skills を紹介します。 よく使う Skills 5選 1. Crashlytics 抽出スキルFirebase Crashlytics を利用しており定期的にこれをチームで棚卸ししています。棚卸しのための準備として、直近のクラッシュ・ANRを取得してから新規クラッシュ、新規ANR、J...
1ヶ月前
記事のアイキャッチ画像
Microsoft Agent Hackathon 2026 開発後記 〜 AIが答える現場確認から、AIが進める現場確認へ 〜
株式会社フォトラクションのフィード
はじめにこのたび、Microsoft Agent Hackathon 2026において、私たちが開発した Genba Live Agent が企業部門2位を受賞しました。応募時には、Genba Live Agentのコンセプトやアーキテクチャについて紹介した記事を公開しています。応募記事はこちらhttps://zenn.dev/shuichiro_n/articles/378f5c356972f6応募から本選までの約1か月間、実装・検証・デモ作成・ピッチのブラッシュアップを繰り返しながら、「AIエージェントとは何か」「建設業界に本当に必要なAgentとは何か」を考え続けま...
2ヶ月前
記事のアイキャッチ画像
logcatに何も出ないクラッシュに立ち向かった話 〜tombstone🪦とAIとの調査記録〜
株式会社フォトラクションのフィード
はじめにAndroidアプリの開発をしていると、原因の見当がつかないクラッシュに出会うことがあります。今回は「写真を大量に追加するとアプリが落ちる」という報告から調査をした際の記録となっています。まず、Androidの不具合というと多くの人が思い浮かべるのはFATAL EXCEPTIONから始まるJavaのスタックトレースだと思います。しかし今回ぶつかったのはネイティブクラッシュというやつで、これは普段のlogcatの見方だけでは正体が全くつかめないタイプの不具合でした。この記事では、その調査の過程、特に「tombstoneにたどり着くまでの道のり」と「tombstoneの...
2ヶ月前
記事のアイキャッチ画像
GitHub ActionsからDeployGate配信したAndroid APKの署名が一定しなかった話
株式会社フォトラクションのフィード
TL;DRCircleCIからGitHub Actionsへ移行する中で、GHAからDeployGateへ配信した開発版APKの署名がCircleCI配信時と一致しない問題があったさらに、単に別の固定値になるのではなく、GHAで配信するたびに署名値が一定しないように見えていたdebug.keystore をGitHub Actions Secretsから復元して配置したが、それだけではAPKの署名は安定しなかったkeytool でkeystore自体のSHA-1が一致していても、apksigner でAPKの署名を確認すると別の値になることがあった最終的には、Fast...
2ヶ月前
記事のアイキャッチ画像
Devinを使ってDependabotのマージハードルを下げる
株式会社フォトラクションのフィード
はじめにDependabotとは依存ライブラリの更新を検知し自動でPRを作成してくれるGitHubの機能です。ライブラリを最新の状態に保ちやすくなるため、多くのプロジェクトで利用されているのではないでしょうか。https://github.com/dependabotPhototructionも、いくつかのプロジェクトではDependabotを利用してライブラリバージョンを管理してますが、DependabotのPRを溜めてしまうという問題がありました。今回はその課題をDevinをつかってどのように解決したのかを紹介します。 Dependabotのマージは地味にハードルが...
2ヶ月前
記事のアイキャッチ画像
eslint-disableで逃げない!オプション調整でちっちゃな開発体験向上
株式会社フォトラクションのフィード
はじめにこんにちは!先日、Pull Requestをレビューしていて、あることに気が付きました。あるルールだけめっちゃeslint-disableされていることに...😱その、「あるルール」とは、no-magic-numbersというルールでした。eslint-disableしまくるならルールを指定している意味をなさないのではと考え、今後の対処方法をチームで議論しました。本記事では、no-magic-numbersというルールを例に、仕組みの理解やオプション指定による、ちっちゃな開発体験向上の具体例について整理したいと思います。!本記事において、「ESLintとは何か...
2ヶ月前
記事のアイキャッチ画像
AI時代こそアーキテクチャを理解しよう(Lambda×SQS)
株式会社フォトラクションのフィード
なんのために理解するのか私はこれまでAWSのようなクラウドアーキテクチャを意識せずFEやBEの開発を進めてきました。しかしAIの登場によって実装のハードルが下がった今、アプリケーションを作るだけでなく、そのシステムがどのように動いているのかを理解する重要性は以前より高まっていると感じています。今回、ある開発をきっかけにこれまで後回しにしていたクラウドアーキテクチャについて重い腰を上げて学び直してみることにしました。本記事では、その中で学んだ Lambda と SQS を利用した非同期処理について整理してみます。 今回開発した機能と構成ある開発で、すでに実装されている図面...
2ヶ月前
記事のアイキャッチ画像
OpenClaw / NemoClawで始める、企業内AIエージェント基盤づくりの第一歩
株式会社フォトラクションのフィード
はじめに株式会社フォトラクションでCTOをしている中村です。最近は、AIエージェントを個人の便利ツールとして使うだけでなく、企業内で安全に設計・運用するには何が必要かを検証しています!生成AIやAIコーディングエージェントの活用が進み、開発や業務の中でAIを使うことは珍しくなくなってきました。Claude Code、Cursor、Devin、ChatGPT、Gemini など、すでに便利なAIツールは数多くあります。コードを書いてもらう調査を手伝ってもらう文章を整理してもらう仕様やログを読み解いてもらうこうした使い方は、すでに多くの現場で始まっていると思います。...
3ヶ月前
記事のアイキャッチ画像
AI時代にスプリントプランニング見直します
株式会社フォトラクションのフィード
はじめにこんにちは。フォトラクション Android エンジニアのさいとうです。みなさま AI での開発いかがでしょうか?弊社では全社で Claude Code, Codex を利用しており、エンジニアリング組織でも AI 活用がかなり浸透してきました。最近では「AI を使うかどうか」ではなく、「どうすれば効率的に AI を使えるか」を模索するフェーズに入っています。そんな中で、チーム開発の進め方にも変化が出てきました。特に感じているのは、AI によって実装速度が大きく向上した結果、スクラムイベント、特にスプリントプランニングの意味が変わり始めているということです。この記...
3ヶ月前
記事のアイキャッチ画像
ローカルLLMはClaudeの代わりになるか (Gemma 4-26B を Opus / Sonnet と並べて測ってみた)🤖
株式会社フォトラクションのフィード
はじめに最近、社内で AI ツールの料金体系を見直す動きがありました。Claude / Codex / Cursor といったクラウド AI への支払いは便利な一方で、利用が増えるほどコストも線形に増えていきます。そこで気になったのがローカル LLMです。手元の Mac で動かせる範囲のモデルが、もし「日常的なコードレビューやバグ調査」レベルで実用的に動くなら、Token を消費する作業の一部を肩代わりできるはずと考えました。(ここでは、クラウド AI を置き換えたいわけではなく、あくまでToken 消費の節約が目的です。)この記事では、その仮説を検証するために手元の MacB...
4ヶ月前
記事のアイキャッチ画像
要件定義で何をAIに任せて何を人間がやるのか🧑‍🤝‍🧑
株式会社フォトラクションのフィード
前提この記事の内容は、建築現場で働く職人さんの情報を、CSVや画像ZIPとしてダウンロードできる機能を非同期で実装するタスクを題材としています。生成AIを使用して要件定義・詳細設計で意識したこと、うまくいったこと、失敗したこと、そしてそこから学んだことを書きます。 なぜこの機能が必要だったのか今回取り組んだのは、作業員情報をCSVとして出力し、関連する画像をZIPとしてダウンロードできる機能です。データ量や画像ZIPの生成時間を考慮し、非同期処理として設計しました。現在開発しているプロダクトはリリースから1年半ほどで、他社プロダクトと比べると不足している機能もあります...
4ヶ月前
記事のアイキャッチ画像
育休を1ヶ月取得してみたら知らないことが多すぎた٩(○'▿'○)۶
株式会社フォトラクションのフィード
男性エンジニアが育児休業を取得して分かったこと はじめにはじめまして。フォトラクションでエンジニアをしているあんこです。今回、子どもの誕生にあわせて育児休業を取得しました。実際に取得してみるまでは、正直なところ、男性でもどのくらい育休を取れるのか給付金や社会保険料はどうなるのか会社にはいつ、どのように相談すればよいのか出産前後に何を準備しておけばよいのかなど、分からないことがたくさんありました。この記事では、私自身が育児休業を取得する中で調べた制度や、会社のサポート、実際にやってよかった準備についてまとめます。これから育児休業を考えている方、将来的に取得を...
4ヶ月前
記事のアイキャッチ画像
AIをチームとして運用する:ClaudeCode × Codex × ChatGPTで回したAndroid開発フロー 🔄
株式会社フォトラクションのフィード
はじめに 👋AIを開発に使う中で、最近強く感じているのは、1つのAIに全部任せるより、役割を分けた方がうまくいくということです。今回、Androidアプリの改善対応の中で、ChatGPTで論点整理、ClaudeCodeで実装プラン作成、Codexで実装、さらにClaudeCodeとCodexでレビューを往復させる、というフローを試しました。題材はOOM改善でしたが、実際に得られた学びは、個別の実装テクニック以上に「AIをどう開発フローに組み込むか」にありました。この記事では、その進め方と、やってみて見えたメリット・ハマりポイントをまとめます。 背景:AIに「全部やらせる...
5ヶ月前
記事のアイキャッチ画像
Zenn投稿の通知を自動化したが手動運用に戻した話【GAS×Slack】
株式会社フォトラクションのフィード
はじめに現在、Photoructionでは月2本を目標にZennブログを投稿しています。この取り組みを社内にも広げるため、これまでは広報チームがブログ公開のたびにSlackチャンネルへ手作業で通知を投稿していました。ただ、手動だと通知を忘れそうになることもあり、手間もかかるので、Bot自動通知にしたいと思ったのがはじまりです。 試行1 - SlackのRSS購読機能を利用ZennにはRSS配信機能があり、記事の更新情報をフィードとして取得可能です。また、SlackにもRSSフィードをチャンネルに連携する機能が用意されているとのこと。この2つを組み合わせれば簡単にブロ...
5ヶ月前
記事のアイキャッチ画像
StrictModeでリークを検出する
株式会社フォトラクションのフィード
はじめにAndroidチームでは現在、クラッシュフリー率の改善に取り組んでいます。詳細は過去の記事をご覧ください。https://kojichu.photoruction.com/entry/2025/04/02/090000改善の結果、クラッシュフリー率は95%まで向上することはできましたが、そこから先97〜99%の間を行き来する状態が続いており、伸び悩みを感じていました。 目についたのはOOM(OutOfMemoryError)Crashlyticsを確認していく中で、気になる傾向がありました。それが OOM(OutOfMemoryError) です。特定の重い...
5ヶ月前
記事のアイキャッチ画像
図面ファイル非同期処理基盤のコンテナ化でやったこと
株式会社フォトラクションのフィード
はじめにこんにちは。株式会社フォトラクションでSREをしている角です。現在、SREチームではシステムのコンテナ化を方針の一つとして活動しています。その中で私は、社内で変換サーバーと呼ばれている、図面ファイルを非同期で処理するシステムのインフラ移行を実施しています。今回は、変換サーバーのコンテナ化について取り組んできたことを紹介したいと思います。 変換サーバーは何をしているか変換サーバーは、ユーザーがアップロードした図面ファイル(画像/PDF)を、システム内で扱いやすい形に整えるバックグラウンド処理基盤です。主な役割は、フォーマット変換・複数ファイルの結合・分解といった図面...
6ヶ月前
記事のアイキャッチ画像
Androidチームでチーム内勉強会を始めました
株式会社フォトラクションのフィード
TL;DRAndroidチームで技術力向上とナレッジ共有を目的とした勉強会を開始したこれまでに「データ分析(BigQuery/Redash)」と「AI活用(Cursor)」の2回を開催第1回はユーザー行動分析のためのデータ基盤の構造とクエリ作成方法を学習第2回は各メンバーの「Cursorの推し機能・使い方」を共有勉強会を通してチームの課題(アーキテクチャ統一など)が明確になり、解決に向けた動き(.cursor/rules導入など)が生まれた はじめにこんにちは。Androidチームの藤井(Yosuke Fujii)です。Androidチームでは去年の12月から、...
7ヶ月前
記事のアイキャッチ画像
【入社4ヶ月インタビュー】技術+αで輝く。BuildWebチームで見つけた「自分の強み」の活かし方
株式会社フォトラクションのフィード
BuildWebチームのポピポピです。今回は、Webチームにジョインして4ヶ月が経ったメンバーあずにゃんさんに入社後のリアルな感想をインタビューしてみました。開発スキルはもちろんのこと、持ち前のフットワークの軽さで、早くもチームに新しい風を吹き込んでくれているメンバーに、転職の経緯から現在の仕事ぶりまで根掘り葉掘り聞いてみます。 👨‍💻 まずは簡単な自己紹介をお願いします!あずにゃん: エンジニア歴は今年で6年目になります。前職までは、受託開発やSES(客先常駐)での開発をメインに経験してきました。実は開発業務だけでなく、プライベートでは技術カンファレンスの運営スタッフなど...
7ヶ月前