Facebook - konwersja
  • promocja

Scala. Nauka programowania - ebook

Wydawnictwo:
Data wydania:
18 lutego 2019
Format ebooka:
MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.

Scala. Nauka programowania - ebook

Scala jest językiem programowania ogólnego przeznaczenia, który łączy cechy języków funkcyjnych i obiektowych. Jego twórcy postawili sobie za cel skalowalność napisanych w nim aplikacji - stąd wzięła się nazwa Scala. Scala jest oparta na wirtualnej maszynie Javy, umożliwia programowanie funkcyjne i oferuje bogaty wybór typów. Dzięki tym cechom można tworzyć kod mniej podatny na występowanie błędów w trakcie działania programu. Po uzyskaniu pewnej biegłości w kodowaniu praca z tym językiem staje się prawdziwą przyjemnością, nawet podczas tworzenia frameworków czy bibliotek.

Ten przystępny podręcznik przeznaczono dla programistów, którzy chcą poznać język Scala, aby wykorzystywać go do pisania współbieżnych, skalowalnych i reaktywnych aplikacji. Przedstawiono tu podstawy niezbędne do rozpoczęcia kodowania w Scali: składnię języka, podstawowe typy danych, literały czy zmienne. Następnie omówiono struktury danych w Scali i sposoby korzystania z funkcji wyższego rzędu. Zaprezentowano również takie koncepcje jak dopasowanie wzorca, klasy przypadku oraz zagadnienia związane z programowaniem funkcyjnym i programowaniem zorientowanym obiektowo. Opisano techniki programowania asynchronicznego i reaktywnego. Znalazło się tu także obszerne wprowadzenie do frameworka Akka.

W tej książce między innymi:

  • paradygmaty programowania a korzystanie ze Scali
  • kolekcje modyfikowalne i niemodyfikowalne
  • koncepcja domniemania i praca z wyjątkami
  • programowanie równoległe, asynchroniczne i reaktywne
  • programowanie sterowane testami w Scali

Scala: nowoczesność i prostota w każdej skali!

Spis treści


O autorze 9

O recenzencie 10

Wprowadzenie 11

Rozdział 1. Rozpoczęcie programowania w Scali 15

  • Wprowadzenie do Scali 15
    • Paradygmat programowania 16
    • Paradygmat zorientowany obiektowo kontra funkcyjny 17
    • Scala to język wielu paradygmatów 17
  • Zalety Scali 19
    • Działanie w JVM 19
    • Supersprytna składnia 19
    • Dwie pieczenie na jednym ogniu 20
    • Typ to podstawa 20
    • Łatwe programowanie równoległe 21
    • Kod działający asynchronicznie 21
    • Scala jest teraz dostępna również dla front-endu 21
    • Sprytnie działające środowiska IDE 22
    • Rozbudowany język 22
    • Pomoc techniczna w internecie 22
  • Praca z językiem Scala 22
    • Instalacja Javy 23
    • Instalacja SBT 23
    • Środowisko REPL Scali 23
    • Środowisko IDE Scali 24
  • Pierwszy program w Scali 25
  • Podsumowanie 27

Rozdział 2. Elementy konstrukcyjne w Scali 29

  • Co kryje się pod programem w Scali? 30
  • Słowa kluczowe val i var 31
  • Literał 32
    • Literał liczby całkowitej 33
    • Literał liczby zmiennoprzecinkowej 35
    • Literał wartości boolowskiej 36
    • Literał znaku 36
    • Literał ciągu tekstowego 37
    • Literał symbolu 38
    • Literał krotki 38
    • Literał funkcji 39
  • Typy danych 39
    • Hierarchia klas Scali 40
    • Klasa Any 41
    • Unit 44
    • Boolean 44
    • Null i Nothing 44
  • Inferencja typu 45
  • Operatory w Scali 46
    • Operatory arytmetyczne 48
    • Operatory relacji 49
    • Operatory logiczne 50
    • Operatory bitowe 50
    • Kolejność działań 51
  • Klasy opakowań 52
  • Interpolacja ciągu tekstowego 55
    • Interpolator s 55
    • Interpolator f 56
    • Interpolator raw 56
  • Podsumowanie 57

