Techniki programowania

Odkryj, jak nowoczesne techniki programowania potrafią uprościć złożone projekty i sprawić, że kod staje się czytelniejszy, szybszy i łatwiejszy w utrzymaniu. Dzięki tym kursom poznasz praktyczne wzorce, dobre praktyki i sprawdzone metody projektowania rozwiązań, które wykorzystasz od razu w codziennej pracy. Zobacz, jak myśleć o kodzie na wyższym poziomie abstrakcji, świadomie wybierać narzędzia i tworzyć oprogramowanie odporne na zmiany. Przejrzyj dostępne materiały i znajdź podejście, które najlepiej dopasuje się do Twojego stylu programowania.

9
Ładowanie...
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.

10
Ładowanie...
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.

11
Ładowanie...
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ć.

12
Ładowanie...
KURS VIDEO

Podstawy programowania. Kurs video. Bazy danych

Piotr Wrotny

Dziś w każdej firmie korzysta się z aplikacji opartych na bazach danych. To właśnie dzięki nim przedsiębiorstwa mogą w bezpieczny sposób przechowywać wiedzę o klientach i transakcjach. Dane te pozwalają na sprawną bieżącą pracę organizacji, a ich analiza umożliwia prognozowanie. Z tego powodu umiejętność wdrażania baz danych i wiedza o ich eksploatacji są bardzo pożądane na rynku pracy. Co Cię czeka podczas szkolenia? W trakcie szkolenia Podstawy programowania. Kurs video. Bazy danych nauczysz się obsługi narzędzi Oracle SQL Developer i Oracle SQL Developer Data Modeler. Po jego ukończeniu jasne będą dla Ciebie pojęcia relacyjnych baz danych oraz normalizacji baz danych. Szkoląc się w temacie, stworzysz przykładowy model bazy danych, poznasz podstawy języków SQL i PL/SQL i opierając się na nich, zaimplementujesz model bazy danych. Co więcej, po odbyciu kursu będziesz w stanie rozpocząć pracę nad optymalizacją Twojej bazy danych. W ramach szkolenia poznasz temat na poziomie podstawowym. Jednak będą to podstawy bardzo solidne, obejmujące cały proces projektowania, implementowania i eksploatowania modelu bazy danych. Opanowawszy najbardziej gruntowną wiedzę, będziesz mógł przystąpić do samodzielnego zgłębiania zagadnienia.  Zatem do dzieła!  

13
Ładowanie...
KURS VIDEO

Podstawy programowania. Kurs video. Projektowanie i modelowanie obiektowe

Iwona Kubowicz

