Programista 8/2019 (87)
Programista 8/2019 (87)
Qt (wym. „kjuːt”, jak słowo „cute”) to rozwijany przez firmę The Qt Company framework programistyczny udostępniany zarówno na licencji komercyjnej, jak i GPL/LGPL. Jest on głównie kojarzony z tworzeniem wieloplatformowego oprogramowania z graficznym interfejsem użytkownika (GUI) w języku C++. Jego możliwości i zastosowania są jednak znacznie szersze – autor tego artykułu prywatnie nazywa go .NET-em dla C++.
Uwierzytelnianie oraz autoryzacja są zagadnieniami, z którymi podczas projektowania aplikacji internetowych prędzej czy później trzeba się zmierzyć. ASP.NET (zarówno ten dla .NET Frameworka, jak i dla .NET Core) zawiera mechanizm o nazwie Identity, który rozwiązuje oba wspomniane wyżej problemy. Choć jednak mechanizm ten jest stosunkowo elastyczny i dostarcza dużo gotowych rozwiązań, to wprowadza również pewien zbiór koncepcji, które trzeba zrozumieć, by móc z powodzeniem go zastosować.
Od kilku lat wielką popularnością w środowisku R cieszy się tak zwany „pipe”, czyli symbol „%>%”, który pozwala zamiast standardowego sposobu wywołania funkcji „f(x, y)”, stosować zapis „x %>% f(y)”. Na pierwszy rzut oka ciężko wymyślić, jakie zalety mogłoby mieć takie podejście. Śmiem twierdzić — i w niniejszym artykule spróbuję to uzasadnić – że przestawienie się na pipe’a to zmiana wręcz rewolucyjna, szczególnie jeśli wykorzystujesz R do analizy danych.
Rok 2077. 95-letni Marcin zaczyna kolejny dzień od pożywnego śniadania oraz zaleconego przez jego opiekuna medycznego spaceru. Czuje się dobrze. Od lat jest pod opieką specjalistów, którzy na bieżąco monitorują jego stan zdrowia i wiedzą wszystko o jego schorzeniach czy dolegliwościach. Przed nim jeszcze kilkadziesiąt lat życia, nim osiągnie obecną średnią wieku człowieka na Ziemi, wynoszącą 122 lata… Ta wizja, która brzmi jak scenariusz filmu science-fiction, realizuje się już dzisiaj w labolatoriach GlobalLogic, by niedługo stać się rzeczywistością. Wszystko za sprawą internables.
Terminu „radio programowalne” (ang. software defined radio, w skrócie SDR) używa się do określenia systemu komunikacji bezprzewodowej, w którym funkcjonalność warstwy fizycznej jest realizowana głównie za pomocą oprogramowania. Sprzęt ograniczony jest do minimum i wykonuje zadania, których nie można zrealizować programowo (m.in. wzmocnienie i filtracja analogowego sygnału oraz jego konwersja na postać cyfrową).
Używając wysokopoziomowych języków programowania i wyszukanych abstrakcji, często tracimy z oczu procesor, a to on ostatecznie wykonuje napisany przez nas program. Bohaterem tego artykułu jest MOS 6510, mikroprocesor o architekturze, której prostotę i piękno oddaje następujący cytat:
Apache Kafka jest wieloserwerową platformą do propagacji zdarzeń w rozproszonych systemach informatycznych. Projekt powstał w firmie LinkedIn, a w 2011 roku upubliczniono go jako rozwiązanie o otwartym kodzie źródłowym (głównie Scala i Java). Dziś Kafka jest zarządzana przez fundację Apache i jest wspierana między innymi przez firmę Confluent założoną przez byłych pracowników LinkedIn, którzy byli jej twórcami. Platforma ta znana jest ze swojej znakomitej skalowalności horyzontalnej, pozwalającej na budowę klastrów będących w stanie rozpropagować tryliony zdarzeń dziennie.
Niedawno ruszył nabór do Zespołu Działań Cyberprzestrzennych. W związku ze specyfiką działań nie jest to proces łatwy, a od kandydatów wymagana jest specjalistyczna wiedza z obszaru IT oraz cyberbezpieczeństwa.
Czytałem kiedyś pewną książkę, ogólnie bardzo dobrze odebraną i polecaną przez wiele osób. Powiedziałem o tym przyjacielowi, a on popatrzył na mnie uważnie i powiedział: „Jest niezła, ale bądź ostrożny”. Zdziwiłem się i zapytałem: „Dlaczego?”. A on na to: „Bo ona wprawdzie opisuje rzeczy, z którymi możesz się utożsamić – i z wieloma osobami tak jest – ale przedstawia to jako jedyną możliwość, nie pozostawiając innych opcji. Znam ludzi, którzy wywrócili swoje życie do góry nogami, bo uwierzyli, że jest to jedyna właściwa droga, a oni po prostu powinni iść swoją drogą, inną niż ta przedstawiona w książce”.
Budowanie dobrych relacji z ludźmi jest niesamowicie ważne. W życiu to podstawa naszej egzystencji, w biznesie ma wpływ na konkurencyjność firmy. Te budowane na scenie, z twoim audytorium, są podstawą dobrej prelekcji. Bo tak naprawdę, jeżeli nie zbudujesz porozumienia ze swoimi słuchaczami, to treść, którą masz do przekazania, nie będzie już tak istotna. Wspólnym mianownikiem relacji i programowania jest kodowanie. Kodowanie przekazu i jego odkodowanie.
Technologia blockchain nieprzerwanie rozwija się, a umiejętność tworzenia Smart Contractów stanowi coraz większą wartość na rynku pracy. Jednak z racji na złożoność zagadnienia, próg wejścia do tej technologii jest dość wysoki. Z pomocą przychodzi portal InstytutKryptografii.pl, proponujący „Szkolenie z programowania blockchain – Solidity”, jeden z niewielu kursów programowania Smart Contractów dostępnych w języku polskim. Przyjrzyjmy się więc bliżej temu, co oferuje nam to szkolenie (jego pełny opis znajduje się pod [0]).