Menu

Tag: Python
Post

Algorytm Boyer–Moore

Algorytmy Python

Omawiam algorytm Boyer–Moore: porównywanie wzorca od końca, regułę złego znaku (bad character) oraz regułę dobrego sufiksu (good suffix). Pokazuję, dlaczego BM w typowym przypadku jest sublinearny i kiedy wygrywa, a kiedy przegrywa z KMP.

Post

Falownik Huanyang #7sterowanie RS-485

cnc Huanyang Python

Krok po kroku przechodzimy przez podłączenie falownika Huanyang do magistrali RS‑485, konfigurację protokołu w falowniku oraz przykładowe skrypty w Pythonie, które pozwalają z poziomu komputera ustawiać obroty, kierunek i odczytywać bieżące parametry pracy.

Post

Algorytm Knuth–Morris–Pratt

Algorytmy Python

Wprowadzam algorytm Knuth–Morris–Pratt do wyszukiwania wzorca w tekście: intuicja stojąca za funkcją prefix/suffix, konstrukcja tablicy „lps” oraz analiza złożoności. Omawiam też, kiedy KMP ma przewagę nad naiwnym porównywaniem znak po znaku.

Post

Wyszukiwanie tekstu w tekście

Algorytmy Python

Na prostym przykładzie pokazuję klasyczny, naiwny algorytm wyszukiwania podciągu w tekście oraz szczegółowo omawiam jego ograniczenia: złożoność czasową, powtarzane porównania i sytuacje, w których to podejście zaczyna być problematyczne.

Post

Dwa słowa o kartach Mifare

MIFARE Python

Praktyczne wprowadzenie do ekosystemu kart zbliżeniowych MIFARE, szczegółowo omawiając różnice techniczne między popularnymi modelami Classic oraz Ultralight. Wyjaśnienie standardu ISO/IEC 14443, mapy pamięci układów oraz kluczowe aspekty bezpieczeństwa i ograniczenia obu technologii. Całość uzupełnia instruktaż programistycznej obsługi kart w języku Python, obejmujący konfigurację czytnika ACR122 oraz komunikację za pomocą ramek APDU.

Post

Programowanie dynamiczne #2

Algorytmy Cpp Python Zadanie

Wprowadzam pojęcie programowania dynamicznego i pokazuję, jak zastosować go do rozwiązania problemu Longest Common Subsequence. Przedstawiam koncepcję rozdzielania problemu na mniejsze części i wykorzystywania wyników tych części do uzyskania rozwiązania głównego. Na przykładzie ilustruję, jak wykorzystać wiedzę o najdłuższych wspólnych podciągach do obliczenia najdłuższego wspólnego podciągu dla dwoch ciągów znaków.

Post

Programowanie dynamiczne #1

Algorytmy Cpp Python Zadanie

Wprowadzam pojęcie programowania dynamicznego i pokazuję, jak zastosować go do rozwiązania problemu Longest Increasing Sequence. Przedstawiam koncepcję rozdzielania problemu na mniejsze części i wykorzystywania wyników tych części do uzyskania rozwiązania głównego. Na przykładzie ilustruję, jak wykorzystać wiedzę o najdłuższych podciągach do obliczenia najdłuższego podciągu po dodaniu nowego elementu do ciągu.

Post

Zadanie rekrutacyjne #3

Python Rekrutacja Trick

W zadaniu rekrutacyjnym #3 zaimplementowano funkcję, która liczy elementy w liście jednokierunkowej, korzystając z referencji do obiektu. Przedstawiono dwa rozwiązania: jedno z wykorzystaniem odległości do początku i końca listy, a drugie z wykorzystaniem garbage collector'a do znalezienia referencji do obiektu. Opisano również ograniczenia i zastosowania takiego podejścia w praktyce.

Post

Przekierowanie wyjścia [Python]

Python

Wyjaśniam, czym jest stdout w Pythonie i jak działa przekierowanie standardowego wyjścia – zarówno na poziomie systemu, jak i wewnątrz samego Pythona. Na przykładach pokazuję zapis do pliku, przechwytywanie wyjścia oraz integrację z logowaniem.