JetBrains社が開発している Java VM や JavaScript 上などで動く、型の強いオブジェクト指向プログラミング言語。 以下の項目を設計目標に掲げている。
エラー防止の機能はよく働いており、Javaですっかりおなじみ「ぬるぽ」ことNullPointerExceptionがこの言語では意図的にプログラミングしないと出てくれないらしい…。
自宅の Jellyfin サーバにラジオ録音とポッドキャストを溜めていて、それを通勤や車の中で聴くための Android アプリを作りました。名前は Kikidame(聴き溜め)。録り溜めた回を、時間のあるときに手元で聴く、というアプリの用途そのものです。 ソース: https://github.com/t-seki/kikidame (MPL-2.0) 入れ方: GitHub Releases の APK、または Obtainium に上の URL を登録 この記事は前半が「何ができるか」、後半が「どう作ったか」です。後半には、再生位置をサーバに送らない設計、多言語化の方式、Jellyfin…
はじめに こんにちは。先日開催されたDroidKaigi 2026に参加してきました。DroidKaigiは、Android技術情報の共有とコミュニケーションを目的とした、Androidエンジニアが主役のカンファレンスです。2026年は9月1日から3日まで、ベルサール渋谷ガーデンで開催されました。droidkaigi.jp1日目のワークショップには参加せず、2日目から参加しました。 本記事では、DroidKaigi 2026に参加して印象に残ったことや、会場で感じたことを書いてみたいと思います。お馴染みの大看板参加賞Tシャツ 参加した理由 今回参加した理由は、ほかのエンジニアがどのような課題を…
はじめに 株式会社エブリーは、2026年9月に開催されるDroidKaigi 2026にゴールドスポンサーとして協賛いたします。「エンジニアが主役のAndroidカンファレンス」である本イベントは、2026年9月1日(火)から3日(木)にかけてベルサール渋谷ガーデンで開催されます。 項目 詳細情報 イベント名称 DroidKaigi 2026 開催日程 2026年9月1日(火)〜 9月3日(木) 会場 ベルサール渋谷ガーデン(東京都渋谷区南平台町) スポンサーランク ゴールドスポンサー ブース出展日程 2026年9月2日(水)〜 9月3日(木)の2日間 エブリーはこれまでも、Go Confer…
スマートフォン向けのアプリを開発する第一歩として、プログラミング言語の選定が挙げられます。現在スマートフォン市場はiOSとAndroidの2つが主流を占めており、それぞれ採用されている言語や開発の仕組みが異なります。作りたい機能や対象とするOSに合わせて最適なものを選ぶことが大切です。 iPhone向けのアプリを作成する場合、おすすめになるのがSwiftという言語です。Apple社が開発した言語で、コードが読みやすく書きやすい点が大きな魅力といえます。一方、Android向けのアプリであればKotlinが世界的に広く使われています。どちらも初心者にとって学習しやすい環境が整っているため安心です…
1. はじめに — 「テストは全部 結合テスト」だったプロジェクト 出前館で商品ドメインを扱うマイクロサービスの開発を担当している左官です。 今回は、そのマイクロサービスのチームで取り組んだ「結合テストに偏りきったテストコードを、単体テストへ移し替える」という改善についてお話しします。 CI は23分から11分になり、テストコードは8.6万行減りました。どう判断して消していったのか、その過程を書いていきます。 さて、私たちが扱っているのは、メニュー情報(メニューパターン・カテゴリ・商品・サイズ・オプション・品切れ…)を一手に引き受けるサービスです。 こちらのコードは Kotlin + Spri…
こんにちは!株式会社ドワンゴ教育事業本部で、学習アプリ「ZEN Study」の Android 版開発を担当している本藤です。 ZEN Study Android は 10 年以上にわたって開発が続いているアプリで、その歴史の中でさまざまな技術選定の積み重ねがあります。その歩みについては、以前公開した ZEN Study Android アプリ 10年の技術的変遷 で詳しく紹介しています。現在、私たちはこのアプリのアーキテクチャを段階的に刷新する「リアーキテクチャ」に取り組んでいます。 10 年もののアプリのリアーキテクチャは、一気に登りきれる小山ではなく、チーム全員で少しずつ登っていく大きな…
日付: 2026-05-05 時間: 約 60 分⚠️鋭意学習中の内容につき、一部誤りのある可能性があります。もし誤っている内容があったらすぐに修正しますので、お気づきの方はそっとご指摘いただけたらとても喜びます🙇 はじめに こんにちは。今回は、Android ミニプロジェクトで GreetingRepository を扱いつつ、Repository という語の誤読や Coroutine のキャンセル、Gradle の BOM など周辺用語を整理しました。今日の学習教材は以下です。github.com 今日やったこと GreetingRepository と FakeGreetingRepos…
日付: 2026-04-26 時間: 約 60 分⚠️鋭意学習中の内容につき、一部誤りのある可能性があります。もし誤っている内容があったらすぐに修正しますので、お気づきの方はそっとご指摘いただけたらとても喜びます🙇 はじめに こんにちは。今回は Android(Kotlin)で、HTTPS の API を非同期取得し、Loading / Success / Error を 1 つの UI state として扱い、Jetpack Compose に反映するところまで学習しました。今日の学習教材は以下です。github.com 今日やったこと PostUiState(sealed) で Loadi…
TL;DR CGLIBからの題のような警告を抑制する場合、調べた限り以下のような方法があった。 interface化 --add-opens java.base/java.lang=ALL-UNNAMED指定 open化 これら全てに不適切感が有る場合、Kotlinならspringプラグイン経由でall-open対象にする対処法がある。 状況 SpringBootのアップデート後からPublic final method [...] cannot get proxied via CGLIB, consider removing the final marker or using interfa…
私も多分に漏れずClaude Codeを手にした人類の一人で、色々なものがサクサク作れるようになりました。 軽い気持ちでKotlinのビルドツールを作り始めたのだけど、思った以上に面白い題材で、ビルドツール設計の考え方や、実装している中で発生した課題と対処法等、ブログに残していくことにしました。 作っているもの github.com Koltという名前のビルドツール Kotlinっぽくk始まりの短い名前にした。kotlin + boltの造語 cargoのようなtomlのマニフェストファイル kotlin nativeで書かれており、実行ファイルがjvmじゃない kotlinのみをターゲットに…