Rozdział 3. Nadanie kształtu programowi w Scali 59

  • Pętle 60
    • Pętla for 61
    • Pętla while 63
    • Pętla do-while 63
  • Wyrażenia for 64
    • Wyrażenia for yield 65
  • Rekurencja 66
    • Dlaczego rekurencja zamiast iteracji? 66
    • Ograniczenia rekurencji 67
    • Idealny sposób na utworzenie funkcji rekurencyjnej 67
  • Konstrukcje warunkowe 68
    • Konstrukcja if-else 69
  • Dopasowanie wzorca 70
  • Podsumowanie 72

Rozdział 4. Podział programu na funkcje 73

  • Składnia funkcji 74
    • Zagnieżdżanie funkcji 76
  • Wywołanie funkcji 77
    • Przekazywanie zmiennej liczby argumentów 78
    • Wywołanie funkcji wraz z wartością domyślną parametru 79
    • Wywoływanie funkcji wraz z nazwanymi argumentami 80
  • Literał funkcji 81
  • Strategie wywoływania funkcji 83
    • Wywoływanie po nazwie 83
    • Wywołanie po wartości 84
  • Funkcja częściowa 85
  • Podsumowanie 87

Rozdział 5. Kolekcje w Scali 89

  • Motywacja 89
  • Niemodyfikowalne i modyfikowalne kolekcje danych 91
    • Różnice między kolekcjami typu root i niemodyfikowalnymi 92
  • Hierarchia kolekcji w Scali 93
    • Cecha Traversable 96
    • Cecha Iterable 98
  • Kolekcje najczęściej używane w Scali 103
    • Kolekcja List 103
    • Kolekcja Map 104
    • Kolekcja SortedSet 105
    • Kolekcja Stream 106
    • Kolekcja Vector 106
    • Niemodyfikowalny stos 107
    • Niemodyfikowalna kolejka 108
    • Kolekcja Range 108
    • ArrayBuffer 109
    • Kolekcja ListBuffer 110
    • Kolekcja StringBuilder 110
    • Kolekcja Array 111
  • Bogate zestawy operacji przeprowadzanych w kolekcjach 111
  • Kolekcje równoległe w Scali 120
    • Kolekcja ParArray 120
    • Kolekcja ParVector 121
  • Konwersja kolekcji Javy na kolekcję Scali 122
  • Wybór kolekcji 123
  • Wydajność działania kolekcji 125
  • Podsumowanie 126

Rozdział 6. Podstawy programowania zorientowanego obiektowo w Scali 127

  • Klasa 128
    • Klasa abstrakcyjna 133
    • Klasy abstrakcyjne i cechy 134
    • Klasa final 134
  • Obiekt jako singleton 135
  • Obiekt towarzyszący 138
  • Klasa przypadku 140
  • Podsumowanie 145

Rozdział 7. Kolejne kroki w zorientowanej obiektowo Scali 147

  • Kompozycja i dziedziczenie 148
  • Dziedziczenie klas 150
    • Rozszerzanie klas 150
    • Podtyp kontra podklasa 151
    • Nadpisywanie danych i zachowania 152
    • Ograniczenie dziedziczenia - słowo kluczowe final 154
    • Łączenie dynamiczne podczas wywoływania funkcji 154
    • Niewłaściwe użycie dziedziczenia 156
  • Konstruktory domyślne i parametryzowane 157
  • Cecha 159
  • Cecha jako domieszka 162
    • Cecha jako możliwa do łączenia domieszka 162
    • Cechy jako modyfikacje kaskadowe 165
  • Liniowość 168
  • Pakowanie i importowanie 170
    • Polecenie package 171
    • Wiele poleceń package w pliku 171
    • Zagnieżdżone polecenia package 172
    • Łączenie poleceń package 173
    • Import pakietów 174
  • Reguły widoczności 176
  • Cecha zapieczętowana 179
  • Podsumowanie 180

Rozdział 8. Więcej informacji o funkcjach 181

  • Literał funkcji 182
  • Metoda 185
  • Funkcja kontra metoda 188
    • Metoda czy funkcja? 190
  • Czym jest domknięcie? 192
  • Funkcje wyższego rzędu 194
  • Rozwinięcie funkcji 199
    • Konwersja funkcji wraz z wieloma parametrami na postać rozwiniętą 201
  • Funkcja zastosowana częściowo 201
  • Podsumowanie 204