Obierz kurs na... projektowanie obiektowe Rozpocznij kurs na temat programowania zorientowanego obiektowo. Znajdziesz tu najważniejsze informacje na temat programowania obiektowego, podstawy analizy i projektowania aplikacji, a także garść zasad tworzenia dobrego kodu. Przejdziesz przez terminy niezbędne, by sprawnie poruszać się w świecie programowania zorientowanego obiektowo. Będziesz implementować poszczególne zagadnienia w języku C# oraz tworzyć diagramy UML za pomocą środowiska Visual Studio 2015. Znajdziesz tu wszystko, co trzeba, aby przygotować się do pracy z istniejącymi aplikacjami zorientowanymi obiektowo. Będziesz wiedzieć, od czego zacząć tworzenie własnej aplikacji, by była elastyczna, rozszerzalna, a także byś, wróciwszy do niej za jakiś czas, był w stanie ją zrozumieć. Filozofia programowania obiektowego zmieniła cały świat IT. Jej opanowanie jest niezbędnym elementem wiedzy każdego informatyka, który chce wykorzystywać w pracy nowoczesne metody i technologie. Programowanie zorientowane obiektowo to coś więcej niż tylko implementacja klas i obiektów — to używanie odpowiednich zasad i wzorców. Nie wszyscy programiści są świadomi możliwości, jakie daje programowanie obiektowe. Jednak Ty wraz z interaktywną instrukcją Podstawy programowania. Kurs video. Projektowanie i modelowanie obiektowe poznasz jego najciekawsze tajniki. Co Cię czeka podczas naszego profesjonalnego szkolenia? Poznasz metodykę programowania obiektowego. Nauczysz się dobrych zasad programowania. Dokonasz analizy obiektowej. Zaczniesz bez trudu rozróżniać obiekty i dzielić je na klasy o określonych cechach. Rozgryziesz wzorce projektowe. Będziesz pisać w języku UML. A wszystko po to, by... ...docenić zalety wielokrotnego wykorzystywania kodu. Zapomnij o programowaniu strukturalnym, które rozumiały tylko maszyny! Czas na ultraciekawe, odzwierciedlające rzeczywistość, rewolucyjne programowanie obiektowe. To właśnie ono jest wykorzystywane w niemal wszystkich bardziej zaawansowanych aplikacjach. Ułatwia pisanie kodu, odświeżanie go oraz wielokrotne używanie fragmentów programu. W programowaniu obiektowym Twoja aplikacja będzie stanowić zbiór obiektów, podzielonych na klasy (analogicznie na przykład do gatunków i rodzajów w naukach biologicznych), powiązanych ze sobą i wzajemnie na siebie oddziaływających. Jeśli dążysz do tego, aby język programowania był jak najbardziej naturalny i intuicyjny, wybór szkolenia Podstawy programowania. Kurs video. Projektowanie i modelowanie obiektowe będzie dla Ciebie idealnym rozwiązaniem. Obiekt latający, zdefiniowany i zaprojektowany Większość współcześnie używanych języków programowania jest obiektowych, zatem programowanie obiektowe to już informatyczna codzienność. Niewątpliwe zalety OOP (object-oriented programming) to: dostosowanie kodu programu do ludzkiej percepcji, elastyczność i łatwość rozbudowy aplikacji o nowe funkcje oraz możliwość powtórnego wykorzystania kodu. Założenia analizy i programowania obiektowego są proste, jednak bez ich właściwego zrozumienia nie skorzystasz w pełni z ich możliwości. Wraz ze szkoleniem Podstawy programowania. Kurs video. Projektowanie i modelowanie obiektowe szybko poznasz podstawy programowania zorientowanego obiektowo, stworzysz najpotrzebniejsze w pracy programisty diagramy UML, napiszesz własny kod tak, by był czytelny, oraz zaprojektujesz rozszerzalną i łatwą w utrzymaniu aplikację. Ciągłe podnoszenie kwalifikacji W zawód programisty wpisany jest niekończący się rozwój. To fascynujące zajęcie, do tego dobrze płatne. Jeśli chcesz rozszerzyć swoje horyzonty, uzyskać dostęp do najpopularniejszych technologii oraz ułatwić sobie pisanie kodu, sięgnij po siedemdziesiąt lekcji składających się na Podstawy programowania. Kurs video. Projektowanie i modelowanie obiektowe. Nasz ekspert jasno i żywo tłumaczy specyfikę analizy, wzorców i zasad projektowania klas. Dowiesz się, czym jest abstrakcja, która pozwala na modelowanie obiektów świata rzeczywistego poprzez tworzenie obiektów z ograniczonymi właściwościami. Będziesz stosować enkapsulację i tym samym ukryjesz kod przed niepożądanym dostępem. Wykorzystasz dziedziczenie oraz polimorfizm, a co najważniejsze — będziesz gotów tworzyć w pełni zorientowane obiektowo oprogramowanie. Podczas pracy z kursem stworzysz aplikacje za pomocą środowiska Visual Studio 2015 firmy Microsoft, w języku programowania C#, oraz zbudujesz diagramy klas w języku UML. Poznaj naszego eksperta Iwona Lalik — programistka z kilkunastoletnim doświadczeniem. Karierę zawodową zaczęła w firmie Onet.pl jako twórczyni aplikacji internetowych z użyciem platformy open source LAMP. Obecnie specjalistka od języka C#, tworząca w technologii .NET aplikacje okienkowe, internetowe oraz mobilne (Windows Phone). W Warszawie pracowała w jednej z największych na świecie agencji interaktywnych, w Krakowie — dla kilku polskich i zagranicznych firm. Przywiązuje dużą wagę do jakości tworzonego oprogramowania i wykorzystania najnowszych technologii. Cierpliwość do mierzenia się z przestarzałym kodem ćwiczy, szydełkując i robiąc na drutach. Wspiera ratowanie osieroconych nietoperzy i kupuje znacznie więcej książek, niż jest w stanie przeczytać. Fanka rocka gotyckiego i autorka bloga www.programistka.net.

