دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Stephen Samuel. Stefan Bocutiu
سری:
ISBN (شابک) : 9781787126367
ناشر: Packt
سال نشر: 2017
تعداد صفحات: 407
زبان: english
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 2 مگابایت
در صورت تبدیل فایل کتاب Programming Kotlin به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب برنامه نویسی Kotlin نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
با تمام ویژگیهای کاتلین با این راهنمای عمیق درباره این کتاب آشنا شوید- معرفی کامل کاتلین را بیاموزید- یاد بگیرید از کد جاوا در کنار کاتلین بدون هیچ مشکلی استفاده کنید- یک نمای کلی از ایمنی پوچ، ژنریک و بسیاری ویژگیهای جالب دیگر دریافت کنید. Book Is ForThe کتاب برای توسعه دهندگان جاوا موجود است که می خواهند درباره یک زبان جایگزین JVM بیشتر بیاموزند. اگر میخواهید ببینید Kotlin چه چیزی ارائه میکند، این کتاب برای شما ایدهآل است. آنچه خواهید آموخت- از ویژگیهای جدید برای نوشتن کدهای ساختاریافته و خوانا استفاده کنید- نحوه استفاده از لامبدا و توابع مرتبه بالاتر را برای نوشتن تمیز بیابید، کدهای قابل استفاده مجدد و ساده - تست های واحد بنویسید و تست های کاتلین را با کد جاوا در یک پایه کد انتقالی یکپارچه کنید - کد تولید واقعی را در کاتلین به سبک میکروسرویس بنویسید - از برنامه های افزودنی کاتلین برای کتابخانه مجموعه های جاوا استفاده کنید - از عبارات تخریب کننده استفاده کنید و پیدا کنید نحوه نوشتن خود را بیاموزید- کدی بنویسید که از خطاهای اشاره گر تهی جلوگیری کند و ببینید چگونه کدهای با قابلیت پوچ جاوا می توانند با ویژگی های یک پایگاه کد Kotlin یکپارچه شوند- نحوه نوشتن توابع در Kotlin را کشف کنید، ویژگی های جدید موجود را ببینید و کتابخانه های موجود را گسترش دهید- بیاموزید برای نوشتن انواع داده های جبری و فهمیدن اینکه چه زمانی باید از آنها استفاده شود در DetailKotlin از زمانی که توسط JetBrains در سال 2011 منبع باز شد، موج ایجاد کرده است. توسط توسعه دهندگان در سراسر جهان تحسین شده است و در حال حاضر توسط شرکت ها پذیرفته شده است. این کتاب معرفی مفصلی از Kotlin ارائه می دهد که تمام ویژگی های آن را به شما نشان می دهد و شما را قادر می سازد تا کد Kotlin را برای تولید بنویسید. ما با اصول اولیه شروع می کنیم: شما را با اجرای کد Kotlin، راه اندازی، ابزارها و دستورالعمل هایی که می توانید استفاده کنید آشنا می کنیم. برای نوشتن برنامه های اساسی در مرحله بعد، کدهای شی گرا را پوشش می دهیم: توابع، لامبداها، و خصوصیات - همه در حین استفاده از ویژگی های جدید Kotlin. سپس، به جنبه های ایمنی پوچ و پارامترسازی نوع می رویم. ما به شما نشان می دهیم که چگونه عبارات را تخریب کنید و حتی عبارات خود را بنویسید. ما همچنین شما را از طریق موضوعات مهمی مانند تست، همزمانی، میکروسرویس ها و بسیاری موارد دیگر راهنمایی می کنیم. در پایان این کتاب میتوانید سرویسهای مختلفی را بنویسید و برنامههای کاربردی خود را بسازید. سبک و رویکرد راهنمای آسانی که مجموعه کاملی از ویژگیهای برنامهنویسی Kotlin را پوشش میدهد.
Familiarize yourself with all of Kotlin's features with this in-depth guideAbout This Book- Get a thorough introduction to Kotlin- Learn to use Java code alongside Kotlin without any hiccups- Get a complete overview of null safety, Generics, and many more interesting featuresWho This Book Is ForThe book is for existing Java developers who want to learn more about an alternative JVM language. If you want to see what Kotlin has to offer, this book is ideal for you.What You Will Learn- Use new features to write structured and readable object-oriented code- Find out how to use lambdas and higher order functions to write clean, reusable, and simple code- Write unit tests and integrate Kotlin tests with Java code in a transitioning code base- Write real-world production code in Kotlin in the style of microservices- Leverage Kotlin's extensions to the Java collections library- Use destructuring expressions and find out how to write your own- Write code that avoids null pointer errors and see how Java-nullable code can integrate with features in a Kotlin codebase- Discover how to write functions in Kotlin, see the new features available, and extend existing libraries- Learn to write an algebraic data types and figure out when they should be usedIn DetailKotlin has been making waves ever since it was open sourced by JetBrains in 2011; it has been praised by developers across the world and is already being adopted by companies. This book provides a detailed introduction to Kotlin that shows you all its features and will enable you to write Kotlin code to production.We start with the basics: get you familiar with running Kotlin code, setting up, tools, and instructions that you can use to write basic programs. Next, we cover object oriented code: functions, lambdas, and properties - all while using Kotlin's new features.Then, we move on to null safety aspects and type parameterization. We show you how to destructure expressions and even write your own. We also take you through important topics like testing, concurrency, microservices, and a whole lot more. By the end of this book you will be able to compose different services and build your own applications.Style and approachAn easy to follow guide that covers the full set of features in Kotlin programming.
Cover......Page 1
Copyright......Page 3
Credits......Page 4
About the Authors......Page 5
About the Reviewers......Page 6
www.PacktPub.com......Page 7
Customer Feedback......Page 8
Table of Contents......Page 9
Preface......Page 17
Chapter 1: Getting Started with Kotlin......Page 23
Using the command line to compile and run Kotlin code......Page 24
The REPL......Page 26
Kotlin for scripting......Page 27
Kotlin with Gradle......Page 28
Kotlin with Maven......Page 31
IntelliJ and Kotlin......Page 34
Eclipse and Kotlin......Page 38
Mixing Kotlin and Java in a project......Page 40
Summary......Page 45
Vals and vars......Page 46
Type inference......Page 47
Numbers......Page 48
Booleans......Page 49
Arrays......Page 50
Comments......Page 51
Wildcard imports......Page 52
String templates......Page 53
Ranges......Page 54
Loops......Page 55
Exception handling......Page 56
Instantiating classes......Page 57
Referential equality and structural equality......Page 58
Visibility modifiers......Page 59
Protected......Page 60
Control flow as expressions......Page 61
Null syntax......Page 62
Smart casts......Page 63
Explicit casting......Page 64
When (value)......Page 65
When without argument......Page 67
Function Return......Page 68
Type hierarchy......Page 69
Summary......Page 70
Chapter 3: Object-Oriented Programming in Kotlin......Page 71
Classes......Page 72
Nested classes......Page 76
Enum classes......Page 79
Static methods and companion objects......Page 80
Interfaces......Page 85
Inheritance......Page 89
Visibility modifiers......Page 92
Abstract classes......Page 94
Polymorphism......Page 95
Overriding rules......Page 101
Inheritance versus composition......Page 103
Class delegation......Page 105
Sealed classes......Page 107
Summary......Page 108
Defining functions......Page 109
Single expression functions......Page 110
Local functions......Page 111
Top-level functions......Page 114
Named parameters......Page 115
Default parameters......Page 116
Extension functions......Page 119
Extension function precedence......Page 121
Member extension functions......Page 122
Overriding member extension functions......Page 123
Companion object extensions......Page 125
Multiple return values......Page 126
Infix functions......Page 127
Operators......Page 129
Operator overloading......Page 130
Basic operators......Page 131
In/contains......Page 132
Invoke......Page 133
Comparison......Page 134
Assignment......Page 135
Function literals......Page 136
Tail recursive functions......Page 137
Varargs......Page 139
Standard library functions......Page 140
Apply......Page 141
Run......Page 142
Use......Page 143
Require/assert/check......Page 144
Generic functions......Page 145
Pure functions......Page 146
Getters and setters......Page 147
Single abstract methods......Page 148
Java void methods......Page 149
Top-level functions......Page 150
Object and static methods......Page 151
Checked exceptions......Page 152
Summary......Page 153
Higher order functions......Page 154
Returning a function......Page 156
Function assignment......Page 157
Closures......Page 158
Anonymous functions......Page 159
Member and extension function references......Page 160
Bound references......Page 161
Function-literal receivers......Page 162
Functions in the JVM......Page 163
Bytecode......Page 164
Function composition......Page 165
Inline functions......Page 167
Noinline......Page 171
Currying and partial application......Page 172
Currying in action......Page 173
Adding currying support......Page 174
Memoization......Page 175
Implementing memoization......Page 177
Type alias......Page 178
Fold......Page 180
Projection......Page 181
Further projection functions......Page 183
Custom DSLs......Page 185
Infix functions as keywords......Page 186
Using function receivers in a DSL......Page 189
Validation and error accumulation......Page 190
Summary......Page 193
Why use properties?......Page 194
Syntax and variations......Page 197
Visibility......Page 199
Late initialization......Page 200
Delegated properties......Page 201
Lazy initializations......Page 207
Lateinit versus lazy......Page 212
Observables......Page 213
Properties or methods?......Page 214
Summary......Page 216
Chapter 7: Null Safety, Reflection, and Annotations......Page 217
Nullable types......Page 218
Safe null access......Page 219
Force operator......Page 221
Elvis operator......Page 222
Optionals......Page 223
Creating and returning an Optional......Page 224
Reflection......Page 225
KClass......Page 226
Instantiation using reflection......Page 227
Constructors......Page 229
Instantiation with callBy......Page 230
Objects and companions......Page 232
Useful KClass properties......Page 233
Reflective functions and properties......Page 234
Declared and undeclared......Page 236
Annotations......Page 237
Annotation parameters......Page 238
@JvmName......Page 239
@JvmStatic......Page 240
@Throws......Page 241
@JvmOverloads......Page 242
Runtime annotation discovery......Page 243
Summary......Page 244
Parameterised functions......Page 245
Parameterized types......Page 247
Upper bounds......Page 248
Multiple bounds......Page 249
Invariance......Page 250
Covariance......Page 251
Contravariance......Page 253
Variance overview......Page 256
Nothing type......Page 257
Type projection......Page 258
Type erasure......Page 260
Type reification......Page 264
Recursive type bounds......Page 266
Algebraic data types......Page 269
Summary......Page 274
Chapter 9: Data Classes......Page 275
Automatic creation of getters and setters......Page 277
The copy method......Page 278
toString out of the box......Page 283
hashCode and equals methods generated for you......Page 284
Destructed declarations......Page 287
Destructing types......Page 288
Data class definition rules......Page 289
Summary......Page 292
Class hierarchy......Page 293
Arrays......Page 301
Lists......Page 310
Maps......Page 315
Sets......Page 318
Indexed access......Page 321
Sequences......Page 322
Summary......Page 327
Getting started......Page 328
Choosing a spec......Page 329
Matchers......Page 332
Collection matchers......Page 333
Floating point matchers......Page 334
Combining matchers......Page 335
Custom matchers......Page 336
Inspectors......Page 338
The test case interceptor......Page 340
The spec interceptor......Page 341
Project config......Page 342
Property testing......Page 343
A custom generator......Page 344
Table-driven testing......Page 345
Testing non-deterministic code......Page 346
Config......Page 348
Tags......Page 349
One instance......Page 350
Summary......Page 351
Chapter 12: Microservices with Kotlin......Page 352
Definition......Page 353
Drawbacks......Page 356
Why microservices?......Page 357
Lagom......Page 358
Defining services......Page 368
Implementing a Lagom service......Page 371
Summary......Page 375
Threads......Page 377
Creating a thread......Page 379
Stopping a thread......Page 380
Thread interrupts......Page 382
CPU-bound versus I/O-bound......Page 383
Deadlocks and livelocks......Page 384
Dining philosophers problem......Page 385
Executors......Page 386
Race conditions......Page 387
Monitors......Page 389
Locks......Page 391
Read-write locks......Page 392
The bounded buffer problem......Page 393
Concurrent collections......Page 396
A blocking queue......Page 397
Atomic variables......Page 398
CountDownLatch......Page 399
Cyclic Barrier......Page 401
Non-blocking I/O and asynchronous programming......Page 403
Futures......Page 404
Summary......Page 406
Index......Page 407