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
Dear ImGui: pragmatyczne podejście do programowania interfejsów użytkownika (>>więcej o tym artykule<<)
Kiedyś ktoś nieco przekornie stwierdził, że lenistwo jest motorem wszelkiego postępu. Oczywiście jest w tym stwierdzeniu sporo przesady, ale też można w nim znaleźć ziarno prawdy. Otóż istnieje pewna kategoria lenistwa, którą ja nazywam „lenistwem pragmatycznym”. Podstawową zasadą pragmatycznego lenia jest słynna reguła DRY (skrót od angielskich słów „don’t repeat yourself”, czyli: „nie powtarzaj się”). I tutaj należy uczciwie przyznać: ten rodzaj lenistwa często prowadzi do zwiększenia efektywności pracy i do powstawania ciekawych rozwiązań. Dziś chciałbym zaprezentować czytelnikowi Dear ImGui: bibliotekę służącą do tworzenia interfejsów użytkownika, która powstała w duchu tak właśnie postrzeganego lenistwa. Jeśli chcesz się przekonać, co z tego wynikło, to zapraszam do lektury!
Rafał Kocisz
ptrace: implementacja debuggera pod Linuksem
Instrumentacja dynamiczna procesów jest zbiorem technik i narzędzi służących do analizy zachowania programów wykonujących się w określonym środowisku. Narzędziem, któremu przyjrzymy się bliżej w tym artykule, jest debugger. Wiedza na temat podstaw jego działania pozwoli czytelnikowi na lepsze zrozumienie pewnych zależności, które z pewnością umożliwią w pełni wykorzystanie jego potencjału. Wykorzystując m.in. narzędzie ptrace, przyjrzymy się budowie debuggera działającego w środowisku linuksowym pod architekturą x86_64.
Przemysław Samsel
PROGRAMOWANIE URZĄDZEŃ MOBILNYCH
Aplikacje natywne na Ubuntu Touch
Aplikacje tworzone dla systemu Ubuntu Touch można podzielić na dwa rodzaje – webowe i natywne. Pierwsze to strony internetowe renderowane przy pomocy webview Oxide uruchamianego wewnątrz kontenera aplikacji internetowych. Drugie to aplikacje zdolne do pełnego wykorzystania zasobów i możliwości urządzenia, tworzone przy pomocy Qt QML w połączeniu z innymi językami programowania, np. C++, JavaScript czy Python. W poniższym tekście skupimy się na aplikacjach natywnych budowanych za pomocą QML i C++.
Marcin Ławicki
PROGRAMOWANIE SYSTEMOWE
Pszczoła – najlepszy przyjaciel programisty (>>więcej o tym artykule<<)
BPF to technologia, która pozwala na uruchamianie niewielkich programów w odpowiedzi na zdarzenia, na przykład szeroko pojęte operacje wejścia/wyjścia (I/O), nieustannie zachodzące podczas pracy systemu operacyjnego. To coś przypominającego JavaScript, znany osobom zajmującym się programowaniem aplikacji webowych, aczkolwiek to daleko idące uproszczenie.
Tomasz Duszyński
LABORATORIUM EVORAIN
Sieci neuronowe w pigułce (>>więcej o tym artykule<<)
Sztuczna inteligencja jest obszerną dziedziną, w której sieci neuronowe odgrywają niezwykle istotną rolę. Wiedza na temat ich podstaw pozwoli inaczej spojrzeć na rozwiązanie dotychczas nierozwiązywalnych problemów. W tym artykule przedstawione zostaną również wybrane struktury głębokiego uczenia (ang. deep learning) – dziedziny, która zrewolucjonizowała obszar sieci neuronowych. Deep learning otwiera się na wykorzystanie nowych możliwości inteligentnego przetwarzania danych w sposób równoległy.
Piotr Woldan
LABORATORIUM TEINA
UX w podpisie elektronicznym – co jest ważne z perspektywy użytkownika?
Podpis pieczętuje umowę czy ustalenie. Kojarzy się z rytuałem, ceremonią. Równocześnie jest zobowiązaniem, którego niedopełnienie może wiązać się z konsekwencjami. Moment podpisu jest ważny, gdyż niesie znaczenie. Dlatego też zaprojektowanie elektronicznej wersji jest tak dużym wyzwaniem. Czy w ogóle jest możliwe odwzorowanie tradycyjnego podpisu w wersji cyfrowej? A może zupełnie nie tędy droga i e-podpis powinien być czymś innym, nowym? Dołóżmy do tego kwestie bezpieczeństwa i mamy interesujący temat!
Katarzyna Małecka
PLANETA IT
FPGA pod lupą
Układy FPGA zyskują coraz większą popularność. W poniższym artykule zapoznamy się z ich wewnętrzną budową, a także zastanowimy, do jakich zastosowań mogą być przydatne. Ponadto przyjrzymy się przykładowemu urządzeniu, w których układy te zostały wykorzystane.
Rafał Kozik