Techniki programowania

1
Kurs video

20 algorytmów, które musisz znać. Kurs video. Techniki programowania i analizy danych

Tomasz Kaniecki

Obierz kurs na... sprawniejsze radzenie sobie z wyzwaniami programowania Informatyka, w szczególności programowanie, algorytmami stoi. Stanowią one punkt wyjścia do tworzenia sprawnie działającego kodu. Dlatego też wiedza o tym, jak za ich pomocą efektywnie rozwiązywać najbardziej skomplikowane problemy, okazuje się być nieoceniona w wielu dziedzinach – od analizy danych, przez rozwój oprogramowania, aż po sztuczną inteligencję i uczenie maszynowe. Dogłębne zrozumienie, czym są i jak działają algorytmy, otwiera drzwi do pracy w najbardziej innowacyjnych sektorach technologicznych. A pomóc w tym może nasz kurs – kompleksowy przewodnik, który nie tylko pozwoli Ci się zapoznać z fundamentami algorytmiki, ale również pokaże ich praktyczne zastosowanie w różnorodnych dziedzinach programowania: od algorytmów sortowania, przez wyszukiwanie, aż po bardziej zaawansowane techniki, takie jak algorytmy grafowe i techniki optymalizacyjne. Poszerz swoją wiedzę w dziedzinie algorytmiki i stań się lepszym programistą – algorytmy, z którymi zetkniesz się podczas naszego szkolenia, znajdą zastosowanie w prawie każdej dziedzinie programowania. Gdy je opanujesz, staniesz się o wiele bardziej atrakcyjnym kandydatem do pracy na rozmaitych stanowiskach w sektorze IT. Twoje działania zyskają na efektywności – pisząc zdecydowanie wydajniejszy i lepiej skalowalny kod, będziesz robić to szybciej, a końcowy rezultat zachwyci Cię elegancją, która wbrew pozorom ma spore znaczenie w kodowaniu. Ten kurs jest skarbnicą wiedzy, która znacząco poszerzy Twoje horyzonty programistyczne! Co Cię czeka podczas naszego profesjonalnego szkolenia Ucząc się z naszym szkoleniem, poznasz między innymi: Podstawy algorytmiki – zrozumiesz, jak działają algorytmy i dlaczego są one fundamentem efektywnego programowania Algorytmy sortowania – nauczysz się różnych technik sortowania, takich jak sortowanie bąbelkowe, quicksort, merge sort, i dowiesz się, jak wybierać najbardziej efektywny algorytm w zależności od sytuacji Algorytmy wyszukiwania – opanujesz techniki wyszukiwania, w tym wyszukiwanie liniowe i binarne, i przekonasz się, kiedy warto je stosować Struktury danych – zdobędziesz wiedzę na temat struktur takich jak listy, stosy, kolejki, drzewa i kopce Algorytmy grafowe – poznasz podstawowe algorytmy grafowe, takie jak przeszukiwanie wszerz (BFS) i przeszukiwanie w głąb (DFS), najkrótszą ścieżkę, a także algorytmy do znajdowania minimalnego drzewa rozpinającego Algorytmy tekstowe – nauczysz się algorytmów przetwarzania tekstów, na przykład algorytmu KMP do wyszukiwania wzorców w tekście Algorytmy numeryczne – opanujesz podstawowe algorytmy numeryczne, w tym algorytmy do obliczeń na dużych liczbach i algorytmy kryptograficzne Techniki optymalizacji – zrozumiesz, jak stosować algorytmy optymalizacyjne, takie jak algorytm zachłanny, programowanie dynamiczne i metaheurystyki przydatne podczas rozwiązywania złożonych problemów Analiza złożoności – będziesz w stanie przeanalizować złożoność czasową i pamięciową algorytmów, aby móc wybierać lub zaprojektować najbardziej efektywne rozwiązanie Praktyczne zastosowania algorytmów – rozwiązując typowe problemy informatyczne, dowiesz się, jak zastosować algorytmy w realnych projektach programistycznych Szkolenie 20 algorytmów, które musisz znać. Kurs video. Techniki programowania i analizy danych kończy się na poziomie podstawowym. Algorytmy Zrozumienie algorytmów to nie tylko klucz do tego, by zostać lepszym programistą; to umiejętność rozwiązywania problemów, która otwiera drzwi do nieograniczonych możliwości tworzenia, innowacji i przekraczania granic tego, co możliwe. Każdy algorytm, który opanujesz, stanowi kolejny krok ku zrozumieniu języka, w jakim rozmawia z nami świat technologii. Pamiętaj, że największe odkrycia zaczynają się od zrozumienia podstaw. Wiedza i umiejętności nabyte w trakcie kursu znajdą zastosowanie w wielu aspektach Twojej pracy programistycznej – od optymalizacji istniejącego kodu, przez projektowanie efektywnych nowych rozwiązań, aż po rozwiązywanie skomplikowanych problemów algorytmicznych w projektach software’owych.

