Zapraszamy do zamówienia magazynu w >>prenumeracie<<. Miesięcznik jest dostępny w formie papierowej, PDF, EPUB i MOBI oraz AZW3. Do prenumeraty papierowej zawsze dołączamy wydania elektroniczne.
BIBLIOTEKI I NARZĘDZIA
Dapr i Tye – prostsze mikroserwisy .NET w chmurach i nie tylko (>>WIĘCEJ O TYM ARTYKULE<<)
Czy nie chcielibyśmy łatwo przenosić naszych aplikacji mikroserwisowych między środowiskiem lokalnym a różnymi chmurami? Czy nie chcielibyśmy
pisać mniej kodu, skupiając się jedynie na funkcjonalnościach biznesowych zamiast na różnych elementach infrastruktury, jak np. Kafka czy Redis? Czy nie życzylibyśmy sobie automatycznego tworzenia definicji obrazów Dockera i manifestów Kubernetes, ich wdrażania oraz prostego konfigurowania różnych narzędzi, jak np. Zipkin? Część z tych problemów rozwiązuje otwarta i niezależna od języka platforma Dapr. Tye to z kolei będące w fazie rozwoju narzędzie dla samego .NET. Zobaczmy, co może nam dać połączenie Tye z Dapr.
Marcin Kruszyński
Rainmeter, czyli pulpit na sterydach (>>WIĘCEJ O TYM ARTYKULE<<)
Pulpit Windows – jeżeli się chwilę nad tym zastanowić – jest chyba najmniej użytecznym miejscem w całym systemie. Możemy tu ustawić tło, przechować skróty i pliki w postaci ikon i w zasadzie to wszystko. Odkryjmy w sobie wewnętrznego geeka i zobaczmy, jak możemy ten stan rzeczy zmienić, wykorzystując nasze umiejętności programistyczne.
Wojciech Sura
Pisanie i testowanie ról Ansible z pomocą molecule
W rozwoju oprogramowania testowanie odgrywa olbrzymią rolę. Nie inaczej jest w konfiguracji infrastruktury. Do najpopularniejszych narzędzi służących konfiguracji systemów możemy zaliczyć Chefa, którego testujemy frameworkiem Kitchen, Puppet z rspec’iem oraz Ansible, która od 2018 zaleca korzystanie z molecule.
Tomasz Szandała
JĘZYKI PROGRAMOWANIA
C++ – name lookup w szczegółach
Name lookup to dość specyficzny proces w języku C++. Z jednej strony tak oczywisty i podstawowy, że nawet nie zastanawiamy się, kiedy z niego korzystamy. Z drugiej zaś jest na tyle zaawansowany, że powstają różnego rodzaju zbiory zasad, jak z nich korzystać. W tym artykule przyjrzymy się temu, czym jest name lookup, jak działa i kiedy może on przysporzyć nam problemów.
Dawid Pilarski
PROGRAMOWANIE APLIKACJI WEBOWYCH
Modułowość kodu na bazie Inversion of Control i Dependency Injection
Architekturę systemu uważa się za pojęcie subiektywne. Każdy projekt, niezależnie od wielkości, określa własne wymagania biznesowe, techniczne oraz budżetowe. Specyfika postawionych wymagań wyznacza ścieżkę rozwoju oprogramowania i stopień jego złożoności. Najczęściej złożoność rośnie dużo szybciej od rozmiarów systemu. Jeśli nie zadba się o to w pierwszych etapach projektu, to relatywnie szybko dojdziemy do utraty kontroli nad systemem.
Vladyslav Deyneko
ALGORYTMIKA
Gra w Życie: podróż w nieznane z Johnem Conwayem. Część 2
W tym artykule, będącym kontynuacją tekstu opublikowanego w poprzednim numerze, odbędziemy podróż po meandrach implementacji „Gry w Życie". W trakcie lektury dowiemy się, jak można usunąć sztywne granice przestrzeni gry oraz jak ograniczyć złożoność obliczeniową algorytmu kontrolującego symulację. Przy okazji poznamy szereg ciekawych mieszkańców tego tajemniczego, płaskiego świata, a także przybliżymy sposób działania algorytmu HashLife, dzięki któremu można tworzyć i badać złożone struktury „Gry w Życie" o monstrualnych wręcz rozmiarach.
Rafał Kocisz
ZARZĄDZANIE PROJEKTAMI
Cele biznesowe a metody sztucznej inteligencji w projektach badawczo-rozwojowych
Realizacja celów biznesowych w projektach badawczo-rozwojowych jest bardzo prosta, jeśli wiesz, jak prawidłowo zorganizować swoją pracę. Rozpoczynając projektowanie systemu, zmniejsz ryzyko niepowodzenia, odpowiadając na kilka ważnych pytań. Mam nadzieję, że praca badawcza stanie się dla ciebie bardziej przyjemna po lekturze tego artykułu.
Paweł Staszewski
BEZPIECZEŃSTWO
Co zabezpiecza HTTPS, czyli o protokole TLS 1.3 (>>WIĘCEJ O TYM ARTYKULE<<)
Protokół HTTPS, a dokładniej HTTP over TLS, jest rozszerzeniem protokołu HTTP o funkcjonalność szyfrowania przesyłanych danych wraz z możliwością uwierzytelnienia klienta i serwera. Obie te funkcje możliwe są dzięki zastosowaniu protokołu TLS (Transport Layer Security). W tym artykule przedstawiony zostanie krok po kroku proces nawiązania szyfrowanego połączenia, który posłuży do wymiany szyfrowanych danych w HTTPS.
Marek Maślanka
PLANETA IT
32 bity: CISC vs. RISC
Począwszy od pierwszej 4-bitowej konstrukcji, rozwój mikroprocesorów przebiegał zasadniczo dwiema niezależnymi ścieżkami. Pierwsza koncentruje
się wokół hardware’u i zaimplementowaniu w nim jak największej liczby funkcji. Druga zorientowana jest na software, ponieważ oprogramowanie, w odróżnieniu od sprzętu, można zaktualizować. Dlatego sprzęt powinien realizować tylko to, co musi, oraz co – ze względu na wydajność – powinien.
Robert Jaremczak
Miniprzewodnik po Pythonie dla liderów IT. Część 2
Firmy coraz częściej decydują się wykorzystać Pythona nawet tam, gdzie na co dzień pracuje się w innych technologiach. Ta dwuczęściowa seria artykułów powstała z myślą o menedżerach i liderach rozważających wykorzystanie Pythona. W tej części przyjrzymy się narzędziom i bibliotekom wykorzystywanym do przetwarzania danych i, szerzej, Data Science.
Krzysztof Mędrela