Programista 8/2018 (75)
Programista 8/2018 (75)
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.
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.
Architektura mikroserwisów, konteneryzacja, DevOps i ciągła integracja to obecnie jedne 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 faktyczne 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 mikroserwisów, opisując bardziej zaawansowane aspekty tworzenia aplikacji .NET Core w tej architekturze. Wykorzystam przy tym dobre praktyki dostarczane przez Microsoft.
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.
„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!
Czyli o tym, dlaczego warto szkolić obecne i przyszłe kadry IT
Bez względu na to, czy prowadzenie szkoleń jest naszym dodatkowym zajęciem, czy też jednym z głównych źródeł utrzymania, czy prowadzimy szkolenia wewnętrzne, czy też skierowane do szerszej grupy odbiorców, to warto być trenerem. A jeśli jeszcze nie mieliśmy okazji spróbować, jak to jest prowadzić szkolenie, zachęcam do rozważenia takiego kroku w swojej karierze. Poniżej dowiecie się, z jakich powodów.
Czyli P (chyba) ≠ NP i dlaczego RSA nie da się złamać.
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.
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?
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.
Robotyka i automatyka otwiera przed programistami możliwości tworzenia nowych aplikacji, które mogą sterować humanoidami. W istocie dzisiejsze humanoidy, w przeciwieństwie do robota Eva 1 z serialu „Alternatywy 4”, nie tracą głowy, a także mogą być konstruowane i programowane nawet przez dzieci. W tym artykule pokażemy, w jaki sposób można stworzyć i zaprogramować własnego humanoida z wykorzystaniem zestawu Jimu Meebot od firmy UBTECH Robotics.