はじめに
本書への推薦文
本書について
- 本書の対象読者
- 本書の内容
- 本書の使い方
- 最新情報の入手
- 問題の報告
スポンサー
- CodeRabbit
第0章 Kotlin言語
- Q) 0. Kotlinのnull安全性について
- Q) 1. Any、Unit、Nothing型の主な役割について
- Q) 2. データクラスとは何か、通常のクラスとの違いについて
- Q) 3. シールドクラスとは何か、ユースケースについ て
- Q) 4. 内部クラスとは何か、ネストされたクラスとの違いについて
- Q) 5. enumクラスはいつ使用するか
- Q) 6. バリュークラスとは何か
- Q) 7. objectとは何か、通常のクラスとの違いについて
- Q) 8. companion objectとは何か
- Q) 9. varとvalの違いについて
- Q) 10. バッキングフィールドとバッキングプロパティの違いについて
- Q) 11. 委譲プロパティとは何ですか?
- Q) 12. lazy委譲とlateinitの違いは何ですか?
- Q) 13. どのような可視性修飾子が存在しますか?
- Q) 14. initブロックはいつ呼び出され、その主な特徴は何ですか?
- Q) 15. 高階関数とは何ですか、そしてどのようなメリットがありますか?
- Q) 16. inlineキーワードのメリットと制限事項は何ですか?
- Q) 17. reifiedキーワードとは何ですか、そしてそれを使用するメリットは何ですか?
- Q) 18. ラムダ式はどのように使用しますか?
- Q) 19. 関数型(SAM)インターフェースとは何ですか?
- Q) 20. 拡張とは何ですか、そしてその長所と短所は何ですか?
- Q) 21. 構造的等価性と参照等価性とは何ですか、そしてどのように異なりますか?
- Q) 22. null + null操作を実行するとどうなりますか?
- Q) 23. DSLとは何ですか、そしてどのように活用できますか?
第1章 Kotlin標準ライブラリ
- Q) 24. Kotlinにはどのようなコレクション型がありますか?
- Q) 25. コレクションにはどのような変換演算子がありますか?
- Q) 26. Iteratorのメカニズムについて説明してください
- Q) 27. Sequenceとそのメカニズムとは何ですか?
- Q) 28. コレクションの一部を取得するための拡張関数にはどのような種類がありますか?
- Q) 29. オブジェクトの順序をどのように定義しますか?
- Q) 30. スコープ関数とは何ですか?
第2章 コルーチン
- Q) 31. コルーチンとは何ですか?
- Q) 32. Continuationとは何ですか?また、suspend関数と内部的にどのように関連していますか?
- Q) 33. コルーチンとスレッドの違いは何ですか?
- Q) 34. コルーチンビルダーとは何ですか?
- Q) 35. コルーチンコンテキストとは何ですか?
- Q) 36. Jobの役割は何ですか?
- Q) 37. コルーチンスコープの目的は何ですか?
- Q) 38. どのようなコルーチンディスパッチャーが存在し、その目的は何ですか?
- Q) 39. チャネルとは何で、どのように機能しますか?
- Q) 40. join()関数とyield()関数とは何ですか?
- Q) 41. コルーチンで例外をどのように処理しますか?
- Q) 42. コールドフローとホットフローの違いは何ですか?
- Q) 43. StateFlowとSharedFlowの違いを説明してください
- Q) 44. Flow.flowOn()演算子は何をしますか?
- Q) 45. Flow.buffer()演算子はどのように動作しますか?
- Q) 46. KotlinはFusibleFlowとChannelFlowでFlowをどのように最適化していますか?
- Q) 47. launchIn(Scope)とScope.launch()の違いは何ですか?
- Q) 48. Flow変換演算子とは:flatMapLatest、flatMapMerge、flatMapConcat
- Q) 49. callbackFlowとchannelFlowとは何ですか、そしてその内部メカニズムは?
第3章 KotlinXライブラリ
- Q50. kotlinx-serializationについて
- Q51. kotlinx-datetimeについて
- Q52. kotlinx-collections-immutableについて
- Q53. その他の注目すべきKotlinXライブラリについて
第4章 Kotlinコンパイラとプラグイン
- Q) 54. アノテーションプロセッサ、KAPT、KSPとは 何ですか?
- Q) 55. Kotlinコンパイラの構造はどのようになっていますか?
- Q) 56. K2コンパイラとは何ですか?
- Q) 57. FIR(Frontend Intermediate Representation)とは何ですか?
- Q) 58. IRとは何ですか?Kotlinバックエンドはどのように動作しますか?
- Q) 59. Kotlinコンパイラプラグインの書き方は?
- Q) 60. 実際のKotlinコンパイラプラグインの例とユースケースは何ですか?
第5章: Kotlin Multiplatform
- Q61. Kotlin Multiplatformについて
- Q62. Kotlin Multiplatformは プラットフォーム固有のAPIをどのように処理し、共通コードを共有するか
- Q63. Kotlin Multiplatformで利用可能な並行処理または非同期プログラミングの戦略
- Q64. Kotlin MultiplatformでHTTPネットワーク通信に利用可能な戦略
- Q65. Compose Multiplatformについて
- Q66. Kotlin Multiplatformプロジェクトでsource setはどのように構造化されているか
- Q67. Kotlin/Nativeはメモリ管理とプラットフォームの相互運用性をどのように処理するか
- Q68. Kotlin Multiplatformでのテスト戦略
- Q69. Kotlin Multiplatformでの依存性注入戦略