<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Karol</title>
    <description>The latest articles on DEV Community by Karol (@polakk0).</description>
    <link>https://dev.to/polakk0</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3460170%2F6a49268e-eec4-4228-8341-5c55cef02b0f.jpeg</url>
      <title>DEV Community: Karol</title>
      <link>https://dev.to/polakk0</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/polakk0"/>
    <language>en</language>
    <item>
      <title>📚 My Python Roadmap Journey #6 – Object-Oriented Programming (OOP)</title>
      <dc:creator>Karol</dc:creator>
      <pubDate>Wed, 24 Sep 2025 18:32:13 +0000</pubDate>
      <link>https://dev.to/polakk0/my-python-roadmap-journey-6-object-oriented-programming-oop-36m9</link>
      <guid>https://dev.to/polakk0/my-python-roadmap-journey-6-object-oriented-programming-oop-36m9</guid>
      <description>&lt;p&gt;&lt;strong&gt;(PL) – Object-Oriented Programming w Pythonie&lt;/strong&gt;&lt;br&gt;
Minął kolejny etap mojej ścieżki – tym razem skupiłem się na programowaniu obiektowym (OOP). To zagadnienie kluczowe, bo właśnie ono pozwala łączyć dane i logikę w spójną całość, a także organizować większe projekty w czytelny sposób. Zdecydowanie jest to jeden z tematów, który nie jest prosty ale daje satysfakcję, gdy poznaje się jego tajemnice.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Przerobione zagadnienia:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Klasy i obiekty&lt;/li&gt;
&lt;li&gt;Dziedziczenie i polimorfizm&lt;/li&gt;
&lt;li&gt;Metody (instancyjne, klasowe, statyczne)&lt;/li&gt;
&lt;li&gt;Enkapsulacja (@property)&lt;/li&gt;
&lt;li&gt;Metody specjalne („dundery”)&lt;/li&gt;
&lt;li&gt;Mixiny i kompozycja&lt;/li&gt;
&lt;li&gt;Klasy abstrakcyjne (ABC) i Protocol&lt;/li&gt;
&lt;li&gt;Context Manager (with)&lt;/li&gt;
&lt;li&gt;Własne wyjątki&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Ćwiczenie&lt;/em&gt;&lt;br&gt;
Zamiast kilku prostych skryptów przygotowałem jeden większy projekt – Mini Library Manager.&lt;br&gt;
Projekt symuluje katalog biblioteczny, w którym można dodawać książki, e-booki i czasopisma, wyszukiwać je, a także wypożyczać i zwracać z pomocą sesji działającej jak transakcja (rollback przy błędzie).&lt;br&gt;
Dzięki temu mogłem w praktyce zastosować praktycznie wszystkie mechanizmy OOP w Pythonie – od prostych klas i dziedziczenia, po protokoły, dundery i context manager. To jeden z bardziej skomplikowanych kodów jaki napisałem.&lt;/p&gt;

&lt;p&gt;🔗 Kod dostępny na GitHubie: &lt;a href="https://github.com/Karol-Polak/Python_roadmap_journey/tree/main/OOP" rel="noopener noreferrer"&gt;https://github.com/Karol-Polak/Python_roadmap_journey/tree/main/OOP&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Wnioski&lt;/em&gt;&lt;br&gt;
To jak dotąd najbardziej wymagający etap, ale jednocześnie najbardziej satysfakcjonujący. Widzę, jak bardzo OOP porządkuje kod i daje fundamenty do większych projektów.&lt;/p&gt;

&lt;p&gt;🔜 Kolejne wyzwanie: Package managers, Common packages, Paradigms.&lt;/p&gt;

