Kotlin

Kotlin の emptyList.all { false } が true になるということ

こんにちは。しゅん(@MxShun)です。 突然ですが、次の Kotlin コードの「any」「all」「none」がそれぞれ true/false のどちらを返却するか分かりますか? val numbers = listOf(1, 2) numbers.any { it > 0 } numbers.all { it > 0 } numbers.none { it >…

Kotlin Coroutines のために AWS SDK for Java でノンブロッキングを実現する

アスクルの こたにん (@Kotanin0) です。 Kotlin で AWS SDK を利用するには、今現在はJavaのものを使う必要がある AWS SDK for Java 2.x の非同期プログラミングはブロッキングされる AWS SDK for Java でノンブロッキングを実現する まとめ Kotlin で AWS …

Kotlin における trailing comma(末尾カンマ) について

アスクルの こたにん (@Kotanin0) です。 2020年のリリースですが、Kotlin 1.4からtrailing commaが実装 されました。 trailing comma とは 末尾カンマ と訳されるもので、関数などの引数のリストの末尾にあるカンマのことを指します。 fun usingComma( firs…

MyBatisで大量データを扱う

こんにちは。ASKULのほかほかごはんです。最近は商品データに関するバッチ開発を担当しています。 バッチ開発では、社内外へデータを連係する際に大量のデータをDBから取得し、csvなどのファイルに加工する機会が多くあります。 本記事では効率的にQuery結果…

Kotlin 1.6ではList.minus(List)の処理速度がデフォルトだと若干遅くなってしまうという話

こんにちは。ASKULのほかほかごはんです。今回はKotlin1.6におけるCollection操作についての記事になります。 List1からList2の要素を除去する場合、Kotlinでは次のように書けます。 val result = list1 - list2 このコードはKotlin 1.6ではこう書いたほうが…

Kotlin で DX がめちゃくちゃ改善されました

この記事は、Advent Calendar 2021 / Qiita主催「開発者体験:DXをめちゃくちゃ改善した話」 2日目の記事です。 はじめに こんにちは。しゅん(@MxShun)です。 私は昨年アスクルに入社し、中小事業所向けサービス「ASKUL」と大企業向けサービス「SOLOEL AREN…

gRPC Request MessageをBean ValidationでValidateする

こんにちは。ASKULのほかほかごはんです。 grpc-spring-boot-starter で Spring Validationがサポートされました。Version 4.3.0 から利用できます。 Spring BootでgRPCメッセージをValidateする方法についてはこれまでもprotoc-gen-validate などの選択肢が…

Kotlin-MyBatis-Spring 取得結果についての備忘録

アスクルの ユウです。 アスクルではO/R MappingツールであるMyBatisを利用しています。 マッピングされた結果、nullが返却されるか忘れがちなので備忘録的な感じでまとめてみました。

kotlin Logging のコードリーディング

こんにちは。ASKULのほかほかごはんです。 https://www.baeldung.com/kotlin-loggingで紹介されている使い勝手の良いLogger実装 [Logger From an Extension Method] のコードを読んで勉強したことや気づいたことについて記載したいと思います。

Kotlin Inline classのパフォーマンスを計測する

こんにちは。ASKULのほかほかごはんです。 今回の記事はKotlin 1.3で追加されたInline classと data classとのパフォーマンス比較についてまとめたものになります。 なお、Inline classは現時点でExperimentalなのでご注意ください。

【Kotlin Koans】解いてみるぞ! 第1章 -はじまりはじまり- 前編

前回の記事:【Kotlin Koans】はじめるぞ! 第0章 -準備- メリークリスマス!アスクルの こたにん (@Kotanin0) です。 前回は、Kotlin Koansを解いていくための準備をしました。 ということで、今回からKotlin Koansを実際に解いていきます。 Kotlin Koansは…

【Kotlin Koans】はじめるぞ! 第0章 -準備-

アスクルの こたにん (@Kotanin0) です。 Kotlin、これからもっともっと人気が出てくるであろうプログラミング言語。 弊社内でも少しずつ採用範囲が広がってきていますが、よく耳にする声はやはり 「Kotlinを学びたいけどどこから始めたらいいかわからない。…

SpringOne Platform速報

SpringOne Platform開幕! 初めまして!ASKULの寺山(@trtraki)です。 ASKULでは、Springを使ってLOHACOの検索周りの開発を行っています! 今回はSpringOne Platformの参加レポートです! SpringOne Platformとは? まず、【SpringOne Platform】ですが、 Pivo…

Kotlinを愛するファンたちの壮大なオフ会 - Kotlin Fest 2018 レポート

アスクルの こたにん (@Kotanin0) です。 みなさん、Kotlin愛でてますかー!? 今回は、先日 8/25(土) に開催された Kotlin Fest 2018 のレポートをお送りいたします。

Kotlin Reified Type Parametersで汎用的なJsonTransformerを実装する

こんにちは。ASKULのほかほかごはんです。 今回はKotlinのユニークな機能、Reified Type Parametersの話とLOHACOでの活用事例の紹介をします。 JVM のジェネリクスについて Javaではおなじみですが、JVMにおけるジェネリクスは型消去 (type erasure) で実装…

ASKUL Engineering BLOG

2021 © ASKUL Corporation. All rights reserved.