REKLAMA

Programista 8/2018 (75) – październik/listopad – Jak znaleźć igłę w stogu danych – spis treści

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.

PROGRAMOWANIE SYSTEMÓW OSADZONYCH

Budujemy własne urządzenie USB (>>więcej o tym artykule<<)

Tym razem chciałbym wraz z czytelnikami zabawić się w „full-stack developera”. Zaczniemy od znalezienia odpowiednich części, a następnie zaprojektujemy i wykonamy własne urządzenie podłączane do portu USB. Krok po kroku skomunikujemy się ze sterownikiem za pomocą podstawowych programów dostępnych w konsoli Linuxa, a na końcu stworzymy minimalistyczny, ale funkcjonalny graficzny interfejs użytkownika w języku Python.

Rafał Kozik

C dla mikrokontrolera na przykładzie ARM Cortex-M0

W poprzednich artykułach (numery 6/2018 (73) i 7/2018 (74)) opisałem działanie mikrokontrolerów z rdzeniem ARM Cortex-M0 oraz przedstawiłem sposób ich programowania w asemblerze. Jednak tworzenie większych projektów w tym języku jest raczej mało praktyczne, dlatego postanowiłem przedstawić krok po kroku, w jaki sposób skompilować i uruchomić programy napisane w języku C. Opisane eksperymenty, tak jak poprzednio, mogą być wykonane na platformie Nucleo-F031K6.

Rafał Kozik

PROGRAMOWANIE APLIKACJI WEBOWYCH

Tworzenie aplikacji .NET Core w architekturze mikroserwisów

Architektura mikroserwisów, konteneryzacja, DevOps i ciągła integracja są obecnie jednymi z najczęściej pojawiających się wymagań w ofertach pracy dla twórców oprogramowania. Te technologie usprawniają bowiem cały proces wytwarzania oprogramowania, począwszy od implementacji, testowania, aż po faktycznie wdrożenie. Chociaż powstało już na ten temat bardzo dużo opracowań, to zazwyczaj ograniczają się one wyłącznie do pokazania, w jaki sposób „skonteneryzować” serwis Web API, a następnie utworzyć i skonfigurować proces wdrożeniowy w serwisie chmurowym, dostarczającym orkiestratora. W tym artykule uzupełnię luki dotyczące architektury mikroserwisowej, opisując bardziej zaawansowane aspekty tworzenia aplikacji .NET Core w tej architekturze. Wykorzystam przy tym dobre praktyki dostarczane przez Microsoft.

Dawid Borycki

PROGRAMOWANIE BAZ DANYCH

Jak znaleźć igłę w stogu danych (>>więcej o tym artykule<<)

Co łączy wyszukiwarki internetowe, bazy danych i książki telefoniczne? Przede wszystkim cel – ich zadaniem jest przechowywanie informacji i umożliwienie użytkownikom szybkiego dostępu do nich. Wbrew pozorom podobna jest też implementacja. Mimo że pożółkłe karty książek telefonicznych nie zmieniły się od czasów naszych pradziadków, a coraz to nowocześniejsze bazy danych co kilka lat wymyślają same siebie od nowa, wszystko opiera się na jednym fundamentalnym pomyśle – indeksach.

Jarosław Jedynak

Mapowanie relacyjno-obiektowe w Hibernate

„Bazy, bazy everywhere” jako parafraza popularnego mema odzwierciedla w idealny sposób powszechność wykorzystywania baz danych w obecnym świecie. Czy zatem integracja bazy danych i aplikacji musi być trudna i czasochłonna? Przekonasz się, że przy użyciu mapowania relacyjno-obiektowego Hibernate zrobi dużo rzeczy za Ciebie!

Rafał Tabiś

ALGORYTMIKA

Złożoność obliczeniowa
Czyli P (chyba) ≠ NP i dlaczego RSA nie da się złamać. (>>więcej o tym artykule<<)

Kiedy przeglądałem ostatnio Internet, natknąłem się na postawione przez kogoś pytanie: czy algorytmika jest częścią matematyki? Odpowiedzi były bardzo skrajne – od twierdzących do kategorycznie zaprzeczających. Tymczasem przecież cała informatyka jest jedną z dziedzin matematyki; trudno więc, by algorytmika – będąc jednym z najbardziej kluczowych działów informatyki – nie wzbudziła również zainteresowania matematyków.

Wojciech Sura

INŻYNIERIA OPROGRAMOWANIA

O wpływie mikroserwisów na proces wytwarzania oprogramowania

Od 5 lat można obserwować coraz większe zainteresowanie wielu firm architekturą opartą na mikroserwisach – trend ten nabiera coraz większego rozpędu. Od 50 lat znane jest nam prawo Conway’a, które jest trafną obserwacją na temat relacji pomiędzy wytworzonym oprogramowaniem a organizacją, która to oprogramowanie dostarcza. Jak w takim razie obserwacje sprzed 50 lat mają się do tego nowoczesnego sposobu tworzenia systemów IT?

Michał Lewandowski

Teaser Dragon CTF 2018 – zadania production oraz cryptovm

29 września tego roku odbyła się kolejna edycja Teasera Dragon Sector. Konkurs trwał 24 godziny i stanowił preludium do właściwego CTFa, który będzie miał miejsce na konferencji Security PWNing Conference 2018.

Dominik „disconnect3d“ Czarnota, Gros, Tacet