Категорії
Електронні книги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комп'ютер в офісі
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Мультимедійне навчання
- Нерухомість
- Переконання та НЛП
- Податки
- Соціальна політика
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Звіти, аналізи
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Електронна преса
- Architektura i wnętrza
- Biznes i Ekonomia
- Будинок та сад
- Електронний бізнес
- Фінанси
- Особисті фінанси
- Бізнес
- Фотографія
- Інформатика
- Відділ кадрів та оплата праці
- Комп'ютери, Excel
- Бухгалтерія
- Культура та література
- Наукові та академічні
- Охорона навколишнього середовища
- Впливові
- Освіта
- Податки
- Подорожі
- Психологія
- Релігія
- Сільське господарство
- Ринок книг і преси
- Транспорт та спедиція
- Здоров'я та краса
-
Історія
-
Інформатика
- Офісні застосунки
- Бази даних
- Біоінформатика
- Бізнес ІТ
- CAD/CAM
- Digital Lifestyle
- DTP
- Електроніка
- Цифрова фотографія
- Комп'ютерна графіка
- Ігри
- Хакування
- Hardware
- IT w ekonomii
- Наукові пакети
- Шкільні підручники
- Основи комп'ютера
- Програмування
- Мобільне програмування
- Інтернет-сервери
- Комп'ютерні мережі
- Стартап
- Операційні системи
- Штучний інтелект
- Технологія для дітей
- Вебмайстерність
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Оповідна поезія
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Шкільні підручники
-
Науково-популярна та академічна
- Археологія
- Bibliotekoznawstwo
- Кінознавство / Теорія кіно
- Філологія
- Польська філологія
- Філософія
- Finanse i bankowość
- Географія
- Економіка
- Торгівля. Світова економіка
- Історія та археологія
- Історія мистецтва і архітектури
- Культурологія
- Мовознавство
- літературні студії
- Логістика
- Математика
- Ліки
- Гуманітарні науки
- Педагогіка
- Навчальні засоби
- Науково-популярна
- Інше
- Психологія
- Соціологія
- Театральні студії
- Богослов’я
- Економічні теорії та науки
- Transport i spedycja
- Фізичне виховання
- Zarządzanie i marketing
-
Порадники
-
Ігрові посібники
-
Професійні та спеціальні порадники
-
Юридична
- Безпека життєдіяльності
- Історія
- Дорожній кодекс. Водійські права
- Юридичні науки
- Охорона здоров'я
- Загальне, компендіум
- Академічні підручники
- Інше
- Закон про будівництво і житло
- Цивільне право
- Фінансове право
- Господарське право
- Господарське та комерційне право
- Кримінальний закон
- Кримінальне право. Кримінальні злочини. Кримінологія
- Міжнародне право
- Міжнародне та іноземне право
- Закон про охорону здоров'я
- Закон про освіту
- Податкове право
- Трудове право та законодавство про соціальне забезпечення
- Громадське, конституційне та адміністративне право
- Кодекс про шлюб і сім'ю
- Аграрне право
- Соціальне право, трудове право
- Законодавство Євросоюзу
- Промисловість
- Сільське господарство та захист навколишнього середовища
- Словники та енциклопедії
- Державні закупівлі
- Управління
-
Путівники та подорожі
- Африка
- Альбоми
- Південна Америка
- Центральна та Північна Америка
- Австралія, Нова Зеландія, Океанія
- Австрія
- Азії
- Балкани
- Близький Схід
- Болгарія
- Китай
- Хорватія
- Чеська Республіка
- Данія
- Єгипет
- Естонія
- Європа
- Франція
- Гори
- Греція
- Іспанія
- Нідерланди
- Ісландія
- Литва
- Латвія
- Mapy, Plany miast, Atlasy
- Мініпутівники
- Німеччина
- Норвегія
- Активні подорожі
- Польща
- Португалія
- Інше
- Росія
- Румунія
- Словаччина
- Словенія
- Швейцарія
- Швеція
- Світ
- Туреччина
- Україна
- Угорщина
- Велика Британія
- Італія
-
Психологія
- Філософія життя
- Kompetencje psychospołeczne
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Аудіокниги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Нерухомість
- Переконання та НЛП
- Податки
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Історія
-
Інформатика
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Науково-популярна та академічна
-
Порадники
-
Професійні та спеціальні порадники
-
Юридична
-
Путівники та подорожі
-
Психологія
- Філософія життя
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Відеокурси
-
Бази даних
-
Big Data
-
Biznes, ekonomia i marketing
-
Кібербезпека
-
Data Science
-
DevOps
-
Для дітей
-
Електроніка
-
Графіка / Відео / CAX
-
Ігри
-
Microsoft Office
-
Інструменти розробки
-
Програмування
-
Особистісний розвиток
-
Комп'ютерні мережі
-
Операційні системи
-
Тестування програмного забезпечення
-
Мобільні пристрої
-
UX/UI
-
Веброзробка, Web development
-
Управління
Подкасти
- Електронні книги
- Програмування
- Java
- Programowanie w języku Kotlin. The Big Nerd Ranch Guide
Деталі електронної книги
Programowanie w języku Kotlin. The Big Nerd Ranch Guide
Gdy w 2017 roku na konferencji Google ogłoszono, że Kotlin jest jednym z oficjalnie wspieranych języków programowania aplikacji dla Androida, język ten błyskawicznie stał się popularny. Najpoważniejsze firmy technologiczne doceniają jego zalety, takie jak zwarta składnia i integracja z kodem Javy. Co ważne, twórcy Kotlina czerpali z doświadczeń projektantów Javy i zapewnili, że te dwa języki są ze sobą ściśle powiązane. W ten sposób świeżość rozwiązań i nowoczesne mechanizmy zostały znakomicie połączone z najlepszymi cechami Javy, a Kotlin stał się wszechstronnym wieloplatformowym językiem programowania.
Ta książka jest przeznaczona dla programistów, którzy chcą poznać język o możliwościach wykraczających poza Javę i pisać solidne aplikacje dla różnych platform. Pozwala w praktyczny sposób zapoznać się z unikalnymi możliwościami Kotlina i - na podstawie licznych przykładowych projektów - stopniowo zgłębiać złożone zagadnienia. Znakomitym uzupełnieniem prezentowanych treści są informacje o wewnętrznych mechanizmach działania języka wraz z ćwiczeniami do samodzielnego wykonania. Dzięki tej książce nawet początkujący programista szybko zacznie pisać efektywne i solidne aplikacje, które będą służyć użytkownikom różnych platform.
W tej książce między innymi:
- wprowadzenie do Kotlina
- funkcje w Kotlinie, w tym funkcje anonimowe
- praca na obiektach: dziedziczenie, klasy, klasy abstrakcyjne
- programowanie funkcyjne w Kotlinie
- najciekawsze biblioteki i współdziałanie z Javą
Big Nerd Ranch mieści się w Atlancie w USA. Firma została założona w 2001 roku przez Aarona Hillegassa, znakomitego programistę i trenera programowania. Jej misją jest krzewienie wiedzy o rozwijających się technologiach mobilnych. Słynie ze świetnych szkoleń i znakomitych trenerów.
Kotlin: najlepsze rozwiązania nie tylko dla Androida!
Podziękowania 13
Przedstawienie Kotlina 15
- Dlaczego Kotlin? 15
- Dla kogo jest przeznaczona ta książka? 16
- Jak korzystać z tej książki? 16
- Dla ciekawskich 17
- Wyzwania 17
- Konwencje typograficzne 17
- Patrząc w przyszłość 17
1. Pierwsza aplikacja w Kotlinie 19
- Instalowanie IntelliJ IDEA 19
- Pierwszy projekt programu w Kotlinie 20
- Tworzenie pierwszego pliku źródłowego w Kotlinie 25
- Wykonywanie pliku źródłowego 27
- Kotlin REPL 29
- Dla ciekawskich: Dlaczego warto używać właśnie IntelliJ? 30
- Dla ciekawskich: Pisanie kodu przeznaczonego na JVM 31
- Wyzwanie: Arytmetyka REPL 32
2. Zmienne, stałe i typy 33
- Typy 33
- Deklarowanie zmiennych 34
- Wbudowane typy języka Kotlin 36
- Zmienne tylko do odczytu 37
- Wnioskowanie typów 40
- Stałe czasu kompilacji 41
- Oglądanie kodów bajtowych 42
- Dla ciekawskich: Podstawowe typy danych Javy w Kotlinie 45
- Wyzwanie: hasSteed 46
- Wyzwanie: Szynk Hipolit'a 46
- Wyzwanie: Magiczne lustro 46
3. Instrukcje warunkowe 47
- Instrukcje if/else 47
- Dodawanie kolejnych warunków 50
- Zagnieżdżone instrukcje if/else 52
- Bardziej eleganckie wyrażenia warunkowe 53
- Zakresy 59
- Wyrażenia when 60
- Szablony łańcuchowe 62
- Wyzwanie: Eksperymenty z zakresami 64
- Wyzwanie: Rozbudowa aury 64
- Wyzwanie: Konfigurowalny format statusu 65
4. Funkcje 67
- Wyodrębnianie kodu do funkcji 67
- Anatomia funkcji 69
- Nagłówek funkcji 70
- Ciało funkcji 72
- Zasięg funkcji 73
- Wywoływanie funkcji 74
- Refaktoryzacja funkcji 75
- Pisanie własnych funkcji 76
- Argumenty domyślne 78
- Funkcje jednowyrażeniowe 79
- Funkcje typu Unit 80
- Nazwane argumenty funkcji 81
- Dla ciekawskich: Typ Nothing 82
- Dla ciekawskich: Funkcje plikowe w Javie 83
- Dla ciekawskich: Przeciążanie funkcji 84
- Dla ciekawskich: Nazwy funkcji w odwrotnych apostrofach 85
- Wyzwanie: Funkcje jednowyrażeniowe 87
- Wyzwanie: Poziom upojenia magicznego 87
- Wyzwanie: Status upojenia magicznego 87
5. Funkcje anonimowe i typ funkcyjny 89
- Funkcje anonimowe 89
- Typ funkcyjny 91
- Niejawne instrukcje return 92
- Argumenty funkcyjne 92
- Słowo kluczowe it 93
- Akceptowanie wielu argumentów 94
- Wsparcie dla wnioskowania typów 95
- Definiowanie funkcji akceptujących inne funkcje 96
- Składnia skrócona 97
- Wpisywanie funkcji 98
- Referencje funkcji 99
- Typ funkcyjny jako typ wyniku 100
- Dla ciekawskich: Funkcje lambda w Kotlinie są domknięciami 102
- Dla ciekawskich: Funkcje lambda a anonimowe klasy wewnętrzne 102
6. Bezpieczeństwo wartości pustych i wyjątki 105
- Akceptowanie wartości pustych 105
- Jawny typ null w Kotlinie 107
- W czasie kompilacji czy w czasie wykonywania? 108
- Bezpieczeństwo wartości pustych 109
- Opcja pierwsza: bezpieczny operator wywołania 110
- Opcja druga: operator podwójnego wykrzyknika 111
- Opcja trzecia: użycie if do sprawdzania, czy wartość jest równa null 112
- Wyjątki 115
- Zgłaszanie wyjątków 116
- Niestandardowe wyjątki 117
- Obsługa wyjątków 118
- Warunki wstępne 120
- Null: do czego się przydaje? 122
- Dla ciekawskich: Wyjątki sprawdzane i niesprawdzane 123
- Dla ciekawskich: Jak wymuszana jest możliwość stosowania wartości null? 123
7. Łańcuchy 125
- Pobieranie fragmentów łańcuchów 125
- Funkcja substring 125
- Funkcja split 127
- Operacje na łańcuchach 129
- Łańcuchy są niezmienne 131
- Porównywanie łańcuchów 131
- Dla ciekawskich: Unicode 133
- Dla ciekawskich: Przeglądanie znaków w łańcuchu 133
- Wyzwanie: Usprawnianie smoczej mowy 134
8. Liczby 135
- Typy liczbowe 135
- Liczby całkowite 136
- Liczby dziesiętne 138
- Konwersja łańcuchów na typy liczbowe 138
- Konwersja typu Int na Double 139
- Formatowanie wartości typu Double 141
- Konwertowanie wartości typu Double na Int 142
- Dla ciekawskich: Operacje bitowe 143
- Wyzwanie: Pozostałe kwaterki 144
- Wyzwanie: Obsługa ujemnego stanu sakiewki 144
- Wyzwanie: Smoczykojn 145
9. Funkcje standardowe 147
- Funkcja apply 147
- Funkcja let 148
- Funkcja run 149
- Funkcja with 150
- Funkcja also 151
- Funkcja takeIf 151
- Funkcja takeUnless 152
- Stosowanie funkcji standardowych 152
10. Listy i zbiory 155
- Listy 155
- Dostęp do elementów listy 157
- Zmienianie zawartości listy 159
- Iteracja 163
- Wczytywanie pliku do listy 167
- Destrukturyzacja 169
- Zbiory 169
- Tworzenie zbiorów 169
- Dodawanie elementów do zbioru 171
- Pętle while 173
- Wyrażenie break 175
- Konwersje kolekcji 175
- Dla ciekawskich: Typy tablicowe 176
- Dla ciekawskich: Tylko do odczytu a niezmienny 177
- Wyzwanie: Formatowanie menu gospody 178
- Wyzwanie: Zaawansowane formatowanie menu 179
11. Mapy 181
- Tworzenie map 181
- Dostęp do wartości mapy 183
- Dodawanie elementów do map 183
- Modyfikowanie wartości mapy 186
- Wyzwanie: Wykidajło 190
12. Definiowanie klas 191
- Definiowanie klasy 191
- Tworzenie instancji 191
- Funkcje klasowe 192
- Widoczność i hermetyzacja 194
- Właściwości klas 195
- Akcesory get i set i ich właściwości 197
- Widoczność właściwości 200
- Właściwości obliczane 200
- Refaktoryzacja kodu projektu NyetHack 201
- Stosowanie pakietów 209
- Dla ciekawskich: Bliższe spojrzenie na właściwości var i val 210
- Dla ciekawskich: Zapobieganie występowaniu wyścigu 213
- Dla ciekawskich: prywatny w pakiecie 214
13. Inicjalizacja 217
- Konstruktory 218
- Konstruktory podstawowe 218
- Definiowanie właściwości w konstruktorze podstawowym 219
- Konstruktory dodatkowe 220
- Argumenty domyślne 221
- Argumenty nazwane 222
- Blok inicjalizatora 223
- Inicjalizacja właściwości 224
- Kolejność inicjalizacji 227
- Odraczanie inicjalizacji 228
- Inicjalizacja opóźniona 228
- Inicjalizacja leniwa 229
- Dla ciekawskich: Kruczki inicjalizacji 231
- Wyzwanie: Zagadka Excalibura 233
14. Dziedziczenie 235
- Definiowanie klasy Room 235
- Tworzenie klas pochodnych 236
- Sprawdzanie typów 242
- Hierarchia typów w języku Kotlin 244
- Rzutowanie typów 245
- Inteligentne rzutowanie 246
- Dla ciekawskich: Klasa Any 247
15. Obiekty 249
- Słowo kluczowe object 249
- Deklaracje obiektów 250
- Wyrażenie obiektowe 255
- Obiekty uzupełniające 255
- Klasy zagnieżdżone 256
- Klasy danych 259
- Funkcja toString 260
- Funkcja equals 261
- Funkcja copy 261
- Deklaracje destrukturyzujące 261
- Klasy wyliczeniowe 263
- Przeciążanie operatorów 264
- Eksplorowanie świata NyetHack 266
- Dla ciekawskich: Definiowanie porównań strukturalnych 269
- Dla ciekawskich: Algebraiczne typy danych 271
- Wyzwanie: Polecenie "Wyjdź" 273
- Wyzwanie: Implementacja mapy świata 274
- Wyzwanie: Dzwonimy 274
16. Interfejsy i klasy abstrakcyjne 275
- Definiowanie interfejsów 275
- Implementacja interfejsu 276
- Domyślne implementacje 279
- Klasy abstrakcyjne 279
- Walka w świecie NyetHack 282
17. Typy sparametryzowane 287
- Definiowanie typów sparametryzowanych 287
- Funkcje sparametryzowane 289
- Wiele parametrów typów sparametryzowanych 290
- Ograniczenia typów sparametryzowanych 291
- vararg i get 293
- in i out 295
- Dla ciekawskich: Słowo kluczowe reified 299
18. Rozszerzenia 303
- Definiowanie funkcji rozszerzenia 303
- Definiowanie rozszerzenia dla klasy bazowej 304
- Sparametryzowane funkcje rozszerzeń 305
- Właściwości rozszerzające 307
- Rozszerzenia dla typów akceptujących wartości puste 308
- Funkcje rozszerzeń - za kulisami 309
- Wyodrębnianie kodu do rozszerzeń 310
- Definiowanie plików rozszerzeń 311
- Zmiana nazwy rozszerzenia 313
- Rozszerzenia w standardowej bibliotece Kotlina 314
- Dla ciekawskich: Literały funkcyjne z odbiorcami 315
- Wyzwanie: Funkcja rozszerzenia toDragonSpeak 316
- Wyzwanie: Funkcja rozszerzenia frame 316
19. Podstawy programowania funkcyjnego 319
- Kategorie funkcji 319
- Przekształcenia 319
- Filtry 321
- Złączenia 323
- Dlaczego programowanie funkcyjne? 324
- Sekwencje 325
- Dla ciekawskich: Profilowanie 326
- Dla ciekawskich: Arrow.kt 327
- Wyzwanie: Odwracanie wartości w mapie 328
- Wyzwanie: Zastosowanie programowania funkcyjnego w pliku Tavern.kt 328
- Wyzwanie: Ruchome okno 329
20. Współdziałanie z Javą 331
- Współdziałanie z klasami Javy 331
- Współdziałanie a stosowanie wartości pustych 332
- Odwzorowywanie typów 335
- Akcesory get, set i współdziałanie 337
- Więcej niż tylko klasy 339
- Wyjątki a współdziałanie 347
- Typy funkcyjne w Javie 350
21. Tworzenie w Kotlinie pierwszej aplikacji na Androida 353
- Android Studio 353
- Konfiguracja Gradle 356
- Organizacja projektu 359
- Definiowanie interfejsu użytkownika 359
- Uruchamianie aplikacji w emulatorze 362
- Generowanie postaci 363
- Klasa aktywności 365
- Podłączanie widoków 366
- Syntetyczne właściwości rozszerzeń Kotlina dla Androida 368
- Tworzenie obiektu nasłuchującego kliknięć 370
- Zapisany stan instancji 371
- Odczyt zapisanego stanu instancji 374
- Refaktoryzacja do postaci rozszerzeń 374
- Dla ciekawskich: Biblioteki Kotlin KTX i Anko 377
22. Wprowadzenie do Kotlin Coroutines 379
- Parsowanie danych postaci 379
- Pobieranie rzeczywistych danych 381
- Główny wątek aplikacji na Androida 384
- Włączanie koprocedur 385
- Tworzenie koprocedur przy użyciu funkcji async 385
- Funkcje launch a async i await 387
- Funkcje zawieszające 387
- Wyzwanie: Rzeczywiste dane 388
- Wyzwanie: Minimalna siła 388
23. Posłowie 389
- Co dalej? 389
- Bezwstydna reklama 389
- Dziękujemy! 390
A. Więcej wyzwań 393
- Korzystanie z Exercism 393
Skorowidz 401
- Назва: Programowanie w języku Kotlin. The Big Nerd Ranch Guide
- Автор: Josh Skeen, David Greenhalgh
- Оригінальна назва: Kotlin Programming: The Big Nerd Ranch Guide
- Переклад: Piotr Rajca
- ISBN: 978-83-283-5537-8, 9788328355378
- Дата видання: 2019-10-11
- Формат: Eлектронна книга
- Ідентифікатор видання: prokot
- Видавець: Helion