mike-neckのブログ

Java or Groovy or Swift or Golang

kotlin

Kotlin の基礎を身につけるための学習素材を作ってみた

プログラム書くの遅い人、 仕様が整理できてないか、 IDE を使い慣れてないか、言語の標準 API を覚えてないかのいずれかなので、勉強し直してきてください— 引きこもり持田 (@mike_neck) 2020年12月26日 Kotlin を使ったプログラムを書く場合には以下の要素…

あなたの知らない Gradle の kotlin-dsl プラグイン

やんくさんに頼まれたので、誰かが書くだろうと思って待ってたけど誰も書かない Gradle の kotlin-dsl プラグインについて書きます。 @mike_neck mikeさんアドベントカレンダー書くネタあったりしませんか?https://t.co/ZDwmyBpbC0— やんく (@yy_yank) 2020…

Kotlin 愛好会で発表した #love_kotlin

テストフレームワーク ktcheck の宣伝も兼ねて発表してきた love-kotlin.connpass.com 資料はこれ サーバーサイド Kotlin のテストフレームワーク事情 from Shinya Mochida www.slideshare.net 現在勤めている会社のテストのほぼすべては kotlintest(現 kote…

Kotlin 用のテストフレームワークをリリースしました

表題の通り、テストフレームワークをリリースしました。 名前は ktcheck です。 JUnit Platform 上で動かせますが、普通のメインプログラムの中でも使えます。 利用方法 インストール・導入 gradle の場合、次の記述を dependencies ブロックに記述します。 …

Slack の Bolt フレームワークを Spring Boot + Kotlin で試してみた

Slack の Bolt フレームワークが Java でもリリースされたということなので、早速試してみた Bolt は最先端の Slack アプリをつくるためのフレームワーク。これまでの JavaScript に加えて、今日 Java バージョンもリリースしました! ☕ 早速試してみてくだ…

kotlintest の Listener の実行順番

わからなかったので、実験した。コードを読んだわけではない。

Spring WebFlux + r2dbc + Kotlin でデータベーストランザクション

前回 ReactiveCrudRepository を使ったアプリケーションの話をしたが、残念なことに今の所トランザクションを指定できないので、アプリケーションを終了したら、データはなくなるし、複数のテーブルへの操作をアトミックな操作として指定できないことをメモ…

Spring WebFlux + r2dbc + Kotlin で簡単なアプリケーションをつくる

5日間休みなので、おさらいも兼ねて、久々に Spring をさわることにしている。なお、 Kotlin にしているのもおさらいを兼ねている。また Kotlin coroutine を使っていないのは r2dbc-postgres と組み合わせたときに、 ByteBuf の readableBytes がレスポンス…

Hello r2dbc with Kotlin

リアクティブな感じで RDB に接続できるやつ。内容的にはバファさんのブログの下位互換未満。 bufferings.hatenablog.com 準備1 使ったデータベースは postgres で、docker で用意した。とりあえず、こんな感じのテーブルを作っておく。 create table users(…

Reactor-Netty の http クライアントを Kotlin Coroutine とともにいじってみる

Reactor-Netty と Kotlin coroutine を同時にいじっているブログ記事を見かけなかったので、勉強がてらブログを書いてみることにしました。

Kotlin で groovy.lang.Closure のインスタンスを生成・取得する(G* Advent Calendar 2017 6日目)

G* Advent Calendar 2017 の 6日目は groovy.lang.Closure のインスタンスを Kotlin で生成・取得する方法です。 Groovy! 3分くらいで読み終われます。 groovy.lang.Closure のインスタンスを Kotlin で生成・取得する方法です。Kotlin コードの中で Closure…

Gradle kotlin DSL の便利機能

Gradle のスクリプトを Kotlin で書いていると、タスクが自動的に二つ足されていることに気づいたので、それを使ってみたら、わりと便利だった。 kotlinDslAccessorsReport タスク 現在のプロジェクトが利用できる extension と convention のKotlin 実装コ…

Gradle JUnit5 Starter Pluginをリリースした

JUnit5 がリリースされてだいぶたちますが、そろそろ移行終わりましたか? ちなみに僕が勤務している会社ではJavaのバージョンがあわないので、JUnit4のままです。 ところで、JUnit5を使う時、わりと面倒くさい設定をいろいろと書かなければならず、導入する…

kotlinでgradle のスクリプトを書く時に気をつけたい点

Gradleは元々Groovyで書かれてたツールで、バージョン2の頃にほぼすべてをJavaに置き換えられたという経緯があるのですが、未だに古い一部の実装ではGroovyでスクリプトを書くことを前提にしている箇所があります(と断言していいかどうかは自信がない)。 mav…

Gradle Kotlin DSL を用いたプロジェクトでmavenにpublishするときの注意

gradle kotlin-dsl のサンプル「hello-kotlin」を真似て、kotlin stdlib のdependencyを記述すると、invalidなpomが生成されてしまう。 dependencies { api(kotlin("stdlib-jre8")) } 生成されるpom.xml <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib-jre8</artifactId> </dependency> version …

daabの開発をKotlinでできるようにする

今いる会社の提供するdirectというチャットサービスではボットの開発ができて、そのsdkがdaab(direct agent assist bot)というらしい。 で、daabチームが専修大学でハッカソンを共催するということで、僕も自分の会社のボットくらい作れないと恥ずかしいなと…

Kotlin ts2kt の使い方メモ

KotlinがDefinitelyTypedに対応したと聞いたので早速試してみた 概要 ちょっと試しただけのメモ TypeScriptの型定義情報をKotlinの型定義情報に変換するKotlin公式のツール d.tsが型の定義を頑張ってくれていれば、Kotlinで楽できる ファイル名をそのまま出…

Kotlinの末尾再帰でFizzBuzz(Kotlin Advent Calendar 2016) #ktac2016

この記事はKotlin Advent Calendar2016の6日目の記事です。 昨日は RyotaMurohoshiさんの 「【!ってなんだ】KotlinとJava、nullとPlatformType【NullableにNotNull」 でした。 明日は kikuchy さんの 「」 です。 末尾再帰でFizzBuzz この記事ではKotlinの末…

Kotlinのリフレクション(KClass)を調べた

KuickCheckを作った時にKotlinのリフレクションを一通り触ったが、完全に忘れてしまったのであらためてメモ。 ここではクラスを表すKClassとそのプロパティ、およびそれらが適用できるクラスをまとめてある。 Kotlinコンパイラーが生成するクラス KClassのプ…

KotlinでJSR303(Bean Validation)を使うときの注意

少しハマったのでメモ。 KotlinでBean Validationを使った時に、validationされないので、Stackoverflowなどを読んでいたら、アノテーションの書き方を工夫する旨あった。 まずはvalidationされないパターン data class Person ( @NotEmpty val name: String…

Kotlin用のjunit-quickcheck風なテスティングフレームワークを作った

表記のとおりです。 テストデータをランダムに自動生成して複数回実行させるというライブラリーです。調べてみたところ、Kotlin用のものがないようなので、作ってみました。名前はKuickCheckという名前にしていますが、今後どうなるかわかりません。あと、僕…

Kotlinのコンパイラーが吐き出すクラスまとめ

リフレクションをいろいろいじっていて気になったので中途半端にまとめてみた Kotlin クラスのメモ Kotlinをコンパイルすると生成されるクラス クラス/インターフェース/enum/オブジェクト1つにつき1つのクラス パッケージに所属する関数/プロパティ -> Ktク…

OpenCV/Java 環境構築メモ

JavaでOpenCVをごにょごにょやるのに、少し手間取ったのでメモ。 インストールする環境などは次のとおり。 Mac 10.11.5 インストールにはbrewを使う OpenCV 3.1.0 IntelliJ IDEA 2016.1.2 Java8u92 OpenCVのインストール (1) pythonをbrewでインストール $ b…

Javaの機械学習ライブラリーでFizzBuzzしてみた

FizzBuzzをするのにTensorFlowというネタツイートがあったので、「機械学習 FizzBuzz」で検索したらすでにいくつかあったので、真似してみたくなった。ちなみに機械学習のことは全然わかってません。 qiita.com blog.amedama.jp IT会社面接官:「数字を列挙…

第三回かわいいKotlin勉強会に行ってきた #jkug

表題の通りKotlinの勉強会に行ってきました。 第3回 かわいいKotlin勉強会 #jkugkotlin.doorkeeper.jp ただ、参加しようと思ったらすでに満員だったので、参加する方法ないかどうか思案していたら、発表者枠が空いていたので、発表者枠で参加しました。Kotli…

KotlinとTypeScriptで同じことをしてみる

表記には偉そうなことを書いていますが、僕は TypeScript - 1日だけ Kotlin - この記事で初めて書いた レベルです。 したがって、チュートリアルレベルのことしか書いていません。次のブログを読んで、興味本位でやってみただけです。特に結論があるわけでも…