Nowa generacja uniwersalnych bibliotek .NET
Mnogość projektów .NET oferowanych przez firmę Microsoft rodzi naturalną potrzebę współdzielenia kodu między aplikacjami różnego typu. Rozwiązaniem tego problemu jest specyfikacja .NET Standard oraz biblioteka .NET Standard Library wprowadzona wraz ze środowiskiem Visual Studio 2017, a także Visual Studio for Mac Preview 4. Jeżeli na co dzień wykorzystujemy przenośne biblioteki klas, to najwyższy czas, by poznać ich następcę.
Czytelność kodu jest jedną z jego najważniejszych charakterystyk, obok wydajności i poprawności. Kod napisany z naciskiem na zrozumienie przez czytelnika, np. podczas przeglądu kodu (ang. code review), pozwala znacznie uprościć wnioskowanie na temat pozostałych dwóch.
Korzystanie z danych w różnych formatach, z wielu źródeł, jest obecnie standardowym zadaniem nowoczesnego oprogramowania. Jest to jednocześnie wyzwanie dla programistów. Naszym zadaniem jest pozyskanie tych danych oraz stworzenie pomostu między zewnętrznym źródłem danych a domeną naszego systemu. W tym artykule postaram się przybliżyć komponenty type providers w języku F# – narzędziami, które ułatwią nam pracę z danymi o różnych formatach i pochodzeniu.
Platformę Android cechuje przede wszystkim niesamowita dynamika rozwoju oraz duża liczba zmian – zarówno tych, które już zostały wprowadzone, i tych, które są przed nami. W momencie, kiedy przyzwyczajamy się do jednego podejścia, Google zaskakuje nas nowymi rozwiązaniami i narzędziami ułatwiającymi analizę i umożliwiającymi poprawę jakości aplikacji. W zależności od naszych potrzeb korzystamy z coraz bogatszej oferty bibliotek i nowego API. To jednak nie wszystko. W poniższym artykule przedstawię kilka powodów, dla których Android staje się coraz atrakcyjniejszą platformą mobilną.
W poprzedniej części serii („Programista” 1/2017) zapoznaliśmy się z podstawowymi zagadnieniami związanymi z mobilnym OpenGL w wersji trzeciej. Utworzyliśmy podstawowy szablon aplikacji, kontekst rysowania oraz proste shadery. Wynikiem była scena ze statycznym, jednokolorowym prostokątem na białym tle. Dziś tchniemy nieco więcej życia w ten nudny świat: dodamy transformacje oraz tekstury.
Skandal! To jest nie do pomyślenia, by inżynier stał z łychą i ręcznie mieszał zawartość garnka, jednocześnie pilnując temperatury. Logicznym jest, że lepiej spędzić zimowe miesiące, dłubiąc w garażu, by potem wszystko się działo SAMO i pozwoliło zaoszczędzić kilka cennych minut. A jak to zrobić najprościej? Wykorzystać gotowe rozwiązania Open Source! I piwo robi się samo...
Internet of Things, Big Data czy sztuczna inteligencja to zbiór haseł, z którymi coraz częściej spotykamy się w codziennej prasie. Jednak, od strony technicznej, implementacja rozwiązań bazujących na tych technologiach wymaga wielu elementów, począwszy od transmisji, poprzez przechowywanie, aż do przetwarzania i wizualizacji danych. W tym artykule przedstawię wybrane usługi Microsoft Azure ułatwiające realizację tych zadań.
O mało znanych zachowaniach procesora i ich wpływie na poprawność i wydajność kodu
W artykule zostaną przedstawione ciekawe właściwości procesora, które mogą sprawić problem wydajnościowy w niektórych aplikacjach, jak i błędy w systemach używających wielowątkowości. Znając te zachowania, można pisać lepszy i bezpieczniejszy kod. Przedstawione w artykule przykłady są napisane w C#, jednak wiele z nich jest niezależnych językowo i mają zastosowanie w innych językach.
Soczewka kontaktowa, drukarka z wysokim DPI i trochę Photoshopa – tak udany atak hakerski opisywał „Starbug” (Jan Krisller) na dorocznej konferencji w Hamburgu. Najpierw złamał dane dostępowe Touch ID w Apple, a potem zasłynął spreparowaniem siatkówki oka Angeli Merkel. Biometria jest coraz popularniejszą metodą dostępu do urządzeń i danych, jednak każda z osobna okazuje się zdecydowanie zawodną.
Security BSides to odbywająca się na całym świecie seria spotkań na temat bezpieczeństwa komputerowego. W tym roku, po raz pierwszy na BSides San Francisco, pojawił się CTF, w którym wzięliśmy udział. Zawody, jak na organizowane po raz pierwszy, okazały się wyjątkowo ciekawe. Jednym z bardziej interesujących wyzwań było zadanie vhash należące do kategorii związanej z kryptografią (chociaż, jak się później okazało, zawierało również elementy podpadające pod inżynierię wsteczną oraz technologie webowe).
Zawód programisty od pewnego już czasu przestaje ograniczać się jedynie do „klepania kodu”, prym wiodą osoby wychodzące przed szereg. Niestety niewielki odsetek społeczności IT z chęcią dzieli się swoją wiedzą, uczestniczy w różnych wydarzeniach takich jak konferencje, meetupy itp. Dlaczego tak się dzieje? Czy rynek potrzebuje takich ludzi? Czy może szkoda tracić czas po godzinach pracy na działanie non-profit w społecznościach skupionych wokół różnorodnych technologii?
Przedstawiam trzecią lekcję minikursu angielskiego dla programistów. Tym razem tematem przewodnim jest język HTML. 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.
Tematem przewodnim tego numeru „Programisty” jest piękny kod. Z jednej strony jest to dość ważne zagadnienie, bo nic tak nie denerwuje, jak dostanie w spadku kodu, który jest zupełnie nieczytelnym zbiorem bajtów zalegającym na dysku. Zanim przez niego się przekopiemy, może minąć bardzo dużo czasu, a nie daj Boże po drodze odkryjemy paskudne nawyki poprzedniego programisty i zaczniemy się bawić w ich poprawianie – kilka tygodni wymazanych z życiorysu ot tak. Z drugiej strony można wpaść w nieskończoną pętlę upiększania upiększonego.