ショート(20分)
KMP(Kotlin Multiplatform) 初級者

AndroidエンジニアとiOSエンジニアがペアプロでKMP導入して得た気づき

ikeda

初めてKMPに触れるAndroidエンジニアとiOSエンジニアがペアプロして既存プロジェクトの一機能をKMPで作り直してみました。
本セッションではその過程で気付いたメリットとデメリットや知見などを紹介したいと思います。

以下、トピックです。

  • Androidエンジニア視点でのKMPのメリットデメリット
  • iOSエンジニア視点でのKMPのメリットデメリット
  • 共通化が難しいポイント
  • KMP導入にあたり、つまずきやすいポイント
ショート(20分)
Webバックエンド/サーバサイド 中級者

Kotlinバックエンドによる認証システムのフルリニューアル: 5年間のあゆみ

yu_rano Yuya Urano

このセッションでは、5年間にわたりKotlinで認証システムのバックエンドを開発・運用してきた経験を振り返ります。2019年からこのプロジェクトを開始し、段階的に実装と運用のステージに進んできた私たちの旅を共有したいと思います。

特に以下の点について深く掘り下げます:

  • バックエンド開発でKotlinを採用するにあたり、初期段階で実施したこと
  • Kotlinのバックエンド採用による成功事例と有益な点
  • Kotlinを採用して期待外れだったこと、解決されていない問題や改善点
  • チームの成長に伴うKotlinの特徴を活かした実装への変遷

セッションを通し、Kotlinのバックエンド開発に興味がある、あるいはKotlinのバックエンド開発プロジェクトを始めたばかりでまだ運用の知見がそれほど溜まっていないといった開発者の方々にとって有益な情報をお伝えしたいと思います。

ショート(20分)
Kotlin言語・プログラミング 中級者

元組み込みエンジニアがKotlinのビット演算を使ってみた

kharada_bt Kenta Harada

Kotlinのビット演算使っていますか?
おそらく多くの方はKotlinの入門書で見かけた程度で、実際のプログラミングで使っている方は少ないかもしれません。
実際何に使うものなのか?使ったことが無い方にとっては想像しにくいものです。このセッションでは、元組み込みエンジニアで現Androidエンジニアの私がデバイスとの通信でビット演算を使ってみた経験についてお話します。

対象者

  • Kotlinでバイナリを扱ってみたい方
  • BLE/USB/NFCなどでデバイスと通信するコードを書く方

お話する内容

  • 通信プロトコルの基本。デバイスとバイナリで通信する方法
  • ビット演算でデータを作る、値を取り出す方法
  • Kotlinでビット演算する時に使うテクニック
  • C言語のビット演算とKotlinのビット演算の違い
3
ショート(20分)
Android 中級者

Android Lintの理解を深め、Custom Lintでプロジェクトの保守性を高めよう!

yanmar_y2mtk yanmar

Android LintはAndroidプロジェクトの静的分析ツールとして登場しましたが、JavaとKotlin両方の分析を行えることから、GoogleではサーバサイドJavaとKotlinプロジェクトでも使用されています。

そんなAndroid Lintですが、その内部ではどのファイルが読み込まれていて、何がチェックがされているのかを本セッションで紹介します。
また、Lintをカスタムすることでコードの一貫性を保ち、プロジェクトでの人員の入れ替わりなどにも耐えうる実装例も併せて取り上げていきます。

  • Android Lintを詳しく知る
  • Lintがチェックしているファイルタイプと処理
  • Custom Lintの実装とテスト

このような内容で話を進めていきます。
すべてのKotlinプロジェクトで使用できるので、この機会に改めてAndroid Lintの理解を深めましょう。

3
ショート(20分)
Android 中級者

ARアプリをKotlin+JetpackComposeで作ってみよう!

shiosioco40 ichimura

直近のGoogle I/O でも注目されているARCoreと、それを支えるSceneViewを活用したAR実装について話したいと思います。

