最近、少々複雑な権限機能の開発を担当している中で、対応方針を悩んでいたことがありました。 権限機能というものは取り扱いが難しく、影響範囲が広いにも関わらず、対応漏れや考慮不足があると情報漏洩に繋がってしまいます。 また、機能拡張をしてく中でも対応漏れを起こさないようにする必要があるなど、考えることも多く頭を悩ませておりました。 そこで、認可処理の設計のベストプラクティスやDDDの実装パターンに認可処理を組み込む方法など、色々と調べていたのですが、その中でいくつか知見を得られたのでまとめようと思います! 権限と認可 権限と切っては切れない関係にあるのが認可です。 権限はある操作を実行できる権利を指します。 それに対して、認可は操作を実行する許可を出すため仕組みのことを指します。 例えば、ブログ投稿サービスで考えてみると、以下のような感じです。 権限: 投稿者はポストを編集できる。 認可: ユ
はじめまして、ZOZOTOWNアプリ部Android1ブロックの池田一成です。普段はZOZOTOWN Androidアプリ開発を担当しています。 ZOZOTOWNアプリは歴史の長いアプリのため、レガシーなコードがいくつか残っています。そのため、Android Lintで検出されるビルドワーニングが複数放置されたままの状態になっていました。これらのビルドワーニングは潜在的なバグを生み出す可能性やメンテナンスコストを増加させる可能性があります。ZOZOTOWNアプリにおいても機能改修をした際に新たに発生したビルドワーニングを検知できず、リリース後不具合に繋がってしまったことがありました。本記事では、JetBrains製のQodanaという静的解析ツールを用いた既存のビルドワーニングの可視化と新規のビルドワーニングを発生させない仕組みづくりについての取り組みをご紹介します。 Qodanaとは 導
Googleが2023年8月21日に、Android Runtime(ART)のアップデートによりアプリの起動時間や実行速度を大きく向上させられるようにすると発表しました。ARTがOSとは独立して更新できるようになったことで、古いAndroidがインストールされているスマートフォンでもアプリのパフォーマンスが改善することが期待できます。 Android Developers Blog: Latest ARTwork on hundreds of millions of devices https://android-developers.googleblog.com/2023/08/latest-artwork-on-hundreds-of-millions-of-devices.html ARTは、Android OS上でアプリを実行する上で中核的な役割を担っているプログラム実行環境で、
株式会社TOKIUMでAndroidエンジニアをしている渡邊(@error96num)です。ここ数年は"injection"というとワクチン注射が思い浮かびますが、本記事ではアプリ開発において欠かせないinjection、依存性注入(Dependency Injection: DI)という概念について解説します。 対象読者 以下のような方を想定しています。 依存性注入(Dependency Injection: DI)に馴染みがなく、ざっくり理解したい DIフレームワークを使ったアプリ開発をしているが、基礎にたちかえってDIの目的やメリットについて今一度理解したい 依存性注入 (Dependency Injection: DI) Android公式のドキュメント[1]にも登場するCar, Engineクラスを使った例で、Kotlinでの実装を交えてDIについて解説します。 多くの場合、クラ
株式会社ヘンリーでは継続的に勉強会を開催しています。今回はServer-Side Kotlin Meetup vol.6に登壇して、『Java開発者向けのKotlin』をテーマにKotlin Gradleビルドスクリプト入門について発表しました。 発表資料はSpeakerDeckにて公開しています。Java経験のあるプログラマ向けに、よくあるつまづきポイントを解説したものです。 GradleビルドスクリプトをKotlinで書くと、型による恩恵を得やすい、Groovyをキャッチアップする必要がないなどの利点があります。 Gradleも近々予定しているバージョン8でKotlinサポートを強化し、来年はKotlinをDSLのデフォルトにするようですので、今Groovyで書いている方もぜひKotlinで書くようチャレンジしてみてください! ヘンリーはエンジニアを絶賛採用しております。ご興味のある方
みなさんこんにちは、電通国際情報サービス(ISID)コーポレート本部 システム推進部の佐藤太一です。 本日は最新のGradle(2022/08現在)を使いこなしながらKotlinでJavaのアプリケーションをビルドするスクリプトを書く際に、知っておくと便利なノウハウをまとめてご紹介します。 はじめに 記事の執筆環境 scoopのセットアップ Javaのセットアップ Gradleのセットアップ サンプルアプリケーションについて ルートプロジェクトの実装 ウェブアプリケーションプロジェクトの実装 ビルドスクリプトの作成 サンプルアプリケーションの実装 バージョニング その他のバージョニングプラグイン バッチプロジェクトの実装 バッチアプリケーションの実装 Fat/Uber Jarの作り方 ビルドにおける共通処理の切り出し ローカルプラグインの作り方 ローカルプラグインの実装 ローカルプラグイン
はじめに Play Billing Library5を使ってみます。 注意点として、本記事は私の独自の理解と解釈になります。 課金処理周りの話になるので実装は自己責任でお願いします。 Play Billing Libraryとは AndroidアプリにおいてGoogle Playを通した課金処理を実装するために使用できるAPIです。毎年(?)更新されており、2022年5月からバージョン5.0がリリースされました。また、古いバージョンは時間が経つと足切りされてしまうので、定期的な更新が必要となります。 実装する Play Billing Libraryを使用して販売できるアイテムには「消費可能なアイテム」とサブスクなどに使用される「消費不可のアイテム」があります。今回は「消費可能なアイテム」を例に実装の流れを見ていきます。 Play Billing Libraryを使用して課金処理を行うため
Qiita Nightの資料になります。 ↑ 右下の拡大ボタンを押すと読みやすくなります。 https://increments.connpass.com/event/251564/ どうAndroidプロジェクトをセットアップするか? takahiromという名前で活動しています。 Androidが好きです。 GDE for AndroidやDroidKaigi Co-organizerやCyberAgent Developers Expertなどの活動をしています。 初めてQiitaスライドを使いました。 初めてAndroidアプリを作りたいという方 Googleから公式のチュートリアルが提供されているので、最新のAndroidの開発について確認してみてください!一緒に開発していきましょう🙌 https://developer.android.com/courses/android
Android 界隈では Kotlin がすでに十分実用段階として広まっているので、C++ でゲーム開発をしている我々は C++ から Kotlin の関数を呼びたくなるわけですよ。 今まではネイティヴプラットフォームに対して操作するとき Java を使ってきましたが、あの長ったらしい Runnable1 や Null 安全じゃない世界とはできればおさらばしたいわけです 広いインターネットの海を探してみると Kotlin から C++ を呼び出すことについての記事はいくつか見つかるのですが、C++ から Kotlin を呼び出すことについて情報が少なかったので今回調べたことを残しておくことにしました。 準備 Android Studio の New Project から Native C++ のテンプレートを選択して生成されたプロジェクトをベースにやっていきます。 Android Stud
本記事はAndroid Advent Calendar 2020の2020/12/01分です。 初っ端ということなので、2020年末と2021年頭でのAndroidエンジニアとして初めて業務でやる場合に抑えておいたほうが良い最低限の部分を書いていこうと思います。(ツッコミ待ちです) 対象 2021年3月ぐらいまでに !!業務!! でAndroidアプリを作らされる事になった可愛そうな人が居たとします この人は手続き型言語でオブジェクト指向プログラミングができる知識があり、Androidアプリもなんとなく趣味で作ったこともあるぐらいのレベル感です(なので上長からいきなりお前Android担当なと言われた) 最低限のAndroidアプリの作成の知識はあるものとします(画面の表示にはActivityがいるよとかは書かない) ゲームは対象外です 業務でAndroidアプリを作ることを想定しています
HOME ブログ サーバー , Kotlin 【海外版リリース記念】サーバーサイドKotlin、gRPCを中心とした「SEVEN’s CODE-セブンスコード-」のバックエンド技術 【海外版リリース記念】サーバーサイドKotlin、gRPCを中心とした「SEVEN’s CODE-セブンスコード-」のバックエンド技術 2020.01.27 こんにちは、バックエンドエンジニアの竹端です。 去る2020年1月23日、弊社のゲームタイトルSEVEN’s CODE-セブンスコード-が全世界に向けて配信されました。 こちらのタイトルは昨年10月に日本では既にリリースされており、ここ数年アプリボットで取り組んできたサーバーサイドKotlin、gRPCを中心とした技術基盤で作られたタイトルです。 昨年開催されたCEDEC 2019のセッションでも、事例としてお話しさせていただきました。 https://s
こんにちは、初めまして。 入社して3ヶ月経ち、家族向けアプリの開発に勤しむ中、最近、自分にも家族(子猫×2)ができたAndroidエンジニアのTsutouです。 AndroidでApple IDでログイン? さて、弊社の事業であるFammでは、ログイン時のUX改善として、Sign in with Appleを導入しました。 背景として、Sign in with Apple(Apple ID でのログイン)はメールアドレスの秘匿によるプライバシー保護観点、ログインが簡単になるという点でとても良い機能です。 iOSではサードパーティログインを提供しているアプリにおいて実装が必須となっていること、昨今ではiPhoneからAndroidに乗り換えるユーザーも一定数いることから、両OS同時の導入を決定しました。 しかし、AndroidでSign in with Appleするには、iOSとは違い公式
Introduction これはQiita Kotlin Advent Calendar 2019 7日目の記事です。6日目は @yt8492 さんのKotlin向けgRPC/protobufライブラリKroto+を使ってみよう、8日目は@nnao45 さんのkotlin製ORM Exposed小技集です。 どうも、株式会社 justInCaseの関連会社であるjustInCase TechnologiesでバイトとしてAWS CDKのラッパーライブラリを自動生成する奴を作ってるトリナーと申します。 Gradle Kotlin DSLはGradle 5.0で正式版になった、GradleのビルドスクリプトをKotlinで書ける機能です。 従来のビルドスクリプトであるbuild.gradleとsettings.gradleはGroovyというJVM上で動作するスクリプト言語を用いていました。
どこでもKotlin #7 〜Kotlin MPP特集〜で話す予定の内容です!他の方の発表面白そうですし、先着順でまだ空きがあるようなので参加まだの方いれば早めにどうぞ! https://m3-engineer.connpass.com/event/123055/ 概要 自分の知見というより、DroidKaigiアプリとしての知見になりますが、このままではもったいないので、書いておきます。 このあたり、自分はAndroid版の機能をレビュー、実装している間に、コントリビューターの方々がやっていただけたものになります。 @kikuchy さんが特にこの基盤作りをメインにやってくれていました。他にもiOSの有名な方々など、さまざまな方が開発に参加していただけました。 DroidKaigiではAndroid版とiOS版をリリースしています。そこで培った知見を公開しておこうと思います。 Kotli
Kotlin Multiplatform Project向けのGraphQLラッパー生成ライブラリ、kgqlを作ったFebruary 27, 2019kotlinkmp AndroidとKotlin Multiplatform Projectで使える、GraphQLのドキュメントからコードを生成するGradle Pluginを作った。 kgqlという。 これ実際の成果物を見てもらうのが早いと思うので、こんな感じ。 // User.gql query User($login: String!) { user(login: $login) { id login bio avatarUrl company createdAt } } query Viewer { viewer { login } } kotlinpackage com.sample import com.codingfeline
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く