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
Zarządzanie sesjami RDS, czyli PowerShell do zadań specjalnych
Każdy, kto spotkał się z usługami pulpitu zdalnego od Microsoftu, szybko zdał sobie sprawę, że o ile samo rozwiązanie wdrożone prawidłowo działa zgodnie z założeniami, o tyle zarządzanie sesjami użytkowników z poziomu proponowanych przez MS narzędzi jest, nazwijmy to delikatnie,… uciążliwe. W artykule zaprojektujemy i napiszemy nowocześnie wyglądającą aplikację graficzną, która pozwoli nam podglądać, kontrolować i wylogowywać sesje. Postaramy się także uzyskać więcej informacji o użytkownikach.
Michał Zbyl
Jak pisać skrypty w PowerShellu
Trzeba uczciwie powiedzieć, że przez bardzo długi czas Microsoft pozostawał daleko w tyle za konkurencją w kwestii konsolowego interpretera poleceń. Cmd, którego poprzednikiem był leciwy command.com, udostępniał wprawdzie szereg komend oraz język umożliwiający pisanie mniej lub bardziej zaawansowanych skryptów, ale w porównaniu – powiedzmy – do Basha wypadał naprawdę blado. W 2006 roku Microsoft postanowił ruszyć sprawy do przodu i 14 listopada opublikował pierwszą wersję PowerShella.
Wojciech Sura
Bulk – synchroniczne programowanie równoległe
Nie jest tak, że brakuje nowych języków programowania czy innych bibliotek wspierających różne aspekty tworzenia programów. Można nawet powiedzieć, iż jest tego za dużo, jednakże zawsze lepiej mieć więcej narzędzi do wyboru niż mniej. W myśl tej zasady warto zapoznać się z biblioteką Bulk.
Marek Sawerwain
JĘZYKI PROGRAMOWANIA
Statyczne wyjątki C++ (>>więcej o tym artykule<<)
Każdy język programowania ma swój określony, rekomendowany sposób na obsługę błędów. W Javie są to wyjątki, w języku Rust pomocnicze typy, takie jak Error czy Option. W C z kolei najpopularniejszym sposobem obsługi błędów jest tzw. „kod błędu”. A co z językiem C++? Na to pytanie odpowiemy sobie właśnie w tym artykule, zwracając szczególną uwagę na obecne prace grupy standaryzacyjnej w zakresie obsługi błędów.
Dawid Pilarski
Pułapki języka C
Język C powstał w 1972 roku, brakuje mu więc tylko trzech lat do osiągnięcia półwiecza istnienia w świecie informatyki. Czy doświadczonego programistę języka C można jeszcze czymś zadziwić? W tym artykule postaram się pokazać, że tak, i zaskoczyć czytelnika między innymi znanymi i nieznanymi właściwościami języka, które mogą dać niespodziewany rezultat. Będę posługiwał się uproszczonymi przykładami, które w podobnej postaci napotkałem w kodzie produkcyjnym.
Krzysztof Kanas
PROGRAMOWANIE SYSTEMÓW OSADZONYCH
Własny Linux dla Raspberry Pi (>>więcej o tym artykule<<)
Najszybszym i najprostszym sposobem rozpoczęcia przygody z Raspberry Pi jest uruchomienie gotowego obrazu karty SD, który można pobrać ze strony producenta. Ponieważ jednak nie dla wszystkich komputerów wbudowanych taka opcja jest dostępna, warto zobaczyć, w jaki sposób można utworzyć swoją dystrybucję. Pozwoli to na lepsze zrozumienie działania systemu operacyjnego.
Rafał Kozik
PROGRAMOWANIE APLIKACJI WEBOWYCH
Wyszukiwanie wizualne, czyli najbardziej pożądana funkcjonalność w Internecie
W przeciwieństwie do komputerów ludzie przetwarzają obrazy łatwiej i szybciej niż tekst. Użytkownicy stają się niecierpliwi i oczekują, że technologia będzie im czytać w myślach, zapewniając dopasowane treści. Programiści mają coraz więcej możliwości pracy z uczeniem maszynowym i coraz lepsze narzędzia. Przyjrzyjmy się dokładniej wyszukiwaniu wizualnemu: jak i gdzie działa, dlaczego zyskuje na popularności i jak można zaimplementować je samodzielnie.
Aleksandra Kunysz
PROGRAMOWANIE W CHMURZE
AWS Lambda. Tworzenie usług i aplikacji typu serverless
Programowanie w chmurze z wykorzystaniem architektury serverless stanowi jeden z kluczowych elementów tworzenia nowoczesnych systemów informatycznych. Projektowanie rozwiązań w oparciu o gotowe, automatycznie skalowalne usługi umożliwia nam, developerom, koncentrowanie się na implementacji naszych pomysłów bez konieczności aprowizacji serwerów, instalowania systemów operacyjnych czy dbania o kopie zapasowe. W tym artykule pokażę, w jaki sposób utworzyć rozbudowane rozwiązanie serverless dla Internet of Things, złożone z emulatorów IoT, mechanizmu składowania danych, ich analizy w czasie rzeczywistym oraz prezentacji w witrynie hostowanej w chmurze. Do tego celu wykorzystam usługi od Amazon Web Services, a w tym AWS Lambda, Amazon Simple Notification Service, AWS IoT Core, Amazon API Gateway, Amazon DynamoDB i Amazon S3.
Dawid Borycki
BEZPIECZEŃSTWO
Bezpieczeństwo jednostek (>>więcej o tym artykule<<)
23 września 1999 roku platforma Mars Climate Orbiter w trakcie wchodzenia na orbitę Marsa wykonała manewr, którego celem było ustawienie jej na wysokości 140–150 km nad powierzchnią planety. Manewr ten niestety nie miał szans się powieść, ponieważ sonda znajdowała się już wówczas na wysokości 57 km. Wbrew pierwotnym założeniom weszła ona w atmosferę Marsa, a następnie – chociaż tego dokładnie już nie wiemy – rozbiła się na planecie lub wróciła na heliocentryczną orbitę po opuszczeniu atmosfery, niestety już tylko jako kilkaset kilogramów bezużytecznego złomu.
Wojciech Sura
Jak mnie słyszą, tak mnie piszą, czyli jak głos buduje wizerunek
Na podstawie ludzkiego głosu jesteś w stanie określić, z jaką osobą rozmawiasz. Płeć, przybliżony wiek, słyszysz, czy osoba jest zdrowa, czy przeziębiona, w jakim jest nastroju. Oceniasz jej osobowość, słyszysz, czy jest osobą zdecydowaną, konkretną, dominującą. Oceniają nas ludzie i oceniają nas maszyny. Pisząc odpowiednie algorytmy, nauczyliśmy maszyny rozumienia ludzkich emocji, oceniania naszego stanu zdrowia, a także sprawdzania lojalności wobec pracodawcy. Jak zatem radzić sobie z głosem, aby i ludzie, i maszyny miały o nas jak najlepsze zdanie?
Monika Malinowska
KLUB DOBREJ KSIĄŻKI
Człowiek vs Komputer
Rafał Kocisz