Backendowe kursy wideo w 60% przecenie. Taniej nie będzie!


6 września 2019 / Michał Kortas


Wydawnictwo Helion uruchomiło własnie ciekawą promocję na backendowe kursy wideo ze swojej oferty. Poniżej przedstawiam najciekawsze propozycje oraz kompletną listę.

Python 3. Kurs video. Praktycznie wprowadzenie do programowania

Język C#. Kurs video. Poziom pierwszy. Programowanie dla początkujących

Testowanie oprogramowania w .NET Core 2.0. Kurs video. Poziom pierwszy. Jak pisać dobry, niezawodny i łatwy w utrzymaniu kod

Podstawy programowania w Javie. Kurs video. Poziom pierwszy. Stwórz swoją pierwszą grę konsolową

Jeśli wolisz zobaczyć zestawienie w formie Excela, przygotowałem dla Ciebie odpowiednią wersję.

Zobacz zestawienie w Excelu
TytułNowa cenaStara cenaRabat
Java na serwerze – kurs przetrwania.  Obóz drugi. Od serwletów do Spring Boota39,6099,0059,40
Język C# w praktyce. Kurs video. Przetwarzanie danych zewnętrznych39,6099,0059,40
Python 3. Kurs video. Kompendium efektywnego Pythonisty39,6099,0059,40
Ruby on Rails (RoR). Kurs video. Programowanie aplikacji internetowych39,6099,0059,40
Asynchroniczne REST API w Pythonie. Kurs video. Tworzenie aplikacji w aiohttp35,6089,0053,40
Podstawy programowania w Javie. Kurs video. Poziom pierwszy. Stwórz swoją pierwszą grę konsolową35,6089,0053,40
Java na serwerze – kurs przetrwania. Obóz pierwszy35,6089,0053,40
Microsoft SQL Server. Tworzenie baz danych i zarządzanie nimi. Kurs video31,6079,0047,40
Matematyka a programowanie. Kurs video. Od pojęcia liczby po płaszczyznę zespoloną w Pythonie31,6079,0047,40
Django. Kurs video. Poziom pierwszy. Podstawy tworzenia aplikacji31,6079,0047,40
Testowanie oprogramowania w .NET Core 2.0. Kurs video. Poziom pierwszy. Jak pisać dobry, niezawodny i łatwy w utrzymaniu kod31,6079,0047,40
Laravel. Kurs video. Poziom pierwszy. Programowanie aplikacji w PHP31,6079,0047,40
Node.js. Kurs video. Tworzenie skalowalnych aplikacji webowych31,6079,0047,40
T-SQL. Kurs video. Programowanie baz danych w SQL Server31,6079,0047,40
ASP.NET MVC. Kurs video. Poziom pierwszy. Programowanie aplikacji internetowych31,6079,0047,40
Testy automatyczne kodu Python. Kurs video. Pisanie testów jednostkowych od podstaw27,6069,0041,40
Programowanie w C#. Poziom drugi. Kurs video. Zaawansowane techniki27,6069,0041,40
Django. Kurs video. Tworzenie interaktywnych stron internetowych i aplikacji webowych27,6069,0041,40
Programowanie asynchroniczne i równoległe w C#. Kurs video. Poziom podstawowy27,6069,0041,40
ASP.NET Core MVC. Kurs video. Poziom drugi. Programowanie nowoczesnych aplikacji internetowych27,6069,0041,40
Wzorce projektowe dla programistów C#. Kurs video27,6069,0041,40
Ruby. Kurs video. Poziom pierwszy. Podstawy języka i praktyczne przykłady27,6069,0041,40
Programowanie w PostgreSQL. Kurs video. Analiza danych27,6069,0041,40
Spring Web MVC. Kurs video. Programowanie aplikacji webowych27,6069,0041,40
JUnit – testy jednostkowe. Kurs video. Automatyzacja procesu testowania w Javie27,6069,0041,40
Python. Kurs video. Poziom pierwszy. Podstawy programowania i tworzenia aplikacji27,6069,0041,40
Wyrażenia regularne w Pythonie. Kurs video. Kompletne vademecum27,6069,0041,40
PL/SQL. Kurs video. Od podstaw do zagadnień zaawansowanych. Programowanie baz danych23,6059,0035,40
Python 3. Kurs video. Praktycznie wprowadzenie do programowania23,6059,0035,40
SQL. Kurs video. Od podstaw do zagadnień zaawansowanych. Tworzenie baz danych23,6059,0035,40
Java. Kurs video. Poziom drugi. Programowanie funkcyjne i współbieżne23,6059,0035,40
Kotlin w praktyce. Kurs video. Tworzenie aplikacji webowych za pomocą Spring Boota23,6059,0035,40
Java 8. Programowanie obiektowe. Kurs video. Poziom pierwszy23,6059,0035,40
JavaFX. Kurs video. Wzorce oraz typy generyczne23,6059,0035,40
Unity. Kurs video. Poziom trzeci. Tworzenie gry 2D i publikacja w Google Play23,6059,0035,40
Java RESTful API z wykorzystaniem Hibernate. Kurs video. Poziom pierwszy. Tworzenie panelu administracyjnego23,6059,0035,40
Język C#. Kurs video. Poziom pierwszy. Programowanie dla początkujących23,6059,0035,40
MySQL. Kurs video. Od podstaw do zagadnień zaawansowanych. Tworzenie i analizowanie baz danych23,6059,0035,40
Ruby on Rails. Kurs video. Wdrażanie (deployment) na własne serwery i chmurę23,6059,0035,40
Spring Security. Kurs video. Skuteczne metody zabezpieczeń aplikacji23,6059,0035,40
Spring. Kurs video. Poziom pierwszy. Prosty sposób na zaawansowane aplikacje23,6059,0035,40
Unity. Kurs video. Poziom drugi. Tworzenie gry 2D23,6059,0035,40
Java. Kurs video. Poziom pierwszy. Podstawy tworzenia aplikacji19,6049,0029,40
Unity. Kurs video. Poziom drugi. Tworzenie gier komputerowych 3D19,6049,0029,40
Unity. Kurs video. Poziom pierwszy. Tworzenie gier komputerowych 3D19,6049,0029,40
Unity. Kurs video. Tworzenie gry 2D19,6049,0029,40
Programowanie w Ruby. Poziom drugi. Kurs video. Zaawansowane techniki19,6049,0029,40
Keras w praktyce. Kurs video. Tworzenie modeli uczenia głębokiego19,6049,0029,40
Python dla dzieci i młodzieży. Kurs video. Jak uczyć się programowania – pierwsze kroki15,9639,9023,94
 T-SQL. Kurs video. Wykorzystanie baz danych przy użyciu niekonwencjonalnych rozwiązań. Sztuczki i gotowe rozwiązania15,9639,9023,94
