Autor: Karol Kurek

Karol Kurek ma siedmioletnie doświadczenie w programowaniu — programuje w Pythonie. Pracował jako twórca aplikacji mobilnych, serwisant sprzętu komputerowego oraz nauczyciel matematyki. Aktualnie współtworzy w Pythonie projekt z dziedziny big data i data science. W wolnym czasie grywa w szachy, uczy się języka rosyjskiego i rozwiązuje zadania na forum matematycznym. Portfolio i kontakt z autorem: http://karolkurek.pl.

9
Kurs video

Receptura na Python. Kurs Video. 54 praktyczne porady dla programistów

Karol Kurek

Obierz kurs na... usprawnianie kodu w Pythonie! Fachowcy z branży IT, by dobrze wykonywać swoją pracę, muszą w niej zwykle używać od kilku do kilkunastu narzędzi. Z drugiej strony nikt nie jest w stanie dobrze poznać nawet wycinka wszystkich technologii, języków programowania czy aplikacji, które powstają każdego roku. Czy wśród tego bogactwa, by nie rzec - nadmiaru, można znaleźć coś, co będzie narzędziem uniwersalnym, swoistym szwajcarskim scyzorykiem? Pozwalającym na realizowanie wielu, często odległych tematycznie zadań, równocześnie zapewniającym łatwość obsługi, ale też konieczną jakość? Pewnie nie ma, ale prawdopodobnie najbliższy spełnieniu tych wymagań jest język programowania Python. A zwycięzcą jest Python! W zależności od metody badawczej Python stał się najpopularniejszym językiem programowania na świecie (ranking PYPL) lub właśnie się nim staje (ranking TIOBE). Aż 16% zawartości serwisu GitHub powstało w Pythonie. I dotyczy imponującego zakresu: administracji sieciami komputerowymi, bezpieczeństwa i jego testowania, aplikacji webowych, analizy danych czy zaawansowanych systemów eksperckich opartych na uczeniu maszynowym. Jest to bardzo znaczący sygnał — niezależnie od specjalizacji coraz częściej będziemy napotykać rozwiązania stworzone przez programistów używających Pythona. I ten trend nie powinien się w najbliższej przyszłości zmienić, lecz raczej wzmocnić. Warto jednak mieć świadomość, że aby dobrze zrozumieć i efektywnie wykorzystywać kod innych programistów, nie wystarczy podstawowa wiedza. Czy to w gotowych rozwiązaniach, czy też w bibliotekach lub frameworkach tysiące programistów ciągle znajduje nowe zastosowanie dla - zdawałoby się, znanych już na wskroś - mechanizmów tego języka. A bardzo prawdopodobne jest, że cudzy kod może nas zaskoczyć użyciem wcześniej zupełnie nam nieznanego rozwiązania. Niektóre elementy Pythona z jednej strony są niemal kompletnie nieznane, z drugiej - bardzo ciekawe i przydatne. W przypadku wielu z nich, na przykład alternatywnych kompilatorów, mechanizmów umożliwiających omijanie GIL-a, menedżerów kontekstu, próżno szukać w internecie dobrego wyjaśnienia. Na inne zagadnienia (operator walrus, metaklasy, profilery, tworzenie własnych iteratorów) możemy się po prostu nie natknąć, a przez to nie wiedzieć, że problem, z którym się borykamy, został już dawno rozwiązany, i to prawdopodobnie lepiej. Czego się nauczysz podczas naszego profesjonalnego szkolenia? Receptura na Python. Kurs video. 54 praktyczne porady dla programistów pozwoli Ci poznać wiedzę posiadaną przez nielicznych ekspertów. Dowiesz się między innymi: Jak mierzyć i kilkakrotnie przyspieszyć czas wykonywania kodu Pythona. Jak wykorzystywać profiler (cProfile) do wskazywania wąskich gardeł w kodzie. Jak tworzyć własne dekoratory. Jak pisać menedżery kontekstu. Jak kompilować kod do pliku wykonywalnego. Jak naprawdę działają popularne mechanizmy, często rozumiane tylko powierzchownie: try-except, polimorfizm, sprawdzanie możliwości obiektu, wyrażenia listowe czy słownikowe, rozpakowywanie obiektów i wiele innych. Jak korzystać z wprowadzonego w Pythonie 3.8 operatora walrus (:=). Jak wykorzystać wszystkie sposoby dziedziczenia w Pythonie. Jak pisać własne iteratory i generatory - i to na wiele sposobów! Jak tworzyć metaklasy. Jak tworzyć dataklasy wprowadzone w Pythonie 3.7. Jak tworzyć klasy abstrakcyjne i metody wirtualne. Jak przeciążać operatory. Jak stosować 121 metod specjalnych (magicznych) Pythona. Których mechanizmów Pythona lepiej się wystrzegać. Jak sprawić, żeby Python działał inaczej, niż przewidzieli twórcy tego języka. Nie tylko dla orłów Receptura na Python. Kurs video. 54 praktyczne porady dla programistów jest skierowany do osób, które dobrze opanowały przynajmniej podstawy tego języka, i - oczywiście - do tych bardziej doświadczonych. Autor włożył wiele wysiłku, by wyczerpująco zaprezentować poruszane przez siebie zagadnienia. Nawet dla mniej zaawansowanych, którzy nie od razu wszystko przyswoją i zastosują, będzie to doskonały przegląd możliwości Pythona. A dla tych, którzy czują się z nim pewniej, będzie to świetne uzupełnienie wiedzy i umiejętności — w końcu programista uczy się całe życie!

10
Kurs video

Twórz gry w Pythonie. Kurs video. Poznaj bibliotekę PyGame

Karol Kurek

Obierz kurs na… Pygame! Pygame to jedna z tych fantastycznych bibliotek, które pozwalają poszerzyć możliwości programowania gier i aplikacji multimedialnych w języku Python. Ostatnio zyskuje coraz większą popularność — w zeszłym roku pojawiła się jej nowa wersja, Pygame 2. Jeśli znasz już język Python i marzysz o tym, by wykorzystać go do kreowania świetnych gier, nie znajdziesz nic lepszego! A jeśli chcesz szybko zaznajomić się z praktyczną stroną programowania z Pygame, trafiłeś na doskonały kurs! Twórz gry w Pythonie. Kurs video. Poznaj bibliotekę Pygame pozwoli Ci odkryć sekrety tej biblioteki i przygotuje Cię do samodzielnego tworzenia w pełni profesjonalnych gier. Autor przeprowadzi Cię przez wszystkie etapy powstawania gry, od otwarcia pierwszego pliku aż po uruchomienie kompilatora Pythona, Nuitki, w celu uzyskania pliku wykonywalnego. Co więcej, tę drogę przejdzie z Tobą aż trzy razy: razem stworzycie trzy solidne gry. Nie pozostawi Cię także bez pomocy w zakresie przygotowania materiałów wyjściowych gry: grafik, dźwięków i muzyki. Ściągnij Pygame i wstąp do świata twórców obłędnych gier! Czego się nauczysz podczas naszego profesjonalnego szkolenia? Nauczysz się wykorzystywać bibliotekę Pygame i framework Pygame Zero. Zobaczysz, jak dodawać obrazy, czcionki, fonty i inne elementy do gry. Będziesz operować na grafikach 2D i tworzyć animacje. Dowiesz się, jak wykorzystywać dźwięki, muzykę i napisy w grach. Skompilujesz grę do pliku .exe (standardowo w Pythonie nie jest to możliwe). Przygotujesz obsługę zdarzeń myszki i klawiatury. Stworzysz własny i wykorzystasz istniejący mechanizm wykrywania kolizji między obiektami. Podczas szkolenia Twórz gry w Pythonie. Kurs video. Poznaj bibliotekę Pygame opanujesz także modyfikowanie kodu innych bibliotek w celu dodania do nich funkcjonalności, nauczysz się, jak wykorzystywać w grach niektóre wzorce projektowe (provider, cache, callback) oraz jak stworzyć i obsługiwać kamerę w Pygame. Zaczniesz implementować działania wrogów (a konkretnie podejmowanie przez nich decyzji, by skutecznie zaatakować bohaterów gry). Poznasz mechanizm reagowania na zdarzenia przez sprawdzenie stanu niewidocznej grafiki pod grą (bitmap-based physics). Ponadto dowiesz się, jak tworzyć własne dźwięki do gry, skąd brać grafiki i inne assety, w jaki sposób radzić sobie z niedoborem umiejętności okołoprogramistycznych (takich jak tworzenie grafik czy muzyki). Następnie sprawdzisz, jak wygląda obsługa warstw w Pygame. W gruncie rzeczy znajdziesz tu wszystko, czego potrzeba, by zbudować prostą grę 2D, od pomysłu po skończony projekt. Kurs zakończysz na poziomie średnio zaawansowanym, w pełni przygotowany do tego, by tworzyć także gry inne niż te zaprezentowane przez autora. Realizuj własne pomysły na gry! Autor szkolenia Twórz gry w Pythonie. Kurs video. Poznaj bibliotekę Pygame zapewni Ci wszelkie narzędzia do stworzenia gry, a Tobie pozostanie wymyślić jej treść, wyobrazić ją sobie i przenieść to wyobrażenie na ekran komputera. Wcześniej jednak musisz się zorientować, w jaki sposób operować „światem” (czyli wszystkim, co jest poza widocznym obszarem gry), poznać system wykrywania kolizji, opanować tworzenie prostych animacji i zdobyć nieco wiedzy na temat wszelkich innych zagadnień związanych z wykorzystaniem Pygame. Po ukończeniu kursu będziesz umiał samodzielnie stworzyć takie gry jak Mario Bros., Bomberman, Arkanoid i wiele innych. Znajdziesz tu praktyczną prezentację ogólnych metod, które zawsze działają, i będziesz mógł je zastosować w grze dowolnego typu. Solidne przećwiczenie programowania czterech gier zapewni Ci swobodę w posługiwaniu się różnymi chwytami czy sztuczkami, a także pozwoli dogłębnie poznać specyfikę używanych narzędzi. W poszukiwaniu nowej rozrywki Gry są nieodłącznym elementem komputerów i smartfonów. Przykuwają oko i wciągają na długie godziny. Wiele osób (programistów i nie tylko) próbuje tworzyć gry w ten czy inny sposób. W tej dziedzinie Python powoli zdobywa coraz większą popularność — po pierwsze za sprawą najpopularniejszej biblioteki do tworzenia gier (Pygame), a po drugie z powodu świetnego silnika Godot, który pozwala programować w tym języku. Praca z grami to praca z grafikami (zwanymi sprite’ami), dźwiękiem, muzyką, obsługą zdarzeń oraz o wiele trudniejszym debugowaniem niż w przypadku aplikacji niebędących grami. W takich aplikacjach często bardzo trudno jest powtórzyć napotkany błąd, gdyż dana sekwencja występuje dość rzadko. Wymagają one także znacznie więcej testowania. Jeśli programiście zależy na tym, żeby jego gra była bezbłędna, musi w nią długo grać. Ale dla prawdziwego twórcy gier to przecież sama przyjemność! Tylko dla wtajemniczonych Popularność Pygame 2, czyli wersji, która jest wykorzystywana podczas tego szkolenia, stale rośnie, a gry, które stworzysz wspólnie z jego autorem, są na takim samym profesjonalnym poziomie, jak komercyjne gry na Steamie. Nie znajdziesz drugiego tak dobrego kursu dla programistów gier z wykorzystaniem Pythona i Pygame. Dzięki niemu nauczysz się tworzyć gry typu: Mario Bros., Prehistoric, Contra, Flappy Bird, Prince of Persia, Mega Man i podobne - gry platformowe, w których kamera chodzi za graczem, a on zwykle przemierza świat, kierując się w prawo; Arkanoid, Timberman, tetris i tower defense - gry dwuwymiarowe, w których gracz musi jakoś pokonać otaczający go niezmienny świat; Bomberman, Tanks, Scorched Earth - gry z równie niezmiennym światem, w których występuje element wroga żyjącego własnym życiem. Jeśli zależy Ci nie tylko na zabawie w programistę, ale przede wszystkim na rzeczywistym programowaniu doskonałej jakości gier, nie możesz przeoczyć szkolenia Twórz gry w Pythonie. Kurs video. Poznaj bibliotekę Pygame.

11
Kurs video

Wyrażenia regularne w Pythonie. Kurs video. Kompletne vademecum

Karol Kurek

Obierz kurs na... wyrażenia regularne Czym są wyrażenia regularne (z angielskiego zwane regular expressions albo — w skrócie — regex) oraz komu i do czego mogą się przydać? Otóż są to pewne wzorce, które odnoszą się do łańcucha symboli — mogą na przykład opisywać zbiór pasujących łańcuchów, a także wyszczególniać istotne części danego łańcucha. To potężne narzędzie pozwala sprawdzić, czy ciąg znaków ma określoną przez nas formę, a tym samym — czy może zostać potraktowany jak dane. Programista, który opanuje wyrażenia regularne, będzie potrafił ułatwić sobie realizację wielu zadań, od sprawdzania wejść użytkownika, przez wyszukiwanie wzorców w tekstach, aż po automatyczne przetwarzanie i analizę logów systemowych. Poza stosunkową łatwością w opanowaniu oraz wszechstronnością zastosowań dodatkową zaletę wyrażeń regularnych stanowi to, że można je zastosować w praktycznie każdym języku programowania. Co więcej, język właściwie nie ma wpływu na składnię wyrażeń — w większości przypadków pozostaje ona taka sama. Proponowany przez nas kurs video zachęca do spojrzenia na wyrażenia regularne z perspektywy Pythona. Obejmuje pełny zakres pojęć odnoszących się do zagadnienia w ogólności i przedstawia wszystkie metaznaki, a równocześnie przybliża standardową bibliotekę re języka Python, która służy do pracy z wyrażeniami regularnymi, oraz prezentuje użycie większości metod pochodzących z tej biblioteki. Co Cię czeka podczas naszego profesjonalnego szkolenia? Dzięki temu kursowi video między innymi: Poznasz wszystkie metaznaki wyrażeń regularnych działających niezależnie od ich implementacji. Sprawdzisz, gdzie można wykorzystać wyrażenia regularne (także poza programowaniem!). Nauczysz się pisać i testować własne wyrażenia regularne. Przekonasz się, że istnieją takie obszary, w których wyrażenia regularne nie znajdują zastosowania. Opanujesz rozszerzenia wyrażeń regularnych oraz sposoby stosowania zarówno „zwyczajnych”, jak i „niestandardowych” wyrażeń. Dowiesz się, jak tworzyć klasy znaków i grupy, a także jak wyłuskiwać daną część dopasowania. Co więcej: Poznasz dodatkowe narzędzia, które przydadzą Ci się podczas pracy z wyrażeniami regularnymi. Wyrażenia regularne w Pythonie i poza nim. Kurs video odsłoni przed Tobą pełnię możliwości, jakie stwarzają wyrażenia regularne. Kurs kończy się na poziomie średnio zaawansowanym — sprawi, że będziesz w pełni gotów do tego, by dalej, już samodzielnie, ćwiczyć, praktykować i pogłębiać umiejętność posługiwania się wyrażeniami regularnymi. Regularne korzystanie z wyrażeń regularnych Wyrażenia regularne nie stanowią osobnego środowiska pracy, a raczej wspomagają pracę w odpowiednich obszarach wielu środowisk. Znaczna część języków programowania — dotyczy to choćby języków: Perl, PHP, JavaScript, Java, Ruby oraz (oczywiście) Python — ma zaimplementowany mechanizm wsparcia dla wyrażeń regularnych. Wiele narzędzi jest przeznaczonych wyłącznie do operacji na regex. Odnosi się to zarówno do tych uniksopochodnych, jak komenda grep czy edytor strumieniowy sed, jak i windowsowych edytorów tekstu, do których należy między innymi EditPad Pro, TextPad oraz Crimson Editor. Tak szerokie wsparcie wyrażeń regularnych wynika z ich istotności — przydają się one wszędzie tam, gdzie ważne są obróbka, filtrowanie i weryfikacja danych, na przykład przy programowaniu, w wyszukiwarkach, edytorach tekstów, bazach danych oraz w narzędziach do jednoczesnej zmiany nazw wielu plików i ich katalogów. Po szkoleniu... Będziesz w stanie łatwiej wyszukiwać części tekstu o specyficznych kryteriach w procesorach, a także edytorach tekstowych, i to niezależnie od języka, w jakim pracujesz. Łatwo przefiltrujesz wyniki, logi aplikacji oraz dowolne zbiory danych, dzięki czemu szybko dotrzesz do konkretnego, wymaganego przez siebie typu informacji. Wyrażenia regularne wykorzystasz do pracy z prostymi skryptami i podczas operacji w popularnym frameworku Django. Stosując wyrażenia regularne, w ekspresowym tempie zwalidujesz daty, adresy i wszelkie inne dane, które posiadają regularną, czyli z góry narzuconą strukturę — na przykład ISBN książek w bibliotece, listę adresów IP, numery telefonów itd. Aktualizacja kursu (2024-03-26) Kurs został wzbogacony o dodatkowy rozdział Nowości i zmiany w wyrażeniach regularnych, a w nim zostały wyjaśnione: - grupy atomiczne - kwantyfikatory posiadające - flagi wewnątrz-liniowe - asercje z wyrażeniami regularnymi - raw-string w wyrażeniu regularnym - re.sub z grupami numerowanymi - grupy numerowane a unicode - ukrywacz komentarzy