2
Kurs video

Algorytmy i struktury danych. Kurs video. Java, JavaScript, Python

Artur Kulesza

Obierz kurs na... myślenie algorytmiczne Algorytm jest pojęciem ściśle związanym z programowaniem. Jak podaje definicja, algorytm to skończony ciąg jasno zdefiniowanych czynności koniecznych do wykonania pewnego rodzaju zadań. W efekcie ich wykonania następuje rozwiązanie postawionego problemu. Brzmi informatycznie? Oczywiście - wszak algorytm może zostać zaimplementowany w postaci programu komputerowego. Może, ale nie musi. Myślenie algorytmiczne jest przede wszystkim myśleniem matematycznym, nastawionym na rozwiązanie zadania. Dopiero potem informatycznym. Czy wiesz, że jednym z pierwszych etapów rekrutacji do największych na świecie firm technologicznych, takich jak Google, Facebook, Microsoft czy Amazon, jest rozwiązywanie problemu algorytmicznego na tablicy? Bez użycia komputera... Nie dzieje się tak przypadkiem. Kto bowiem potrafi myśleć algorytmicznie i udowodnić to kredą czy mazakiem na tablicy, ten poradzi sobie z każdym zadaniem programistycznym. I ten może nazywać siebie programistą wszechstronnym. Programistą analitycznym. Bardzo pożądanym na rynku pracy. Myślenia algorytmicznego można się nauczyć. W ramach tego kursu pokażemy Ci jak. Jesteś gotów wejść z nami na wyższy poziom programowania? Co Cię czeka podczas naszego profesjonalnego szkolenia? Ten kurs video: Wprowadza w zagadnienia związane z myśleniem algorytmicznym Przedstawia, jak mogą wyglądać struktury danych Przybliża algorytmy sortowania Zapoznaje z teorią grafów Pozwala poćwiczyć programowanie dynamiczne Co więcej... Na koniec czeka Cię omówienie najczęstszych błędów popełnianych podczas rozwiązywania zadań na platformach rekrutacyjnych, a także poprawne rozwiązanie jednego z nich Algorytmy i struktury danych. Kurs video. Java, JavaScript, Python ukończysz z podstawową znajomością algorytmów i struktur danych. Będziesz samodzielnie rozwiązywać podstawowe problemy algorytmiczne, a także szacować ich złożoność obliczeniową. Algorytm najpierw, wdrożenie później Jeśli myślisz, że w programowaniu najważniejsze są znajomość języków, operowanie frameworkami i myszkowanie po bibliotekach, to... masz rację i mylisz się równocześnie. Masz rację, ponieważ bez wymienionych umiejętności trudno być programistą „praktycznym”, czyli takim, który wyczarowuje kolejne linijki działającego kodu. Mylisz się, ponieważ nawet najdłuższy ciąg znaków jest bez sensu, jeśli... jest bez sensu. Celem pisania kodu jest stworzenie działających rozwiązań konkretnych problemów. Tworzone oprogramowanie ma być użytkowe. Reagować na zasadzie „jeśli wystąpi zdarzenie A, to zareagować należy B, w przypadku gdy X, albo C, w przypadku gdy Y”. To jest zrąb algorytmu. Napisać czy narysować można go dowolnie - na kartce, na tablicy, na komputerze. Ważne, by działał. By był skuteczny. Umiejętność tworzenia takich algorytmów to poziom wyżej w programowaniu. To zdolność, która odróżnia programistę wyjątkowego od przeciętnego i która nigdy się nie zdezaktualizuje - myślenie logiczne, analityczne jest zawsze w programistycznej modzie.

3
Kurs video

Android. Techniki efektywnej pracy. Kurs video. Poziom pierwszy. Skróty klawiszowe i biblioteki

Dawid Firuzek

