サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
rni-dev.hatenablog.com
リサーチ・アンド・イノベーションの高田(tfandkusu)です。Androidエンジニアをやっています。去年、Android版CODEアプリのアーキテクチャと使用ライブラリを執筆した時点ではJetpack Composeを導入してなかったのですが、2月からJetpack Composeによる開発を開始して、6月にそれを使った新機能をリリースできました。そして現在、新機能の開発はすべてJetpack Composeで行っています。この記事ではAndroid版CODEアプリ開発チームにおける、Jetpack Compose導入のモチベーションや最初に採用した機能、技術選定の結果などを紹介します。 3部構成 この記事は3部構成を予定しています。 ViewModel編(今回) マルチモジュール編 画面遷移編 導入のモチベーション 品質の向上 Jetpack Composeは宣言的UIであり、UI
リサーチ・アンド・イノベーションの高田(tfandkusu)です。Androidエンジニアをやっています。弊社には3人目のAndroidエンジニアを採用する予定があり現在準備中です。この記事では応募者が弊社で働くイメージを持ちやすくするために、Android版CODEアプリのアーキテクチャと使用ライブラリを広く簡潔に紹介します。 アーキテクチャ アーキテクチャは5層構造のレイヤードアーキテクチャになっています。Android公式のアプリの推奨アーキテクチャのViewModelとRepositoryの間にUseCaseを加えた構造を採用しています。UseCaseを加えた理由はViewModelの単体テストの肥大化を防ぐためです。 アーキテクチャ 非同期処理 Kotlin CoroutinesをFlowを含めて使用してます。 RemoteDataStore サーバサイドはRuby on Rai
リサーチ・アンド・イノベーションの高田(tfandkusu)です。Androidエンジニアをやっています。昔から独自のUI部品やユニークなアニメーションを作ることにはこだわっていましたが、今回作ったドラッグ可能かつクリック可能なViewもなかなかの自信作なので紹介しようと思います。 FINE演出 CODEの買い物登録では、まずレシートを撮影して頂きますが、撮影されたレシート画像はOCR(光学的文字認識)処理され、日付、合計金額、店舗電話番号が読み取られます。CODEではサードパーティー製のレシートOCRライブラリを使用してOCR処理を行っています。クラウドの力は借りずにリソースの限られたスマホ端末内で完結して処理が行われますが、認識精度と処理速度の両面で高い完成度を持ったライブラリだと思います。とは言っても、レシートが遠すぎたり手ぶれしていたりピンボケしていたりすると読めません。 OCRが
リサーチ・アンド・イノベーションの高田(tfandkusu)です。こだわりを持ってAndroidアプリ作りができる環境を求めて、今年1月に入社し、CODEのAndroidアプリ開発を担当しています。このたびサードパーティーから買っているバーコードデコードライブラリを別のものに差し替えることとなりましたが、そのライブラリには特徴的な仕様があり、それに合わせてバーコードスキャン範囲を示す表示(以下、ファインダー)にも改修を加えることにしました。この記事ではその部分をCanvasを使って再実装したことを紹介します。 バーコード読取画面 ファインダーをよく見る ファインダーは下の図で示すとおりです。 外側は白い半透明 中心に穴が開いている 4角に不透明の線がある 線には外側だけ陰がある 全体 外側だけに影がある バーコードデコードライブラリの仕様 バーコードデコードライブラリの仕様ですが、サイズが
概要 リサーチ・アンド・イノベーションの浜田(hamadu)です。 最近、社内では CODE のインフラを さくらのクラウド から Google Cloud Platform へと移行する流れが進んでいます。その一環ではないのですが、Google Clound Functions を使って遊んでいたところ、便利な仕組みが生えたので紹介します。GitHub の Issue や Pull Requestに mention(@(GitHubのユーザ名)) が来た時に、その人に向けて Slack で通知するというものです。 これがなぜ必要かというと、弊社の開発メンバーでは GitHubのユーザ名とSlackのユーザ名が異なる人が多く、公式の GitHubアプリで mention を上手く通知する機能が無いためです。また、自前で作れば Slack に送るタイミングやメッセージを自由にカスタマイズでき
こんにちは。リサーチ・アンド・イノベーションの小川(J-ogawa)と申します。 弊社サービスの「あなたの日常を、もっといい日常に変える」そんなアプリCODEの iPhoneアプリおよびサーバサイドの開発を担当してます。 本記事はシリーズ物で恐縮ですが、Clojureでブログやスマホアプリを作ってみようのコーナー、2回目となります。 前回 Clojureでブログやスマホアプリを作ってみる part1 基本方針 フレームワークにre-frameを使用しています。 re-frameはとてもイケてるフレームワークだと思います。 Elmもre-frameに影響を受けています。 解説記事予定 全4回に分けて解説を行いたいと思います。 re-frameの概要 re-frameのdispatch時の副作用について サーバサイド re-frameでiOS & Androidアプリを作る 前回はre-fra
RNI dev の K.oshima です。 network mobility が好きです。 弊社のサービス Mycomment はユーザーのアクセス解析に Woopra と言うサービスを利用しています。 先日、Mycomment と Woopra のデータコレクター間の通信が失敗した結果、ログ監視にエラーが大量に上がってくる事象がありました。 失敗理由は特定データコレクターまでの経路消失です。 どうすればよかったかというと、一度目の通信失敗後にリトライして欲しかった。リトライすればハズレを引かずに成功する可能性があった。Woopra SDK がリトライしてくれればよかった話なのですが、実際にはリトライ機能がないため SDK を利用する利用者(rni-dev)が失敗したらリトライするように書く必要があります。 この待ってリトライするときに、一般によくある実装ではリトライが失敗するたびにリト
こんにちは。リサーチ・アンド・イノベーションの中村(konk303)と申します。 いわゆる「railsおじさん」的な立場で、主にサーバーサイドの開発をしています。 Introduction 本稿ではQiitaのイミュータブルデータモデルと webアプリケーションにおける現実解にインスパイアされて、弊社でのイミュータブルデータへの取り組み(とその苦しみ)を紹介したいと思います。 qiita.com イミュータブルデータモデルとは? まるっと引用。 イミュータブルデータモデルと webアプリケーションにおける現実解 - Qiita 詳細はリンクに譲りますが、「履歴を全て残すようなデータ設計にし、 UPDATE を廃することで情報の追跡可能性を確保、堅牢な設計にする」モデリング手法です。 原則この手法に従うと、そうそう汚いモデルにはならないという優れもの(雑) です。イベントが起こる度に新規レコ
リサーチ・アンド・イノベーションの浜田(hamadu)と申します。 いつものお買い物がちょっとお得に、家計簿にもなるポイントアプリ「CODE」のサーバサイド、およびAndroidアプリの開発を担当しています。 序 CODE ではバックグラウンドジョブシステムとして、Sidekiq を採用しています。その作者、Mike Perham 氏が新しい仕組みを作っていました。その名も Faktory。Sidekiq と違いワーカーが言語に依存せず、また本体はGoで書かれているためスケールするのがウリのようです。まだまだ開発中で、プロダクションで使うには厳しい印象を受けますが、今後Sidekiqを置き換えうるプロジェクトになるのではと思います。 本稿では簡単に仕組みの紹介をして、Rubyでジョブを投げるClientと、ジョブを処理するワーカーをそれぞれ実装してみました。 ソースコードは faktory
こんにちは。リサーチ・アンド・イノベーションの小川(J-ogawa)と申します。 iOSアプリの開発とサーバサイドの開発をやっています。 私の記事はClojureがテーマです。 Clojure なぜClojureなのか。 恐縮ながら個人的趣味に基づきます。Clojureはシンタックスが一貫しているのと、表現力が高い所がとても好きです。他にも色々といい点はあると思いますが、好きで採用しています。 数年前にClojure作者のRich Hickeyのプレゼンを見て、感銘を受け、勉強を始めた思い出があります。 まだまだClojureはマイナーで、弊社RNIでも主流はRuby, Ruby on Railsですが、Clojureを採用することも視野に入っていたりいなかったり。 clojure.org翻訳ページ Clojureについて書かれてます。 simple made easy Clojure作者
このページを最初にブックマークしてみませんか?
『リサーチ・アンド・イノベーション 開発者ブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く