Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
jackson-module-kotlin 2.15 リリースノート解説
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
wrongwrong
April 27, 2023
Technology
520
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
jackson-module-kotlin 2.15 リリースノート解説
4/24にリリースされたjackson-module-kotlin 2.15のリリースノートに関するざっくり解説です。
wrongwrong
April 27, 2023
More Decks by wrongwrong
See All by wrongwrong
関数呼び出しに対してコード生成したい!
k163377
1
140
スター1.1kリポジトリのメンテナやってたら確定申告が確定した話
k163377
1
190
jackson-module-kotlin 2.19の新機能とJackson 3.0に向けた取組
k163377
1
180
jackson-module-kogeraの紹介
k163377
0
470
Kotlin向けOSSに貢献してきて感じたアレコレ
k163377
0
450
jackson-module-kotlinを読もう!
k163377
0
2k
Java Reflectionから見たvalue class
k163377
0
780
Other Decks in Technology
See All in Technology
Mastering Agentic Development: Harness Engineering for Effective Coding Agents
konippi
1
110
LLMに渡さなかった仕事
nanaism
0
1.4k
AI de Idea
kawaguti
PRO
2
130
Azure Serverless 2026:Production-ready な AI エージェント基盤 / Azure Serverless 2026: Production-Ready AI Agent Platform
miyake
2
540
AI時代の「技術的負債」の変質ー概念の終焉と再解釈、エージェントと共に向かう先
nwiizo
1
3.2k
登壇の自信を奪う3匹のオバケ / 3 Ghosts That Rob You of Your Confidence in Public Speaking
pauli
9
1.1k
負債のメタファと2026年 / Debt Metaphor in Agentic Engineering Age 202609 Edition
twada
PRO
10
6.1k
「ピッケル本」日本語版は4.0(第6版)が出版されるべき / pickaxe4-nagoyark05
kakutani
2
270
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
16
120k
Why Agent Cost Needs Observability
nttcom
0
140
SREへの勘違いに気づいた後の話
tomodakengo
0
150
AIに賢く動いてもらうためのコンテキスト〜Snowflake女子会 vol.8
snowwmn0824
0
160
Featured
See All Featured
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
340
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
820
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
430
First, design no harm
axbom
PRO
2
1.3k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
530
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
How to Think Like a Performance Engineer
csswizardry
28
2.8k
WCS-LA-2024
lcolladotor
0
830
Discover your Explorer Soul
emna__ayadi
2
1.3k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
470
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
260
Transcript
jackson-module-kotlin 2.15 リリースノート解説 1
自己紹介 宮田 木織 株式会社justInCaseTechnorogiesバックエンドエンジニア Kotlin で Spring WebFlux してます 2023年1月から
jackson-module-kotlin のメンテナになりました アウトプットしているアカウント Qiita: @wrongwrong GitHub: k163377 2
jackson-module-kotlin の状況について 去年1年ほどほぼメンテナ不在だった それまでもあまりアクティブにはメンテナンスはされていなかった 今年に入ってから自分がメンテナになった 権限が増えたので色々な変更を順次導入中 issue整理も頑張っており、100以上のcloseした 3
今日話すこと 4/24に jackson-module-kotlin 2.15 が正式リリース 沢山有る変更をそれぞれざっくり解説 影響の大きな変更も有ります! 皆様の持つテスト等を通じて動作確認にご協力頂けると嬉しいです 補足 特に重要度が高い内容は太字で表記します
#396 は関わる前で良く知らないので飛ばします 4
キャッシュ関係の改善 #627: コンストラクタとファクトリ関数のクリエイターキャッシュの統合 両者の利用が偏った際に非効率だったため #628: 不要なキャッシュの削除 KClass への変換キャッシュの削除( Kotlin 側でキャッシュされていたため)
コード内から利用が無くなっていたキャッシュの削除 #629: 一部リフレクションの結果をキャッシュしないように変更 SoftReference 内の値をキャッシュしたためメモリ消費が倍増? a. 同じ値への参照がキャッシュされる b. GC が走り、 kotlin-reflect 側の値がクリアされる c. kotlin-reflect 側で値が別途初期化(同一データ・別インスタンス) 5
MissingKotlinParameterException 関連 #647: MissingKotlinParameterException に廃止予定を追加 特にデシリアライズ時にパラメータが足りないと throw されるもの 今後は親クラスの MismatchedInputException
を throw 予定 廃止理由 このクラスを throw する強い理由が無い このクラスの持つプロパティが Serializable の規約に違反している このクラスの持つプロパティによって実装を阻害される機能が有る ( StrictNullChecks オプションの大幅な性能改善) #654: Serializable の規約に違反している問題への仮対応 6
value class のシリアライズサポートの改善関係 #659: value class のシリアライズ方式の変更 今までは Serializer を使っていたが、
Converter を使う形に変更した これによって以下の改善が行われた getter 等に付与した型が関わるアノテーションが機能するようになった JsonSerialize 等 null 非出力オプションが機能するようになった (合わせて一部バグの修正も行った) #666: JsonValue アノテーションのフラグを無視しないよう修正 #667: value class での JsonKey アノテーションのサポート 7
その他不具合の修正 #631: addSerializer / addDeserializer の拡張関数の軽微なバグ修正 普通に呼び出すと2重登録になっていた Integer 等のラッパー型で呼び出すと意図せぬ挙動になっていた #634:
ReflectionCache で Serializable を継承する形に修正 KotlinModule の Serializable 関係の規約に違反していたため #641: is から始まるプロパティ関連のバグ修正 特定の状況でアノテーションが機能しない isFoo と foo プロパティを同時に定義するとシリアライズでバグる (割と怖い変更なので、動作検証お願いしたいです) 8
その他改善 #554: addMixIn の便利な拡張関数の追加 addMixIn<Foo, FooMixIn>() みたいに書ける( ::class.java が不要になった) #580:
Unit の KType の by lazy 化 初期化負荷の高い値であり、特定のユースケースで負荷軽減が見込める 利用頻度は高く、多くのユースケースでは影響が小さそう #646: Kotlin 1.4 サポートの廃止 Deprecated な Kotlin バージョンだと KotlinModule 初期化時にエラーになる #652: 利用の無くなっていたメソッドの削除 #665: Sequence をシリアライズする際の挙動の改善 これまでは一度 List に変換することでメモリに値をロードしてしまっていた ( Server-Side Kotlin Meetup をきっかけに修正しました!) 9
改善点ざっくりまとめ 全体的にメモリ消費量が低減された(はず) 幾つかのバグが解消された value class のシリアライズサポートが改善された 幾つかの廃止・廃止予定の追加 便利な関数が増えた 10
宣伝 jackson-module-kotlin の実験的プロジェクトをやっています ProjectMapK/jackson-module-kogera jackson-module-kogera の紹介スライド 軽量・高機能・高性能がウリです ここで開発した内容が本家に反映されていきます スターなどよろしくお願いします! 11