Obierz kurs na praktykę pisania aplikacji dla Androida Telefon najlepszym przyjacielem człowieka? Tak, odkąd do naszych kieszeni trafił smartfon! Główne narzędzie komunikacji, źródło wszelkiej wiedzy, przenośny park rozrywki. A także urządzenie, za którego pośrednictwem można korzystać z ulubionych, ułatwiających codzienne życie aplikacji, jak również tych używanych okazjonalnie, na przykład treningowych, festiwalowych, muzealnych, zakupowych — zastosowania można mnożyć; jest ich tyle, ile ludzkich potrzeb. Jednak niezależnie od przeznaczenia aplikacji, użytkownicy stawiają jej jedno podstawowe wymaganie: ma działać bezbłędnie. O to, by tak było, dba zespół programistów — specjalistów, którzy troszczą się, żeby wszystko funkcjonowało bez zarzutu. Proponowany przez nas kurs jest adresowany do programistów, którzy chcą zostać członkami takich „mobilnych” zespołów. Daje wiedzę dotyczącą tego, jak tworzyć świetne aplikacje dla systemu Android, takie, by błędy można było łatwo wykryć i szybko naprawić, a kod przetestować. Uczestnik szkolenia nauczy się z niego, jak pisać kod modułowy — zwięzły i czytelny, bardzo pomocny w pracy zespołów programistycznych. Wiedza przedstawiona w ramach tego kursu video jest czysto praktyczna, gotowa do wykorzystania w codziennej pracy. Teoria pojawia się jedynie podczas omawiania trudniejszych zagadnień, jednak zawsze jest poparta czytelnym przykładem. Co Cię czeka podczas naszego profesjonalnego szkolenia? W trakcie tego kursu: dowiesz się, jak tworzyć aplikacje działające pod systemem Android przy zastosowaniu konkretnej architektury (MVP); nauczysz się używać bibliotek ułatwiających codzienną pracę; opanujesz sposoby pisania prostego i testowalnego kodu; samodzielnie wykonasz aplikację korzystającą z zapytań sieciowych. Co więcej... poznasz reaktywne i funkcyjne podejście w programowaniu — co pomoże Ci uprościć skomplikowaną logikę pisania aplikacji mobilnych. Android. Techniki efektywnej pracy. Kurs video. Poziom pierwszy. Skróty klawiszowe i biblioteki zakończysz na poziomie średnio zaawansowanym. Szkolenie da Ci wiedzę na temat tworzenia aplikacji na system Android przy użyciu bibliotek i narzędzi, które są ogólnodostępne i pomagają w tworzeniu oprogramowania wysoce odpornego na błędy popełniane przez programistów. Do poziomu zaawansowanego dojdziesz już sam — wykonując ćwiczenia praktyczne oraz rozwijając swoje aplikacje, również za pomocą narzędzi przedstawionych w ramach kursu. Programista aplikacji na Androida poszukiwany! Sektor IT oferuje coraz bardziej wyspecjalizowane stanowiska pracy. Szczególnie w dużych firmach, w których funkcjonują wieloosobowe zespoły projektowe, od każdego z ich członków wymaga się często dogłębnej znajomości konkretnego zagadnienia; już nie po prostu umiejętności tworzenia aplikacji mobilnych, ale bardzo ściśle — aplikacji dla danego systemu operacyjnego. Specyfika pracy programisty poruszającego się w Androidzie polega na tworzeniu aplikacji działających właśnie pod tym systemem albo utrzymywaniu, rozwijaniu i udoskonalaniu aplikacji już istniejących. Wszystkie umiejętności zdobyte w trakcie proponowanego przez nas kursu można wykorzystać w codziennej pracy. Z pewnością znajomość części z omówionych zagadnień przyda się także podczas rozmów kwalifikacyjnych. By rozwinąć Twoją aplikację Zaczniemy standardowo — od konfiguracji środowiska programistycznego Android Studio. W pierwszej części szkolenia skupimy się na skrótach klawiszowych. Poznamy skróty ogólne i warianty uruchamiania aplikacji. W dalszej kolejności przejdziemy do nawigowania: między oknami narzędzi, plikami, klasami i w obrębie pliku. Wtedy przyjdzie czas na kodowanie, refaktoring i debugowanie. Wreszcie zobaczymy, jak działają inne skróty i narzędzia, między innymi VCS, Live, Code Template, Quick List, Terminal, ADB i ADB WiFi. Drugą część szkolenia poświęcimy na zapoznanie się z bibliotekami i narzędziami. Omówimy założenia projektowe i inicjalizację projektu, poznamy plik build.gradle oraz zagadnienia związane z tworzeniem szkieletu aplikacji. W kolejnych krokach zajmiemy się platformą Fabric, bibliotekami Timber, Leak Canary i Butterknife. Poznamy wzorzec Depency Injection, wykonamy pierwsze testy i zaimplementujemy bibliotekę Hawk. Po krótkim wstępie do RxJavy nauczymy się nawigować między ekranami za pomocą testowalnego kodu, animować z zastosowaniem biblioteki Lottie i obsługiwać pozwolenia z biblioteką RxPermissions. Sprawdzimy, do czego można wykorzystać bibliotekę RxBinding, stworzymy pierwsze zapytanie sieciowe, omówimy biblioteki Chuck i Stetho, a na deser bibliotekę graficzną Glide. Na koniec szkolenia skupimy się na analityce — będziemy dodawać i konfigurować narzędzie Amplitude oraz dodawać testowanie analityki. Musicie od siebie wymagać, nawet gdyby inni od was nie wymagali.

4
Kurs video

Czysty kod. Kurs video. Pisz przejrzyściej, efektywniej i SOLIDniej

Anna Książek

Obierz kurs na... tworzenie czystego kodu Jest wysoce prawdopodobne, że termin czysty kod nie jest Ci obcy. Może pamiętasz na przykład z rozmowy o pracę pytania o to, jak rozumiesz pojęcia: clean code, pokrycie kodu testami, SOLID, DRY, code smell itd. A może nawet poproszono Cię o napisanie fragmentu kodu, by zademonstrować znajomość tych pojęć w praktyce. Jeśli czujesz lub wiesz po takim spotkaniu, że zabrakło Ci w tym zakresie nieco wiedzy i umiejętności - proponowany przez nas kurs jest właśnie dla Ciebie! Dzięki niemu szybko uzupełnisz swoje umiejętności i przygotujesz się... nie tylko do rozmowy kwalifikacyjnej! Programista bowiem odpowiada za coś więcej niż tylko pisanie kodu spełniającego wymagania biznesowe. Jego kod musi być dodatkowo tworzony zgodnie z przyjętym w zespole code style, w sposób, który zagwarantuje jego efektywne utrzymanie. Code review, statyczna analiza kodu, quality gate - z tymi terminami będziesz mieć coraz częściej do czynienia w swojej pracy. Są one związane z kontrolą jakości kodu, ale przyjęte w tym celu kryteria różnią się w zależności od zespołu programistycznego (na przykład w niektórych DRY może być zabroniony, w innych preferowane będzie podejście WET). Omawiane podczas szkolenia tematy wykorzystasz więc w swojej praktyce zawodowej. Każde zagadnienie uzupełniamy ćwiczeniem. Dzięki temu możesz samodzielnie przećwiczyć nabywaną umiejętność, a następnie wykorzystywać ją w realizacji codziennych zadań. Co Cię czeka w trakcie naszego profesjonalnego szkolenia W trakcie nauki z naszym kursem: Poznasz elementy code style Nauczysz się konfigurowania code style w Intellij Wymusisz weryfikację zasad na poziomie budowania projektu poprzez dodanie checkstyle Rozeznasz się w plusach i minusach stosowania testów Dowiesz się, jak wykorzystać testy jako dokumentację kodu Będziesz identyfikować naruszenia DRY i je eliminować Przekonasz się, jakich technik używa się do eliminowania naruszenia SRP Co więcej... Podczas szkolenia poznasz znaczenie interfejsów i dependency injection Czysty kod. Kurs video. Pisz przejrzyściej, efektywniej i SOLIDniej został przygotowany dla odbiorcy znającego zagadnienie na poziomie podstawowym. By w pełni skorzystać ze szkolenia, dobrze jest znać Javę i Maven, a podczas praktykowania przyda się dodatkowo znajomość Gita. Jakość w zależności od środowiska Programista, aby mógł dostarczyć kod spełniający szereg oczekiwań, musi podnosić swoje kwalifikacje. Nie wystarczy dobra znajomość języka programowania. Oczywiście, to podstawa, ale właśnie - zaledwie punkt wyjścia. Istnieje szereg obszarów, w których trzeba się w miarę swobodnie poruszać. Będą to różnego rodzaju protokoły, frameworki i narzędzia, jakie powinien opanować programista, by dostarczać produkt oczekiwany przez klienta, a wcześniej - przez kolegów z zespołu programistycznego. Wśród dodatkowych elementów, jakie należy opanować, aby wytwarzać oczekiwane oprogramowanie, są różnego rodzaju techniki, które pozwalają budować kod dobrej jakości. Spektrum tych technik będzie szerokie, ponieważ jakość jest czynnikiem subiektywnym: to organizacja decyduje, które elementy są składowymi definiującymi oczekiwaną jakość.

5
Kurs video

Java dla średnio zaawansowanych. Kurs video. Tworzenie profesjonalnych projektów

Jakub Zagórski

Obierz kurs na... Javę dla nieco bardziej zaawansowanych Skoro interesujesz się tym szkoleniem, to pewnie znasz już podstawy języka Java. Może ukończyłeś nasz kurs dla początkujących programistów tego języka? A może zgłębiałeś jego tajniki samodzielnie? Tak czy inaczej, skoro opanowałeś bazową wiedzę dotyczącą Javy i wiesz, że chcesz w niej programować, czas sięgnąć głębiej i zaprzyjaźnić się na przykład z popularnym systemem kontroli kodu Git oraz narzędziami do budowy projektów, takimi jak Maven i Gradle. Warto poznać pełnię możliwości Javy - po to, by pracować w niej sprawniej, szybciej i efektywniej. Dobrze jest zaznajomić się z szerokim spektrum narzędzi, jakie ten język oferuje developerom. Co Cię czeka podczas naszego profesjonalnego szkolenia? Umiejętności zdobyte w trakcie kursu pozwolą Ci: szybciej i łatwiej budować projekty, efektywniej pracować samemu, sprawniej działać w zespole, tworzyć kontrybucje w innych projektach otwartoźródłowych, dekompilować kod, by dokładnie sprawdzać jego działanie, zaciemniać kod, co potencjalnie utrudnia jego „kradzież”, odciemniać kod, by później, po procesie dekompilacji, był bardziej czytelny, skracać miejsca, gdzie porównuje się ciągi znaków, dzięki użyciu wyrażeń regularnych. Co więcej... wiedza, którą przyswoisz w ramach szkolenia, przyda Ci się podczas poszukiwania nowej, ciekawej pracy. W ofertach dla programistów Javy umiejętności korzystania z Gita, Mavena oraz Gradle’a wymieniane są na samej górze listy wymagań. Java dla średnio zaawansowanych. Kurs video. Tworzenie profesjonalnych projektów kończy się na poziomie, na którym będziesz mógł powiedzieć, że jesteś już Java developerem. Odtąd będzie tak o Tobie mówić także Twój nowy pracodawca. Git, Maven, Gradle Git, mimo że można go uznać za kluczowe narzędzie podczas pracy w zespole, dzięki swoim funkcjom jest równie przydatny, gdy nad projektem pracuje tylko jedna osoba. Został stworzony przez Linusa Torvaldsa w 2005 roku jako wolne oprogramowanie, by wesprzeć rozwój jądra Linuxa. Od tamtego czasu jest rozwijany i skutecznie wspomaga prace nawet nad naprawdę dużymi projektami. Ze wsparcia Gita korzystają między innymi Reddit, Digg, Facebook, Apache. Z kolei Maven służy do automatyzowania budowy oprogramowania na platformę Java. Jego poszczególne funkcje są realizowane dzięki wtyczkom, które pobiera się automatycznie podczas pierwszego wykorzystania. Z Mavena korzystają między innymi Google i Zalando. Na koncepcie Mavena - niejako w roli jego doskonalszego następcy - powstał Gradle. To narzędzie także służy do automatyzacji budowy oprogramowania, jednak, w przeciwieństwie do Mavena, który korzysta z XML, umożliwia używanie Kotlina DSL, co będziesz mógł zauważyć w trakcie naszego kursu. Gradle został zaprojektowany do budowania wielu projektów, nawet takich, które są naprawdę duże. Obsługuje kompilacje przyrostowe, inteligentnie określając, które części drzewa kompilacji są aktualne; każde zadanie zależne tylko od tych części nie musi być ponownie wykonywane. Korzystają z niego między innymi Netflix i Adobe. Zanurz się z nami w Javie Java dla średnio zaawansowanych. Kurs video. Tworzenie profesjonalnych projektów nauczy Cię programować asynchronicznie przy użyciu klasy Thread, interfejsu Runnable oraz klasy Executors, przybliży Ci także podstawy i zastosowanie klas atomicznych. Podpowie, jak tworzyć i korzystać z algorytmów bubble sort (sortowania bąbelkowego), insertion sort (sortowania przez wstawianie) oraz selection sort (sortowania przez wybieranie). Opanujesz procesy kreowania i używania algorytmów linear search (wyszukiwania liniowego) oraz binary search (wyszukiwania binarnego). Ukończywszy szkolenie, będziesz swobodnie korzystać z wyrażeń regularnych, dekompilować kod oraz używać programu Bytecode Viewer, który oferuje wiele dekompilatorów w jednym programie. Dzięki zaznajomieniu się z programem ProGuard zaciemnisz swój kod, a za pomocą Java Deobfuscatora odciemnisz. Opanujesz oczywiście Gita: instalowanie, konfigurowanie, budowanie nowego repozytorium; będziesz tworzyć i publikować zmiany w kodzie, pobierać je, nadpisywać i cofać stan gałęzi, pracować na wielu gałęziach, ignorować pliki oraz foldery, a także korzystać z Gita w IntelliJ IDEA. Poznasz najpopularniejsze serwisy, które oferują umieszczanie projektów używających Gita, takie jak GitHub, GitLab, Bitbucket, nauczysz się w ramach nich przemieszczać. Zaprzyjaźnisz się z Mavenem - dowiesz się, jak tworzy się w nim projekty, jak zmienia się podstawowe informacje o projekcie, poznasz zasady jego budowania, system repozytoriów, system zależności oraz system wtyczek. Zapoznasz się z Gradle’em. Także w nim stworzysz projekt, zmienisz podstawowe informacje o nim, dowiesz się, jaki ma system repozytoriów, zależności i wtyczek, nauczysz się budować w nim projekt. Na koniec wszystkie zdobyte informacje wykorzystasz do stworzenia jednego, dużego projektu.

6
Kurs video

Java. Kurs video. Polimorfizm, typy generyczne i rodzaje kolekcji

Arkadiusz Wrzos

Obierz kurs na... zaawansowaną znajomość języka Java Język Java należy do najważniejszych - i najpopularniejszych - języków programowania. Dlatego też jest obiektem zainteresowania wielu początkujących programistów. Można by wręcz zaryzykować tezę, że prawie każdy junior developer ma opanowane podstawy Javy i bazując na nich, rozpoczyna karierę zawodową. Tylko co dalej? Elementarna znajomość tego języka programowania jest dobra na początek. Należy jednak pójść dalej: poznać mechanizmy i technologię, na których bazują doświadczeni programiści. Dobre opanowanie technik, z których korzystają senior developerzy Javy, pozwala uniknąć pisania kodu „na chybił trafił”, a zamiast tego umożliwia swobodną pracę, bez stresu, za to z planem. Ten kurs video jest przeznaczony zarówno dla początkujących Java developerów, którzy opanowali podstawy tego języka, jak i dla programistów znających go nieco lepiej i chcących pogłębić wiedzę, usystematyzować ją i w prosty sposób przestawić się ze „starej” Javy na rozwiązania, jakimi posługują się wersje 8 i 11. Omawiane techniki są wyjaśniane dogłębnie, od podstaw, jednak bez zbędnego teoretyzowania - tak jakby senior developer rozmawiał z junior developerem, siedząc przy wspólnym biurku w pracy. Autor kursu korzysta przy tym z najpopularniejszego IDE do Javy, IntelliJ Idea w wersji Community, więc dostępnego za darmo, oraz używa czytelnych analogii i przykładów zaczerpniętych z życia. Poza omawianymi zagadnieniami nie wprowadza zbytniego rygoru w kodzie, który jest pisany przystępnie i luźno, co pomaga skupić się na konkretnym elemencie języka czy składniku programu. Co Cię czeka podczas naszego profesjonalnego szkolenia W trakcie kursu: Zgłębisz zagadnienie polimorfizmu w Javie. Zrozumiesz, czym są typy generyczne i jak należy z nich korzystać. Zapoznasz się z tematem wyrażenia lambda i dowiesz się, kiedy i jak się go używa. Dowiesz się, jak komponować składniki klas i korzystać z delegowania zadań. Opanujesz rodzaje kolekcji oraz pracę z nimi i zrozumiesz ich przeznaczenie. Co więcej... Będziesz pracować z Javą w wersji 11, czyli najnowszą wersją LTS, która będzie miała zapewnione wsparcie techniczne przez dobrych kilka lat. Java. Kurs video. Zaawansowane elementy języka kończy się na poziomie średnio zaawansowanym. Wiedzę zdobytą podczas szkolenia warto poszerzać - współpracując w zespole programistów, pochylając się nad zagadnieniem wzorców projektowych, frameworków aplikacji i architektury czy analizując propozycje rozwiązań informatycznych. Witaj w Javie 11 Java 11 stanowi swego rodzaju kontynuację wersji 10 (która nie jest już wspierana), ale jest od niej i od wersji 8 szybsza i przyjaźniejsza, a także wolna od zbędnych modułów. Bazuje na dobrych bibliotekach standardowych, co pozwala nieco „odchudzić” zależności. Dodano jej za to kilka elementów, na które warto zwrócić uwagę. Najważniejsze w Javie 11 jest jednak co innego - to długo oczekiwania wersja języka Long Time Support. Zbiera ona (i wspiera) wszystkie dobrodziejstwa Javy 9 oraz 10, a jej twórcy gwarantują, że będzie szeroko promowana, a także stosowana dzięki oficjalnemu wsparciu Oracle. Java 11 będzie w kolejnych latach synonimem pewnego standardu w programowaniu, jako nowoczesna wersja języka o uproszczonych sposobach zapisu, dopracowanych bibliotekach wewnętrznych i zoptymalizowanych mechanizmach wykonujących kod.

7
Kurs video

JavaScript. Kurs video. Programowanie funkcyjne i reaktywne

Paweł Choniawko

Obierz kurs na całkiem inne programowanie Ostatnie lata w programowaniu upływają pod znakiem wielkiego powrotu do programowania funkcyjnego, Języki programowania takie jak Haskell, które dotąd stanowiły przede wszystkim przedmiot zainteresowania akademików, trafiają pod strzechy — uruchamiane na komputerach kolejnych developerów. Niesiona falą powracającej mody na funkcyjność, także większość najważniejszych języków programowania udostępnia obecnie obsługę podejścia funkcyjnego. Jednym z nich jest JavaScript, który przeszedł długą drogę od narzędzia służącego do prostych modyfikacji elementów DOM w przeglądarce do języka wykorzystywanego praktycznie wszędzie. JavaScript jest obecny między innymi na serwerach, urządzeniach mobilnych, a nawet w świecie internetu rzeczy. Wraz z udostępnieniem możliwości programowania funkcyjnego wokół JavaScriptu powstało wiele bibliotek i frameworków, w znacznym stopniu opartych właśnie na tego typu programowaniu. Jako przykład można podać bibliotekę React i framework React Native, służące do tworzenia aplikacji webowych w przeglądarce i aplikacji mobilnych. Innym popularnym narzędziem, również szeroko czerpiącym z programowania funkcyjnego, jest biblioteka D3.js, wykorzystywana do zaawansowanych wizualizacji danych. A skoro JavaScript proponuje wielki powrót funkcyjności w programowaniu, może warto choć częściowo porzucić na jego rzecz programowanie obiektowe? Co Cię czeka podczas naszego profesjonalnego szkolenia? W trakcie pracy z tym kursem video: Zdobędziesz zaawansowaną wiedzę na temat programowania funkcyjnego. Opanujesz podstawy technik programowania reaktywnego. Poznasz techniki umożliwiające tworzenie kodu podatnego na zmiany i łatwego w testowaniu. Przygotujesz się do pracy z frameworkami i bibliotekami, takimi jak React, React Native czy Redux. Co więcej... ...rozumiejąc różnicę między programowaniem obiektowym i funkcyjnym, będziesz w stanie zdecydować, które lepiej sprawdzi się w danej sytuacji. JavaScript. Kurs video. Programowanie funkcyjne i reaktywne jest przeznaczony dla osób znających podstawowe elementy języka JavaScript, takie jak typy danych, pętle i operacje warunkowe. Funkcyjnie, czyli jak? Historycznie programowanie funkcyjne jest podejściem starszym od obiektowego, jednak do niedawna pozostawało jedynie w obszarze zainteresowań koderskich hipsterów. Aktualnie znowu zyskuje popularność, ponieważ sporo oferuje. Bazuje na kilku fundamentach. Po pierwsze, pozwala na kompozycję funkcji, czyli na łączenie dwóch lub większej ich liczby w celu uzyskania całkiem nowej funkcji. Po drugie, w programowaniu funkcyjnym unika się współdzielenia stanu, czyli ogranicza się wykorzystanie zmiennych z zakresów zewnętrznych, w zamian opiera się działanie na danych wejściowych. Wreszcie w tym typie programowania wszystkie zmienne traktowane są jako stałe — unika się dzięki temu mutowania. Brzmi groźnie, jednak funkcje przeznaczone do kompozycji są proste i można je wielokrotnie wykorzystywać, unikanie współdzielenia stanu chroni przed błędami, a unikanie mutowania danych powoduje, że mamy pewność co do wartości wszystkich zmiennych. Funkcyjnie i reaktywnie Nasze szkolenie w kompleksowy sposób przygotuje Cię do pracy z bibliotekami i frameworkami JavaScriptu, które zostały przygotowane z myślą o programowaniu funkcyjnym. Zaczniemy od ECMAScriptu — poznasz nowości, które występują w jego szóstej odsłonie. Następnie przećwiczymy operowanie na danych, wykorzystując do tego celu metody tablicowe, takie jak map, filter czy reduce. Dowiesz się, jak za pomocą operacji compose i pipe curry łączyć czyste funkcje w bardziej złożone konstrukcje. Opanujesz metodę implementacji funktorów i monad w JavaScripcie. Uzbrojony w nowe umiejętności dotyczące programowania funkcyjnego, poznasz podstawowe techniki i narzędzia programowania reaktywnego. Na deser zastosujesz ten rodzaj programowania do stworzenia projektu bazującego na wiedzy, którą zdobyłeś w trakcie kursu.

8
Kurs video

Metoda dziel i zwyciężaj. Kurs video. Od rekurencji po realne problemy obliczeniowe

Paweł Bogdan

Obierz kurs na... algorytmy rekurencyjne! W życiu codziennym każdego człowieka, w laboratorium naukowym czy na polu bitwy - wszędzie czekają na rozwiązanie jakieś problemy. Z tymi mniejszymi radzimy sobie często od ręki, ale większe potrafią się stać prawdziwym ciężarem. A może niepotrzebnie patrzymy na to z takiej perspektywy? Może wszystkie problemy (a przynajmniej większość) są w rzeczywistości niewielkie, a to my sami, nieświadomie łącząc je ze sobą, stawiamy sobie zadania przytłaczające nas ogromem? Metoda dziel i zwyciężaj pomaga nam właśnie w tym, by każde takie wyzwanie podzielić na kilka mniejszych, a jeżeli to nie wystarczy - na jeszcze mniejsze. I znowu. I tu pojawia się... Wiedza dana nielicznym ...rekurencja! Każdy szanujący się programista wie, co to jest, a kurs Metoda dziel i zwyciężaj. Kurs video. Od rekurencji po realne problemy obliczeniowe pokaże i nauczy Cię, jak ją stosować do tworzenia algorytmów (właśnie według metody dziel i zwyciężaj), a także do ich implementacji w języku Java. Nikogo nie trzeba przekonywać, że Java to jeden z najważniejszych i, obok Pythona i C, najpopularniejszych języków programowania. W internecie bardzo łatwo znajdziemy kursy, tutoriale czy bootcampy, które obiecują, że po ich ukończeniu będziemy potrafili programować w tym języku. Większość z nich jednak skupia się na zaprezentowaniu składni języka czy użyciu gotowych bibliotek lub frameworków, a przy tym pobieżnie (lub wcale) odnosi się do tworzenia i zastosowania algorytmów, w tym rekurencyjnych. Jednak na rozmowach kwalifikacyjnych można usłyszeć takie pytania, bo przyszły pracodawca chce mieć pewność, że zatrudnia osobę przygotowaną do poradzenia sobie również z mniej prostymi wyzwaniami. Bez dobrego zrozumienia tych zagadnień łatwo popełnić błędy, które mogą utrudnić zdobycie wymarzonej pracy. Czego się nauczysz w trakcie kursu Metoda dziel i zwyciężaj. Kurs video. Od rekurencji po realne problemy obliczeniowe? Zapoznasz się z rekurencją i algorytmami rekurencyjnymi i nauczysz się je implementować Nauczysz się rozróżniać metody TOP-DOWN (od ogółu do szczegółu) i BOTTOM-UP (od szczegółu do ogółu) Dowiesz się, czym są fraktale i jak tworzyć rysujące je programy Poznasz rekurencyjne struktury danych i opanujesz umiejętność implementowania operujących na nich programów Zrozumiesz rekurencyjny wzorzec projektowy i nauczysz się z niego korzystać Ugruntujesz znajomość metody dziel i zwyciężaj Opanujesz algorytmy: wyszukiwania połówkowego, sortowania przez scalanie i sortowania szybkiego, a także zasady ich implementowania Zrozumiesz całkowanie numeryczne metodą trapezów i nauczysz się ją implementować Łatwiej zrozumieć rekurencję, jeśli już się ją rozumie W codziennej pracy programisty konieczne jest wyrobienie określonych dobrych nawyków, które pozwolą na efektywne tworzenie działającego i łatwego w utrzymaniu kodu. Podejście dziel i zwyciężaj da Ci pewną ścieżkę postępowania, wzmacniającą Twoją kreatywność i zapewniającą znalezienie optymalnego rozwiązania stojącego przed Tobą problemu. Algorytmy rekurencyjne to narzędzia, które warto mieć w swoim repertuarze. Zapoznawszy się z tym podejściem w kontekście nauki programowania, możesz dość nieoczekiwanie przyłapać się na stosowaniu go także w odniesieniu do innych aspektów swojego życia. Warto poznane podczas tego kursu zasady powtarzać tak długo, aż staną się częścią Ciebie samego — znakomita większość wyzwań i problemów, przed jakimi kiedykolwiek staniesz, da się podzielić na mniejsze, a te na całkiem malutkie zdania, które nie będą już dla Ciebie żadnymi wyzwaniami. Junior czy senior — bez rekurencji ani rusz Czy dopiero wchodzisz na rynek pracy, rozglądając się za możliwością nabycia doświadczenia w zawodzie jako junior, czy też jesteś starym wyjadaczem — rekurencja może Cię zaskoczyć. Jej znajomość umożliwi szybsze tworzenie bezbłędnych rozwiązań programistycznych, ale także zwiększy szanse na zdobycie ciekawszych i lepiej płatnych zleceń. Nawet jeżeli zdarzyło Ci się mieć z nią kiedyś do czynienia, to warto się upewnić, że naprawdę ją rozumiesz i potrafisz zastosować.