Programista 8/2017 (63)
Programista 8/2017 (63)
Jak powszechnie wiadomo, praca Data Scientisty nie ogranicza się jedynie do wyprowadzania skomplikowanych równań na kartce papieru, ale jest to też praktyczna, programistyczna praca przy komputerze. Znajomość języków programowania, np. Pythona, a także bibliotek, takich jak Numpy, Pandas, Matplotlib, to jedno. Jednak wybór IDE, środowiska, w którym Data Scientist będzie pisał swój program lub przeprowadzał analizę eksploracyjną, jest także sprawą niesłychanie ważną.
Kompilator Clang udostępnia swój front-end w formie bibliotek. Możemy tworzyć własne narzędzia do refaktoryzacji. Wymagany nakład pracy wcale nie jest duży, zwłaszcza jeśli może nas uchronić przed ręcznym poprawianiem ogromnej ilości kodu. Przyjrzymy się też pułapkom, jakie na nas czekają, i problemom przy współpracy z GCC.
Bezpieczeństwo systemów komputerowych to temat bardzo aktualny w dzisiejszych czasach, ponieważ coraz więcej wrażliwych i wartościowych informacji jest przechowywanych i transportowanych w świecie cyfrowym. Ciemna strona mocy nie śpi, poświęca mnóstwo środków na kreowanie coraz to bardziej wymyślnych i skutecznych ataków. Projektanci systemów komputerowych próbują sprostać wymaganiom rynku i przeciwdziałać tym niecnym zamiarom. W tej wojnie liczy się przede wszystkim kreatywność, elastyczność i ciągłe zmiany podejścia. Na tle rozwiązań konkurencji ciekawie prezentuje się firma ARM ze swoją technologią TrustZone, dającą stosunkowo dużą swobodę projektantom chipów oraz inżynierom bezpiecznego oprogramowania. Przyjrzyjmy się bliżej koncepcji dwóch światów i temu, co o sprzęcie musi wiedzieć programista, aby w pełni wykorzystać jego możliwości chronienia wrażliwych zasobów. Za architekturę referencyjną posłuży nam ARMv8.
„Czy ta aplikacja może wyglądać jak Excel?”. Takie pytanie może zadać użytkownik końcowy Twojej aplikacji, który przyzwyczaił się do interfejsu Office i z tego powodu oczekuje podobnych rozwiązań również i w innych aplikacjach. Z punktu widzenia programisty rozwiązanie tego problemu polega na odpowiednim przygotowaniu warstwy wizualnej. To zadanie można jednak znacznie uprościć w oparciu o narzędzie Office UI Fabric, które dostarcza style i komponenty umożliwiające szybkie tworzenie aplikacji wyglądających jak Office. W tym artykule pokażę, w jaki sposób wykorzystać Office UI Fabric do zaimplementowania aplikacji ASP.NET Core 2.0 w architekturze Single Page Application, obsługiwanej przez bibliotekę React.js.
Coraz częściej mówi się o dostępności witryn internetowych. Niestety większość developerów nadal traktuje ten temat pobieżnie, a część z nich w ogóle nie wie, czym ona jest. Co oznacza pojęcie „dostępna strona” i dlaczego warto się tym tematem zainteresować?
Sherlock Holmes, bohater literacki występujący w prozie autorstwa Sir Arthur Conan Doyle’a, bez cienia wątpliwości jest jednym z najbardziej fascynujących przykładów na to, jak nauka i umiejętność logicznego myślenia pozwalają na zdobywanie szczytów. Podstawowym celem detektywa-konsultanta było rozwiązywanie zagadek kryminalnych i wskazywanie sprawców zbrodni. W jednym z dzieł szkockiego pisarza [1] Sherlock Holmes udowadnia winę podejrzanego poprzez wykorzystanie dowodu z miejsca przestępstwa, którym były odciski palców. W niniejszym artykule pokażę, że każdy z nas może nabyć umiejętności wspomnianego śledczego i poprzez zastosowanie prostych algorytmów przetwarzających obrazy dokonać analizy odcisku palca. Pamiętajmy bowiem, że „dla wielkiego umysłu nie ma rzeczy małych” [2].
Przez lata hurtownie danych nie miały godnego rywala. Wraz z upływem czasu koszt przechowywania danych znacznie spadł, a alternatywne rozwiązania zaczęły dynamicznie dojrzewać.
Ciągła integracja jest sposobem na zwiększenie jakości kodu oraz skrócenie cyklu wytwarzania oprogramowania, a największe korzyści czerpiemy z niej, gdy jest w pełni zautomatyzowana. Przyjrzyjmy się z bliska mechanizmom Gitlab CI i zautomatyzujmy proces integracji naszej aplikacji.
Dlaczego accessibility testing jest tak ważne
Dostępność aplikacji mobilnych i webowych oznacza umożliwienie wszystkim użytkownikom Internetu, a w szczególności osobom niepełnosprawnym, doświadczać, rozumieć, nawigować i w pełni korzystać z aplikacji. Umiejętność testowania dostępności pozwala na podnoszenie jakości produktów oraz powiększenie grona użytkowników aplikacji.
„Ktokolwiek, poczynając od najbardziej bezmyślnego amatora, na najlepszym kryptografie kończąc, może stworzyć algorytm, którego on sam nie będzie mógł złamać”. Właśnie tak brzmi Prawo Schneiera – amerykańskiego badacza bezpieczeństwa i kryptografa. Postaramy się je zweryfikować i przekonać przy tym czytelników, że nawet korzystając z silnych, nowoczesnych algorytmów, można popełnić błąd, który kompletnie rujnuje bezpieczeństwo całej aplikacji.
Przedstawiam ósmą lekcję minikursu angielskiego dla programistów. Tym razem tematem przewodnim są serwery bazy danych. Zachęcam do wielokrotnego wykonywania ćwiczeń, aby dobrze utrwalić sobie przyswojony materiał. Rozwiązania do ćwiczeń zamieszczono na stronie internetowej, której adres podano na dole artykułu.