Programista 1/2023 (106)
Programista 1/2023 (106)
W pierwszej części artykułu omówiliśmy podstawy użycia narzędzia CMake: utworzyliśmy przykładowy projekt oraz bibliotekę, którą następnie w nim wykorzystaliśmy. Dzisiaj rozszerzymy naszą bibliotekę o testy jednostkowe oraz zainstalujemy ją w systemie w sposób ustandaryzowany.
Nowy sposób tworzenia inteligentnych botów
Kiedy zapytamy naszych rodziców, rodzeństwo czy znajomych, z czym kojarzy im się słowo „czatbot”, wielu z nich odpowie, że z botem od fotowoltaiki – słynną Klaudią Sobieraj. Dla sporej grupy osób czatboty, inaczej zwane wirtualnymi asystentami, to skomplikowana technologia, którą znają tylko nieliczni. Nawet najwięksi przeciwnicy botów nie mogą jednak zaprzeczyć faktowi, że czatboty szturmem przejęły świat marketingu, obsługi klienta, a często także nasze życie codzienne. Czatboty są na Facebooku i Messengerze. Gdy chcemy dowiedzieć się, gdzie jest nasza paczka, to też pomoże nam czatbot. Program pozwoli nam też zamówić pizzę, zapytać o bilety do kina i znaleźć odpowiedź na pytania nawet w środku nocy.
Twórcy popularnego „pehapa” nie próżnują i w grudniu 2022 roku wypuścili kolejną wersję tego języka programowania, w której zrobiono kilka małych kroków do przodu i wykonano jeden całkiem spory skok.
Każdy programista wcześniej czy później zderza się z tematem wzorców projektowych. Najczęściej widnieją one jako jedno z wymagań w ofertach pracy, czasem pojawiają się na rozmowach kwalifikacyjnych, a chyba jeszcze rzadziej rozmawia się o nich w czasie realizacji programistycznych projektów. Czym są? Czy warto zaprzątać sobie nimi głowę po zakończeniu procesu rekrutacyjnego? Czy nadają się tylko do akademickiej dysputy, czy też może da się zastosować je w prawdziwych scenariuszach? Spróbujmy zmierzyć się z tym ciekawym tematem.
Błędy bezpieczeństwa w oprogramowaniu są wypadkową wielu zdarzeń – intencjonalnych zaniedbań narastających przez lata, priorytetyzacji rozwoju biznesowego czy losowych zdarzeń w postaci tykających bomb istniejących w zewnętrznych bibliotekach. Mogą one także wynikać ze zbyt luźnej interpretacji dokumentacji bądź standardu. W poniższym artykule przyjrzyjmy się przykładom podatności zgłoszonych w ostatnich latach i postaramy się odpowiedzieć na pytanie, czy jesteśmy w stanie ich uniknąć.
SekaiCTF 2022 to dwudniowe wydarzenie Capture the Flag (CTF), które odbyło się między 30 września a 2 października 2022 r. Na uczestników czekały zadania z różnych kategorii: od webowych, przez tzw. pwn i kryptograficzne łamigłówki, aż do zadań typu forensics, czyli informatyki śledczej. Autor tego artykułu grał z drużyną justCatTheFish – zwycięzcą tego turnieju – a poniżej opisane zostanie jedno z ciekawszych zadań ze wspomnianej kategorii forensics – dwuetapowy Symbolic Needs.
W artykułach z tej serii piszemy o tym, że oprogramowanie, które miało być bezpieczne, w rzeczywistości okazywało się podatne na ataki. Niektóre narzędzia, takie jak ping(8), istnieją w systemach operacyjnych od bardzo wczesnych lat. Podatność w tym programie może wywołać wiele emocji, ale czy każdy błąd oznacza kompromitację systemu?
„A same soft-skille to ściema, pic na wodę i zajęcie dla osób z HR, które bez tej czarnej magii nie miałyby co robić”. Takie i inne soczyste określenia nierzadko można usłyszeć na temat kompetencji miękkich. No i klasyk, czyli „nie po to studiowałem informatykę, żeby rozmawiać z ludźmi”. Czy kompetencje miękkie to nikomu niepotrzebne farmazony?
Na początku tego artykułu chciałbym postawić czytelnika w niekomfortowej dla większości osób sytuacji. Otóż wyobraźmy sobie, że rozpoczynamy pracę w nowym miejscu. Często takie zmiany są trudne. Wymagają od nas zapoznania się z nowym otoczeniem, pozyskania nowych kontaktów, poznania nowych obowiązków i nauczenia się wykonywania pewnych znanych już nam czynności w trochę inny sposób niż robiliśmy to do tej pory.
Spróbujcie zgadnąć, jak dawnym wynalazkiem jest klucz i zamek. Może średniowiecze? Mało. Więc czasy początków naszej ery? Dalej mało. Wzmianki o kluczu znalazły się nawet w dziełach Homera, więc mówimy tu o IX-VIII wieku przed naszą erą, a być może nawet jeszcze wcześniej. Historia zabezpieczeń sięga więc bardzo dawnych czasów. I choć wydawałoby się, że kilka tysiącleci po wynalezieniu klucza, w erze błyskawicznego rozwoju technologii, zabezpieczenia powinny stawać się coraz trudniejsze do złamania, niejednokrotnie zdarza się, że dzieje się zupełnie na odwrót…