Naucz Się Scali

to najlepsze co możesz

zrobić ze swoim czasem.

Chcesz całe życie klepać tysiące linijek kodu? Zobacz, jak można to robić szybciej, przyjemniej i za większą kasę

Zapisy do edycji VIP trwają tylko do 24 stycznia (piątek) do godziny 21:00.

02
Days
20
Hours
44
Minutes
59
Seconds

Pamiętasz swój pierwszy raz?

Swoje pierwsze Hello World? Jakie to było uczucie?

A jak to jest teraz?

Klepiesz w Javie sto bezsensownych linijek kodu, by rozwiązać trywialny problem, który powinien Ci zając nie więcej niż 5 minut?

Może po raz kolejny klniesz w myślach na brak kompilatora w Pythonie, który ustrzegłby Cię przed tym głupim błędem?

Drażni Cię konieczność podawania typów danych w Twoim ulubionym języku? Czy kompilator nie mógłby być mądrzejszy i sam się tego domyślić?

Semafory znowu się zakleszczyły, a Ty nie masz bladego pojęcia dlaczego? 

Po raz kolejny zastanawiasz się, czy nie można by JavaScriptu zastąpić jakimś normalnym językiem?

Może masz ochotę spróbować programowania funkcyjnego, ale się boisz, że to za trudne i za dużo czasu zajmie Ci nauka?

Chcesz się rozwijać i uczyć nowych języków, ale wszystko wydaje Ci się takie... nudne?

Przykro mi... Naprawdę, bardzo, bardzo Ci współczuję, bo wiem, jak to jest. 

Byłem w tym miejscu ponad 8 lat temu.

Miałem jednak cholernie dużo szczęścia, bo zupełnie przypadkiem trafiłem na ten kawałek kodu.

Trafiłem na niego i przepadłem. Elegancja tego rozwiązania zauroczyła mnie. Teraz niewiele się zmieniło, nadal uważam, że ta funkcja jest po prostu śliczna :)

Najlepsze w tym wszystkim jest to, że dzięki temu mogę rozwiązać Twoje problemy!

Długość kodu, dynamiczne typowanie (w pewnym zakresie), obsługę wielowątkowości, tworzenie stron WWW, programowanie funkcyjne bez bólu głowy. To wszystko razem, dzięki jednemu jedynemu językowi. Co rozwiązuje ostatni dylemat.

To przecież nie może być nudne, prawda?

Jasne, że nie może!!!

Scala rozwiąże również te problemy, z istnienia których jeszcze nawet nie zdajesz sobie sprawy!

Ten program to kilkanaście godzin nagrań (a nawet docelowo kilkadziesiąt).


Poznasz Scalę od podstaw, dowiesz się, jak ją odczarować, jak łatwo nauczyć się czegoś, co podobno jest takie trudne i skomplikowane (BZDURA!!!).


Kurs da Ci najpierw solidne fundamenty, a później pozwoli Ci wybudowac na nich potężną twierdzę (tak, fosa też może być :) ).


Tylko od Ciebie zależy, czy skorzystasz z tej okazji.


Pamiętaj!!! W naszej branży rozwój to podstawa.


Języki funkcyjne to przyszłość, a Scala, Scala daje Ci szanse wejść w ten świat najłagodniej jak się tylko da, z wykorzystaniem całej Twojej dotychczasowej wiedzy. Czego chcieć więcej?


Trochę niżej dowiesz się jak zostać wysoko opłacanym programistą i zyskać szansę na pięciocyfrowe zarobki!!!


Chcesz wiedzieć co otrzymasz, jak już dołączysz?

Kilkanaście modułów

Razem wiele, wiele godzin nauki, wiedzy którą będę Ci serwował powoli, krok po kroku.


W każdym module przetestuję również Twoje postępy.


Lekcje w formie video trwające przeważnie po kilka do kilkunastu minut.


Uwaga. W wersji VIP. Moduły będą pojawiały się stopniowo co 7-14 dni.


