REKLAMA

Programista 5/2020 (92) – sierpień / wrześnień 2020 – Hartowanie kodu – SPIS TREŚCI

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

Winget, czyli budowa własnego graficznego menedżera aplikacji (>>więcej o tym artykule<<)

Winget to zaproponowany przez Microsoft menedżer aplikacji z poziomu konsoli systemu. Na łamach tego artykułu zaprojektujemy i stworzymy własny graficzny menedżer aplikacji, który będzie wykorzystywał to narzędzie, a także przyjrzymy się bliżej sposobom na asynchroniczne wywoływanie zadań i funkcji w PowerShellu.

Michał Zbyl

PROGRAMOWANIE BAZ DANYCH

RetractorDB – separator serii czasowych

Retraktor, rozwieracz lub hak chirurgiczny to narzędzie medyczne służące do odsuwania od siebie struktur anatomicznych. Samo narzędzie – tuż po uświadomieniu, do czego służy – potrafi wzbudzić dreszcz emocji. Pojęcie retraktora w szeroko pojętym aspekcie informatyki nie było mi dotychczas
znane. Tworząc system, uważałem, że nazwa to rzecz drugorzędna i można ustalić ją na samym końcu. Kiedy już wydawało mi się, że wybrałem odpowiednią i finezyjną – okazało się, że podobną zastrzeżono w urzędzie patentowym. Ponownie pojawił się problem – jak nazwać system, którego podstawową funkcjonalnością jest przetwarzanie serii czasowych?

Michał Widera

ALGORYTMIKA

Gra w Życie: podróż w nieznane z Johnem Conwayem (>>więcej o tym artykule<<)

W kwietniu br., w wieku 82 lat, zmarł John Conway. Ten wyjątkowy angielski matematyk zasłynął przede wszystkim jako twórca słynnej „Gry w Życie" (ang. Game of Life): symulacji kryjącej w sobie szereg tajemnic i od wielu lat inspirującej kolejne pokolenia ludzi ciekawych świata i żądnych wiedzy. Równie fascynujący jak sama gra jest mechanizm jej implementacji: na pierwszy rzut oka banalny, w rzeczywistości jednak bardzo złożony i dotykający szeregu kluczowych zagadnień z zakresu inżynierii oprogramowania – być może dlatego „Gra w Życie” cieszy się od dawien dawna wielkim zainteresowaniem programistów. Poniższy artykuł, stanowiący hołd dla zmarłego matematyka, zaprasza cię w podróż po meandrach implementacji „Gry w Życie" – tam gdzie matematyka, filozofia i informatyka łączą się w intrygujący sposób.

Rafał Kocisz

INŻYNIERIA OPROGRAMOWANIA

Hartowanie kodu (>>więcej o tym artykule<<)

W ostatnich latach podatności bezpieczeństwa komputerowego zaczęły trafiać na pierwsze strony gazet. Czy to poprzez chwytliwie brzmiące nazwy typu Heartbleed lub Spectre, czy to w wyniku ogromnych wycieków danych organizacji rządowych lub mediów społecznościowych. Nawet największe i najbardziej szanowane firmy z branży IT, które mogą sobie pozwolić na własne zespoły specjalistów ds. bezpieczeństwa komputerowego, nie są w stanie poradzić sobie z prostym faktem – nowoczesne oprogramowanie staje się tak duże i tak skomplikowane, że błędy bezpieczeństwa wydają się nieuchronne.

Damian Bogel

PLANETA IT

Intel 8086 i okolice 16 bitów

Po sukcesie mikrokomputerów 8-bitowych przyszła pora na przejmowanie przez mikroprocesory obszarów wymagających większej mocy obliczeniowej, zarezerwowanych do tej pory dla tzw. minikomputerów. Do tego potrzebna była, oprócz szybkości, bardziej elastyczna architektura, możliwość obsługi większej pamięci i współpraca z dodatkowymi jednostkami obliczeniowymi. Kolejny krok w ewolucji stał się nieuchronny.

Robert Jaremczak

Po co programistom storytelling?

Dobrze opowiedziana historia sprawia, że razem z mówcą doświadczamy czegoś ważnego. Na sali wybuchają salwy śmiechu lub kręci się łza wzruszenia albo przechodzimy przez całą paletę emocji. Ale czy każda historia jest interesująca? Po co komu historia? Na co zwrócić uwagę, budując historię? O czym pamiętać? I wreszcie: czy wiedza techniczna może być również przekazywana w ten sposób?

Monika Malinowska

KLUB LIDERA IT

Miniprzewodnik po Pythonie dla liderów IT – część 1

Jesteś liderem technicznym, team leaderem, menedżerem IT, a może senior developerem? Chcesz w końcu raz na zawsze usystematyzować swoją wiedzę na temat Pythona, jego wersjonowania, kompatybilności, dostępnych narzędzi i różnic między nimi? Chcesz zrozumieć, czym są, do czego służą i czym się różnią narzędzia takie jak pip, conda, Anaconda, Jupyter, virtualenv i wiele innych? Jeśli tak, to zapraszam do lektury tego artykułu.

Krzysztof Mędrela

KLUB DOBREJ KSIĄŻKI

Automatyzacja nudnych zadań z Pythonem. Nauka programowania

Rafał Kocisz