14
Ładowanie...
KURS VIDEO

Programowanie asynchroniczne i równoległe w C#. Kurs video. Poziom podstawowy

Jarosław Porwoł

Obierz kurs na programowanie skalowalne Słowem kluczem w dzisiejszym świecie jest czas. A właściwie nieustanny niedoczas — dlatego oczekujemy, że wszystko, a z pewnością komputery, telefony i inne urządzenia elektroniczne, będzie pracować szybciej, sprawniej i wydajniej. Stąd standardem stały się procesory posiadające wiele rdzeni — co oczywiście pozytywnie wpływa na ich wydajność, gdy pracuje się na kilku programach równocześnie. Niestety, prędkość działania pojedynczego rdzenia nie rośnie tak szybko, jakbyśmy sobie tego życzyli, więc poszczególne aplikacje, dostępne za pośrednictwem urządzenia i operujące na pojedynczym rdzeniu, wcale nie pracują sprawniej. Podobnie rzecz ma się z oprogramowaniem dostępnym online — o ile staje się modne, szybko pada ofiarą własnej popularności i zawiesza się, kiedy wielu użytkowników chce z niego równocześnie skorzystać. Jak można temu zaradzić? Pisząc lepszy, bardziej skalowalny kod. Od dłuższego czasu jest to możliwe w aplikacjach tworzonych w środowisku .NET. Od niedawna Microsoft udostępnia wiele udogodnień, które sprawiają, że pisanie takiego kodu jest dziś prostsze, przyjemniejsze i łatwiejsze do zrozumienia. Tworzenie kodu asynchronicznego, znajomość sposobów synchronizacji między wątkami, umiejętność optymalizacji obliczeń przez wykorzystanie obliczeń równoległych — to umiejętności wymagane w codziennej pracy, właściwie niezależnie od dziedziny biznesu, w której operuje programista. Co Cię czeka podczas naszego profesjonalnego szkolenia? W trakcie niniejszego kursu video: nauczysz się programowania asynchronicznego; przyjrzysz się mechanizmom pozwalającym dokonywać równoległych obliczeń na wielu wątkach; dowiesz się, jak synchronizować dostęp do zasobów. Co więcej... poznasz sposoby na korzystanie z wbudowanych i zoptymalizowanych kolekcji wielowątkowych. Uczestnik szkolenia Programowanie asynchroniczne i równoległe w C#. Kurs video. Poziom podstawowy zdobędzie wiedzę i umiejętności na poziomie podstawowym. Oznacza to, że będzie w stanie pisać proste rozwiązania asynchroniczne i wielowątkowe i opanuje teorię dotyczącą problemów, które z dużym prawdopodobieństwem napotka na swojej drodze, a tym samym znajdzie inspiracje do tego, jak można je rozwiązywać. By usprawnić działanie aplikacji... Ambicją niemal każdego programisty jest to, by napisana przez niego aplikacja stała się popularna — by była użyteczna, rozwiązywała prawdziwe problemy i by użytkownicy chcieli z niej korzystać. Niestety, im popularniejsze staje się dane oprogramowanie, tym częściej się zawiesza... Kto jest winien? Oczywiście — programista, który nie potrafił napisać odpowiednio sprawnego kodu! Dlatego podczas pracy nad kolejnym projektem warto zawczasu pomyśleć o kodzie skalowalnym, czyli takim, w którym poszczególne operacje będą mogły być wykonywane równolegle. Rzecz jasna nigdy nie będzie to dotyczyło aplikacji jako całości — programista musi wiedzieć, które obliczenia na sobie bazują, a które są od siebie niezależne. Trzeba precyzyjnie określić, które części programu mogą korzystać z tych samych zasobów, inaczej będą się one wzajemnie blokować i aplikacja się zawiesi. Dziś prawie każdy programista .NET (i nie tylko!) spotyka się na co dzień z zagadnieniami asynchroniczności i równoległości obliczeń. Wiedza ta powoli staje się obowiązkowa na rynku pracy; podczas rozmów kwalifikacyjnych często pojawiają się pytania o tematy poruszane w tym kursie — zainwestowany w niego czas z pewnością nie będzie stracony! Sześć rozdziałów, czterdzieści pięć lekcji Trwających w sumie niemal sześć godzin — tak proponowany przez nas kurs wygląda od strony organizacyjnej. Jeśli chodzi o poruszane w nim zagadnienia, zaczniemy od teorii dotyczącej zagadnienia SynchronizationContext — dowiemy się, co to jest. Następnie przejdziemy do zajęć praktycznych, czyli tego, jak uruchamiać obliczenia w nowym wątku, jak korzystać z tasków (Task Parallel Library) oraz puli wątków. W dalszej kolejności będziemy synchronizować dostęp do interfejsu użytkownika (WinForms, WPF), zapoznamy się z pętlą zdarzeń i uruchomimy kod asynchroniczny (Async/await). Dowiemy się, jak pracować ze starszymi modelami asynchronicznymi (BeginExecute/End/Execute). Będziemy asynchronicznie pracować z bazą danych (Entity Framework, ADO.NET) i synchronizować kolejność wykonywanych działań. Poznamy sposoby na długo trwające zadania. Nauczymy się, co to jest deadlock, będziemy pisać kod obliczający zadania równoległe, synchronizować zasoby między wątkami i procesami, przyspieszymy też synchronizację aplikacji wielowątkowych. Na koniec dowiemy się, jakie kolekcje wbudowane można wykorzystać do prostszej pracy z kodem równoległym.