Dużo w tym będzie zależało od Twojej pomysłowości i Twojego zapotrzebowania, ponieważ część ​materiałów może powstać na Twoje życzenie.


Dlatego jest to właśnie wersja VIP.


Dostępne 24/7

Wszystko to dostępne dla Ciebie przez cały czas. Tak długo, jak istnieć będzie Akademia Scali.


I to też tylko dla wersji VIP.


W kolejnych otwarciach materiały będą dostępne tylko przez 12 miesięcy.

Dostęp do aktualizacji

Jeśli kurs będzie aktualizowany (a na pewno z biegiem czasu będzie), będziesz pierwszą osobą, która się o tym dowie.


Wytłumaczę Ci, dlaczego kurs jest aktualizowany i na co warto zwrócić szczególną uwagę.


Tak jest, prześle Ci szczegółowe informacje o zmianach w świecie Scali, nie musisz się tym przejmować, będę trzymał rękę na pulsie za Ciebie.

Grupa wspólnej nauki na FB

Specjalnie na potrzeby kursu powstała na FB grupa, w ramach której będzie można nawiązać kontakt z innymi uczestnikami kursu. Wymieniać z nimi uwagi, doświadczenia, wspólnie się uczyć.


Grupa będzie też podstawowym miejscem do kontaktu ze mną Twoim instruktorem. 


Miejscem, gdzie będziesz umieszczać odpowiedzi na swoje zadania domowe (a przynajmniej część z nich).

Spotkania LIVE (online)

Raz w miesiącu będziemy się mogli wspólnie spotkać na spotkaniu LIVE. Gdzie na żywo będę odpowiadała na Wasze pytania i wątpliwości.


Jeśli będzie takie zapotrzebowanie w otwarciu VIP, spotkania takie będę mogły odbywać się częściej.

AGENDA PROGRAMU NAUKI SCALI


Uwaga. Agenda może ulec częściowej zmianie na skutek Twoich sugestii. Dotyczy to wyłącznie programu w modelu VIP.

1.

Moduł I - Wstęp


1. Powitanie
2. Wymagania
3. Opis kursu
4. Efekt końcowy
5. Jak się uczyć
6. O instruktorze
7. Praca domowa

2.

Moduł II - Narzędzia


1. Powitanie
2. Scastie i ScalaFidle
3. Scala REPL
4. Ammonite REPL
5. Budujemy aplikację
6. ​SBT
7. Przyspieszacze
8. Jakie IDE
9. IntelliJ IDEA - Scala Plugin
10. IntelliJ IDEA Worksheet
11. Skąd brać biblioteki
12. Czego będziemy używać
13. VM dla Ciebie
14. VM - instrukcja
15. Błędy początkujących
16. Praca domowa

3.

Moduł III - Podstawy i testy


1. Powitanie
2. Założenia początkowe
3. Stałe, zmienne, lazy i ;
4. Komentarze i podstawy ScalaDoc
5. Procedury, metody i funkcje
6. Argumenty metod i funkcji
7. Call by name, call by value, zagnieżdżanie
8. Argumenty powtarzalne
9. Metody bez nawiasów i kropek
10. Struktura pliku - Package
11. Struktura pliku - importy
12. Formatowanie stringów - string interpolation
13. Testy - podstawy
14. ScalaTest, JUnit, ScalaMock, ScalaCheck, specs2
15. ScalaTest - przykłady styli
16. ScalaTest - własna klasa testująca
17. ScalaTest - pierwszy test
18. ScalaTest - assertions
19. Pierwszy projekt w sbt
20. Uruchomienie testu - sbt (~)
21. Pierwszy projekt w Idea
22. Testy: code coverage
23. Błędy początkujących
24. Praca domowa

4.

Moduł IV - Programowanie funkcyjne - podstawy


