スポンサーリンク
社員ブログ

なぜ Compose は XML より「考えること」が増えたのか

― 宣言的UIがエンジニアに突きつけた現実 ―※ChatGPTを使用して記事を作成しています。Jetpack Compose を触り始めたとき、多くのエンジニアがこう感じます。「XMLよりコード量は減ったはずなのに、なぜか頭が疲れる」「昔よ...
社員ブログ

第9回:ViewModel に何を書いて、何を書かないか

― Compose時代に“ViewModelが太る”問題の処方箋 ―※ChatGPTを使用して記事を作成しています。はじめにJetpack Compose を導入すると、UIの責務が大きく変わります。UI は「状態を描画するだけ」副作用は ...
社員ブログ

【習慣トラッカー開発記 #9】カテゴリー選択画面の実装 — 画面遷移とデータ連携について

はじめに前回の記事では、登録・編集画面の ViewModel 設計と状態管理について紹介しました。今回は、本画面の設計において、特に意識した「状態をどこに持たせるか」と「画面の責務をどこまでにするか」の2点についてまとめます。状態は一貫して...
社員ブログ

第8回:UI State を正規化しないと破綻する理由

― Boolean が増えた瞬間、UI は壊れ始める ―※ChatGPTを使用して記事を作成しています。はじめにJetpack Compose を使っていると、最初はこう思います。「状態を持たせれば UI は書ける」そして気づくと、View...
障害・対策事例報告

【障害・対策事例報告】SQL検索時におけるWITH(NOLOCK)指定漏れによるシステム遅延障害と対策

データベースを扱う業務では、日常的な検索処理がシステム全体に大きな影響を与えることがあります。特に商用環境でのSQL実行は、たとえ「検索のみ」であっても慎重さが求められます。今回は、検索SQLに WITH(NOLOCK) を付与し忘れたこと...
社員ブログ

第7回:再コンポーズを恐れなくていい理由

― Compose を壊すのは「再コンポーズ」ではなく「誤解」だった ―※ChatGPTを使用して記事を作成しています。はじめにJetpack Compose を使い始めた多くの人が、必ずこう言います。「再コンポーズが多すぎて不安」「無駄に...
社員ブログ

第6回:イベントは State にするな

― Snackbar / Navigation / Toast が UI を壊す理由 ―※ChatGPTを使用して記事を作成しています。はじめにJetpack Compose を使っていると、ある時ふとこんな設計になります。data cla...
社員ブログ

【障害・対策事例報告】商用環境に検証用リソースをアップしてしまった失敗談と、そこから得た教訓

システム開発や運用において、「商用環境」と「検証環境」を明確に分けることは基本中の基本です。しかし、分かっていても人はミスをします。今回は、社員が経験した「商用環境に検証用リソースをアップロードしてしまい、サービス障害を引き起こした事例」に...
アプリ開発

【習慣トラッカー開発記 #8】登録・編集画面の ViewModel 設計と状態管理について

はじめに前回の記事では、習慣の「登録画面」と「編集画面」を分けつつ、共通UIを HabitForm に集約する構成について紹介しました。UIの共通化自体は比較的スムーズに進んだ一方で、実装中に最も悩んだのが 「状態をどこで持つか」 でした。...
社員ブログ

第5回:SideEffect / DisposableEffect / LaunchedEffect の使い分け完全整理

― Compose の“副作用”を制御できないと設計は必ず壊れる ―※ChatGPTを使用して記事を作成しています。はじめにJetpack Compose を触り始めてしばらくすると、誰もがこの壁にぶつかります。「LaunchedEffec...
スポンサーリンク