Zestaw narzędzi na biurku

Prototypy i dziedziczenie – Powtórka przed ReactJS #10

Przypuśćmy, że naszym dzisiejszym celem jest usprawnienie masowej produkcji krzeseł.

Dziedziczenie klasowe

Postrzegając ten problem przez pryzmat języków obiektowych zorientowanych na klasy, zanim przejdziemy do wytwarzania, musimy przygotować specyfikację produktu.
Rolę specyfikacji będzie stanowiła klasa Krzesło. Zamieścimy w niej wszystkie właściwości i funkcjonalności krzeseł, które będziemy produkować. Najpierw skupimy się na najprostszym modelu, jaki przychodzi nam do głowy, zostawiając sobie furtkę do dalszych usprawnień w przyszłości.

(więcej…)

ZawodProgramista-wide

Zawód: Programista – recenzja książki

Książkę Zawód: Programista: Wszystko, czego potrzebuje świadomy developer autorstwa Macieja Aniserowicza nabyłem w przedsprzedaży. Wystarczy zerknąć na świetne wyniki sprzedażowe, aby zdać sobie sprawę, jak wielu programistów darzy zaufaniem autora bloga devstyle.pl. Byłem ciekaw, jak Zawód: Programista wypadnie na tle Dev Career Guide Johna Sonmeza. Autorzy postawili sobie dokładnie ten sam cel: stworzyć kompletny przewodnik programisty po branży IT. Czy Maciej przedstawia unikalne treści, których na próżno szukać w dużo obszerniejszej książce autorstwa popularnego na całym świecie Simple Programmera? Czy udało się osiągnąć cel postawiony w podtytule książki i rozszerzyć moją developerską świadomość? Zobaczmy.

(więcej…)

Mężczyzna wskazujący na pokaz fajerwerków.

Wskaźnik this – Powtórka przed ReactJS #9

Wskaźnik this stanowi fundament programowania zorientowanego obiektowo. Niestety, w przypadku JavaScript, jest jedną z najbardziej zagmatwanych części języka. Zarówno początkujący, jak i weterani innych języków programowania, będą mieli wiele okazji do złapania się za głowę. W przeciwieństwie do Javy i C#, wartość this nie zawsze wiąże się z obiektem/funkcją zawierającą to słowo kluczowe.
(więcej…)
Droga za ogrodzeniem.

Domknięcia – Powtórka przed ReactJS #8

Zacznijmy od spraw natury czysto organizacyjnej. Od dnia dzisiejszego, wpisy z serii Powtórka przed ReactJS, będą miały odmienną formę niż dotychczas.

Do tej pory skupiałem się na kompleksowym omawianiu wybranych zagadnień. Takie podejście miało liczne zalety w zakresie opracowania najistotniejszych fragmentów specyfikacji ES6. Mamy końcówkę 2017 roku, a mimo to nadal trudno wskazać wyczerpujące i jednocześnie zwięzłe materiały do nauki ‚nowości’, które stały się częścią standardu przeszło dwa lata temu.

Jeżeli chodzi o tematykę zaplanowaną na drugą część serii, sprawa wygląda zupełnie inaczej. (więcej…)

Azjatka otoczona przez kolorowe bąbelki mydlane.

Zakresy – Powtórka przed ReactJS #7

Bez zrozumienia zakresów nie obejdzie się podczas pisania nawet najprostszych programów. Tak pozornie banalne zagadnienie zawiera wiele niuansów, które wprowadzają w dezorientację wielu początkujących. Większość z owych niuansów odchodzi w niepamięć po zrezygnowaniu z wykorzystywania var na rzecz let i const. Czy jest to wystarczający powód, aby pominąć temat? W żadnym wypadku. Dogłębne opanowanie mechaniki zakresów jest bardzo często sprawdzane podczas rozmów kwalifikacyjnych. Wystarczy zrozumieć kilka prostych zasad, żeby znacznie zwiększyć szansę na zdobycie wymarzonej pracy. (więcej…)

Rozmywa sylwetka chłopaka otoczonego regałami książek.

Anki, czyli jak zapamiętuję WSZYSTKO czego się uczę

Do powszechnej świadomości weszło przekonanie, że opanowanie umiejętności do mistrzostwa wymaga poświęcania magicznej liczby 10 tysięcy godzin. Prosta matematyka, wystarczy zainwestować „jedynie” trzy godziny dziennie przez okres 9 lat i będziemy zbijali piąteczki z Maciejem Aniserowiczem. Jak przekonuje Peter C. Brown w swojej książce Peak: Secrets from the New Science of Expertise sprawa wcale nie jest taka prosta. Osiągnięcie biegłości to nie tylko kwestia poświęcenia odpowiedniej ilości czasu. O tym czy i kiedy uda nam się dotrzeć na linię mety, decyduje przede wszystkim przemyślana praktyka. To właśnie ona pozwala na utrwalenie niezbędnej wiedzy. (więcej…)

Mężczyzna w bordowej koszuli pakujący pudełko w pracowni.

Moduły ES6 – Powtórka przed ReactJS #6

Brak wbudowanego systemu modułów w JavaScript stanowił problem od dawien dawna. Różne wzorce projektowe i techniki stanowiły zastępcze rozwiązanie problemu. Najpopularniejsze z nich to moduły opakowane w biblioteki, loader RequireJS, wstrzykiwanie zależności w AngularJS oraz powszechnie uznawany król – CommonJS. To właśnie w oparciu o CommonJS zaimplementowano natywną funkcjonalność w ramach specyfikacji ES6. (więcej…)

Czworo przyjaciół zbijających żółwika nad stołem.

Obietnice – Powtórka przed ReactJS #5

Obiecuję, że po przeczytaniu tego wpisu, Wasz kod asynchroniczny stanie się bardziej czytelny. Skąd taka pewność siebie? A no, społeczność JavaScript od dwóch lat zachęca do jak najczęstszego składnia obietnic. Spokojnie, to nadal powtórka przed ReactJS, a nie zapowiedź mojego startu w plebistycie na najlepszego blog front-endowy. Na to przyjdzie czas wiosną 2018 roku #DSP ;). (więcej…)

Trzy lukrowane pączki leżące na blacie pełnym kolorowej posypki.

Spread, rest i default – Powtórka przed ReactJS #4

Funkcje wykorzystujące tablice to chleb powszedni każdego programisty JavaScript. Mając to na uwadze, komitet TC39 zatroszczył się o wprowadzenie kilku użytecznych usprawnień, które rozszerzają nasze możliwości. Oprócz nowinek, zastąpimy stare rozwiązania bardziej eleganckim kodem. Panie i Panowie, oto bohaterowie dzisiejszego wpisu: spread, rest i default. (więcej…)
Narzędzia wiszące na brudnej ścianie warsztatu.

Destrukturyzacja – Powtórka przed ReactJS #3

Hermetyzacja, enkapsulacja, polimorfizm czy chociażby tytułowa destrukturyzacja. Długo wymieniać pojęcia, których sama nazwa wystarcza, aby początkującemu włosy stanęły dęba. Skoro zdecydowano się na użycie tak wyszukanej formy językowej, to każdy młody programista słusznie zastanawia się, jakie szataństwo musi się za tym wszystkim kryć. Na całe szczęście, bardzo często okazuje się, że wyszukane nazewnictwo niewiele ma wspólnego z poziomem trudności samej koncepcji. Destrukturyzacja, mimo że jest czymś całkowicie nowym w JavaScript, nie jest wyjątkiem od tej reguły. (więcej…)