1. Powitanie
2. Programowanie funkcyjne - wstęp
3. Programowanie funkcyjne - podstawy
4. Funkcje anonimowe, placeholder, literals
5. referential transparency
6. Methods vs functions vs procedures
7. Higher-order functions / Funkcja jako first-class citizen
8. List - szybki wstęp, Mapping, Filtering, Folding, and Reducing
9. Recursion i tail recursion
10. Partial function
11. Currying
12. Programowanie funkcyjne zaawansowane cats
13. Programowanie funkcyjne zaawansowane zio
14. programowanie funkcyjne zaawansowane inne biblioteki
15. Błędy początkujących
16. Praca domowa

5.

Moduł V - Wyrażenia warunkowe i pętle i kolekcje

1. Powitanie
2. Ranges
3. Bloki kodu
4. If (jednak jest :) )
5. For
6. For -> filtrowanie
7. For comprehensions -> yielding
8. For -> podsumowanie i przykłady
9. do-while, Until, generators
10. Kolekcje - wstęp
11. Tuple
12. List, ListBuffer
13. Vector
14. Map
15. Set
16. Seqwencje i Arraye
17. Iterables
18. Traversables
19. Apply and UnapplySeq for Collections
20. Błędy początkujących
21. Praca domowa

6.

Moduł VI - Klasy, obiekty i traity

1. Powitanie
2. Scala type hierarchy
3. Konstruktor (domyślny i dodatkowe)
4. Zasady widoczności (public, protected, private)
5. Final, sealed
6. Object
7. Companion object
8. Apply, unapply
9. Package object
10. Klasa abstrakcyjna i trait
11. Kolejność inicjalizowania
12. this: T
13. Parametrized types
14. Variance
15. typy abstrakcyjne
16. Literals
17. ​Uniform Access Principle
18. Błędy początkujących
19. Praca domowa

7.

Moduł VII - Case class, pattern matching i implicits


1. Powitanie
2. Case class
3. Copy
4. Abstract case class
5. Case Class Inheritance
6. Case object
7. Pattern matching  - wstęp
8. Pattern matching  - begining
9. Pattern matching - matching any type
10. Pattern matching - Testing data types
11. Pattern matching - Lists
12. Pattern matching - nested
13. Pattern matching - as functions
14. Pattern matching - extractors
15. Option, Some, None, Either
16. Obsługa exceptions (po staremu)
17. Try (exceptions po nowemu)
18. Enumeration
19. Nie kłam
20. Syntactic Sugar for Binary Operations
21. Implicits
22. Implicit function parameters
23. Implicit class
24. Implicit object

8.

Moduł VIII - Wbudowana wielowątkowość

9.

Moduł IX - niespodzianka :)

10.

Moduł X - Akka

11.

Moduł XI - Bazy danych (Jooq, Slick)

12.

Moduł XII - Scala.js (+-)

13.

Moduł XIII - przydatne informacje dodatkowe

14.

Moduł XIV - Podsumowanie i zakończenie

​Twój instruktor
Daniel Roziecki

ur. 4 lipca 1974 w Bielsku-Białej


Samouk, pasjonat informatyki z czasów, gdy internet jeszcze nie istniał, za to królowało Atari i C64. Programista, administrator, informatyczny człowiek orkiestra od prawie 30 lat. 


W udanym związku ze Scalą od ponad 10 wiosen.


W jeszcze bardziej udanym związku ze swoją żoną (od dawna), oraz tata dwóch córeczek (od niedawna ).


Vloger (od niedawna), bloger (od roku), programista (od 3o lat), administrator (od 28 lat), właściciel JDG (od 19 lat), pasjonat (od urodzenia).

Pozwól, że opowiem Ci pewną historię.


Był sobie rok 2010, otrzymaliśmy wówczas dotację na stworzenie portalu usług bibliotecznych w.bibliotece.pl (zwany przez nas pieszczotliwie i-pubem) i zaczęły się prace.


Frontend - Python, padła jednoznaczna zapowiedź, koledzy z zespołu mocno siedzieli w Django, a ja starałem się trzymać od tej części kodu najdalej jak to tylko możliwe.


Część backendu, odpowiedzialna za całokształt obsługi czytelnika, również w Pythonie.


Jakieś narzędzie musi jednak integrować dane z bibliotek, pobierać rekordy z kilku tysięcy miejsc, scalać je, tworzyć z nich metarekordy, a później obsługiwać w czasie rzeczywistym ponownie kilka tysięcy bibliotek, przesyłających nieustannie informacje o zmianach w tym o zmianach dostępności egzemplarzy (zwrot, wypożyczenie, zagubienie...).


Nie mieliśmy do tego celu farmy maszyn, a tylko jeden średniej mocy serwerek. Na wszystko razem. Wzrok skierował się na mnie, a ja dzielnie podjąłem wyzwanie. 


Python? Nie... Przy tak dużym projekcie język bez kontroli typów nie jest dla mnie (wiem, że się da, i wiem, ze wiele osób, patrz moi koledzy lubią i potrafią). Delphi? Umarł bym z nudów. Java, ktoś rzucił złośliwie... Ale ja miałem skończony czas na wykonanie projektu. .NET? Hmm, to nie był zły pomysł, ale kwestie patentowe i kwestie podejścia Microsoftu do Mono nie były wtedy do końca jasne, więc nie chcieliśmy się wpakować na minę.


"Scala" powiedziałem i wybiegłem z pomieszczenia, wiedząc jaka będzie reakcja. 


To nie tak, że rzuciłem się od razu na głęboką wodę. Fascynowałem się tym językiem już od dobrego roku, ale nie miałem okazji użyć go w dużym projekcie. Może tym razem też bym się nie podjął, ale mniej więcej 2-3 miesiące wcześniej trafiłem na Akkę. To było dla mnie prawdziwe objawienie. 


Gdy pomyślałem, że będę się musiał znowu męczyć z dziesiątkami semaforów, locków i zobaczyłem oczyma wyobraźni, jak by to można zrobić z wykorzystaniem aktorów, decyzja mogła być tylko jedna.


AppServer działa już od dobrych 8 lat, działa i nieustannie zarządza informacjami o ponad 24 milionach książek w ponad 36 milionach egzemplarzy. Zmiany dostępności są widoczne natychmiast, nie ma opóźnień, nie ma padów.


Idealny kawałek kodu? W życiu. Mógłbym w nim dzisiaj poprawić każdą linijkę (a najlepiej napisać od nowa - znasz to uczucie, prawda?). Idealnie dobrana technologia? TAK.


Dzisiaj, nasze nowe projekty backendowe tworzymy już niemal wyłącznie w Scali, migrujemy też do niej stare rozwiązania, a przynajmniej te, dla których ma to sens i biznesowe uzasadnienie. 


Minęło już 10 lat od podjętej przeze mnie wówczas decyzji. Świat poszedł do przodu, języki rozwijały się (również Scala). 


Czy dzisiaj podjąłbym taką samą decyzję? 


Bez mrugnięcia okiem. Powiem więcej, podejmuje je nieustannie, niemal każdy nowy projekt tworząc w Scali.


Teraz poznaję tajniki Scala.js, dzięki czemu będę mógł zapomnieć o JavaScript - już się nie mogę doczekać :)


No dobrze, ale może się boisz, że nie dasz rady, że Scala jest dla Ciebie za trudna?


Na temat Scali narosło mnóstwo dziwnych mitów. Mam prośbę, zapomnij o nich wszystkich, zapisz się na program. Pamiętaj, że jeśli Ci się nie spodoba masz 30 dni na zwrot pieniążków (bez podawania przyczyny)


Jeśli Scala Ci się nie spodoba, trudno... Co jeśli spodoba? Wówczas...


Scala odmieni Twoje programistyczne życie na zdecydowanie lepsze.

PROGRAM NAUKI SCALI

Wszystko czego potrzebujesz by zacząć wymiatać

PLN

499 z VAT

  • Dożywotni dostęp (w edycji VIP)
  • Grupa wspólnej nauki na FB
  • Spotkania Live
  • Aktualizacje
  • Cena w otwarciu VIP, później będzie tylko drożej

Kasa zawsze dobrze przemawia do wyobraźni. W końcu jeśli robisz coś co lubisz, a zakładam, że programowanie jest Twoją pasją i naprawdę to lubisz, to jedyne czego brakuje w tej całej układance to zapewnić sobie optymalne zarobki.

Nie bez powodów namawiam Cię tutaj do Scali.

Programiści Scali byli (zaraz obok programistów GO), najlepiej opłacanymi developerami w USA w roku 2017 (na podstawie Stack Overflow).


To tak w przybliżeniu ok 34 000 PLN miesięcznie. Nie pogardził bym.

Rozumiem. To w USA, u nas pewnie nikt nawet nie wie co to Scala.

I tu się mylisz.



Zgodnie z raportem opracowanym tym razem przez no fluff {jobs} w 2018 roku najlepiej opłacanymi developerami w POLSCE byli:

"Najbardziej dochodowym językiem programowania roku 2018 okazała się Scala. Średnia wysokość wynagrodzenia Scala Developera to aż 13 000 zł."

Tak jest. Programiści Scali :)

Słyszałeś, że Scala to niszowy język?

Znasz czerwonych mnichów? Oni się zdecydowanie z tym nie zgadzają.

Od bardzo, bardzo dawna tworzą wykres, w którym bazując na ilości pytań na Stack Overflow oraz ilości projektów w danym języku na GitHubie określają rzeczywistą popularność języków programowania.

Widzisz to czerwone kółeczko? Tak to Scala. Jak dla mnie dosyć blisko czołówki.

No to na co czekasz?

Za

  • Więcej Kasy  
  • Więcej Wolnego Czasu
  • Więcej Przyjemności Z Kodowania
  • Mniejsza Konkurencja Na Rynku
  • Hybrydowość języka
  • Super wygodna składnia
  • Genialna wielowątkowość
  • Świetne community

Przeciw

  • Eeee....
  • A...
  • I jeszcze...

Zapisy do edycji VIP trwają tylko do 24 stycznia (piątek) do godziny 21:00.

02
Days
20
Hours
44
Minutes
40
Seconds

Często Zadawane Pytania czyli FAQ

Czy to jest kurs programowania funkcyjnego, albo obiektowego?

Kiedy rozpoczyna się program?

Jak długo mam dostęp do tego kursu?

Czego potrzebuję, aby wynieść z kursu jak najwięcej?

Czy dostanę cały kurs od razu?

Potrzebuję ładną i polską fakturę. Czy ją dostanę?

Czy bonusy są dodatkowo płatne?

Co jeśli nie jestem zadowolony z kursu?

Ile pieniędzy potrzebuję na aplikacje i inne narzędzia?

Mam jeszcze inne pytania!!!

Kilka słów na koniec

Zakochałem się w programowaniu w 5 klasie szkoły podstawowej. Kolega zaprosił mnie do domu, a jego tata pokazał nam napisany przez siebie program do testowania tabliczki mnożenia. Był z niego taki dumny. 


Nigdy nie zapomnę jego miny, gdy zapytałem, dlaczego program nie wraca do początku po przerobieniu całego testu.


Od tego czasu przepadłem. Przez 4 lata "Programowanie ZX-Spectrum", a później "Atari Basic" były moją biblią. Nie miałem komputera, miałem za to wielką wyobraźnię, długopis i multum zapisanych stron.


Po zakończeniu 8 klasy udało mi się od kolegi odkupić Atari 800XL za PÓŁ PEWEXowej ceny. To był w zasadzie ostatni wydatek, jaki moi rodzice na mnie zrobili.


Pamiętam, tę radość, tę wolność.


Ta radość i wolność wróciła do mnie, po wielu latach, gdy poznałem Scalę i już mnie nie opuściła.


Pozwól, że też Ci to podaruję.


Szczęśliwego kodowania i niech Scala będzie z Tobą.


Copyright © 2020 "EMSSIK.NET" Daniel Roziecki