JetBrains社が開発している Java VM や JavaScript 上などで動く、型の強いオブジェクト指向プログラミング言語。 以下の項目を設計目標に掲げている。
エラー防止の機能はよく働いており、Javaですっかりおなじみ「ぬるぽ」ことNullPointerExceptionがこの言語では意図的にプログラミングしないと出てくれないらしい…。
日付: 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のみをターゲットに…
日付: 2026-04-18 時間: 約 60 分⚠️鋭意学習中の内容につき、一部誤りのある可能性があります。もし誤っている内容があったらすぐに修正しますので、お気づきの方はそっとご指摘いただけたらとても喜びます🙇 はじめに こんにちは。今回はKotlinを学習しました。ViewModelに画面状態を保持・公開し、状態の更新メソッドも請け負い、ViewからはViewModel経由で状態を取得し、値が更新されたら画面を更新するMVVMの流れを再学習しました。普段業務でも使っているパターンですが、改めて基本パターンを学習して理解が進みました。今日の学習教材は以下です。github.com 今日やっ…
Androidアプリの開発に取り組むなら、プログラミング言語の習得は避けて通れません。以前はJavaが主流でしたが、現在はKotlinという言語が推奨されています。どちらの言語も広く利用されているため、両方の特徴を理解しておくことが重要です。Javaは歴史が長く、Webシステムなど多くの現場で使われている実績があります。一方でKotlinは記述が簡潔で、エラーを防ぎやすい仕組みが整っているのが利点です。新しいプロジェクトではKotlinが選ばれる場面が増えており、学習の優先度は高いでしょう。言語の文法を覚えるだけでなく、開発キットを使いこなす技術も同時に求められます。画面のボタンを押した時の動…
週ごとに暑さと寒さが入れ替わり、人間に優しくない令和時代を生きている開発部の小宅です。 Android開発で誰もが一度は「とりあえず this 渡して動いたからヨシ!」とやり過ごす Context。でも、こいつの裏側を知ると、実は結構マニアックで面白い使い方ができるんです。 今回は、実務で「おっ」となるようなContextの活用テクニックを3つ紹介します。 1. attachBaseContext のオーバーライドで「局所的に言語やテーマを上書きする」 「アプリ全体じゃなくて、この画面だけ英語にしたい」「このActivityだけダークモードを無視したい」などなど、開発をしていると、たまにこうい…
はじめに SPAの画面遷移を検知する場合の問題点 SPAの画面遷移を検知する方法 最後に はじめに Androidエンジニアの篠本(ささもと)です。 今回は、WebViewにてSPA(Single-page application)の画面遷移を検知する方法について、ご紹介をさせていただきます。 なお、この記事は以下の環境を前提としています。 Kotlin 1.9.24 Android APIレベル 35 また、iOSにおけるWebViewでのSPAの画面遷移の検知については、以下の記事にてご紹介しておりますので、気になる方はこちらもご参照いただければ幸いです。 techblog.ldi.co.…
こんにちは。開発部第一グループの岡田です。 今回は、動画をピクチャーインピクチャー(PiP)で再生できるAndroidアプリの実装方法についてご紹介します。 使用技術 Kotlin 2.0.21 ExoPlayerライブラリ 主な機能 動画の再生 PiPモードへの切り替え(動画を小窓で再生しながら他の操作が可能) 実装ポイント 1. ExoPlayerのセットアップ build.gradle.kts implementation("androidx.media3:media3-exoplayer:1.8.0") implementation("androidx.media3:media3-ui…
この記事は はてなエンジニア Advent Calendar 2025 24日目の記事です。 🎄 Happy Holidays! 2025年も残すところわずかですね。キンダープンシュがおいしい季節です。 この記事は Kotlin 2.3.0 および Ktor 3.3.3 に準拠しています。また、記事中に挿入しているイラスト画像は Nano Banana Pro により生成しています。 Ktor は JetBrains が開発する Kotlin 向けの HTTP フレームワークです。HTTP サーバーだけでなく、HTTP クライアントも提供されています。Kotlin coroutines を活用…
こんにちは!ソリューション開発部の片岡です。 普段はKotlinを使ったバックエンド開発を行っています。 今回はMCP(Model Context Protocol)のサーバーとクライアントをKotlinで実装する機会があったため、その知見を共有したいと思います。 本記事は OPTiM TECH BLOG Advent Calendar 2025 Day 18 の記事です。 MCPとは MCP(Model Context Protocol)は、Anthropicが提唱するLLMアプリケーションとデータソース・ツールを接続するための標準プロトコルです。 LLMが外部ツールやデータにアクセスするた…