PHP. Kurs video. Poziom drugi. Programowanie obiektowe w praktyce15,6039,0023,40
PHP. Kurs video. Poziom pierwszy. Programowanie obiektowe w praktyce15,6039,0023,40
Podstawy programowania. Kurs video. Bazy danych39,9059,0019,10

Tagi:


Kursy wideo w cenie 39 zł! Oszczędzisz nawet 250 zł. Pełne zestawienie


28 stycznia 2019 / Michał Kortas


Kursy w helion.pl za 39 zł

Przygotowałem dla Was kolejne ciekawe zestawienie. Jeśli szukacie kursu wideo w tematyce programowania, front-endu, baz danych, czy też szeroko pojętego web-dev, na Helion.pl do 30 stycznia włącznie obowiązują ogromne zniżki. Niektóre z nich sięgają ponad 250 zł.

Pełne zestawienie zamieszczam na moim OneDrive w postaci pliku Excel do przeglądania i filtrowania on-line.

Zobacz plik Excel z kursami za 39 zł


Przejrzyj kursy w promocji

Zobacz wszystkie kursy na stronie Helion.pl


Tagi:


Prezent Last Minute? Ebooki w dużej promocji na Święta.


22 grudnia 2018 / Michał Kortas


Zbyt późno zorientowałeś się, że Święta są właściwie tuż za rogiem, a przeraża Cię wizja spędzenia weekendu w zatłoczonej galerii handlowej? Nie martw się! Masz jeszcze szansę na podarowanie bliskiej Ci osobie elektronicznego prezentu w formie ebooka.

Uwaga! Promocja została zakończona.

Zobacz wszystkie ebooki w promocji

Przedstawiam tu moje wybrane propozycje. W ostatnim akapicie dowiesz się też, w jaki sposób ów prezent automatycznie wysłać jako prezent.

Promocja Grupy Helion: W dniach 22-24 grudnia włącznie ebooki i audiobooki rabatowane są o 40% a kursy wideo o 25%.

Jak wysłać ebooka jako prezent na Święta?

  • Wejdź na stronę tytułu na helion.pl lub ebookpoint.pl i kliknij w przycisk „Kup na prezent”.
  • Zostaniesz przekierowany do koszyka, gdzie obok tytułu znajdziesz status „Kupuję na prezent”. Następnie w standardowy sposób dokonaj zakupu.
  • Po poprawnej weryfikacji płatności otrzymasz maila z potwierdzeniem zamówienia
  • By podarować ebooka/audiobooka zaloguj się na swoje konto i wejdź do biblioteki
  • Przejdź do zakładki „Prezenty” i na wybranej pozycji kliknij w przycisk „Wyślij”.
  • Podaj adres e-mail osoby, której chcesz podarować publikację, podaj datę wysyłki, wpisz treść wiadomości i kliknij w przycisk „Wyślij prezent”.

Gotowe! Osoba obdarowana, we wskazanym dniu otrzyma maila z Twoją wiadomością i instrukcją jak odebrać publikację.

Jak odebrać prezent?

Odbiorca Twojej wiadomości powinien wykonać kilka kroków:

  • Zarejestrować się (jeśli nie posiada konta klienta) się lub zalogować (na konto, które posiada w dowolnym z naszych serwisów)
  • Przejść na stronę https://helion.pl/kod i podać kod,który otrzymał w e-mailu,
  • Kliknąć w przycisk „Zatwierdź”.

Tagi:


Ebooki tańsze o minimum 50% na Helionie! Subiektywny przegląd


17 września 2017 / Michał Kortas


Takie promocje nie zdarzają się często. Helion, jak na dobrego gospodarza urodzin przystało, wyprawił świetne poprawiny w postaci ogromnych promocji na wszystkie ebooki. Zniżki zaczynają się aż od 50%! Znajdziesz tutaj przegląd wybranych przeze mnie pozycji, z których naprawdę warto skorzystać. Promocja trwa do 18. września włącznie.

Wszystkie ebooki w promocji znajdziesz na stronie Helion.pl Continue reading Ebooki tańsze o minimum 50% na Helionie! Subiektywny przegląd


Tagi:


[Zakończona] Jedna książka za darmo przy zakupie dwóch w Helionie z darmową dostawą z okazji Światowego Dnia Książki i Praw Autorskich


23 kwietnia 2017 / Michał Kortas


Promocja zakończyła się. Wkrótce poinformuję o kolejnej ;-)

Uwielbiam takie promocje, kiedy mogę tanio uzupełnić swoją informatyczną biblioteczkę. Z okazji Światowego Dnia Książki i Praw Autorskich na Helionie została uruchomiona promocja, dzięki której przy zakupie dwóch książek lub ebooków, drugą pozycję otrzymujesz za darmo. Dodatkowym atutem jest darmowa dostawa do Paczkomatu lub Pocztą Polską. Wow!

Jak to zwykle bywa przy takich okazjach, przygotowałem dla Ciebie zestawy, które opłaca się kupić. Jeśli się zastanawiasz, nie zwlekaj zbyt długo. Oferta ważna jest do 24 kwietnia (poniedziałek) włącznie.

Światowy Dzień Książki i Praw Autorskich

Światowy Dzień Książki i Praw Autorskich

Continue reading [Zakończona] Jedna książka za darmo przy zakupie dwóch w Helionie z darmową dostawą z okazji Światowego Dnia Książki i Praw Autorskich


Tagi:


Recenzja książki „Getting Things Programmed. Droga do efektywności”


17 marca 2017 / Michał Kortas


Kiedy w zeszłym miesiącu robiłem zakupy w Helionie, wpadła mi pod rękę książka o obiecująco brzmiącym tytule Getting Things Programmed. Droga do efektywności. Nie zastanawiając się jakoś specjalnie dłużej dodałem ją do koszyka i w zasadzie o niej zapomniałem. Przyszła jednak paczka, z nudów rozpocząłem lekturę. Nie lubię motywatorskich opowieści, trenerów efektywnego spędzania czasu czy innych kołczów, jednak muszę przyznać, że pozycja ta wypada bardzo dobrze na tle innych materiałów (taka subiektywna opinia), szczególnie, że nastawiona jest na organizację pracy programisty.

