Zapraszamy do zamówienia magazynu w >>prenumeracie<<. Miesięcznik jest dostępny w formie papierowej, PDF, EPUB i MOBI oraz AZW3. Do prenumeraty papierowej zawsze dołączamy wydania elektroniczne.
BIBLIOTEKI I NARZĘDZIA
.NET Standard Library
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ę.
Sylwester Wieczorkowski
JĘZYKI PROGRAMOWANIA
Piękny kod (>>więcej o tym artykule<<)
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.
Paweł "KrzaQ" Zakrzewski
F#. Type Providers
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.
Paweł Wicher
PROGRAMOWANIE URZĄDZEŃ MOBILNYCH
Co nowego dla programistów na platformie Android
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ą.
Antonina Tkachuk
OpenGL ES 3.0 dla platformy Android. Część 2
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.
Mateusz Semegen
PROGRAMOWANIE SYSTEMOWE
Open Source w służbie ludzkości, czyli jak inżynier warzy piwo (>>więcej o tym artykule<<)
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...
Wojciech Macek
PROGRAMOWANIE APLIKACJI WEBOWYCH
Azure IoT. Przegląd wybranych usług
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ń.
Dawid Borycki
PRZETWARZANIE RÓWNOLEGŁE I ROZPROSZONE
Czego nie powiedzieli Ci w szkole o procesorze? (>>więcej o tym artykule<<)
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.
Michał Mac
BEZPIECZEŃSTWO
Spoofing w biometrii
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ą.
Tomasz Spencer, Maciej Szymkowski
STREFA CTF
BSidesSF 2017 CTF – vhash-fixed
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).
Michał Praszmo
PLANETA IT
Community Driven Self-development
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?
Marcin Zajkowski
Angielski dla programistów. Lekcja 3
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.
Łukasz Piwko
FELIETON
Wyprawa od piękna do nieskończoności
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.
Mariusz „maryush“ Witkowski
KLUB DOBREJ KSIĄŻKI
English 4 IT. Praktyczny kurs języka angielskiego dla specjalistów IT i nie tylko
Rafał Kocisz