15
Ładowanie...
KURS VIDEO

Python. Kurs video. Kreacyjne i strukturalne wzorce projektowe

Karol Kurek

Obierz kurs na... wzorce projektowe! Wśród wielu narzędzi ułatwiających i przyspieszających pracę programisty wzorce projektowe są jednym z najgenialniejszych rozwiązań. Wie o tym każdy, kto choć raz spróbował się nimi posłużyć przy tworzeniu aplikacji, serwisu WWW lub dowolnego programu. Można dzięki nim ominąć rozsypujące się puzzle poleceń i zapomnieć o kodzie tworzonym od podstaw. Dostajemy do ręki gotowe szablony — tylko od nas zależy, który z nich wybierzemy do pracy i jak wypełnimy go treścią. Właśnie dlatego wzorce projektowe cieszą się ogromnym zainteresowaniem programistów. Jeśli chcesz programować szybko i bezbłędnie, nie możesz się bez nich obyć! Python. Kurs video. Kreacyjne i strukturalne wzorce projektowe ma na celu zapoznanie Cię ze wzorcami projektowymi dla Pythona, choć w gruncie rzeczy te modele są uniwersalne i bardzo podobnie wyglądają w różnych językach programowania. Aby zrozumieć, jak działają poszczególne schematy i jakie konsekwencje wiążą się z ich stosowaniem, powinieneś dość dobrze znać Pythona (na poziomie średnio zaawansowanym), ale wcale nie musisz być mistrzem. Na mistrzowski poziom wyniesie Cię właśnie umiejętność używania wzorców projektowych. A zatem ruszaj na podbój Pythona! Czego nauczysz się podczas naszego profesjonalnego szkolenia? W ramach tego kursu video dowiesz się: jak analizować założenia powstającego programu i szybko wychwytywać popularne problemy, jak dopasowywać wzorce projektowe do konkretnych przypadków, gdzie można zastosować wzorce projektowe, jak pisać kod w sposób bardziej przejrzysty i zorganizowany oraz tak, by był zrozumiały dla innych programistów i łatwy do modyfikowania w przyszłości, jak analizować przypadki użycia wzorców projektowych, jakie są konsekwencje stosowania każdego ze wzorców projektowych. Sprawdź, jak sensownie i twórczo możesz wykorzystać wzorce projektowe w swojej pracy. Zobacz, ile czasu uda Ci się zaoszczędzić i jak sprytnie obejdziesz typowe problemy programistyczne. Dzięki szkoleniu Python. Kurs video. Kreacyjne i strukturalne wzorce projektowe odkryjesz, w jakich miejscach warto zaimplementować wzorce, jak dostosować je do Twoich specyficznych wymagań i jakich efektów spodziewać się po każdym z nich. Znajdziesz tu omówienie wzorców kreacyjnych oraz strukturalnych. Poznasz najczęstsze kłopoty i zainspirujesz się eleganckimi, wydajnymi rozwiązaniami. Jeśli jesteś programistą Pythona, Twoje umiejętności i wydajność pracy znacznie zyskają po opanowaniu stosowania wzorców projektowych. Wzorzec tu, wzorzec tam, wszystkie wzorce dobrze znam! Programiści stosujący w swojej pracy wzorce projektowe nie bez powodu są poszukiwani i znakomicie wynagradzani. Przede wszystkim pracują znacznie szybciej od tego, kto każdy problem upiera się rozwiązywać od podstaw i samodzielnie. Poza tym ich projekty są pozbawione mnóstwa drobnych błędów, które mogą spowodować niespodziewane zachowanie aplikacji. Tacy projektanci mają także znacznie lepiej rozwiniętą wyobraźnię projektową, a ich praca zawiera więcej elementów twórczych. Korzystanie z gotowych schematów, tak oczywiste w rozwiązaniach inżynieryjnych czy architektonicznych, pozwala skupić się na tym, co faktycznie tworzy wartość dodaną każdego unikalnego projektu. Zadziwiające, jak wielu ludzi nie pamięta o tej prostej prawdzie. Wyzwania stojące przed programistą, który zna język Python i chce zacząć w nim stosować sprawdzone wzorce, będą znacznie łatwiejsze ze szkoleniem Python. Kurs video. Kreacyjne i strukturalne wzorce projektowe. Od Sigletona do Kompozytu Kolejne wzorce projektowe będą odsłaniać przed Tobą swoje tajemnice, a Ty musisz zadbać jedynie o to, by zastosować je we właściwych miejscach projektu. To niezwykle ważne zagadnienie, ponieważ wzorce nie zastępują programu, a żaden z nich nie jest uniwersalną receptą na wszystkie programistyczne bolączki. Kreacyjne wzorce projektowe pozwalają na porządne zaprojektowanie procesu tworzenia obiektów, natomiast strukturalne wzorce projektowe będą się przydawać nieustannie do zapewniania komunikacji między klasami lub obiektami tych klas. Z kolei czynnościowe wzorce projektowe będą pozwalały na dokonywanie wszelkich działań w uporządkowany sposób. Dlatego właśnie wybór konkretnego wzorca jest niezmiernie ważny w całym procesie projektowania. Autor szkolenia Python. Kurs video. Kreacyjne i strukturalne wzorce projektowe położył na to szczególny nacisk. Poszukaj w tym szkoleniu wzorców odpowiednich do Twoich potrzeb i zastosuj je w najbliższym projekcie, a szybko odkryjesz, że nie możesz się bez nich obejść! Tylko dla wtajemniczonych Python. Kurs video. Kreacyjne i strukturalne wzorce projektowe pozwoli Ci odkryć tajemnice najlepszych programistów Pythona. Dowiesz się, do czego służą wzorce Singleton, Fabryka i Budowniczy. Zapoznasz się z Adapterem, Dekoratorem, Mostem, Fasadą i Pyłkiem. Nauczysz się wykorzystywać wzorzec Proxy (Pełnomocnik) i wzorzec Kompozyt. Zobaczysz, jakie metody i założenia kryją się za każdym z nich, prześledzisz najważniejsze struktury i funkcje, nauczysz się sprawnie zarządzać kodem i pisać go tak, by inni nie mieli problemu ani z jego zmianą, ani z uaktualnieniem Twojej aplikacji. „Nie jestem tak dobrym programistą, jak inni myślą. Jestem dość średnim programistą, ale znam wzorce projektowe” — tak będziesz mógł powiedzieć o sobie po ukończeniu kursu.

16
Ładowanie...
KURS VIDEO

Python. Kurs video. Programowanie asynchroniczne

Karol Kurek

Obierz kurs na... programowanie współbieżne w Pythonie! Programowanie współbieżne (inaczej wielowątkowe lub asynchroniczne) umożliwia programowi wykonywanie różnych operacji równolegle w tym samym czasie. Co to oznacza w praktyce? Przede wszystkim racjonalne wykorzystanie zasobów komputera, które się nie marnują podczas oczekiwania na przykład na reakcję człowieka. Program w trakcie czekania na odpowiedź może wykonywać w tle kilkadziesiąt innych czynności i dzięki temu nie blokować zasobów. Pozwala to zwiększyć wydajność operacji niezależnie od ograniczeń wynikających z parametrów procesora. Przy zastosowaniu współbieżności można przyspieszyć niemal każdy program, a dzięki naszemu kursowi dowiesz się, jak przekształcić stosowany przez siebie algorytm, aby w pełni wykorzystywał wielość wątków i rdzeni procesora. Co Cię czeka podczas naszego profesjonalnego szkolenia? Kurs video Python. Kurs video. Programowanie asynchroniczne składa się z 29 lekcji trwających łącznie ponad 4,5 godziny. Podczas szkolenia: Nauczysz się wykorzystywać biblioteki multiprocessing/concurrent/asyncio. Dowiesz się, jak operować na wątkach i procesach w Pythonie. Zrozumiesz, czemu nie zawsze więcej wątków i procesów przyspiesza działanie programu. Poznasz i zgłębisz pojęcie głównej pętli zdarzeń. Stworzysz własną pętlę zdarzeń. Nauczysz się tworzyć pulę wątków i pulę procesów. Poznasz GIL (Global Interpreter Lock), bazowy mechanizm rządzący wątkami w Pythonie, i zrozumiesz jego działanie. Nauczysz się rozwiązywać realne problemy przy użyciu procesorów i wątków. Poznasz funkcje repeat i partial, a także nauczysz się je stosować, korzystając z bibliotek itertools i functools. Dowiesz się, jak kiedyś korzystano z wielowątkowości, a jak robi się to obecnie. Nauczysz się używać słów kluczowych: await i async. Zrozumiesz, czym są asynchroniczne menedżery kontekstu, i dowiesz się, jak je tworzyć. Dowiesz się, jak tworzyć asynchroniczne taski i jak je grupować. A po zakończeniu szkolenia... Będziesz stosować programowanie asynchroniczne w Pythonie na poziomie średnio zaawansowanym. Korzystając z równoległości, będziesz w stanie przyspieszyć większość programów, przekształcając algorytm tak, aby wykorzystywał wielość wątków i rdzeni procesora. Wiedzę zdobytą podczas kursu zastosujesz także w pracy z wątkami i procesami w innych niż Python językach programowania, jako że asynchroniczność w wielu z nich wygląda dosyć podobnie. Nauczysz się przekształcać tradycyjny kod, który działa „linijka po linijce”, w kod asynchroniczny potrafiący wykonywać wiele działań równolegle. Dla kogo ten kurs? Python. Kurs video. Programowanie asynchroniczne jest szkoleniem przeznaczonym dla osób programujących w Pythonie. Słuchacz rozpocznie kurs na poziomie podstawowym, natomiast zakończy na średnio zaawansowanym, z wiedzą o bibliotekach multiprocessing, concurrent i asyncio - najnowszej i w związku z tym niepojawiającej się w starszych podręcznikach i opracowaniach.