Zapraszam do tej krótkiej, piątkowej recenzji. Continue reading Recenzja książki „Getting Things Programmed. Droga do efektywności”


Tagi:


[Zakończona] Książki i ebooki dla każdego web-deva w ofercie walentynkowej!


9 lutego 2017 / Michał Kortas


Wszystkie książki w promocji „2 za 1”


Uwaga! Promocja została zakończona. O kolejnych zniżkach poinformuję w stosownym czasie ;-)

Nie masz pomysłu na prezent dla swojej ukochanej połówki? Nic straconego! W dniach od 9 do 11 lutego włącznie w księgarni Helion obowiązuje świetna promocja „W parze się opłaca„. Przy zakupie dwóch książek płacisz tylko za jedną. Powyżej możesz dodać do koszyka interesujące Cię pojedyncze pozycje, kompletując własny zestaw lub wybrać z pośród specjalnie wybranych dla Ciebie pakietów, które według mnie są najbardziej interesujące. Po kliknięciu w odpowiedni przycisk, książka, ebook lub kurs wyląduje bezpośrednio w Twoim koszyku na Helion. Zarządzać nim możesz oczywiście na stronie wydawnictwa.

Cały zbiór posegregowałem w odpowiednich działach tematycznych. Mam nadzieję, że kolekcja będzie przydatna i podzielisz się nią z innymi. Uważasz, że nie uwzględniłem jakiejś ciekawej pozycji? Daj znać w komentarzu a dodam ją, aby już nikomu innemu nie umknęła!

Uwaga: podane powyżej ceny pobierane są poprzez API Helionu. Nie mam na nie wpływu i nie mogę za nie odpowiadać. Przed zakupem sprawdź koniecznie, czy ceny w koszyku odpowiadają Twoim oczekiwaniom.


Tagi:


[Zakończony] Czytaj, nie pytaj! Konkurs – edycja #4


7 marca 2016 / Michał Kortas


Zwycięzcami 4 edycji są: Paulina, Ernest, Barbara oraz Damian. Gratulujemy! Czekamy na maile zwrotne przez 24 godziny.

Bootstrap. Praktyczne Projekty. Michał Kortas

Co dwa tygodnie, w poniedziałki do wygrania wystawiać będziemy trzy sztuki wybranej przez Was wcześniej książki (papier lub ebook do wyboru) od wydawnictwa Helion.

W czwartej edycji do wygrania jest książka Bootstrap. Praktyczne Projekty, dzięki której poznasz praktyczne podstawy tworzenia interfejsów stron internetowych i aplikacji z wykorzystaniem frameworka Bootstrap.

Dodatkowo dhosting dorzuca dla Was 10% bon rabatowy do wykorzystania na wszystkie ich usługi!

Co zrobić, aby wygrać?

  1. Udziel odpowiedzi na dwa poniższe pytania, wysyłając je na adres [email protected]
  2. W tytule wiadomości koniecznie wpisz Konkurs 4

Pytania konkursowe

  1. Czy Bootstrap wymaga korzystania z jQuery?
    Nie wymaga, jeśli nie korzystamy z komponentów JS.
  2. Czy wyszukiwarka Google kiedykolwiek bierze pod uwagę posiadanie przez stronę certyfikatu SSL?
    Tak, bierze pod uwagę obecność SSL przy ustalaniu pozycji.

Partnerem konkursu jest Wydawnictwo Helion.
Niezawodnym partnerem technologicznym jest dhosting.

Opis książki na Helion.pl

Krótki regulamin

  • Na odpowiedzi czekamy do godziny 18:00, do dnia jutrzejszego (tj. 8.03.2016)
  • Nie liczy się kolejność zgłoszeń, a ich poprawność
  • Z pośród poprawnych odpowiedzi wybierzemy trzy osoby, które otrzymają nagrody w postaci książki lub e-booka
  • W żaden niepożądany sposób nie wykorzystamy Waszych adresów e-mail. Skontaktujemy się tylko i wyłącznie w celu ustalenia sposobu dostarczenia przez nas nagrody
  • Na odpowiedź zwrotną czekać będziemy 24 godziny, po tym czasie możemy wykonać losowanie uzupełniające w przypadku braku kontaktu

Zapraszamy serdecznie do zabawy :)


Tagi:


23. Urodziny Helionu!


16 września 2014 / Mr.Mr


23. urodziny wydawnictwa HelionHelion to wydawnictwo, które towarzyszy branży informatycznej od lat, wydaje się wręcz że od zawsze. Rzeczywiście szmat czasu przeleciał od kiedy rozpoczęło działalność na naszym rynku. W tym roku świętujemy już 23. urodziny Helionu. Tak… też się zdziwiliśmy, że o już tak długo…

Continue reading 23. Urodziny Helionu!


Tagi:


Recenzja: Tajemnice JavaScriptu. Podręcznik ninja


14 września 2014 / Comandeer


Okładka książki

JavaScript to język programowania, który wymaga od programisty szerokiej wiedzy i dokładności. Chwila nieuwagi może spowodować poważne problemy, trudne do wykrycia. Jak sobie radzić w tym wymagającym środowisku? Jak zwinnie poruszać się pomiędzy zastawionymi pułapkami?

Źródło: Helion.pl

Tytuł + nazwiska nadają tej książce status pożądanej przez każdego kodera JS. Kto bowiem nie chciałby stać się wojownikiem ninja, pod okiem takiego mistrza, jak John Resig?

Tłumaczenie

Zacznę nietypowo, bo to główna rzecz, jaka rzuca się w oczy: tłumaczenie jest po prostu tragiczne. Część zdań jest napisana całkowicie niezrozumiale. Nie to jest jednak głównym mankamentem. Prawdziwym problemem są strasznie dziwne polskie tłumaczenia niektórych ogólnie przyjętych pojęć. Nie wiem kiedy w Helionie zrodziła się myśl, żeby każdy termin angielski tłumaczyć na polski odpowiednik. Niemniej efekty takich działań są czasami komiczne. Mamy zatem „funkcje bezpośrednie” zamiast IIFE (który to skrót występuje wszędzie), mamy „pakiety testów” zamiast… frameworków testowych czy też… „procesy robocze standardu HTML5” (oczywiście chodzi o standard Web Workers, który nawet nie jest częścią specyfikacji HTML5). Ale już prawdziwym mistrzostwem jest „niepozorny kod JS” (który nagle w innym miejscu książki staje się „dyskretnym kodem JS”). O czym mowa? O technice unobtrusive JS.

Oczywiście nigdzie przy polskich terminach nie ma podanego ich odpowiednika angielskiego, więc jeśli ktoś nie zna pojęć związanych z programowaniem w JS, to po przeczytaniu tej książki… dalej ich nie będzie znał. Za to będzie rozróżniał dziwne polskie odpowiedniki, których nikt po prostu nie używa. Moim zdaniem w książce powinna zostać użyta konwencja odwrotna: termin angielski (tłumaczenie na polski). I to winno być jedyne miejsce wystąpienia polskiego terminu. Raczej powinno się zapoznawać ludzi z używanymi zwrotami a nie sztucznie wykreowanymi na potrzeby książki. Byłem w stanie rozpoznać o co chodzi tylko i wyłącznie dlatego, że te pojęcia znam i kod na nie wskazywał… Niemniej i tak miałem problem z rozdziałem „Analizowanie kodu w środowisku wykonawczym”, który traktował o eval. I nie uwierzę, że w oryginale było analizowanie a nie interpretacja. I mam rację – w oryginale jest: „evaluation”, co nie ma prawa zostać przetłumaczone jako analizowanie…

I ostatni kwiatek, którego po prostu nie można pominąć: Java ma się do JS jak… szynka do hamburgera. Cóż, w angielskim ma to sens (ham ↔ hamburger), ale w polskim – absolutnie nie. Jest tyle innych takich par w naszym języku (kot ↔ kotara, koń ↔ koniak, blacha ↔ blachara…) – całkowicie nie rozumiem decyzji z pozostawieniem tłumaczenia dosłownego.

Tłumaczenie po prostu zabiło tę książkę. A szkoda.

Zawartość

Mimo wszystko tłumaczenie nie jest głównym grzechem tej książki. Pod względem merytorycznym również mocno odstaje od poziomu, jaki deklarują nazwiska autorów.

Książka podzielona jest na 4 części:

  • Przygotowania do treningu
  • Trening ucznia
  • Trening wojownika
  • Trening mistrza