&lt;p&gt;Do usłyszenia 🖐🏼&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;(ENG) – Object-Oriented Programming in Python&lt;/strong&gt;&lt;br&gt;
Another step on my learning path – this time I focused on Object-Oriented Programming (OOP). It’s a key concept since it allows combining data and logic in a structured way, and organizing larger projects into clean, reusable components. This is definitely one of the topics that is not simple, but it gives satisfaction when you learn its secrets.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Covered topics:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Classes and objects&lt;/li&gt;
&lt;li&gt;Inheritance and polymorphism&lt;/li&gt;
&lt;li&gt;Instance, class, and static methods&lt;/li&gt;
&lt;li&gt;Encapsulation with @property&lt;/li&gt;
&lt;li&gt;Special methods (dunders)&lt;/li&gt;
&lt;li&gt;Mixins and composition&lt;/li&gt;
&lt;li&gt;Abstract Base Classes (ABC) &amp;amp; Protocol&lt;/li&gt;
&lt;li&gt;Context Manager (with)&lt;/li&gt;
&lt;li&gt;Custom exceptions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Exercise&lt;/em&gt;&lt;br&gt;
Instead of many small scripts, I built one bigger project – Mini Library Manager.&lt;br&gt;
It simulates a library catalog where you can add books, e-books, and magazines, search them, and manage loans with a session that works like a transaction (rollback on error).&lt;br&gt;
This allowed me to apply nearly every OOP mechanism in Python in practice – from simple classes and inheritance to protocols, dunders, and context managers.&lt;/p&gt;

&lt;p&gt;🔗 Code available on GitHub: &lt;a href="https://github.com/Karol-Polak/Python_roadmap_journey/tree/main/OOP" rel="noopener noreferrer"&gt;https://github.com/Karol-Polak/Python_roadmap_journey/tree/main/OOP&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Conclusion&lt;/em&gt;&lt;br&gt;
So far, this has been the most challenging stage, but also the most rewarding. I see how much OOP helps in structuring code and provides a solid foundation for larger projects.&lt;/p&gt;

&lt;p&gt;🔜 Next step: Package managers, Common packages, Paradigms.&lt;/p&gt;

&lt;p&gt;see you later🖐🏼&lt;/p&gt;

</description>
      <category>programming</category>
      <category>python</category>
      <category>developer</category>
      <category>beginners</category>
    </item>
    <item>
      <title>📚 My Python Roadmap Journey #5 - Python Concepts</title>
      <dc:creator>Karol</dc:creator>
      <pubDate>Sun, 07 Sep 2025 19:05:51 +0000</pubDate>
      <link>https://dev.to/polakk0/my-python-roadmap-journey-5-python-concepts-233g</link>
      <guid>https://dev.to/polakk0/my-python-roadmap-journey-5-python-concepts-233g</guid>
      <description>&lt;p&gt;(ENG below)&lt;br&gt;
&lt;strong&gt;Kolejne kroki – Python Concepts&lt;/strong&gt;&lt;br&gt;
Idąc zgodnie z planem nauki, tym razem skupiłem się na tematach, które w mojej ocenie pozwalają pisać kod w sposób bardziej profesjonalny i elastyczny. Nie są to już podstawowe konstrukcje języka ani typowe struktury danych – to narzędzia, które naprawdę zmieniają styl pracy z Pythonem.&lt;/p&gt;

&lt;p&gt;Przerobione zagadnienia:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Modules&lt;/li&gt;
&lt;li&gt;Lambdas&lt;/li&gt;
&lt;li&gt;Decorators&lt;/li&gt;
&lt;li&gt;Iterators&lt;/li&gt;
&lt;li&gt;Regular Expressions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Każdy z tych elementów ma ogromne znaczenie w codziennym programowaniu:&lt;br&gt;
&lt;strong&gt;Modules&lt;/strong&gt; pomagają uporządkować kod i ułatwiają ponowne użycie.&lt;br&gt;
&lt;strong&gt;Lambdas&lt;/strong&gt; są świetne, gdy potrzebuję prostej funkcji „na szybko”.&lt;br&gt;
&lt;strong&gt;Decorators&lt;/strong&gt; pozwalają rozszerzyć działanie funkcji i klas bez dotykania ich kodu.&lt;br&gt;
&lt;strong&gt;Iterators&lt;/strong&gt; umożliwiają przechodzenie po danych krok po kroku, co jest nieocenione przy dużych zbiorach.&lt;br&gt;
&lt;strong&gt;Regular Expressions&lt;/strong&gt; to potężne narzędzie do analizy i walidacji tekstów.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Ćwiczenia&lt;/em&gt;&lt;br&gt;
Aby utrwalić materiał, przygotowałem kilka mini-projektów:&lt;br&gt;
text_utils – moduł z funkcjami do pracy z tekstem (iteratory + regex).&lt;br&gt;
logger – dekoratory do logowania czasu i wywołań funkcji.&lt;br&gt;
user_filter – filtrowanie danych użytkowników z użyciem lambd, regexów i iteratora.&lt;br&gt;
password_gen – generator i iterator haseł z dekoratorami walidującymi.&lt;/p&gt;

&lt;p&gt;Całość jak zawsze można znaleźć na GitHubie:&lt;br&gt;
👉 &lt;a href="https://github.com/Karol-Polak/Python_roadmap_journey/tree/main/Python_Concepts" rel="noopener noreferrer"&gt;https://github.com/Karol-Polak/Python_roadmap_journey/tree/main/Python_Concepts&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To był etap, w którym poczułem, że Python daje naprawdę ogromne możliwości pisania zwięzłego, czytelnego i sprytnego kodu.&lt;/p&gt;

&lt;p&gt;🔜 Kolejny krok: Object-Oriented Programming (OOP) – klasy, dziedziczenie i wzorce projektowe.&lt;/p&gt;

&lt;p&gt;Do usłyszenia ✋&lt;/p&gt;




&lt;p&gt;(ENG)&lt;br&gt;
&lt;strong&gt;Next steps – Advanced Python Concepts&lt;/strong&gt;&lt;br&gt;
Following my learning plan, this time I focused on topics that, in my opinion, make code more professional and flexible. These are not just basic language constructs or data structures – these are tools that truly change the way you write Python.&lt;/p&gt;

&lt;p&gt;Covered topics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Modules&lt;/li&gt;
&lt;li&gt;Lambdas&lt;/li&gt;
&lt;li&gt;Decorators&lt;/li&gt;
&lt;li&gt;Iterators&lt;/li&gt;
&lt;li&gt;Regular Expressions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each of these plays an important role in daily coding:&lt;br&gt;
&lt;strong&gt;Modules&lt;/strong&gt; help organize and reuse code.&lt;br&gt;
&lt;strong&gt;Lambdas&lt;/strong&gt;are perfect for small functions on the fly.&lt;br&gt;
&lt;strong&gt;Decorators&lt;/strong&gt; extend functions and classes without modifying their code.&lt;br&gt;
&lt;strong&gt;Iterators&lt;/strong&gt; let you process data step by step, which is essential for large datasets.&lt;br&gt;
&lt;strong&gt;Regular Expressions&lt;/strong&gt; are a powerful tool for text validation and parsing.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Exercises&lt;/em&gt;&lt;br&gt;
To practice, I created several mini-projects:&lt;br&gt;
text_utils – a module for text processing (iterators + regex).&lt;br&gt;
logger – decorators for logging execution time and calls.&lt;br&gt;
user_filter – filtering user data using lambdas, regex, and a custom iterator.&lt;br&gt;
password_gen – a password generator and iterator with validation decorators.&lt;/p&gt;

&lt;p&gt;Everything is available on GitHub:&lt;br&gt;
👉 &lt;a href="https://github.com/Karol-Polak/Python_roadmap_journey/tree/main/Python_Concepts" rel="noopener noreferrer"&gt;https://github.com/Karol-Polak/Python_roadmap_journey/tree/main/Python_Concepts&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This stage made me realize how powerful Python can be when it comes to writing concise, readable, and clever code.&lt;/p&gt;

&lt;p&gt;🔜 Next step: Object-Oriented Programming (OOP) – classes, inheritance, and design patterns.&lt;/p&gt;

&lt;p&gt;See you soon ✋&lt;/p&gt;

</description>
      <category>programming</category>
      <category>python</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Pygame #1 - small project</title>
      <dc:creator>Karol</dc:creator>
      <pubDate>Thu, 04 Sep 2025 15:35:18 +0000</pubDate>
      <link>https://dev.to/polakk0/pygame-1-small-project-1bn7</link>
      <guid>https://dev.to/polakk0/pygame-1-small-project-1bn7</guid>
      <description>&lt;p&gt;(ENG below)&lt;br&gt;
Od kiedy zacząłem powtarzać Pythona, w mojej głowie pojawił się pomysł stworzenia jakiegoś mini projektu z wykorzystaniem Pygame. Zastanawiałem się jednak co mogę stworzyć, aż do przedwczoraj kiedy to moim oczom ukazała się reklama na YouTube. Postanowiłem ją odtworzyć we własnym zakresie.&lt;/p&gt;

&lt;p&gt;Tak powstał projekt &lt;strong&gt;Ball Bounces&lt;/strong&gt; - gra/symulator, w której piłki odbijają się wewnątrz okręgu, rysują linie, przejmują je od siebie nawzajem, a zwycięża ostatnia żywa piłka lub ta, która pierwsza zdobędzie 100 punktów.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0or7t4vtzytax97o8ael.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0or7t4vtzytax97o8ael.png" alt=" " width="800" height="743"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Od pomysłu do kodu&lt;/em&gt;&lt;br&gt;
Podstawą gry jest okrąg narysowany w Pythonie&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def draw_arena(surface):
    pygame.draw.circle(surface, (240, 240, 240), CENTER, ARENA_R, 3)

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Piłki to obiekty klasy Ball, która przechowuje swoją pozycję, prędkość, listę zdobytych "anchorów" oraz liczbę punktów.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Ball:
    def __init__(self, color):
        self.color = color
        self.pos = CENTER.copy()
        self.vel = pygame.Vector2(random.uniform(-1,1), random.uniform(-1,1)) * 200
        self.hit_points = []
        self.score = 0

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Kolizje, były dość problematyczne ponieważ mamy ich kilka:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;piłka - ściana: klasyczne odbicie wektora prędkości,&lt;/li&gt;
&lt;li&gt;piłka - piłka: sprężyste zderzenie równych mas,&lt;/li&gt;
&lt;li&gt;piłka - linia: sub-stepping i test odległości punkt-odcinek, aby uniknąć gubienia przejęć przy większej prędkości.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Przejęcia lini to jeden z ciekawszych elementów - założenie było takie aby piłka która przecina linię przeciwnika, dostawała nowy anchor i punkt, a przeciwnik je tracił. W przypadku gdy był to ostatni anchor przeciwnika - kulka "umiera" i jest usuwana z gry.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Sterowanie i tryby&lt;/em&gt;&lt;br&gt;
Grę można uruchomić w trybie 2,3 lub 4 graczy.&lt;/p&gt;

&lt;p&gt;Sterowanie jest banalne:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;S - start,&lt;/li&gt;
&lt;li&gt;R - restart,&lt;/li&gt;
&lt;li&gt;2 / 3 / 4 - wybór liczby graczy.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Efekt końcowy&lt;/em&gt;&lt;br&gt;
Gra dość szybko staje się chaotyczna - linie krzyżują się, piłki przejmują nawzajem swoje punkty, a plansza zamienia się w sieć kolorowych linii. Dokładnie takiego efektu oczekiwałem. Dodatkowo można obstawiać, która kulka wygra.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Kod źródłowy&lt;/em&gt;&lt;br&gt;
Cały projekt do obejrzenia na moim Githubie:&lt;br&gt;
&lt;a href="https://github.com/Karol-Polak/Ball_Bounces/tree/main" rel="noopener noreferrer"&gt;https://github.com/Karol-Polak/Ball_Bounces/tree/main&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Podsumowanie&lt;/em&gt;&lt;br&gt;
"Ball Bounces" to świetny przykład, jak ciekawe efekty można uzyskać korzystając z Pygame. Mam już pomysły na kolejne update'y, które mogłyby znaleźć się w grze.&lt;/p&gt;

&lt;p&gt;Do usłyszenia 👋🏼&lt;/p&gt;



&lt;p&gt;Since I started revising Python, I had the idea of building a small project with Pygame. I was wondering what I could build, until the day before yesterday when I saw an ad on Youtube. I decided to recreate it on my own.&lt;/p&gt;

&lt;p&gt;That's how the project &lt;strong&gt;Ball Bounces&lt;/strong&gt; was created - a game/simulator where balls bounce inside a circle, draw lines, steal them from each other, and the winner is either the last ball alive or the one that first reaches 100 points.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0or7t4vtzytax97o8ael.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0or7t4vtzytax97o8ael.png" alt=" " width="800" height="743"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;From idea to code&lt;/em&gt;&lt;br&gt;
The foundation of the game is a circle drawn in Python.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def draw_arena(surface):
    pygame.draw.circle(surface, (240, 240, 240), CENTER, ARENA_R, 3)

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The balls are objects of the Ball class, which stores their position, velocity, the list of collected "anchors", and the score.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Ball:
    def __init__(self, color):
        self.color = color
        self.pos = CENTER.copy()
        self.vel = pygame.Vector2(random.uniform(-1,1), random.uniform(-1,1)) * 200
        self.hit_points = []
        self.score = 0

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Collisions turned out to be quite tricky because there are several types:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ball - wall: classic velocity vector reflection,&lt;/li&gt;
&lt;li&gt;ball - ball: elastic collision of equal masses,&lt;/li&gt;
&lt;li&gt;ball - line: sub-stepping and point-to-segment distance test to avoid missing captures at higher speeds.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Linę capturing is one of the most interesting elements - the assumption was that if a ball crosses an opponent's line, it receives a new anchor and a point, while the opponent loses them. If it was the opponent's last anchor, their ball "dies" and is removed from the game.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Contols and modes&lt;/em&gt;&lt;br&gt;
The game can be launched in 2,3 or 4 player mode.&lt;br&gt;
Contols are simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;S - start,&lt;/li&gt;
&lt;li&gt;R - restart,&lt;/li&gt;
&lt;li&gt;2 / 3 / 4 - choose the number of players.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Final effect&lt;/em&gt;&lt;br&gt;
The game quickly becomes chaotic - lines cross, balls steal each other's points, and the board turns into a web colorful lines. That's exactly the effect I was hoping for. Additionally, you can even bet on which ball will win.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Source Code&lt;/em&gt;&lt;br&gt;
The entire project is available on my Github:&lt;br&gt;
&lt;a href="https://github.com/Karol-Polak/Ball_Bounces/tree/main" rel="noopener noreferrer"&gt;https://github.com/Karol-Polak/Ball_Bounces/tree/main&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Summary&lt;/em&gt;&lt;br&gt;
"Ball Bounces" is a great example of how interesting effects can be achieved with Pygame. I already have ideas for future updates that could make their way into the game.&lt;/p&gt;

&lt;p&gt;See you 👋🏼&lt;/p&gt;

</description>
      <category>python</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>📚 My Python Roadmap Journey #3 &amp; #4 - Data Structures &amp; Algorithms</title>
      <dc:creator>Karol</dc:creator>
      <pubDate>Wed, 03 Sep 2025 14:17:44 +0000</pubDate>
      <link>https://dev.to/polakk0/my-python-roadmap-journey-3-4-data-structures-algorithms-2d3j</link>
      <guid>https://dev.to/polakk0/my-python-roadmap-journey-3-4-data-structures-algorithms-2d3j</guid>
      <description>&lt;p&gt;(ENG below)&lt;br&gt;
Minęło trochę czasu od ostatniego wpisu, ale nie był to czas stracony. Tym razem skupiłem się na zagadnieniach, które w mojej ocenie wymagają więcej uwagi oraz skupienia, a przede wszystkim cierpliwości. Choć nie mogę powiedzieć, że były to dla mnie nowe tematy, to po czasie przy ich powtarzaniu miałem wrażenie, jak gdyby część wiedzy zupełnie mi uciekła. Muszę przyznać, że zrozumienie a następnie implementacja praktyczna tych zagadnień daje ogromną satysfakcję.&lt;/p&gt;

&lt;p&gt;Przerobione zagadnienia:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Arrays and Linked Lists&lt;/li&gt;
&lt;li&gt;Hash Tables&lt;/li&gt;
&lt;li&gt;Heaps, Stacks and Queues&lt;/li&gt;
&lt;li&gt;Binary Search Tree&lt;/li&gt;
&lt;li&gt;Recursion&lt;/li&gt;
&lt;li&gt;Sorting Algorithms&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Każdy z tych tematów okazał się ciekawy na swój urokliwy sposób. Najwięcej zabawy sprawiły mi stosy i kolejki - o ile ich implementacja w Pythonie jest prosta, to dokładne zrozumienie "dlaczego działają tak, a nie inaczej" daje sporo satysfakcji. Również rekurencja, którą często traktowałem jako dość oczywistą rzecz, pokazała mi swoje mocne strony przy implementacji klasycznych problemów jak wieże Hanoi czy Quicksort. &lt;/p&gt;

&lt;p&gt;Zgodnie z założeniami postarałem się przygotować małe projekty dla każdego poznanego zagadnienia, można je znaleźć na moim Githubie:&lt;br&gt;
&lt;a href="https://github.com/Karol-Polak/Python_roadmap_journey/tree/main/Data_Structures" rel="noopener noreferrer"&gt;https://github.com/Karol-Polak/Python_roadmap_journey/tree/main/Data_Structures&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To były najbardziej wymagające zagadnienia jak do tej pory na mojej drodze, ale tego się spodziewałem. Wiem jednak, że te fundamenty będą przydatne zarówno w praktyce programistycznej, jak i podczas przyszłych rozmów technicznych.&lt;/p&gt;

&lt;p&gt;Kolejne wyzwania, o których niedługo napiszę:&lt;br&gt;
Modules, Lambdas, Decorators, Iterators and Regular Expressions&lt;/p&gt;

&lt;p&gt;Do usłyszenia!&lt;/p&gt;




&lt;p&gt;It’s been a while since my last post, but it wasn’t a waste of time. This time, I focused on issues that, in my opinion, require more attention, concentration, and above all patience. Although I can't say that these were new topics for me, after some time, when I repeated them, I had the feeling that some of the knowledge had completely slipped away from me. I must admit that understanding and then implementing these concepts in practice is extremely satisfying.&lt;/p&gt;

&lt;p&gt;Revised topics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Arrays and Linked Lists&lt;/li&gt;
&lt;li&gt;Hash Tables&lt;/li&gt;
&lt;li&gt;Heaps, Stacks, and Queues&lt;/li&gt;
&lt;li&gt;Binary Search Tree&lt;/li&gt;
&lt;li&gt;Recursion&lt;/li&gt;
&lt;li&gt;Sorting Algorithms&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each of these topics turned out to be interesting in its own charming way. I particularly enjoyed working with stacks and queues - while their implementation in Python is simple, understanding exactly "why they work this way and not that way" is very satisfying. Recursion, which I often considered a rather obvious thing, also showed me its strengths in implementing classic problems like the Towers of Hanoi or Quicksort. &lt;/p&gt;

&lt;p&gt;I have tried to prepare small projects for each of the topics, which can be found on my GitHub:&lt;br&gt;
&lt;a href="https://github.com/Karol-Polak/Python_roadmap_journey/tree/main/Data_Structures" rel="noopener noreferrer"&gt;https://github.com/Karol-Polak/Python_roadmap_journey/tree/main/Data_Structures&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These were the most challenging topics I have faced so far, but I expected that. However, I know that these basics will be useful both in programming practice and in future technical interviews.&lt;/p&gt;

&lt;p&gt;The next challenges, which I will write about soon:&lt;br&gt;
Modules, Lambdas, Decorators, Iterators, and Regular Expressions&lt;/p&gt;

&lt;p&gt;See you!&lt;/p&gt;

</description>
      <category>python</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>📚 My Python Roadmap Journey #2 - Basics</title>
      <dc:creator>Karol</dc:creator>
      <pubDate>Thu, 28 Aug 2025 20:40:24 +0000</pubDate>
      <link>https://dev.to/polakk0/my-python-roadmap-journey-1-basics-3ccj</link>
      <guid>https://dev.to/polakk0/my-python-roadmap-journey-1-basics-3ccj</guid>
      <description>&lt;p&gt;(ENG below)&lt;br&gt;
Robię postępy, a przynajmniej tak mi się wydaje. Nie zatrzymuję się w moim postanowieniu i aktualnie kończę podstawy. Czuję, że przerobiony materiał oraz na jego bazie wykonane ćwiczenia stanowią solidny fundament całego Pythona. Zdecydowanie to dopiero początek ale już nie mogę się doczekać kolejnych tematów.&lt;/p&gt;

&lt;p&gt;Zgodnie z założeniami udało mi się przerobić następujące tematy:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Type Casting&lt;/li&gt;
&lt;li&gt;Exceptions&lt;/li&gt;
&lt;li&gt;Functions and Builtin Functions&lt;/li&gt;
&lt;li&gt;Lists, Tuples, Sets&lt;/li&gt;
&lt;li&gt;Dictionaries&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Kilka wolnych wniosków na każde z zagadnień:&lt;br&gt;
Type casting - pozwala bezproblemowo zamieniać dane między typami, zarówno z inputu, jak i z plików.&lt;br&gt;
Exceptions - bardzo wygodne rozwiązanie, które pozwala programowi poradzić sobie z błędami zamiast się wysypywać.&lt;br&gt;
Functions - porządkują kod, pomagają uniknąć powtórzeń, a wbudowane funkcje pozwalają zaoszczędzić ogromne ilości czasu.&lt;br&gt;
Lists, Tuples, Sets - każda z nich ma inne zastosowanie, a odpowiedni wybór ma wpływ na wydajność i prostotę rozwiązania.&lt;br&gt;
Dictionaries - podstawa w Pythonie, pozwalają przechowywać dane w formacie klucz - wartość, dają szybki dostęp i przejrzyste przechowywanie danych.&lt;/p&gt;

&lt;p&gt;Zgodnie z założeniami wykonałem kilka prostych programów obejmujących zagadnienia, przy czym bardzo dobrze się bawiłem. Jak zawsze wszystko dostępne jest na moim Githubie.&lt;/p&gt;

&lt;p&gt;Github: &lt;a href="https://github.com/Karol-Polak/Python_roadmap_journey/tree/main/Basics%232" rel="noopener noreferrer"&gt;https://github.com/Karol-Polak/Python_roadmap_journey/tree/main/Basics%232&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nie zatrzymuję się i kontynuuję naukę bo przede mną zagadnienia Data Structures &amp;amp; Algorithms. Do usłyszenia niedługo.&lt;/p&gt;




&lt;p&gt;I’m making progress, or at least that’s what I think. I am not stopping in my resolution and I am currently finishing the basics. I feel that the revised material and the exercises based on it form a solid foundation for the entire Python. It’s definitely just the beginning, but I can’t wait for the next topics.&lt;/p&gt;

&lt;p&gt;I was able to cover the following topics as planned:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Type Casting&lt;/li&gt;
&lt;li&gt;Exceptions&lt;/li&gt;
&lt;li&gt;Functions and Built-in Functions&lt;/li&gt;
&lt;li&gt;Lists, Tuples, Sets&lt;/li&gt;
&lt;li&gt;Dictionaries&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A few free suggestions for each of the issues:&lt;br&gt;
Type casting - allows you to easily convert data between types, both from input and from files.&lt;br&gt;
Exceptions - a very convenient solution that allows the program to handle errors instead of crashing.&lt;br&gt;
Functions - they organize the code, help avoid repetition, and built-in functions save a huge amount of time.&lt;br&gt;
Lists, Tuples, Sets - each has a different use, and the right choice affects the efficiency and simplicity of the solution.&lt;br&gt;
Dictionaries - the foundation in Python, they allow you to store data in a key-value format, provide quick access and transparent data storage.&lt;/p&gt;

&lt;p&gt;I made a few simple programs covering the topics, and I had a lot of fun. As always, everything is available on my GitHub.&lt;/p&gt;

&lt;p&gt;Github: &lt;a href="https://github.com/Karol-Polak/Python_roadmap_journey/tree/main/Basics#2" rel="noopener noreferrer"&gt;https://github.com/Karol-Polak/Python_roadmap_journey/tree/main/Basics#2&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I don't stop and continue learning because Data Structures &amp;amp; Algorithms are ahead of me. See you soon.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>python</category>
      <category>beginners</category>
    </item>
    <item>
      <title>📚 My Python Roadmap Journey #1 - Basics</title>
      <dc:creator>Karol</dc:creator>
      <pubDate>Thu, 28 Aug 2025 10:28:16 +0000</pubDate>
      <link>https://dev.to/polakk0/my-python-roadmap-journey-1-basics-i9c</link>
      <guid>https://dev.to/polakk0/my-python-roadmap-journey-1-basics-i9c</guid>
      <description>&lt;p&gt;(ENG below)&lt;br&gt;
Pierwsze kroki... kiedyś wydawały się trudne, natomiast teraz to bułka z masłem. Chcąc ułatwić sobie cały proces oraz usystematyzować materiał skorzystałem z gotowego planu nauki na roadmap.sh.&lt;/p&gt;

&lt;p&gt;Na start podjąłem się przypomnienia zagadnień:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Basic Syntax&lt;/li&gt;
&lt;li&gt;Variables and Data Types&lt;/li&gt;
&lt;li&gt;Conditionals&lt;/li&gt;
&lt;li&gt;Loops&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Mając już gotowy plan oraz materiały do nauki zacząłem powtarzać wybrane zagadnienia. Nie zajęło mi to wiele czasu, jednak ponowne spojrzenie na dokumentację oraz materiały online pozwoliło mi przypomnieć sobie drobne niuanse. Z "nową" wiedzą przystąpiłem do napisania kilku prostych programów, które w założeniu miały wykorzystywać dopiero co powtórzone zagadnienia. Ich treść można sprawdzić na moim Githubie (&lt;a href="https://github.com/Karol-Polak/Python_roadmap_journey/tree/main/Basics%231" rel="noopener noreferrer"&gt;https://github.com/Karol-Polak/Python_roadmap_journey/tree/main/Basics%231&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Nie zwlekając od razu zabrałem się za kolejne powtórki.&lt;/p&gt;




&lt;p&gt;The first steps... used to seem difficult, but now they're a piece of cake. To make the whole process easier and to organize the material, I used a ready-made learning plan from roadmap.sh.&lt;/p&gt;

&lt;p&gt;At the start, I undertook to recall the issues:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Basic Syntax&lt;/li&gt;
&lt;li&gt;Variables and Data Types&lt;/li&gt;
&lt;li&gt;Conditionals&lt;/li&gt;
&lt;li&gt;Loops&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Having already prepared a plan and study materials, I began to review the selected topics. It didn't take me long, but re-reading the documentation and online materials helped me remember the small nuances. With "new" knowledge, I started writing a few simple programs that were supposed to use the concepts I had just reviewed. Their content can be checked on my GitHub (&lt;a href="https://github.com/Karol-Polak/Python_roadmap_journey/tree/main/Basics#1" rel="noopener noreferrer"&gt;https://github.com/Karol-Polak/Python_roadmap_journey/tree/main/Basics#1&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;I didn't hesitate and immediately started reviewing the next topics.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>python</category>
      <category>beginners</category>
    </item>
    <item>
      <title>📚My Python Roadmap Journey - Prolog</title>
      <dc:creator>Karol</dc:creator>
      <pubDate>Tue, 26 Aug 2025 18:29:02 +0000</pubDate>
      <link>https://dev.to/polakk0/my-python-roadmap-journey-prolog-2kpd</link>
      <guid>https://dev.to/polakk0/my-python-roadmap-journey-prolog-2kpd</guid>
      <description>&lt;p&gt;(ENG below)&lt;br&gt;
Słów kilka na początek... Pythonem zainteresowałem się w trakcie pierwszych studiów na WAT, kiedy to miałem zajęcia "podstawy programowania". Zachęcony bardzo ciekawym sposobem przedstawienia zagadnienia jakim jest programowanie postanowiłem na własną rękę zgłębić temat. W następstwie przez kolejne dni, a później tygodnie czytałem dokumentację oraz oglądałem różne treści na YouTube. Po ponad roku, kiedy pracowałem zarobkowo, postanowiłem zrobić krok w kierunku podjęcia nowych studiów i tak wylądowałem na WIT, który miał stać się dla mnie przepustką do branży IT.&lt;/p&gt;

&lt;p&gt;Nie będę rozwodził się nad etapami mojego życia, jednak wszystkie decyzje doprowadziły mnie do pracy w Orange.&lt;/p&gt;

&lt;p&gt;Stawiając sobie kolejne wyzwanie postanowiłem przejść raz jeszcze drogę nauki języka Python, a ten 'blog' ma być moim pamiętnikiem oraz dodatkowym motywatorem.&lt;/p&gt;

&lt;p&gt;Zamieszczane tu treści skupiać się będą na kolejnych etapach nauki, moich przemyśleniach oraz spostrzeżeniach. Jeżeli zainteresowałem Cię tematem serdecznie zapraszam do śledzenia mojej przygody.&lt;/p&gt;




&lt;p&gt;A few words to start... I became interested in Python during my first studies at WAT, when I had a "programming basics" class. Encouraged by the very interesting way of presenting the issue of programming, I decided to delve deeper into the subject on my own. As a result, I read documentation and watched various content on YouTube for days, and later weeks. After more than a year, when I was working for a living, I decided to take a step towards taking new studies and that's how I ended up at WIT, which was supposed to be my ticket to the IT industry. &lt;/p&gt;

&lt;p&gt;I won't go into the details of the stages of my life, but all the decisions led me to work at Orange. &lt;/p&gt;

&lt;p&gt;I set myself another challenge, I decided to go through the process of learning Python once again, and this 'blog' is to be my diary and an additional motivator. &lt;/p&gt;

&lt;p&gt;The content posted here will focus on the next stages of learning, my thoughts and observations. If I have piqued your interest in the topic, I cordially invite you to follow my adventure.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>beginners</category>
      <category>python</category>
    </item>
  </channel>
</rss>