現状の構想

  • 今ARを作るとしたら、どのツールが使えるか
  • ARCoreとSceneViewについて
  • 実装しよう
1
ショート(20分)
Kotlinの活用事例(仕事や学業など) 中級者

サーバサイド Kotlin によるプロダクトフルリニューアル

高橋明生

自社プロダクトのバックエンドを100% Kotlinでリニューアルしました。
プロダクトは、IOTデータ収集、ビッグデータ処理、SaaS Webシステムからなる中規模のものです。
PoCや新規テーマでの限定的活用ではなく、業務システムをフルスクラッチで開発した例として、
Kotlin採用でよかったことと苦労したことを中心に、実システム開発事例の共有としてお話しします。

・よかったこと、うまくいったこと
 ・基礎品質の向上 ケアレスミスの予防 実行時エラー起因の手戻りの少なさ
 ・アーキテクチャリファクタリング DDDの実践に必要不可欠
 ・概念モデル(データモデル)とコードの同期と調査のしやすさ
 ・ArchUnitの活用による全体構造の維持
・苦労していること
 ・ビルド時間短縮のために、プロジェクト分割している。
 ・値オブジェクトの実装 演算可能オブジェクト(数値類)が実装困難

2
ショート(20分)
Kotlin言語・プログラミング 初級者

0-1フェーズの Kotlin × Spring なプロジェクトでバグを産まないために採用してよかった知見を共有するよ

sugoikondo 近藤 豊峰

私が担当するプロダクトでは、全社的に Ruby と Go を採用するプロジェクトが大多数な中、 Kotlin × Spring という新しい技術スタックを用いて開発がスタートしました。
なかなか社内に技術知見がない中でのスタートとなりましたが、その状況下でもエンジニアの実装と設計より、リリースから1年2ヶ月に至るまで大きなバグやインシデント無しで運用をしてくることができました。
そこで、このプロダクトを 2 年開発してくる中で、取り入れてよかった設計、または反省点などを共有・議論できればと考えております。
同じく 0-1 フェーズをこれから経験される方や、自分のプロダクト開発をより良くしていきたい方に向けて少しでも学びがある発表とできたら幸いでございます。

ショート(20分)
Android 中級者

Kotlinで音を自在に操ろう

entaku_0818 entaku

音声をKotlinで扱う方法について、基本的な考え方から実践的なテクニックまでを幅広く紹介します。
 

次に実践編として、Kotlinの各種ライブラリを活用した音声処理プログラミングに踏み込みます。

  • 音声ファイルの入出力(WAV, MP3など)
  • リアルタイム音声入力(マイク)からの信号処理
  • フィルタリングや特徴量抽出による音声分析
  • テキスト読み上げ(TTS)との連携
  • AIを活用した音声認識、音声合成

などを実際のコード例とデモを交えて紹介。Kotlinならではの簡潔で安全な記述で、音声プログラミングの敷居を大きく下げられることを示します。

1
ショート(20分)
Kotlin言語・プログラミング 中級者

About Kotlin Dynamic Types

coffeegyunyu 日向強

Kotlinには様々な型が存在します。
その中の一つに、dynamicという型があるのをご存知でしょうか?

本セッションでは、dynamicという型について説明します。
そして、dynamic型で一体何ができるのか、
dynamic型の使い方やdynamic型を使うことのできる環境セットアップを説明します。
また、他言語での同様なdynamicの扱いとの比較などを絡めて、dynamic型が備える特性を活かしての利用シーンなどを検討していくセッションとなります。

ショート(20分)
Kotlin言語・プログラミング 中級者

今までのKotlin Standard Libraryの追加APIを眺めてみよう

RyotaMurohoshi むろほし

Kotlin正式リリース後に追加されたKotlin Standard LibraryのAPIを、登壇者の独断と偏見でピックアップして紹介します。

2016年2月にKotlin 1.0が正式リリースされ、約8年が経ちました。正式リリース前から、趣味に、仕事にKotlinを使っていた方も多いのではないでしょうか?

一方でKotlin正式リリースから長い月日が経ち

  • 今でもKotlinは好きだけれど、最近仕事では別のプログラミング言語を使っている
  • 以前Kotlinを熱心に使っていたけれど、最近そこまでアップデートを追えていない

という方もいるのではないでしょうか?

本セッションではそのような方をメインターゲットに、Kotlin正式リリース後に追加されたStandard LibraryのAPIを、登壇者の独断と偏見でピックアップして紹介します。

1
ショート(20分)
Kotlinの活用事例(仕事や学業など) 中級者

Androidデバイスを保守カメラとして用いる

takashiho_2 たかっしー

CameraXは、Android端末のカメラを操作する際に強力なライブラリである。
しかし、メモリやGPUのリソースが限られている端末や、サポートされていない外部カメラを搭載した端末でCameraXのライブラリを使う際には、注意が必要となる。
本セッションでは、AndroidOSを搭載したデジタルサイネージを用い、正しく広告を投影しているかを遠隔で撮影して確認できる保守システムを例に挙げ、メモリやGPUなどの制限のある環境下で外部カメラを制御する方法について解説を行う。
また、MLKitの顔認識をバックグラウンドで行う方法を例に挙げ、GPUの負荷を抑えた画像認識能方法についても説明する。GPUの負荷を抑えるため、撮影時以外は解像度を落として顔認識を行う方法や、メモリ内に画像を1枚のみ格納し、解析が終わった際に確実にメモリを解放することでメモリーリークを防ぐといった方法について紹介する。

4
ショート(20分)
Android 初級者

これから始めるAndroidアプリ開発 ~Todoアプリをハンズオン形式で(MVVM)~

対象

  • Kotlinは触った事があるが、Androidアプリ開発の経験はない or 少ししか触った事がない
  • JetpackComposeに興味がある

セッションの目標

  • これからAndroidアプリ開発を学習する人の手助けをする
  • MVVMでAndroidアプリを開発できるようになる
  • JetpackComposeを理解してKMPなどでも応用できるようになる
1
ショート(20分)
Webバックエンド/サーバサイド 中級者

LLMアプリケーション開発 in Kotlin 〜サーバーサイドKotlinプロダクトでLLMに取り組んだ一年を振り返る〜

ry0_kaga r-kagaya

この一年で生成AI・LLMを取り巻く環境は大きく変化し、今までAIに取り組んでいなかった企業・プロダクトも生成AI・LLMを用いた開発に取り組む例が増えた事を実感します。

しかし、世の中の事例はどうしてもPython環境が多く、KotlinでのLLMアプリケーション・機能開発に関しての情報は広く共有されていません。
例えば、Kotlin(JVM)環境でOpenAI APIにアクセスするためのライブラリはあるのでしょうか?どうしてもPythonでないと出来ないことは何でしょう?

本セッションでは、サーバーサイド言語としてKotlinを採用している企業・プロダクトでLLMに取り組んだ一年の体験談・悩みも交えながら、
KotlinでLLMアプリケーション・機能開発を取り巻く環境や、実際にどのような構成・考え方で取り組んだかについて紹介します。

ショート(20分)
ツール/エコシステム 中級者

deleted

ry0_kaga r-kagaya

deleted

ショート(20分)
ミドルウェア/フレームワーク 初級者

Kotlinのcopy methodへの付き合い方とアーキテクチャテスト

mako_makok Makoto Kobayashi

Kotlinでdata class宣言を行うとequalsやhashCode, componentNなど、便利なメソッドが自動的に生成されます。
自動生成メソッドの中にcopyというメソッドがありますが、このメソッドは非常に便利な反面、利用シーンを間違えると不整合データが簡単に作れてしまうなどデメリットも併せ持っています。
今回は、copyメソッドとの付き合い方と、アーキテクチャテストでの解決方法についてお話します。

6
ショート(20分)
ミドルウェア/フレームワーク 初級者

SpringBootアップデート戦記 〜Kotlin + SpringBootのライブラリ選定を振り返る〜

mako_makok Makoto Kobayashi

現在SpringBootとKotlinで開発しています。
以前SpringBootの2系 -> 3系にアップデートをした際、周辺ライブラリの見直しも一緒に行いました。
実際悪戦苦闘した結果と、今改めてKotlin + SpringBootで開発するならどういうミドルウェアの選定を行うか?
について自分の考えをお話します。

5
ショート(20分)
Webバックエンド/サーバサイド 中級者

組織戦略とKotlin

r_naganuma_fgi RyoNagnauma

私たちベンチャー企業がサーバーサイド言語にKotlinを採用するメリットについて、「ビジネスモデル」「採用」「育成」の観点からお話します。

このセッションは、私たちならではの視点を多分に盛り込んだものとなる予定です。
私は言語選定と組織の戦略は密接に関わるものだと思っています。

まず、私たちのビジネスモデルを簡単にご紹介します。
そのうえで、そのビジネスモデルを実現するためにはどんな人を採用して育成していきたいかをお話します。
その中でKotlinが有用であると思える点についてお伝えします。
もし他の組織であればどの言語を選択していたか、など別の言語についても少しだけ言及したいと考えています。

興味を持っていただけると嬉しいです。
よろしくお願いいたします。

ショート(20分)
Kotlin言語・プログラミング 初級者

ゼロから学ぶKotlin DSL

akihiro_kokubo Akihiro Kokubo

DSL(Domain Specific Language)とは、特定の問題領域に特化して設計された言語のことです。
Kotlinの言語機能を活用すると、開発者は自身のニーズに合わせたDSLを容易に作成できます。
これによりプログラミングの生産性とコードの品質を大きく向上させることができます。

このセッションでは、HTMLをテーマにゼロからDSLを構築します。
より具体的には、ラムダ式、レシーバ付きラムダ、拡張関数を用いて、型安全なHTMLビルダーを作成します。
Kotlin初心者でもすぐに取り組めるDSLの基本から応用までを実践します。

5
ショート(20分)
KMP(Kotlin Multiplatform) 初級者

JetpackComposeでWebアプリを作る

r_wadada 和田陵佑

JetpackComposeを使ったアプリケーション開発はAndroidは勿論のこと、iOSやデスクトップアプリ、Webアプリも開発可能となっています。
その中唯一Web向けのものは以前はDom操作を行う形で実現されていました。
2022年頃に新しくskiaを利用した描画方式が登場し、Webでも他のプラットフォームと同様の仕組みでのUI描画が可能になりました。

このセッションではそんなCompose for Webがどんな仕組みで動いているかを簡単に見つつ、小規模なWebアプリ構築のTipsを段階を追って紹介します。

5
ショート(20分)
KMP(Kotlin Multiplatform) 中級者

KMPでモバイル開発の課題を解決〜新規サービス開発での実践と考察〜

YuQinta 福島貴幸

モバイルアプリ開発は日々進化している状況ですが、Android/iOSの仕様差異、いつまでも定まらないバックエンドなど未だ現場には課題が山積みです。

私はKotlinFest2019でKMPと出会い、その可能性に衝撃を受けました。これまで抱えてきた様々な課題を解決できるのではないか、と。

その後、社内でKMP導入に向けた共有会や技術調査を実施して、新規サービスの開発にてKMPの導入を実現化し、無事リリースまで成し遂げることができました。

本セッションでは、そんな私の体験談を交えながら、

  • KMPとは何か
  • なぜモバイル開発にKMPを推すのか
  • 実際にKMPでどんな開発が実現できたのか
    をお話しします。

こんな人にオススメ!

  • モバイル開発で課題を抱えている人
  • KMPに興味がある人
  • KMPの導入を検討している人
1