Mateusz Mazurek – programista z pasją

Czyli o użyciu Pythona i kilku innych technologii do tworzenia świetnej jakości aplikacji w oparciu o stabilny proces dostarczania oprogramowania.

Inżynieria oprogramowania

Zarządzanie procesami – supervisord

Tak jak pisałem wcześniej – zarządzanie procesami jest bardzo istotnym elementem każdego kto chce pisać własne programy które mają działać non stop (a przynajmniej prawie non stop). Trzeba zorganizować sobie środowisko które będzie pozwalać na łatwe zatrzymanie i uruchamianie aplikacji jak i jej automatyczne restartowanie czy podnoszenie po „awarii”.

Python, pip i virtualenvy

Często dzieje się tak że nasze programy muszą działać cały czas. Przykładem mogą być np. jakieś serwery TCP, zbieracze danych, okresowe przeliczenia jakiś danych itp. Oczywiście możemy taki program uruchomić i on będzie sobie chodził w tle, ale w taki sposób ciężko nim zarządzać. Pisząc „zarządzać” mam na myśli zatrzymywać, restartować, podglądać stan procesu itp. Cykl dwóch wpisów pokaże jak można osiągnąć łatwe utrzymanie swoich programów.

Jabber jako protokół wymiany wiadomości

Jabber, SIP, WebRTC, Asterisk, XML RTP, TCP, UDP.. Brzmi conajmniej jak opis ataku marsjan na ziemię ;) Na szczęście to szybkie review po Jabberze i jemu podobnym.

Algorytmika Inżynieria oprogramowania Programowanie Programowanie webowe

Parsowanie HTMLa / wielowątkowość na przykładzie EmailScrapingu JAVA8

Cześć,
wiem, wiem że są święta i raczej powinienem jeść karpia niż pisać na blogu, ale chciałem pokazać jak łatwo można, przy użyciu pewnej biblioteki, napisać prosty program do zbierania po internecie adresów email.

Implementacja wzorca Kompozyt na przykładzie hierarchii produktów

Cześć,
ostatnio wpadłem, całkiem przypadkiem na ciekawy wzorzec projektowy o nazwie Composite – czyli Kompozyt. Zakłada on prostą i pomysłową implementację struktur drzewiastych.

Algorytmika Felietony/inne Inżynieria oprogramowania Programowanie Programowanie webowe Utrzymanie oprogramowania

Architektura programów na przykładzie filtrów tekstowych

Jak każdy z nas wie, bardzo ważne jest to aby pisać programy szybko, pisać je poprawnie, przewidywać różne use case’y, korzystać ze wzorców projektowych, utrzymywać porządek w kodzie itp.
Równie ważne jest rozplanowanie pisania programu…