タケハタのブログ

プログラマの生き方、働き方、技術について雑多に書いていくブログです。

Kotlin NotebookでExposedを動かす

久しぶりの技術記事です。
今回はKotlinConf 2023のOpening Keynoteでも盛り上がったKotlin Notebookを使い、最近JetBrainsが力を入れていくことを発表したO/RマッパーのExposedを動かすというのをやってみます。

特にKotlin Notebookはまだなかなか触ったことない方も多いと思いますが、便利なのでぜひ試していただければと思います。

Kotlin Notebookとは?

Kotlin Notebookは、KotlinConf 2023で発表されたIntelliJ IDEAのプラグインで、Kotlinでの対話型の実行環境を実現するものになります。

blog.jetbrains.com

Pythonなどで利用できるJupyter Notebookが有名ですが、それに似た形のUIや機能で利用でき、Kotlinに特化した形でIntelliJ IDEA上で実行できます。

続きを読む

KotlinConf 2023 現地参加レポート

KotlinConf2023に現地参戦してきました

去る4/12〜14の3日間、オランダのアムステルダムで行われたKotlinConf 2023に現地参戦してきました!
前回の2019以来3年4ヶ月ぶりのオフライン開催ということで、久しぶりに海外行きたかったのもありチケットを取りました。
(2019のレポートはこちら)

会場の様子だったり、観た中で良かったセッションなど紹介していきます。
(recording公開されて見直してから書こうと思ってたら遅くなってしまった)

続きを読む

KotlessとDynamoDBで自分のツイートを収集するKotlinサーバーレスアプリケーションを作る

f:id:take7010:20211224093927p:plain 本記事は、Kotlin Advent Calendar 2021 24日目の記事になります。

以前書いたKotlessに関する記事で作ろうとしているアプリケーションがあると言っていたのですが、その実装でやろうとしていることを使って、ちょっとしたアプリケーションを作って紹介したいと思います。

続きを読む

【Kotlin初心者向け】KotlinでvarとMutableListを使わなくする方法

f:id:take7010:20211203090539p:plain Swift/Kotlin愛好会 Advent Calendar 2021 3日目の記事です。

最近Kotlinのコードレビューをしていて、色々と「Kotlinならこういう書き方ができるよ」という内容を見つけることが多くありました。
その中でも特に多かったのが、「必要のないvarやMutableList」についてのものでした。

そこで今回はKotlinらしいコードの書き方の一環として、varやMutableList(一部MutableMapも)を使ってしまいがちなケースと、それをなくしてvalやList(Immutable)で実装する方法を紹介します。

続きを読む

Spring WebFluxとKotlin CoroutinesでJDBCを実行した時の挙動

よくSpring WebFluxでのリアクティブプログラミングや、Kotlin Coroutinesの話で、「JDBCの処理を呼ぶとブロッキングなので意味が・・・」という話がでてきます。
が、実際に動かしてどういう挙動になるのか、なにが問題なのかを説明しているものがあまりないのでまとめてみました。

Spring WebFluxとKotlin Coroutinesを使い、ノンブロッキングとブロッキングの処理を呼んだ時の違いや、それをJDBCの処理に置き換えた時の挙動などをスレッドの動きを見ながら解説します。

※ Spring WebFluxやORMなど各技術スタックの使い方の説明は割愛しています

続きを読む

KotlessでKotlinのアプリケーションをAWS Lambdaにデプロイする

ちょっと個人で作ろうとしてるアプリケーションでLambdaを使おうとしていて、せっかくなのでKotlessで作ってみようと思っています。
そこで一旦導入してみたので、まとめておきます。

Kotlessとは

JetBrains社純正のKotlinのサーバーレスフレームワークです。

site.kotless.io

最新のリリースバージョンが0.1.6(0.1.7はbeta)なのでまだまだ開発中のものですが、KotlinConfやオンラインイベントでも紹介されていて、バックエンドで注目の技術スタックの一つです。
ざっくり言うと、Kotlinで書いたプログラムをGradleタスクでAWS Lambdaにデプロイしたりできるものです。

続きを読む

GradleのマルチプロジェクトによるKotlin、Spring Bootでのオニオンアーキテクチャの実現

4月に発売した書籍「Kotlin サーバーサイドプログラミング実践開発」なのですが、この中で途中まで作っていてボツネタにした内容がありました。

gihyo.jp

それが「Gradleのマルチプロジェクトでオニオンアーキテクチャを実現する」というものです。
第2部で作成していたbook-managerというアプリケーションは、もともとこれを使って作成していましたが、途中でやめて現在の形になりました。

続きを読む