Rozdział 9. Potężne konstrukcje funkcyjne 205

  • Wyrażenia for 206
  • Dopasowanie wzorca 209
  • Różne sposoby na dopasowanie wzorca 210
    • Dopasowanie zmiennej 210
    • Dopasowanie stałej 211
    • Dopasowanie konstruktora 211
  • Typ Option 215
  • Obliczanie z opóźnieniem 216
  • Optymalizacja wywołania ogonowego 217
  • Agregatory 219
  • Parametryzacja typu 220
  • Podsumowanie 222

Rozdział 10. Zaawansowane programowanie funkcyjne 223

  • Dlaczego typy są tak ważne? 224
  • Parametryzacja typu 226
  • Ogólna klasa i cecha 227
  • Nazwa parametru typu 228
  • Typ kontenera 228
  • Likwidacja typu 229
  • Wariancja w dziedziczeniu 230
    • Kiedy używać relacji typu wariancji? 234
  • Typ abstrakcyjny 234
  • Granice typu 239
  • Typ abstrakcyjny kontra parametryzowany 241
  • Klasa typu 243
  • Podsumowanie 244

Rozdział 11. Koncepcja domniemania i praca z wyjątkami 245

  • Obsługa wyjątków w stary sposób 246
  • Użycie rozwiązania opartego na typie Option 247
  • Konstrukcja Either 250
  • Koncepcja domniemania 252
  • Parametr domniemany 254
  • Metoda domniemana 255
  • Konwersja domniemana 256
  • Wyszukiwanie wartości domniemanych 260
  • Klasy typów 262
  • Podsumowanie 264

Rozdział 12. Wprowadzenie do pakietu Akka 265

  • Dlaczego powinieneś zainteresować się pakietem Akka? 266
  • Co to jest model aktora? 267
  • Poznajemy system aktorów 269
  • Obiekt Props 271
  • Ścieżki i odwołania do aktora 271
  • Wybór istniejącego odwołania za pomocą metody actorSelection() 272
  • Cykl życiowy aktora 273
  • Rozpoczęcie pracy z pakietem Akka 274
    • Przygotowanie środowiska 274
  • Utworzenie pierwszego aktora 279
  • Metody typu powiedz kontra poproś kontra przekaż 284
  • Zatrzymanie aktora 287
  • Zaczepy preStart i postStop 288
  • Komunikacja aktorów za pomocą wiadomości i ich semantyka 288
  • Strategia nadzoru aktorów 289
  • Strategia OneForOne kontra AllForOne 290
  • Domyślna strategia nadzorcy 292
  • Zastosowanie strategii nadzoru 292
  • Testowanie aktorów 295
  • Podsumowanie 298

Rozdział 13. Programowanie równoległe w Scali 299

  • Programowanie równoległe 300
  • Podstawowe bloki współbieżności 300
    • Poznajemy proces i wątek 301
    • Blokady i synchronizacja 302
    • Egzekutor i ExecutionContext 306
  • Programowanie asynchroniczne 309
    • Koncepcja wartości typu Future w Scali 309
    • Obsługa wyniku operacji asynchronicznej 313
    • Dlaczego nie należy łączyć dwóch lub więcej operacji asynchronicznych? 314
    • Obietnica 316
  • Kolekcja równoległa 318
  • Podsumowanie 320

Rozdział 14. Programowanie z użyciem rozszerzeń reaktywnych 321

  • Programowanie reaktywne 322
  • Rozszerzenia reaktywne 325
  • Reaktywność i RxScala 328
    • Utworzenie obiektu obserwowalnego 329
  • Podsumowanie 336

Rozdział 15. Testowanie kodu w Scali 337

  • Co to jest podejście TDD i dlaczego powinieneś je stosować? 338
  • Proces stosowany w podejściu TDD 338
    • Krok 1. - zdefiniowanie testu zakończonego niepowodzeniem 339
    • Krok 2. - utworzenie pewnego kodu pozwalającego na zaliczenie testu 339
    • Krok 3. - refaktoryzacja kodu mająca na celu poprawę jego jakości 339
    • Krok 4. - powtórzenie kroków od 1. do 3. 339
    • Zastosowanie podejścia BDD 342
  • Biblioteka ScalaTest 342
    • Przygotowanie do testów 343
    • Style testowania za pomocą ScalaTest 346
  • ScalaMock - natywna biblioteka obiektów imitacji 352
  • Podsumowanie 354

Skorowidz 355

Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-283-4797-7
Rozmiar pliku: 6,1 MB

BESTSELLERY

Kategorie: