O tym jak zwinnie budować niezawodne systemy przeczytać możecie w Manifeście Agile. 15 lat temu grupa 17-stu osób spotkała się w górach w okolicy Salt Lake City i spisała dokument, który zapoczątkował zmianę myślenia osób tworzących oprogramowanie. Składa się on z 4 głównych wartości oraz 12 zwinnych zasad. Zacznijmy od tych pierwszych.
Autor: Agnieszka Chruściel
Apache Storm – wprowadzenie, teoria
Apache Storm jest projektem open source i służy do przetwarzania strumieniowego w czasie rzeczywistym. Ułatwia wykonywanie działań na nieograniczonych strumieniach danych. Może być używany z dowolnym językiem programowania. Przed samym rozpoczęciem zabawy z Apache Storm przygotowałam trochę teorii, która ułatwi nam późniejszą pracę z tym projektem.
PyCharm
Mam dla was kolejną dawkę JetBrains’owych IDE. Ten wpis będzie dotyczył PyCharm’a, który jest dedykowany dla Pythona. O IntelliJ IDEA możecie przeczytać w artykule Krzyśka. Przygotowałam dla Was krótki opis samego IDE oraz zestawienie ciekawych skrótów, które warto zapamiętać, żeby ułatwić sobie życie i przyspieszyć pisanie kodu.
Testy – poziomy i typy
Zaczynając zabawę z testowaniem oprogramowania, należałoby wiedzieć jakie w ogóle mamy podziały testów i w jakich sytuacjach stosować każde z nich. Zaznaczmy, że poziomy i typy testów to dwa zupełnie różne, niezależne od siebie podziały. Każdy typ testu może być wykonany na każdym poziomie testowania. Przykładem są testy modułowe oraz systemowe, które dotyczyć mogą zarówno funkcjonalnych, jak i niefunkcjonalnych cech systemu. Niektóre połączenia poziomów i typów występują rzadziej, a inne częściej.
PEP8
Dokument, który chciałam przedstawić zawiera konwencję zapisu kodu Pythonowego. Stosowanie się do niego nie przyspiesza wykonywania programów, ale sprawia, że kod staje się bardziej czytelny. Jeden z autorów PEP8 (Guido van Rossum) zaznacza, że kod jest znacznie częściej czytany niż pisany i właśnie dlatego tak ważne jest dbanie o jego czytelność i jednolitość. Poniżej przedstawiłam kilka ważniejszych zasad PEP8.
Strumieniowe bazy danych – definicje
Ostatnimi czasy sporo czasu poświęciłam zagadnieniom strumieniowych języków i baz danych. Związane było to z tworzeniem własnego języka strumieniowego. W dzisiejszych czasach istnieje wiele systemów, w których wymagane jest przetwarzanie bardzo dużych ilości danych, napływających z wielu źródeł w trybie on-line. Z punktu widzenia zarówno użytkownika bardzo ważne jest, aby analiza i prezentacja wyników była ciągła i dynamiczna. Przykładami takich systemów mogą być systemy monitorujące ruch drogowy lub systemy giełdowe. W obu przypadkach niezbędna jest minimalizacja opóźnień przetwarzania danych.