W przygotowaniach de facto jedyne, czym się zajmujemy, to tworzeniem własnego „pakietu testów” (czyli – jak już wspominałem – frameworka testowego). Tworzone jest m.in. grupowanie testów. Niestety, w całej reszcie książki jedyną rzeczą, którą z tego wyniesiemy, jest funkcja assert, która będzie równocześnie służyła za… funkcję logującą (cóż, to się nazywa reużywalność, prawda?). W tej części książki dowiadujemy się także, że co prawda JS nie działa już jedynie w przeglądarkach (jedyne miejsce, gdzie wspomniana jest nazwa node.js), jednak ta książka i tak jest JS browserowemu poświęcona. Tym samym można skreślić na starcie „JavaScriptu” z tytułu, bo to książka o dostosowywaniu kodu do IE (niestety).

Część druga książki to jedyna w miarę sensowna rzecz, jaka tutaj jest. Ale i tak nie do końca. Po zapoznaniu się z nią można dojść do błędnego wniosku, że JS jest językiem funkcyjnym, z na chamca dodaną wybrakowaną obiektowością (lol, nie ma klas) a głównym terminem w JS jest pojęcie „funkcja to obiekt pierwszej klasy”. Funkcjom poświęcono aż 3 rozdziały, lecz i tak zabrakło miejsca na to, żeby dokładnie wyjaśnić hoisting czy magiczne słówko this. O Function.prototype.bind można w ogóle zapomnieć a dlaczego – to o tym później. Obiektom poświęcono natomiast tylko jeden rozdział, gdzie nie do końca wyjaśniono całą rzecz z prototypami i nawet nie pokuszono się o wytłumaczenie innego patternu konstruktorów niźli jedynie przez słówko new. Jedyna fajna rzecz z obiektówki, którą pokazano, to metoda tworzenia subklas z odwołaniem do rodzica. Ponadto przy literałach liczbowych i wywoływaniu ich metod podano nie do końca prawidłowe informacje (np nie podano w ogóle 5..metoda). Ewidentnie widać, że autorzy traktują po macoszemu obiektowe możliwości JS, skupiając się w pełni na jego funkcyjnej stronie.

Co jeszcze w tej części? Pean na cześć wyrażeń regularnych. Owszem, są bardzo potrzebne, niemniej w rozdziale im poświęconym nie pokazano zbyt wiele przykładów wskazujących na ich nieodzowność w arsenale każdego JS ninja (i nie, trim nie jest dobrym przykładem). Na sam koniec zapoznajemy się z licznikami czasu, gdzie równocześnie bliżej wytłumaczone jest pojęcie event loop. Szkoda, że o Web Workers jest jedynie króciutka wzmianka i nic więcej (a o setImmediate nawet tego nie ma).

Trzecia część to już niestety zbiór quirków w przeglądarkach oraz przestarzałych praktyk. Zaczynamy od rozdziału o „analizowaniu” kodu i poznajemy eval, którego później używamy do… parsowania JSON. Tak, autorzy zdają sobie sprawę z istnienia JSON, ale przecież on nie działa wszędzie i należy znać eval. Aż spojrzałem z niedowierzaniem na datę powstania książki – 2013. Naprawdę? JSON w JS jest od co najmniej 2012 a jedyne przeglądarki, które tego nie mają to naprawdę prehistoryczne IE (IE 8 już wspiera!). W kolejnym rozdziale jest jeszcze gorzej: prezentowana jest instrukcja with. Naprawdę ta instrukcja potrzebuje aż osobnego rozdziału i traktowania na tym samym poziomie, co programowanie obiektowe? Najlepsze jest, że przez cały rozdział nieustannie jest powtarzane, że tego mechanizmu nie powinno się używać… więc po co marnuje się czas – mój na czytanie, autorów na pisanie? Natomiast później po prostu dowiadujemy się czym jest feature detection oraz uczymy się używać element.style. A to już niestety nie jest JS.

Ostatnią część – czyli trening mistrza – autorzy mogli sobie po prostu darować. Nie ma nic wspólnego z JS a z pisaniem owijaczy DOM-owych dla naprawdę starych IE (naprawdę w 2013 roku należy napisać a w roku 2014 wydać książkę traktującą o błędach w IE9-?). Nie dość, że nie ma to nic wspólnego z JS, to jeszcze jest po prostu przepisywaniem jQuery. A jeśli ktoś jest mistrzem JS (lub do tego miana pretenduje), to kod jQuery czyta sobie na deser.

Tak, ¾ książki o tajemnicach JS traktuje o błędach w implementacji modelu DOM. I nie w nowoczesnych przeglądarkach, ale IE w wersjach 6, 7 i 8. Tak, to książka z 2013 roku. Zamiast mieć fantastyczny rozdział o własnej implementacji systemu eventowego, z podglądaniem takich rozwiązań, jak EventEmitter w node.js, skupiamy się na patchowaniu modelu zdarzeń DOM, żeby zapobiec wyciekom pamięci i innym dziwnym rzeczom w przeglądarce MS. To nie jest trening ninja – to nauka jazdy czołgiem. A co w tym wszystkim jest najśmieszniejsze? Że na samym początku autorzy sami stwierdzają, że DOM to zupełnie inna bestia niż JS i nie należy winić języka za niedoskonałość tego (jednego z najgorzej zaprojektowanych w historii) API. Gdzieś koło 11. rozdziału jakby o tym stwierdzeniu całkowicie zapominali i DOM staje się integralną częścią JS w przeglądarce.

I w sumie jedyne, co autorów interesuje, to obsługa IE i całej reszty. Standard ES5 jakby w ogóle dla nich nie istniał. Można spotkać niestandardowe implementacje String.prototype.trim czy metody forEach (dziwnym trafem jest de facto przekopiowana z jQuery). Kiedy natomiast już pojawiają się informacje o nowych możliwościach, to zamiast odnośnika do standardu ES, jesteśmy raczeni informacjami o wersjach JS, typu JS 1.6, 1.85… To wyłącznie numeracja Mozilli, nie mająca nic wspólnego z prawdziwym, standardowym JS. Co więcej – każdej nowości jest poświęcona raptem krótka notatka (no bo przecież nie można ich używać – ninja tak nie robią!). Zamiast uczyć prawdziwego, czystego JSa, ta książka zachęca do tworzenia obejść, hacków i wszelkiej maści polyfillów w celu wspierania starych przeglądarek (Safari 3, Opera 10, Firefox 3, IE9-…). Ba, większość przykładów z książki nie ma prawa zadziałać w strict mode (mimo że autorzy go znają i to bardzo dobrze!) z powodu niewłaściwego używania this (w strict mode jeśli this jest poza kontekstem obiektu, to jest undefined a nie window) czy też arguments.callee.

Praktycznie w ogóle nie jest poruszony temat asynchroniczności JS. Jedynie liczniki czasu coś do tego tematu wnoszą. Niestety o requestAnimationFrame czy setImmediate nie ma ani słowa. Nie wspominając już o promises czy generatorach. A obecnie wszystkie API w JS są na obiecankach lub eventowe. Co więcej – zdarzenia niestandardowe w książce są… obsługiwane niestandardowo. Wypadałoby chociaż wspomnieć o Custom Event z DOM. Całkowicie zignorowano także temat modułów, co dzisiaj jest całkowitą podstawą. No i JS ninja kojarzy mi się z wykorzystaniem takich technik, jak object pooling i unikanie garbage collectora (i wszystkie inne rzeczy dotyczące zarządzania pamięcią). Tutaj tego nie ma…

Ocena

Jestem bardzo, ale to bardzo zawiedziony. Po tytule spodziewałem się, że wreszcie powstała porządna książka o prawdziwym JS. Okazała się jednak kolejną książką o dziwactwach IE. Z całej tej książki wyniosłem jedną, jedyną rzecz – \f jest znakiem nowej strony… Trochę mało, jak na książkę o tajemnicach JS (no i to nawet JS nie jest!).

We wstępie jest napisane, że to książka nie dla początkujących. To fakt – za mało tłumaczenia pewnych rzeczy. Jednak dla bardziej zaznajomionych z JS również nie – oni to po prostu wiedzą i robią to intuicyjnie. Ta książka po prostu nie ma targetu: dla uczących się JS jest za trudna (a tłumaczenie tylko ją dobija) a dla znających JS nie jest niczym nowym. Dodatkowo bardzo dużo w niej braków merytorycznych i zbyt dużo DOM (to „Tajemnice DOM” a nie JS…). Dlatego nie jestem w stanie dać tej książce więcej niźli 3/10.


Tagi: