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

Debugowanie i refaktoryzacja kodu. Kurs video. Clean code w C# i Visual Studio

Tomasz Znowiec

Obierz kurs na debugowanie i refaktoryzację kodu Utrzymanie czystego kodu ułatwia pracę programistom i przyczynia się do szybszego reagowania na potrzeby odbiorców i wdrażania nowych funkcji. Większa efektywność zespołów programistycznych jest nieoceniona dla funkcjonowania firm. Pozwala zminimalizować ryzyko poważnych awarii i pozytywnie wpływa na wizerunek marki. Jednak utrzymanie czystego kodu jest wyzwaniem, zwłaszcza jeśli projekt stale ewoluuje i zmieniają się wymagania biznesowe. Dodatkowo pod presją czasu priorytetem staje się szybkie napisanie i dostarczenie kodu, nawet kosztem jego jakości. Jak sobie poradzić z tymi przeciwnościami? Z pomocą przychodzą procesy debugowania i refaktoryzacji kodu. Dokładna analiza działania aplikacji pozwala na rozpoznanie i naprawę błędów w programie, czyli osiągnięcie celu debugowania. Refaktoryzacja natomiast poprawia strukturę kodu przez takie praktyki jak eliminacja duplikatów, stosowanie spójności nazw zmiennych, podział funkcji na mniejsze moduły i usunięcie nieużywanego kodu. Zważywszy na wysoki poziom abstrakcji programów komputerowych, umiejętność utrzymania kodu w ładzie przychodzi wraz z doświadczeniem, ale istnieje sposób, by wyrobić ją szybciej! Z naszym szkoleniem już w ciągu 5 godzin poznasz debugowanie i refaktoryzację w duecie. Odkryj tajniki doświadczonych programistów i sprawdź, jak wdrożenie dobrych praktyk zmień Twój kod w profesjonalny i niezawodny produkt! Co Cię czeka podczas naszego profesjonalnego szkolenia Podczas kursu nauczysz się: Obsługi i konfigurowania debugera Zaawansowanej konfiguracji projektów .NET w aspekcie debugowania i kompilacji Tworzenia zmiennych środowiskowych i konfigurowania serwera IIS z poziomu konfiguracji projektu Pracy z punktami przerwań (breakpoints) i tworzenia warunkowych punktów przerwań, w tym zależnych od innych punktów przerwań Tworzenia warunkowych punktów śledzenia (tracepoints) i komunikatów okna Output Tworzenia warunkowych punktów przerwań z licznikiem trafień (HitCount) Analizowania i inspekcji zmiennych, a także ich śledzenia Używania zaawansowanych funkcji okien Autos, Locals i Watch Wywoływania metod i funkcji przy użyciu okna Immediate Analizowania stosu wywołań (CallStack)  Przeglądania wygenerowanego kodu CLI Wykrywania konfliktów związanych z nieprawidłowym ładowaniem bibliotek aplikacji Monitorowania zużycia pamięci w aplikacji Zasad działania Garbage Collector Analizowania zużycia czasu procesora przez aplikację Identyfikowania obszarów kodu wymagających optymalizacji i wykrywania źródeł zapętleń programu Analizowania błędów kompilacji przy użyciu okna Output Zasad pracy z dyrektywami preprocesora Konfigurowania debugera w aspekcie przechwytywania wyjątków i ich filtrowania (okno Exception Settings) Konfigurowania środowiska do debugowania aplikacji uruchomionej na innym komputerze Kontrolowania pracy debugera z poziomu kodu (zatrzymywania, wymuszania podłączania debugera, sprawdzania, czy jest podłączony) Tworzenia dzienników zdarzeń systemu Windows i logowania treści do dziennika zdarzeń z poziomu kodu Logowania działania i przebiegu pracy aplikacji za pomocą listenerów klasy Trace, a także tworzenia własnych listenerów Monitorowania zużycia zasobów komputera z kodu C# Korzystania z automatycznej refaktoryzacji kodu dostępnej w Visual Studio Pisania kodu w zgodzie z koncepcjami projektowymi DRY, KISS, YAGNI i zasadami SOLID Stosowania dodatkowych analizatorów składni, takich jak StyleCop Wydajnego pisania kodu przy użyciu narzędzi CodeMaid i CodeRush Szkolenie Debugowanie i refaktoryzacja kodu. Kurs video. Clean code w C# i Visual Studio zakończy się na poziomie średnio zaawansowanym. Zdobędziesz dogłębną wiedzę i praktyczne umiejętności związane z debugowaniem i refaktoryzacją kodu w języku C# przy użyciu środowiska Visual Studio z IntelliCode. Rozpoczniesz od podstawowych technik debugowania, takich jak kroczkowanie przez kod, by przejść do zaawansowanych strategii refaktoryzacji kodu. Dowiesz się, jak ustawić breakpoints, conditional breakpoints i tracepoints, aby przeanalizować stan aplikacji. Nauczysz się używać funkcji okien Autos, Locals i Watch niezbędnych do inspekcji wartości zmiennych w różnych zakresach. Poznasz funkcje okna Immediate ułatwiające diagnozowanie problemów. Wraz z postępem zdobędziesz jeszcze bardziej zaawansowane umiejętności, takie jak analiza stosu wywołań funkcji (CallStack), debugowanie błędów kompilacji, a także korzystanie z narzędzi do analizy pamięci i wydajności. Poznasz techniki filtrowania wyjątków zarówno w debugerze, jak i przez kod C#, a ponaadto przećwiczysz szczegółową analizę obiektów typu Exception, kluczową dla rozwiązywania błędów w aplikacji. Dowiesz się, jak monitorować zużycie zasobów komputera i tworzyć dzienniki zdarzeń, aby na bieżąco śledzić pracę programu. Następnie zapoznasz się z podstawami refaktoryzacji i zasadami SOLID. Dzięki zaimplementowaniu zasad DRY, KISS i YAGNI nauczysz się pisać zrozumiały kod, pozbawiony nadmiarowych i zbędnych mechanizmów. Poznasz cenione przez programistów narzędzia CodeMaid i CodeRush, które wspomagają automatyczne formatowanie i uzupełnianie kodu, a tym samym przyczyniają się do jeszcze lepszego zorganizowania projektu. Zrozumiesz, jak umiejętnie rozdzielić funkcjonalności przy segregowaniu i konstruowaniu interfejsów w C#. Korzystając ze znajomości interfejsów, przyswoisz zasadę odwrócenia zależności (DIP). Ponadto dowiesz się, jak zarządzać błędami i śledzić zmiany w kodzie, co w dłuższej perspektywie pozwoli Ci utrzymać jakość kodu i zmniejszyć jego podatność na błędy. Nauczysz się monitorować i rejestrować błędy aplikacji, uruchomionej w środowisku produkcyjnym, jak również badać jej wydajność i efektywność.

6
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.

7
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.

8
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.