Programista 4/2021 (98)
Programista 4/2021 (98)
Krótki przewodnik po flagach
Zaawansowane metody optymalizacji mogą przyczynić się do generowania trudnych do wykrycia błędów, jeśli kod wejściowy nie jest napisany zgodnie ze standardem. Wykrycie źródła nieprawidłowości może być trudne i zależne od wielu czynników, np. wersji kompilatora i stopnia optymalizacji. Część problemów można wyeliminować, korzystając z rozbudowanej diagnostyki, jaką oferują kompilatory.
Jednoplikowe biblioteki STB stanowią ciekawą alternatywę dla klasycznych (wieloplikowych i prekompilowanych) bibliotek dla języków C i C++. Stosowane tam eleganckie i pragmatyczne rozwiązanie można też łatwo zaadaptować do własnych projektów. Niniejszy artykuł ma na celu zapoznać czytelnika z koncepcją bibliotek jednoplikowych i zachęcić do korzystania z nich.
Procesy analizy i przetwarzania obrazów towarzyszą nam dziś na każdym kroku, chociaż często nie zdajemy sobie z tego sprawy. Jazda samochodem, badanie diagnostyczne u lekarza czy uruchomienie komórki zerknięciem w ekran to setki obliczeń na milisekundę. Obecnie to samo dotyczy fotografii.
W tym artykule za pomocą narzędzia Spring Boot oraz języka Kotlin utworzymy prostą usługę REST. Mam nadzieję, że zaprezentowana tu treść będzie przydatna zarówno dla początkujących programistów, jak również i tych pracujących na co dzień z językiem Java czy Groovy. Ze względu na mnogość poruszanych tu wątków niektóre zagadnienia zostaną omówione fragmentarycznie.
Każdy nowy zawód odpowiada na konkretną potrzebę. Dzięki wynalazkom oraz rozwojowi społecznemu w przeszłości powstały takie profesje, jak parasolnik, mleczarz czy latarnik. Z biegiem czasu straciły jednak na znaczeniu. Masowa produkcja sprawiła, że zepsute parasole się wyrzuca, bo dużo taniej i łatwiej kupić nowe, mleko dostępne jest w każdym sklepie, a latarnie zapala za ludzi komputer. Choć wydaje się to nieprawdopodobne, branża IT również nie jest wolna od takiego ryzyka. Niektóre profesje w jej obrębie mogą w przyszłości także odejść do lamusa.
Jeżeli stoisz przed zadaniem polegającym na stworzeniu webowego interfejsu programistycznego i posiadasz podstawowe doświadczenie w języku PHP, to doskonale trafiłeś/aś. API Platform to jedno z najlepszych i najprostszych narzędzi do przygotowania nowoczesnego, ustandaryzowanego oraz udokumentowanego API. Co więcej, jest to rozwiązanie darmowe z otwartym kodem źródłowym i możliwością dowolnego wykorzystania w komercyjnych projektach.
W tym artykule przyjrzymy się wybranym błędom bezpieczeństwa najpopularniejszej implementacji Pythona – CPython – które zostały zgłoszone na oficjalnym bugtrackerze: bugs.python.org. Co istotne, mankamenty te nadal nie zostały naprawione, należy więc mieć je na uwadze podczas pisania kodu oraz (jak się przekonamy) używania samego interpretera – na przykład na serwerach. Warto też pamiętać o możliwości skorygowania tych błędów, jeśli zależy nam na rozwoju języka Python.
Główne przesłanie idei KISS przyświeca większości bibliotek i frameworków programistycznych. Zakłada ono bowiem, że należy z barków programisty zdjąć ciężar komplikacji i do maksimum uprościć pisany kod. Nadmierna zawiłość nigdy nie była sprzymierzeńcem łatwości utrzymania, dalszego rozwoju, a przede wszystkim bezpieczeństwa projektów. Z tego względu powtarzalne czynności związane z łączeniem danych pochodzących od użytkownika (czyli z założenia niebezpiecznych), takie jak budowanie zapytań do baz danych, zyskały wsparcie funkcji bibliotecznych (tu: „prepared statements”). Dzięki temu o pomyłkę dużo trudniej, a i podatności polegające na wstrzykiwaniu kodu (np. do zapytań SQL) zostały znacząco ograniczone.
Od wielu lat wiadomo, że najpoważniejszą podatnością pojawiającą się w świecie frontendu aplikacji webowych jest Cross-Site Scripting (XSS). Istnieją też inne, dobrze znane podatności, takie jak Cross-Site Request Forgery czy ataki związane z eksfiltracją danych przez CSS. Ostatnio coraz głośniej robi się jednak o nowym graczu w tym światku: mowa tu o Cross-Site Leaks (skracane zwykle do XS-Leaks). W tym artykule opowiemy o tym, czym XS-Leaks jest i skąd może się wziąć w aplikacji.
OpenBSD stawia sobie za cel bycie najbezpieczniejszym systemem operacyjnym na rynku. Implementuje on wiele ciekawych metod mitygacyjnych, m.in. jako pierwszy domyślnie wspierał ASLR (Address space layout randomization) i PIE (Position-independent executables). Jemu również zawdzięczamy projekty takie jak sudo czy OpenSSH. Gdy w 2019 roku została opublikowana luka bezpieczeństwa CVE-2019-19521, wiele osób przecierało oczy z niedowierzaniem, że taki błąd uwierzytelnienia może pojawić się w systemie operacyjnym kładącym tak duży nacisk na bezpieczeństwo.
Świat IT gna przed siebie niczym legendarny już Usain Bolt, nie zwalniając tempa ani na moment. Na przełomie ostatnich kilkunastu lat programistom udało się zinformatyzować praktycznie każdą dziedzinę życia codziennego. To w dużym stopniu dzięki nim Elon Musk mógł zbudować potęgę Tesli i SpaceX, a urządzenia typu IoT zagościły pod nasze strzechy. Nie sposób się nie zgodzić, że to właśnie my, programiści, jesteśmy cichymi bohaterami naszych czasów. Tak szybko rozwijająca się informatyzacja przy niskim wzroście liczby specjalistów zaczęła powodować jednak problemy natury cyberbezpieczeństwa. W jaki sposób, jako programiści, możemy minimalizować zagrożenia bezpieczeństwa napotykane na naszej wirtualnej drodze?
Krajowa Informacja Skarbowa potwierdziła, że tworzenie programów komputerowych nie polega wyłącznie na pisaniu kodu źródłowego. Zgodnie z tym stanowiskiem m.in. UX/UI Designerzy mogą być obejmowani podwyższonymi 50 proc. kosztami uzyskania przychodów.