Programista 3/2022 (102)
Programista 3/2022 (102)
W poprzednim artykule (Programista 2/2022) starałem się oswoić technologię .NET MAUI, tworząc bardzo prostą aplikację z graficznym interfejsem użytkownika (GUI), w której trzema suwakami kontrolujemy składowe RGB koloru prostokąta. Dziś chciałbym pójść o krok dalej i sprawdzić, czy .NET MAUI jest już na tyle dojrzałe, aby możliwe było użycie w projektach aplikacji wzorca architektonicznego Model-View-ViewModel (MVVM).
O języku Rust słyszał już chyba każdy programista. Nie znaczy to oczywiście, że wszyscy potrafią z niego korzystać. Faktycznie jednak zyskał on niezwykłą popularność w bardzo krótkim czasie, a to za sprawą unikatowej cechy, jaką jest gwarancja bezpieczeństwa pamięci. Mowa tutaj zarówno o bezpieczeństwie pod kątem wycieków pamięci, jak i wielowątkowego dostępu do niej. W artykule przyjrzymy się mechanizmom języka Rust, temu, jak one działają, a także czy i w jaki sposób możemy wykorzystać je w języku C++.
Jesteś na początku swojej zawodowej drogi i myślisz o rozpoczęciu kariery w branży IT albo chcesz się przebranżowić i zastanawiasz się, jak zacząć? Nie ulega wątpliwości, że tak jak w każdym innym zawodzie, także w IT potrzebna jest wiedza praktyczna i doświadczenie. Nie zdobędziesz jej jednak bez solidnych podstaw teoretycznych. Zebraliśmy książki, które pozwolą Ci zobaczyć, na czym polega praca w IT na różnych stanowiskach – od testera, specjalistę danych, po programistę i architekta oprogramowania. Dzięki nim sprawdzisz, jak wygląda praca w tych zawodach, i zdecydujesz, czy któryś z nich jest właśnie dla Ciebie.
Implementacja mechanizmu rejestracji i cofania wprowadzonych zmian
Każda profesja ma swoje opowieści grozy. Branżowe historie, które z pozoru wydają się być niezrozumiałe albo błahe, ale opowiedziane we właściwych kręgach, mrożą krew w żyłach. Również i w naszym zawodzie ich nie brakuje. Ot, choćby: „…i wtedy po roku klient powiedział: »Jednak będziemy chcieli mieć historię wprowadzonych zmian wraz z możliwością ich cofania«”.
W poprzedniej części artykułu (Programista 2/2022) omówiony został cykl życia CTI, jego rodzaje i ich główne przeznaczenie. Aby móc wytworzyć produkt, jakim jest raport CTI, należy posłużyć się danymi, które można pozyskać z różnych źródeł. Dzisiaj przedstawię sposoby na automatyzację wykorzystania zewnętrznych źródeł danych przydatnych podczas prowadzenia działań CTI. Na koniec zbierzemy wszystko w jedną całość dzięki zastosowaniu standardu STIX.
Ostatnie miesiące są szczególnym wyzwaniem dla inżynierów zajmujących się utrzymaniem aplikacji w Javie. Pod koniec grudnia zeszłego roku została ogłoszona poważna podatność w popularnej bibliotece Log4j, którą opisaliśmy w poprzednim artykule. Niedawno natomiast zostały ogłoszone kolejne podatności: CVE-2022-22963, CVE-2022-22965, CVE-2022-22947, w bardzo popularnej bibliotece Javy – Spring. Dziś przyjrzymy się jednemu z nich, potocznie zwanemu Spring4Shell – błędzie sprzed ponad dekady, który znów daje o sobie znać.
Jak efektywnie i efektownie zwiększyć swoją produktywność
Programista to osoba, która skonfrontowana z zadaniem dającym się zrealizować w trzy minuty, poświęci trzy dni, żeby zaprojektować mechanizm, który zrobi to w trzy sekundy.
Praktyczne sposoby na rozwiązanie problemu
Jeszcze kilka lat temu mało kto słyszał o blockchainie, a jeśli już, to głównie w kontekście kryptowalut. Dzisiaj sytuacja wygląda całkowicie inaczej i nawet najwięksi giganci jak Google, Microsoft czy Amazon wiedzą, żę nie mogą przejść obojętnie obok tej technologii. Sprawia to, że z dnia na dzień coraz więcej ludzi zaczyna korzystać z blockchaina, a to z kolei generuje nowe wyzwania. Jedno z głównych to problem związany ze skalowalnością. Na szczęście społeczność blockchaina wytworzyła już kilka obiecujących rozwiązań, które mogą sprawić, że technologii tej będzie mogło bezproblemowo używać znacznie więcej osób niż obecnie.
Budowanie zrównoważonego łańcucha dostaw na bazie Hyperledger Fabric
W ostatnich latach łańcuch dostaw znalazł się w centrum uwagi wielu firm z uwagi na chęć ograniczenia niepotrzebnego marnowania zasobów oraz ich etyczne pozyskiwanie. Firmy zaczęły mierzyć wpływ ich produktów i usług na środowisko naturalne i społeczności od początku do końca cyklu ich życia. Organizacje szukają więc rozwiązań zwiększających bezpieczeństwo ich łańcucha dostaw, gdzie nowe możliwości otwiera przed nimi technologia blockchain.