REKLAMA

Programista 11/2018 (78) – styczeń/luty 2019 – EtherCAT – deterministyczny Ethernet – 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.

BIBLIOTEKI I NARZĘDZIA

Dialogflow
Wprowadzenie do budowania inteligentnych chatbotów

Sztuczna inteligencja, chmury obliczeniowe oraz rozpoznawanie ludzkiej mowy to jedne z najgorętszych tematów ostatnich lat. Najwięksi gracze z sektora IT nieustannie próbują nam dostarczyć coraz to nowszych osobistych asystentów (Alexa, Siri czy też Cortana). Czy rozwiązania tego typu rzeczywiście są zarezerwowane tylko dla gigantów? Czy może jednak mniejsze zespoły również mogą zaoferować swoim klientom własnego wirtualnego doradcę? Stworzenie własnego chatbota może być łatwiejsze niż się wydaje.

Kamil Jędrkiewicz

JĘZYKI PROGRAMOWANIA

Wspieranie asynchroniczności w języku Python (>>więcej o tym artykule<<)

Asynchroniczne programowanie w ostatnich latach jest coraz bardziej popularne. Zmiany w języku, które były sukcesywnie wprowadzane, spowodowały, że pisanie kodu asynchronicznego jest teraz prostsze niż kiedykolwiek wcześniej. W tym artykule postaram się wyjaśnić, czym jest asynchroniczność, kiedy warto z niej skorzystać oraz jak jej użyć w języku Python.

Mateusz Kuziemko

Ranges w C++ 20 (>>więcej o tym artykule<<)

10 listopada 2018 roku w San Diego (California, USA) zakończyło się największe posiedzenie komisji standaryzacyjnej C++ w jej 29-letniej historii. Uczestniczyło w nim 180 osób z 12 krajów. Poza rekordową frekwencją znaczącym osiągnięciem było zakończone sukcesem głosowanie w sprawie dodania do standardu biblioteki zakresów – ranges (a konkretniej: Ranges TS).

Paweł "KrzaQ" Zakrzewski

PROGRAMOWANIE URZĄDZEŃ MOBILNYCH

NativeScript
Tworzenie natywnych aplikacji mobilnych z wykorzystaniem NativeScript

Aktualne trendy wytwarzania aplikacji wskazują architekturę opartą o REST API jako lek na całe zło branży IT. Coraz częściej potrzebą biznesową jest posiadanie oprócz strony WWW również aplikacji mobilnej, a przy tym firmy szukają oszczędności w postaci aplikacji wieloplatformowych, w ten sposób redukując koszty. Jak wyjść naprzeciw potrzebom klientów i wykorzystać w pełni potencjał dostępnych technologii oraz architektury? Odpowiedzią są biblioteki, które pozwalają pisać z wykorzystaniem jednego języka, a aplikacja kompiluje się na różne środowiska docelowe. Jednym z takich rozwiązań jest NativeScript, pozwalający pisać w pełni natywne aplikacje z wykorzystaniem TypeScript oraz takich frameworków jak Angular czy Vue.

Michał Dwornicki

PROGRAMOWANIE URZĄDZEŃ OSADZONYCH

EtherCAT – deterministyczny Ethernet (>>więcej o tym artykule<<)

EtherCAT nie pochodzi od angielskiej nazwy bardzo popularnego w sieci stworzenia, czyli kota domowego (łac. felis catus), ale jest rozwinięciem angielskiego skrótu Ethernet for Control Automation Technology, co można przetłumaczyć jako „Ethernet dla technologii sterowania i automatyzacji”. Jest to sprytna modyfikacja protokołu Ethernet dostosowująca go do potrzeb sieci przemysłowych. Chciałbym przedstawić kilka eksperymentów, które pozwolą czytelnikom zapoznać się z podstawowymi zasadami jego działania.

Rafał Kozik

Techniki czystego kodu dla programistów systemów wbudowanych

Przyjęło się, że techniki „czystego kodu” ilustruje się przykładami z języków Java, C# lub pseudokodu nawiązującego do najmodniejszych języków. Jeśli więc jesteś programistą embedded C, wiele koncepcji będzie nieadekwatnych w Twoim środowisku pracy. W tym artykule znajdziesz interpretację technik „czystego kodu” dostosowanych do specyficznych wymagań programistów systemów wbudowanych.

Michał Bartyzel

ALGORYTMIKA

Wybrane algorytmy i struktury danych. Część 3

Wraz z poprzednią częścią artykułu zakończyliśmy rozważania o strukturach będących wariacjami na temat tablic oraz list. Tym razem skupimy się na takiej strukturze danych, która w wygodny sposób pozwala na przechowywanie danych ze swojej natury hierarchicznych, czyli na drzewie.

Wojciech Sura

INŻYNIERIA OPROGRAMOWANIA

Zastosowanie podejścia Consumer-Driven Contracts w architekturze mikroserwisów

Architektura oparta na mikroserwisach jest aktualnie bardzo popularna i z pewnością oferuje liczne korzyści. Jednak jej zalety idą w parze z szeregiem wyzwań. Ewolucja istniejących oraz implementacja kolejnych mikroserwisów sprawia, że testowanie integracji i utrzymywanie kontraktów pomiędzy nimi staje się wyzwaniem. Jeżeli odbywa się to w projekcie, który ma wiele ścieżek rozwoju i wiele zespołów pracujących jednocześnie nad rozwojem usług, to wydawać by się mogło, że mamy gotowy przepis na porażkę. Czy jednak na pewno tak musi być?

Łukasz Parczewski

KLUB LIDERA IT

Gra o motywację zespołu

Zupełnie naturalne jest to, że członkowie zespołu bywają zmotywowani w różnym stopniu. Jako Agile Coachowie czy Scrum Masterzy często pracujemy z każdym z nich indywidualnie, próbując dociec, czego jeszcze brakuje w naszej firmie lub projekcie, by motywacja członków zespołu była optymalna. Co w sytuacji, gdy cały zespół sygnalizuje, że ma z nią problem? Jak zabrać się za poprawę motywacji całego zespołu, skoro składa się on z różnych osobowości?

Katarzyna Suska

KLUB DOBREJ KSIĄŻKI

C++17 STL. Receptury

Rafał Kocisz