並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 292件

新着順 人気順

Kotlinの検索結果81 - 120 件 / 292件

  • それKotlinなら5行でできるよ - Uzabase for Engineers

    このブログは NewsPicks Advent Calendar 2022 2日目の記事です。 qiita.com こんにちは。むとうです。 プログラミングって難しいですよね。昔スゴーク頑張って何十行も書いたコードをベテランの人に一行に直されて、衝撃が走ったことを覚えています。手練との歴然とした力の差を見せつけられる、みなさんもそういう経験があるのではないでしょうか? 私はかれこれ20年近くプログラミングを教えてきており、人のコードの書きっぷりを見て「これを身につければもっといい感じにできるのに」と感じることも増えてきました。そういう技は決して難しいものばかりではありません。誰でもすぐに身につけられて一生もののスキルとして使える技の一つに「コレクション処理」があります。実用的なプログラムの多くの部分はコレクション操作で成り立っています。コレクション操作を適切につかえば難しい仕掛けや独自実装

      それKotlinなら5行でできるよ - Uzabase for Engineers
    • お役立ち情報 | AKKODiS(アコーディス)コンサルティング株式会社

      求職者の方々の仕事探しや日頃の業務に役立つコンテンツ等を展開しています。

        お役立ち情報 | AKKODiS(アコーディス)コンサルティング株式会社
      • WebAssembly が新しいウェブ機能を加速する仕組み

        .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

          WebAssembly が新しいウェブ機能を加速する仕組み
        • Kotlinエバンジェリスト・長澤太郎氏が薦める、Kotlinへの理解を深める3冊

          Kotlinエバンジェリスト・長澤太郎氏が薦める、Kotlinへの理解を深める3冊 2024年9月5日 Kotlinエバンジェリスト 長澤 太郎 Ubie株式会社のソフトウェアエンジニア。「テクノロジーで人々を適切な医療に案内する」をミッションに、日々開発に勤しむ。 本業のかたわら、自称Kotlinエバンジェリストとして、講演や執筆などを通じて啓蒙活動に尽力。国内最大のKotlin技術カンファレンス「Kotlin Fest」の代表を務める。 X: @ngsw_taro 1. 『Kotlinイン・アクション』Dmitry Jemerov 著、Svetlana Isakova 著、長澤 太郎 監修・翻訳、 藤原 聖 監修・翻訳、山本 純平 監修・翻訳、 yy_yank 監修・翻訳 2. 『Kotlinスタートブック』長澤 太郎 著 3. 『Kotlin サーバーサイドプログラミング実践開発』竹

            Kotlinエバンジェリスト・長澤太郎氏が薦める、Kotlinへの理解を深める3冊
          • iOS/Androidに対応した「Tauri 2.0」が公開 ~「Rust」が使えるアプリフレームワーク/「Swift」「Kotlin」など、モバイルOSネイティブ言語にも対応

              iOS/Androidに対応した「Tauri 2.0」が公開 ~「Rust」が使えるアプリフレームワーク/「Swift」「Kotlin」など、モバイルOSネイティブ言語にも対応
            • 工数削減もコード共通化もこれひとつで Androidエンジニアが語るKotlin Multiplatform Project導入のメリット | ログミーBusiness

              サイバーエージェントメディア事業部のメンバーが、Flutter・Kotlin Multiplatform を中心に、開発の中でのTipsを紹介する「Flutter × Kotlin Multiplatform by CyberAgent #1」。ここで清水氏が「ドットマネーでKotlin Multiplatform Projectを導入してみて」をテーマに登壇。Kotlin Multiplatform Project採用の詳細と、メリット・デメリットを紹介します。 Kotlin Multiplatform Projectについて話すこと・話さないことYasuhiro Shimizu氏(以下、Shimizu):それでは「ドットマネーでKotlin Multiplatform Projectを導入してみて」というタイトルで15分ほど話します。自己紹介です。清水泰博と言います。ドットマネーという

                工数削減もコード共通化もこれひとつで Androidエンジニアが語るKotlin Multiplatform Project導入のメリット | ログミーBusiness
              • Googleがアプリ起動を30%高速化させる「Androidランタイム」のアップデートを発表、Android 12以降なら古いスマホも高速化

                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上でアプリを実行する上で中核的な役割を担っているプログラム実行環境で、

                  Googleがアプリ起動を30%高速化させる「Androidランタイム」のアップデートを発表、Android 12以降なら古いスマホも高速化
                • Java と Kotlin で assertion の挙動が違った話 - ドワンゴ教育サービス開発者ブログ

                  assertion とは 起きた出来事 原因 Java Kotlin 対策 まとめ We are hiring! assertion とは assertion とはプログラムの中の様々な前提が満たされていることを確認するための仕組みで、日本語だと「表明」という訳が当てられることが多いです。 Java や Kotlin に限らず様々な言語で実装されており細かい仕様は言語ごとに異なりますが、多くの場合「前提が満たされていない場合は例外を発生させる」「本番環境では無効化できる」という点で共通しています。 例えば Kotlin の場合は以下の形で記述され、仮に条件が満たされなかった場合は AssertionError が指定されたエラーメッセージ付きで投げられます。 val result: Int = someFunction() assert(result > 0) { "result of s

                    Java と Kotlin で assertion の挙動が違った話 - ドワンゴ教育サービス開発者ブログ
                  • Kotlinで学ぶ 代数的データ型

                    関数型まつり(#fp_matsuri)の登壇資料です。

                      Kotlinで学ぶ 代数的データ型
                    • Kotlin 2.0正式リリース。新コンパイラ「K2」採用でコンパイル速度が約2倍、マルチプラットフォーム対応も加速へ

                      Kotlin 2.0正式リリース。新コンパイラ「K2」採用でコンパイル速度が約2倍、マルチプラットフォーム対応も加速へ JetBrainsは、同社が主導して開発しているプログラミング言語「Kotlin」のメジャーバージョンアップとなる「Kotlin 2.0」を、日本時間5月23日に行われたイベント「KotlinConf'24」で発表しました。 KotlinはJavaVM言語として登場し、2017年にAndroidの正式な開発言語になったことで急速に注目度を高めました。現在ではサーバサイドやAndroid、iOS、Windows、Webアプリケーションなどの開発にも対応するマルチプラットフォーム対応のプログラミング言語として展開が進んでいます。

                        Kotlin 2.0正式リリース。新コンパイラ「K2」採用でコンパイル速度が約2倍、マルチプラットフォーム対応も加速へ
                      • Springで既存のサーバアプリにモックレスポンス機能を搭載する

                        Photo by Joel Holland on Unsplashこんにちは。今年の4月からFinatextにJoinした岩田です。 入社して半月、早速ですがTechBlogを書きます! 今回はSpringで既存のサーバアプリにモックレスポンス機能を搭載する方法についてご紹介します。 なお、ここでのモック機能は単体テストの文脈でよく使われる意味のモックではなく、「実動作環境で、あるリクエストに対して期待するレスポンスを返すようにする機能」 の事を指します。 概要モック機能が必要になるケースは下記のようなケースがあるかと思います。 フロントエンド開発チームがバックエンド開発チームのAPI開発を待たずにアプリの開発、動作確認したい。複雑な状態下(ユーザの状態や時限など)でのレスポンスをEnd to Endテストなどで常に再現したい。これらの課題・要望をSpringを使用しているアプリケーション

                          Springで既存のサーバアプリにモックレスポンス機能を搭載する
                        • Qodana(IntelliJ IDEAのCode Inspection)のCIへの組み込み ~ Kotlinのコード品質を高めるために ~

                          LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog LINE株式会社OA SREチームのhasebeです。 今回の記事ではQodanaについて、導入した背景、導入するにあたってのテクニック、得られた効果などを紹介したいと思います。 背景 私の所属する開発4センターでは、近年、サーバーサイドの言語としてKotlinを採用しています。(LINE社全体としても同じ傾向があるように思います。) 理由については今回の記事では深堀りはいたしません。簡単にいうと、昔からJavaを採用しており、Javaのエコシステムが社内に整っているためです。 われわれ開発4センター以外でも、海外や国内においてKotlinをサーバサイドで利用するケースを見聞きする機会が増えてきました。ですが、歴史的理由からも

                            Qodana(IntelliJ IDEAのCode Inspection)のCIへの組み込み ~ Kotlinのコード品質を高めるために ~
                          • Rx使いに送るKotlin Coroutine入門 - Qiita

                            Everything is a stream みなさん良いStreamライフを送っていますか? 私は最高のStreamライフを送っています! 特に最近Kotlin Coroutineを使い始め、新たな風が流れてきています。(Streamだけに) 寒いギャグのStreamはonCompleteするとして・・・ 昨今のAndroid開発において、RxJava(RxKotlin)とKotlin Coroutineのどっちを使うか問題があると思います。 RxJavaはもちろん素晴らしいフレームワークですが、Kotlin Coroutineは公式が出しているフレームワークなので、こちらを使う方が安心感があるようにも感じます。 Kotlin Coroutineを使ってみて、こちらの方が良いと感じる部分も多数あったので RxJava使いがKotlin Coroutineを使い始めるための基本知識 RxJ

                              Rx使いに送るKotlin Coroutine入門 - Qiita
                            • Netflix Android and iOS Studio Apps — now powered by Kotlin Multiplatform

                              By David Henry & Mel Yahya Over the last few years Netflix has been developing a mobile app called Prodicle to innovate in the physical production of TV shows and movies. The world of physical production is fast-paced, and needs vary significantly between the country, region, and even from one production to the next. The nature of the work means we’re developing write-heavy software, in a distribu

                                Netflix Android and iOS Studio Apps — now powered by Kotlin Multiplatform
                              • Kotlin、Swift、Rubyの人気が低迷中 — プログラミング言語最新人気ランキングにて

                                4月8日、海外のテクノロジーメディアInfoWorldが「Kotlin, Swift, and Ruby losing popularity – Tiobe index」と題した記事を公開した。この記事では、プログラミング言語Kotlin、Swift、RubyがTiobe指数において順位を下げ、人気が低下している状況について紹介されている。 4月8日、海外のテクノロジーメディアInfoWorldが「Kotlin, Swift, and Ruby losing popularity – Tiobe index」と題した記事を公開した。この記事では、プログラミング言語Kotlin、Swift、RubyがTiobe指数において順位を下げ、人気が低下している状況について紹介されている。 Tiobe指数とは Tiobe Programming Community Indexは、検索エンジンのヒット数

                                  Kotlin、Swift、Rubyの人気が低迷中 — プログラミング言語最新人気ランキングにて
                                • GitHub - 1Password/typeshare: Typeshare is the ultimate tool for synchronizing your type definitions between Rust and other languages for seamless FFI.

                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                    GitHub - 1Password/typeshare: Typeshare is the ultimate tool for synchronizing your type definitions between Rust and other languages for seamless FFI.
                                  • BacklogAPIとKotlinで問合せを自動管理するツールを作ってみた - 虎の穴ラボ技術ブログ

                                    お久しぶりです、最近は料理系Youtuberの影響を受けて自炊ブームが来ている礒部です。1万円する包丁を買ってからキャベツの千切りが趣味になっています。 今回はKotlinで作成した、問合せ管理を自動化するツールの紹介をしたいと思います。 作ったきっかけ 通販チームでは、運営チームからの問合せをエンジニアで順番に対応しています。 元々は Googleスプレッドシート + GAS で問合せを自動管理していたのですが、Backlogに移行したためBacklog用の問合せ自動管理ツールを作ることになりました。 Googleスプレッドシート で運用するデメリット 問合せシートのデータが肥大化してきており、動作が重く、過去の問合せの参照に時間がかかる 画像の貼り付けやファイルの添付がスムーズに行えない 問合せとは別に、確認や相談はBacklogで行っている場合などがありバラバラになっていた Back

                                      BacklogAPIとKotlinで問合せを自動管理するツールを作ってみた - 虎の穴ラボ技術ブログ
                                    • KMMでiOS・Android
を共通化しよう - dely Tech Blog

                                      こんにちは! dely開発部でiOSエンジニアをしている@yochidrosです。 この記事は「dely #2 Advent Calendar 2020」の11日目の記事です。 adventar.org adventar.org 昨日は@_kobuuukataさんの開発者向けのオンラインイベントを開催してわかった7つのポイントでした 普段,業務上はiOSアプリをゴリゴリ開発していますが、過去にAndroid・iOS両方を開発してたこともあり 一度に両OSを開発できたら良いと思っていました。 FlutterやReact Nativeなどマルチプラットフォーム開発できるツールがありますがそれぞれで メリット・デメリットがありなかなか導入に至るまでにはいかないケースがあると思います。 そこで今回は2020年の9月についにalpha版になったKMMについて調べてみました。 KMMとは? Kotli

                                        KMMでiOS・Android
を共通化しよう - dely Tech Blog
                                      • 「Kotlinを効率的に習得できたのはLINEの環境があったからこそ」新卒入社1年目のエンジニアが挑んだLINEキャンパス開発

                                        LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog サービス・機能やそれにまつわる開発の裏話や取り組みを聞く「Product Story」シリーズ。今回は2022年3月にオープンしした、 LINE公式アカウントやLINE広告のアカウント運用に必要な知識やスキルを習得できるオンラインの総合学習プラットフォーム「LINEキャンパス」のサーバーサイド開発について紹介します。 LINEキャンパスには、学習コースと認定資格コースが用意されており、すべて無料で受講可能。初心者から運用経験豊富な方まで、スキルレベルや目的に応じて全27コース、90を超えるレッスンを受講して学ぶことができます。 このプラットフォームのサーバーサイド開発を担ったのは、LINEに2021年4月に新卒入社して現在開発

                                          「Kotlinを効率的に習得できたのはLINEの環境があったからこそ」新卒入社1年目のエンジニアが挑んだLINEキャンパス開発
                                        • JJUG CCC 2023 Fall ( #jjug_ccc ) - セッション資料の一覧 - 地平線に行く

                                          JJUG CCC 2023 Fallに参加しました! 前回よりも参加者が大幅に増えて、ワイワイと盛り上がった中でいろんな話が聞けて楽しかったです! 特に、一足先に次回の Java 22 でリリース予定の Foreign Function & Memory API と String Template の話があって、使えるようになるのが楽しみになりました。 あと、今回「バイナリビューアを使ってクラスファイルを読んでみよう!」というテーマで登壇しました。 思ったよりもたくさんの人に聞いてもらえて、そして楽しんでいただけたようで、嬉しかったです。前日まで、これ分かりにくいけどどうしたら…と悩みながら内容を練った甲斐がありました。 準備は大変でしたが、また機会があれば頑張ります! さて、最後にいつものを。 今回、残念ながら時間がかぶってしまって参加できなかったセッションがいっぱいあったので、あとで読

                                            JJUG CCC 2023 Fall ( #jjug_ccc ) - セッション資料の一覧 - 地平線に行く
                                          • 【感想】『読みやすいコードのガイドライン―持続可能なソフトウェア開発のために』:Kotlinでモダンなコード指南 - Rのつく財団入り口

                                            リーダブルコード的な本が新たに登場っす! (しかもKotlinなの) 読書記録と感想です。著者の石川宗寿さんはLINEでご活躍中のシニアエンジニア。元は2019年に公開されたプレゼンテーション「Code Readability」を元に書籍化されたとのことで、モダンな大規模開発やコードレビューやリファクタリングで得られた現場の経験を通して、可読性の高いコードを大テーマに知見が詰まった一冊となっています。 リーダブルコード的な本が新たに登場っす! (しかもKotlinなの) 第1章 可読性の高いコードを書くために 第2章 命名 第3章 コメント 第4章 状態 第5章 関数 第6章 依存関係 第7章 コードレビュー まとめ:Kotlinを題材にした2020年代のモダンなコード指南の書 おまけ リンクと関連書籍 読みやすいコードのガイドライン -持続可能なソフトウェア開発のために 作者:石川 宗寿

                                              【感想】『読みやすいコードのガイドライン―持続可能なソフトウェア開発のために』:Kotlinでモダンなコード指南 - Rのつく財団入り口
                                            • サーバーサイド Java / Kotlin エコシステムに潜む ThreadLocal ~ Kotlin Coroutine と ThreadLocal を安全につなぎこむ - 株式会社ヘンリー エンジニアブログ

                                              こんにちは!ヘンリーでソフトウェアエンジニアをしている @agatan です。 今日は小ネタで、サーバーサイド Java / Kotlin エコシステムで意外と使われている ThreadLocal と、それを Coroutine と安全に組み合わせる方法について紹介します! TL; DR ThreadContextElementを使おう! ThreadLocal とは java.lang.ThreadLocal<T> は、その名の通り、スレッドローカルな(= スレッドごとに独立した値を持つ)変数を定義するための機構です。 ある Thread で値を書き換えたとしても、他の Thread から見た ThreadLocal 変数の中身は書き換わらない、という性質があります。 import kotlin.concurrent.thread val tls: ThreadLocal<Int> =

                                                サーバーサイド Java / Kotlin エコシステムに潜む ThreadLocal ~ Kotlin Coroutine と ThreadLocal を安全につなぎこむ - 株式会社ヘンリー エンジニアブログ
                                              • map関数の内部実装から探るJVM言語のコレクション: Scala, Kotlin, Clojureコレクションの基本的な設計を理解しよう | ドクセル

                                                スライド概要 主要なJVM言語Scala, Kotlin, Clojureの標準ライブラリにおける高階関数mapの実装を探ることを通して、各言語の特徴的なコレクション設計について理解を深めよう。 JJUG CCC 2024 Fallセッション概要: https://sessionize.com/s/lagenorhynque/mapguan-shu-nonei-bu-shi-zhuang-karatan-rujvmyan-y/105241

                                                  map関数の内部実装から探るJVM言語のコレクション: Scala, Kotlin, Clojureコレクションの基本的な設計を理解しよう | ドクセル
                                                • Jetpack Compose を使ったデザインシステムの実装

                                                  #11WeeksOfAndroid 18 #Android12 1 #AndroidDevJourney 1 #androiddevsummit 5 #GoogleIO 19 #WeArePlay 7 12l 1 5 star apps 1 Ads 1 advertising 1 AGDE 1 AGDK 2 AGI 1 AI 3 AI Announcements beginner Explore Generative AI 1 AI Announcements beginner Explore Generative AI、 1 Android 108 Android 10 1 Android 11 1 Android 12 Beta 5 1 Android 12L 1 Android 13 3 Android 14 7 Android 14 Beta 4 1 Android 14 ベータ版

                                                    Jetpack Compose を使ったデザインシステムの実装
                                                  • Ktor × Exposed × Koin × kotlin-resultを用いたDDDを意識したアプリケーションの実装 - Don't Repeat Yourself

                                                    ここ数年で『関数型ドメインモデリング』という書籍や、『Functional and Reactive Domain Modeling』といった書籍を読んだ経験から、今業務で取り組んでいるKotlinではどう表現できるのかに興味がありました。年末年始に少しまとまった時間が取れたので、実際に実装してみました。今回は、その過程でどのような知見を得られたかを、主には自分の理解のためにまとめておきたいと思います。 関数型ドメインモデリング ドメイン駆動設計とF#でソフトウェアの複雑さに立ち向かおう (アスキードワンゴ) 作者:Scott Wlaschin,猪股 健太郎ドワンゴAmazon github.com 先に書いておきますが、長いです。目次をご覧になって、興味のある場所をかいつまんでお読みください。 免責事項 お題 技術スタック 設計 全体的な設計 Kotlinの使用に関するもの データ型の定

                                                      Ktor × Exposed × Koin × kotlin-resultを用いたDDDを意識したアプリケーションの実装 - Don't Repeat Yourself
                                                    • マイクロサービスにおける非同期処理は何で実現させるか? Callback地獄などを起こさないKotlin Coroutineのメリット | ログミーBusiness

                                                      自己紹介とセッションの概要岩谷明氏:みなさんこんにちは。LINEの岩谷と申します。LINE Developers Meetup for Kotlinにご参加いただき、誠にありがとうございます。本日最初のセッションですが、「LINEでKotlinを活用してサービスを作っていく話」と題して、発表します。よろしくお願いいたします。 簡単に自己紹介します。私は2016年にLINE株式会社に入社しました。今までは「LINE LIVE」や「LINEノベル」などのiOSやAndroidのエンジニアをしていましたが、2019年から、本日お話しするライブコマースサービスのサーバーサイドエンジニアをしています。 (スライドを指して)本日お話ししたい内容はご覧のようになります。まず、今回私たちのチームが新しく開発した、ライブコマースサービスの紹介をさせてください。 次に、その開発に当たってどのような技術を利用し

                                                        マイクロサービスにおける非同期処理は何で実現させるか? Callback地獄などを起こさないKotlin Coroutineのメリット | ログミーBusiness
                                                      • Kotlin/Wasmでサーバサイドアプリケーションを開発するフレームワーク「KoWasm」が登場。WebAssemblyのガベージコレクションやコンポーネントの活用を想定

                                                        Kotlin/Wasmでサーバサイドアプリケーションを開発するフレームワーク「KoWasm」が登場。WebAssemblyのガベージコレクションやコンポーネントの活用を想定 JetBrainsでKotlinの開発を担当するZalim Bashorov氏と、VMwareでSpring Frameworkのコミッタとして働くSébastien Deleuze氏は、Kotlinで書かれたコードをWebAssemblyバイナリにコンパイルする機能を備えた「Kotlin/Wasm」を用いて、WebAssemblyベースでサーバサイドアプリケーションを開発するフレームワーク「KoWasm」を発表しました。 KoWasmの開発にはKotlinおよびKotlin/Wasmの開発元であるJetBrainsのKotlin/Wasmチームと協力しているとのことです。 Kotlin/WasmはWebブラウザ上のア

                                                          Kotlin/Wasmでサーバサイドアプリケーションを開発するフレームワーク「KoWasm」が登場。WebAssemblyのガベージコレクションやコンポーネントの活用を想定
                                                        • Android でのコルーチンに関するベスト プラクティス  |  Kotlin  |  Android Developers

                                                          AI エクスペリエンスの構築 Gemini API などを使用して、AI 搭載の Android アプリを構築します。

                                                            Android でのコルーチンに関するベスト プラクティス  |  Kotlin  |  Android Developers
                                                          • KotlinからWebAssemblyバイナリを生成するコンパイラ搭載、「Kotlin/Wasm」が試験的プレビュー公開。Kotlin 1.8.20ベータ版で

                                                            KotlinからWebAssemblyバイナリを生成するコンパイラ搭載、「Kotlin/Wasm」が試験的プレビュー公開。Kotlin 1.8.20ベータ版で Kotlinで書かれたコードをWebAssemblyバイナリとするコンパイル機能を備えた「Kotlin/Wasm」が、Kotlin 1.8.20ベータ版で搭載されたことが明らかになりました。 Kotlin 1.8.20-Beta brings many new features: - AutoCloseable interface and Base64 encoding in stdlib - New JVM incremental compilation enabled by default - Gradle composite builds in Kotlin Multiplatform - New Kotlin/Wasm co

                                                              KotlinからWebAssemblyバイナリを生成するコンパイラ搭載、「Kotlin/Wasm」が試験的プレビュー公開。Kotlin 1.8.20ベータ版で
                                                            • Kotlinのsealed classを使ってif文を取り除き、コードをシンプルにする - Uzabase for Engineers

                                                              はじめに 皆様こんにちは、ソーシャル経済メディア「NewsPicks」(Media Infrastructureチーム)エンジニアの北見です。 弊社では Server Side Kotlin を採用しており、昔に書かれた一部のコードは Java ですが、基本的に新規コードは Kotlin で書いており、既存の Java コードも Kotlin 化を推し進めています。 tech.uzabase.com tech.uzabase.com 今回は Kotlin の sealed class を使って、コードをシンプルにする例をご紹介します。 kotlinlang.org 微妙に異なるけど殆ど同じ処理を共通化 例えば、クレジットカードとキャリア決済の2通りで商品を購入するユースケースを考えてみます。 class PurchaseService( val productRepository: Pro

                                                                Kotlinのsealed classを使ってif文を取り除き、コードをシンプルにする - Uzabase for Engineers
                                                              • Skip

                                                                Build native apps for iPhone and Android with Skip Skip brings Swift app development to Android. It is a tool that enables developers to build genuinely native apps for both iOS and Android from a single Swift and SwiftUI codebase. Watch Video Get Started

                                                                • Ktorm のクラス設計を読み解いて、DSLを拡張する - ドワンゴ教育サービス開発者ブログ

                                                                  はじめに 先日Server-Side Kotlin MeetupのLT大会で登壇してきましたので、その内容をブログ記事でも公開します。 テーマはKotlin製のORマッパー、Ktormのクラス構造と機能拡張についてです。 Ktormの紹介 ktorm.org Ktormは、いくつかあるJDBCベースのKotlin製ORマッパーのうちの1つです。 それらの中でもっともメジャーと思われるExposedと比較すると、次のような特長があります。 シンプルな実行モデル 遅延実行やキャッシュなどの仕組みを持たないので、コードを読んで理解しやすく、SQLの実行タイミング等も把握しやすいです。 生SQLに近いDSL select() で検索条件を指定し slice() でカラムを指定する形式のExposedのDSL 1 に比べて、生SQLに近い文法を採用しており、SQLに習熟していれば少ない認知コストで読

                                                                    Ktorm のクラス設計を読み解いて、DSLを拡張する - ドワンゴ教育サービス開発者ブログ
                                                                  • 「LINEはB2BにもB2Cにも強い会社だ」と知ってもらいたい。松野徳大が語るフェローとしてのビジョン

                                                                    LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog LINEで働くエンジニアに色々と話を聞いていく「LINE Engineer Insights」。LINEの技術組織で働く個々人に、何を重視して技術者としてのキャリアを歩んでいるのか、今LINEで何に取り組んでいるのか、今後実現していきたいことなどを聞いていきます。 今回登場するのは、Official Account開発室の室長兼Ad Network & Performance室の室長として開発者のマネジメントを担当し、2022年4月よりBusiness Platform Developmentのフェローに就任した松野徳大。 松野のこれまでのキャリアやフェローとしての目標、エンジニアとして大切にしていることなど幅広いテーマについ

                                                                      「LINEはB2BにもB2Cにも強い会社だ」と知ってもらいたい。松野徳大が語るフェローとしてのビジョン
                                                                    • Kotlinの開発でも AIをいい感じに使いたい / Making the Most of AI in Kotlin Development

                                                                      サーバーサイドKotlin LT大会 vol.14 の発表資料です。 https://server-side-kotlin-meetup.connpass.com/event/340992/

                                                                        Kotlinの開発でも AIをいい感じに使いたい / Making the Most of AI in Kotlin Development
                                                                      • VRTから静的解析まで ─ GigaViewer for Apps Androidのテストをご紹介 - Hatena Developer Blog

                                                                        こんにちは、Android アプリエンジニアの id:kk__777 です。『Inside GigaViewer for Apps』連載8回目は、出版社向けマンガビューワのアプリ版である「GigaViewer for Apps」(以下 GigaApps)のVRTから静的解析まで、Androidのテストについてお話しします。 GigaApps UnitTestの歴史と現在 概要 アーキテクチャとUnitTestの基本方針 使用しているツール モッキングライブラリ コルーチンディスパッチャの差し替え アサーション(Truth + Expect) テストツールの変遷 UIテストの取り組み VRT(Visual Regression Testing)の導入と運用 概要 Compose Preview を使った VRT GigaApps特有の難しさ UIプラグインによるPreviewの難しさ どう対

                                                                          VRTから静的解析まで ─ GigaViewer for Apps Androidのテストをご紹介 - Hatena Developer Blog
                                                                        • ZOZOTOWN AndroidチームにおけるQodanaを活用したビルドワーニングへの取り組み - ZOZO TECH BLOG

                                                                          はじめまして、ZOZOTOWNアプリ部Android1ブロックの池田一成です。普段はZOZOTOWN Androidアプリ開発を担当しています。 ZOZOTOWNアプリは歴史の長いアプリのため、レガシーなコードがいくつか残っています。そのため、Android Lintで検出されるビルドワーニングが複数放置されたままの状態になっていました。これらのビルドワーニングは潜在的なバグを生み出す可能性やメンテナンスコストを増加させる可能性があります。ZOZOTOWNアプリにおいても機能改修をした際に新たに発生したビルドワーニングを検知できず、リリース後不具合に繋がってしまったことがありました。本記事では、JetBrains製のQodanaという静的解析ツールを用いた既存のビルドワーニングの可視化と新規のビルドワーニングを発生させない仕組みづくりについての取り組みをご紹介します。 Qodanaとは 導

                                                                            ZOZOTOWN AndroidチームにおけるQodanaを活用したビルドワーニングへの取り組み - ZOZO TECH BLOG
                                                                          • [Kotlin] GLSurfaceViewをキャプチャーしてbitmapを取得したい - Spacely Tech Blog

                                                                            まえがき 株式会社スペースリー Androidエンジニアのふかまちです。 普段は弊社サービスのツールであるAndroidアプリ「Spacely Photo Task」を開発しています。 現在、後述するパノラマ画像の360°Viewerをキャプチャーした動画を生成する開発に取り組んでおり、 本記事では開発で得た知見を元に、GLSurfaceViewの活用方法を一部ご紹介します。 Android x OpenGLならGLSurfaceView GLSurfaceViewとは、OpenGL ESをサポートしている、Androidの3D描画を行うためのViewです。描画にはGPUを活用していることでメインスレッドの負荷を軽減でき、高速なフレームレートでの描画が可能だという特徴があります。 弊社では、パノラマ画像の360°Viewerで使用しています。 (参考)GLSurfaceViewを使ったパノ

                                                                              [Kotlin] GLSurfaceViewをキャプチャーしてbitmapを取得したい - Spacely Tech Blog
                                                                            • Kotlin Multiplatformを運用してみた開発とその振り返り - freee Developers Hub

                                                                              こんにちは、モバイル開発のandrekandore (かんちゃん)だ! ※ この記事のどこかにiOSDC Japan 2023のチャレンジトークンが隠されているよ! はじめに この記事は、Kotlin Multiplatformを用いて実現しようとしたこと、運用してみた結果の振り返りについての紹介である。特にSwift・iOSの技術者の観点からどのような課題があったかについて解説する。 iOS / Androd 両プラットフォームをまたがる課題 モバイルアプリ開発においてよく課題としてあがるのは、各プラットフォームにまたがる「ビジネスロジック」の共通化である。 モバイルでは、ウェブとの差異はもちろん、AndroidやiOSアプリとの(仕様・実装の)差異が開発時間の増加につながってしまうことがある。各プラットフォームの差異を埋め合わせることに時間を割くことが、ユーザへの新規機能の実装時間を減

                                                                                Kotlin Multiplatformを運用してみた開発とその振り返り - freee Developers Hub
                                                                              • Kotlin Fest 2024 参加レポート - エムスリーテックブログ

                                                                                Kotlin Fest 2024 こんにちは! マルチデバイスチームの小林(@bakobox)とデジスマチームの荒谷(@_a_akira)と大和(@daiwahome0)です。 Kotlinに関する技術カンファレンス「Kotlin Fest 2024」が6月22日に開催されました!*1 エムスリーはひよこスポンサーとして協賛させていただき、弊社社員も何人か参加したので振り返りを行いたいと思います! (Kotlin Festスタッフとして星川(@oboenikui)も参加していました) ブース セッション もっとKotlinを好きになる! K2時代のKotlin Compiler Plugin開発 Jetpack Compose: 効果的なComposable関数のAPI設計 K2のKotlin IDEプラグインの中を覗いてみよう♪ 2024年に公開するに相応しいKotlin Multipl

                                                                                  Kotlin Fest 2024 参加レポート - エムスリーテックブログ
                                                                                • Kotlin sealedタイプによる論理和型の実装: ポリモーフィズム形式と代数的データ型形式 - ドワンゴ教育サービス開発者ブログ

                                                                                  はじめに ポリモーフィズム形式の実装 ポリモーフィズム形式の実装の利点 ポリモーフィズム形式の実装の欠点 代数的データ型形式の実装 代数的データ型形式の実装の利点 代数的データ型形式の実装の欠点 まとめ We are hiring! はじめに Kotlinのsealedタイプ (sealed class と sealed interface) は、外部モジュールによるクラスの継承やインターフェースの実装 (以降は実装で統一します) を制限することで、継承先クラスの一覧を静的に取得できるようにする機能です。 以下は公式ドキュメントの例ですが、sealedタイプを使うことで log() 関数内の when が全てのとり得るパターンを網羅していることがコンパイル時にチェックされ、冗長な else を省くことができます。 また、Error インターフェースの直接の実装先が増えて when が網羅性

                                                                                    Kotlin sealedタイプによる論理和型の実装: ポリモーフィズム形式と代数的データ型形式 - ドワンゴ教育サービス開発者ブログ

                                                                                  新着記事