Wydawałoby się, że język C najlepsze lata ma już za sobą. Opracowano w końcu mnóstwo łatwych w użyciu i efektywnych wysokopoziomowych języków programowania. W rzeczywistości język C wciąż okazuje się niezastąpiony do tak ważnych celów, jak programowanie sterowników, systemów operacyjnych, kart graficznych, a także niewielkich mikrokontrolerów o ograniczonych zasobach. Właśnie teraz, w czasach burzliwego rozwoju internetu rzeczy, język C udowadnia swoją przydatność. Wystarczy ...
Sieci komputerowe oplatają świat dosłownie i w przenośni. Stanowią krwiobieg współczesnych systemów informatycznych, zapewniając dostęp do internetu nawet w najdalszych zakątkach globu i dostarczając miliardom ludzi najrozmaitszych informacji i usług cyfrowych. Oczywiście sieci nie utrzymują się same. Odpowiadają za to wykwalifikowani specjaliści ― administratorzy sieci ― którzy od lat mogą przebierać w atrakcyjnych ofertach zatrudnienia i bez wątpienia także w przyszłości bę...
Inflacja, sterowane kryzysy gospodarcze, pękające bańki, afery związane z udzielaniem kredytów i zadłużaniem się — to tylko kilka problemów, których doświadczamy w efekcie scentralizowanej bankowości powiązanej z polityką. Z drugiej strony bitcoin i łańcuch bloków kojarzą się z mrocznym półświatkiem i łatwymi pieniędzmi, przez co rozbudzają ludzkie lęki i chciwość. Jeśli jednak odsunie się na bok wątki sensacyjne, łatwo zauważyć, że zdecentralizowana cyfrowa waluta ma potencj...
Wraz z rozwojem internetu rzeczy, a także upowszechnianiem się elektronicznego sterowania i kontrolowania różnych procesów przestępcy doskonalą techniki łamania zabezpieczeń systemów wbudowanych. Konsekwencje skutecznego ataku na jakiś kluczowy element infrastruktury mogą się okazać dotkliwe i niezwykle kosztowne. Oznacza to, że testowanie pod kątem bezpieczeństwa powinno dotyczyć sprzętu i systemów wbudowanych. Również elektronicy powinni umieć chronić przed atakami swoje ur...
Jeśli nie mieszkasz w jaskini na końcu świata, komputery prawdopodobnie opanowały już niemal każdy obszar Twojego życia. Otaczają Cię dosłownie ze wszystkich stron i pomagają w wielu codziennych czynnościach. Z pewnością używasz ich do komunikacji, rozrywki, pracy i nauki, robisz za ich pomocą zakupy i planujesz wakacje. Dzięki komputerom Twoja codzienność jest prostsza i przyjemniejsza... do czasu, gdy musisz coś załatwić z kimś, kto odpowiada za ich programowanie. W tym mom...
Nowe miejsce, nowy dom, nowi ludzie... i uśpione demony przeszłości Elizabeth Parker zostawia słoneczne kalifornijskie plaże, w samym środku roku szkolnego, dla deszczowej Anglii. W dodatku zamieszkuje u zupełnie obcych ludzi, wśród których ma spędzić nadchodzące miesiące. Trochę dużo tych zmian jak na jedną nastolatkę. Crosby już od pierwszej chwili wydaje się dla niej miejscem idealnym. W końcu gdzie lepiej się zaszyć, jeśli nie w małym nadmorskim miasteczku, u rodziny, ...
Framework Tailwind CSS to prawdziwy webmasterski hit ostatniego roku. Wyjątkowym i nowatorskim czyni go przyjęta filozofia pracy. Twórcy frameworka proponują bowiem oryginalne podejście do tworzenia stron i aplikacji internetowych. Zamiast ściśle semantycznego sposobu tworzenia klas CSS Tailwind opiera się na fundamencie zwanym Utility-First. Dzięki temu architekt interfejsu nie marnuje czasu na generowanie wymyślnych nazw opisujących poszczególne elementy, a podchodzi do nic...
Czy wiesz, że projektowanie skutecznych produktów cyfrowych, takich jak aplikacje, strony czy systemy, to znacznie więcej niż nadanie im ładnego wyglądu? O ich sukcesie przesądza równowaga między użytecznością, zaspokajaniem potrzeb użytkownika a szatą graficzną. Jeśli chcesz się dowiedzieć, jak prawidłowo definiować funkcje takich produktów, jak dobrze je zaprojektować i prowadzić badania jakościowe z użytkownikami — koniecznie sięgnij po ten niezwykle użyteczny zestaw książ...
Czy wiesz, że projektowanie skutecznych produktów cyfrowych, takich jak aplikacje, strony czy systemy, to znacznie więcej niż nadanie im ładnego wyglądu? O ich sukcesie przesądza równowaga pomiędzy użytecznością, zaspokajaniem potrzeb użytkownika a szatą graficzną. Jeśli chcesz się dowiedzieć, jak prawidłowo definiować funkcje takich produktów, jak dobrze je zaprojektować i prowadzić badania jakościowe z użytkownikami — koniecznie sięgnij po ten niezwykle użyteczny zestaw ksi...
Wśród księgowych, naukowców i inżynierów krąży żart, że jedyną rzeczą, z którą Excel jeszcze sobie nie radzi, jest parzenie kawy. I choć to tylko dowcip, sporo mówi o możliwościach tego popularnego narzędzia firmy Microsoft. Za pomocą Excela bowiem można wygodnie i szybko gromadzić, przetwarzać i analizować zbiory najrozmaitszych danych. Jego prawdziwa moc jednak ujawnia się dopiero wtedy, gdy potrzebne są zaawansowane funkcje programu. Dzięki nim można wydajnie przeprowadzać...
Microsoft Office to standard na rynku oprogramowania biurowego, używają go firmy, szkoły, biura i urzędy na całym świecie. Niezależnie, czy chodzi o tworzenie i formatowanie dokumentów tekstowych, gromadzenie, przetwarzanie i wizualizację danych, opracowywanie różnego rodzaju prezentacji biznesowych lub naukowych, zarządzanie kalendarzami i korespondencją elektroniczną, czy sprawne sporządzanie notatek - MS Office jest numerem jeden. Trudno już sobie wyobrazić skuteczne prowa...
Doskonałe opanowanie dowolnego języka programowania nie wystarczy do tego, aby stać się świetnym programistą czy deweloperem. Konieczne jest również zdobycie praktycznej wiedzy dotyczącej algorytmów. Oznacza to, że aby pisać lepszy kod, podczas rozwiązywania rzeczywistych problemów trzeba umieć korzystać z algorytmów, włączając w to ich budowanie, modyfikację i implementację. Niezależnie od tego, jaką dziedziną informatyki się zajmujesz, biegłość w posługiwaniu się algorytmam...
Popularność Pythona, ulubionego języka programistów i naukowców, stale rośnie. Jest on bowiem łatwy do nauczenia się: nawet początkujący programista może napisać działający kod. W efekcie, mimo że Python pozwala na pisanie kodu przejrzystego i prostego w konserwacji, zdarzają się przypadki kodu źle zorganizowanego, nieczytelnego i praktycznie nietestowalnego. Jedną z przyczyn tego stanu rzeczy jest tendencja niektórych programistów do pisania kodu bez czytelnej struktury. Zid...
Programowanie to w dużym uproszczeniu wydawanie komputerowi odpowiednich poleceń. Aby jednak móc to robić, trzeba opanować trudną sztukę komunikacji z maszyną, co w praktyce sprowadza się do posługiwania się zrozumiałym dla niej językiem. Obecnie niemal nikt nie musi się już uczyć języków niskopoziomowych, które są minimalistyczne i niezawodne, ale trudne do nauki i zastosowania w przypadku złożonych projektów. Z pomocą przychodzą tu języki wysokopoziomowe, a zwłaszcza łącząc...
Sukces przedsiębiorstwa zależy od jakości podejmowanych decyzji. Spośród strategii, które wspierają ten proces, na szczególną uwagę zasługuje zastosowanie analizy danych. Jest to jednak dość złożona dziedzina. Podstawowym narzędziem wielu analityków danych jest arkusz kalkulacyjny. Ma on tę zaletę, że ułatwia solidne zrozumienie prawideł statystyki i analizy danych. Po zdobyciu takich podstaw warto jednak pójść dalej i nauczyć się eksploracyjnej analizy danych za pomocą język...
Technologie Kubernetes i Docker szybko zdobyły zaufanie dużych firm i dziś są standardową infrastrukturą pozwalającą na tworzenie, testowanie i uruchamianie aplikacji. W porównaniu z wcześniej stosowanymi rozwiązaniami wymagają jednak zupełnie innego podejścia do budowy i wdrażania oprogramowania. Oznacza to, że jeśli korporacja chce w pełni skorzystać z potencjału Kubernetesa i Dockera, musi znaleźć osoby dysponujące wiedzą i umiejętnościami pozwalającymi na zintegrowanie kl...
C# jest uważany za flagowy produkt firmy Microsoft. Od początku był konsekwentnie rozwijany - z najwyższą troską o elastyczność i wszechstronność. W efekcie pozwala na pisanie bezpiecznego kodu. Wersja 9.0 jest ósmą poważną aktualizacją tego języka. Zapewnia wysokopoziomowe abstrakcje, takie jak wyrażenia, zapytania i kontynuacje asynchroniczne, ale także udostępnia niskopoziomowe mechanizmy pozwalające uzyskać maksymalną wydajność aplikacji. Cel ten jest osiągany dzięki taki...
PowerShell powstał w 2006 roku. Jest to potężne i uniwersalne narzędzie, pomocne w automatyzacji niemal wszystkich żmudnych czynności, które administrator musi często wykonywać. Aby nie tracić czasu na powtarzalne, nudne zadania, trzeba tylko umieć biegle pisać skrypty PowerShell. Przyswojenie tej umiejętności jest łatwiejsze, jeśli wykorzystuje się logikę obiektową PowerShell, a także to, że obiekt powstający po wykonaniu polecenia ma swoje metody i właściwości.Ta książka je...
Po nauczeniu się podstaw Pythona przychodzi czas na coś poważniejszego. Umiesz już napisać kilkanaście linii kodu, który działa zgodnie z oczekiwaniami, znasz składnię języka i wiesz, jakie możliwości oferuje. Być może nawet traktujesz tworzenie kodu w Pythonie jako świetną zabawę. W każdym razie, skoro znasz już podstawy, możesz się zająć prawdziwymi projektami. Dzięki nim nie tylko rozwiążesz palące problemy codziennego życia, ale również nauczysz się tworzyć kompletne, fun...
Mimo upływu lat relacyjne bazy danych wciąż mają się świetnie! Z każdym rokiem stają się coraz doskonalsze i radzą sobie z coraz większymi zbiorami danych. Wciąż jednak podstawą dobrej aplikacji bazodanowej jest dobry projekt samej bazy. Wielu osobom projektowanie poprawnych struktur bazodanowych wydaje się czymś z pogranicza wyższej matematyki i czarnej magii. Tymczasem zdobycie tej umiejętności jest możliwe bez lat studiowania skomplikowanych teorii matematycznych. Wystarcz...
Bezpieczeństwo systemów informatycznych niejednemu spędza sen z powiek, konsekwencje udanego włamania bowiem mogą oznaczać milionowe straty i zrujnowaną reputację. Przy czym odpowiednie zabezpieczenie systemu jest dla wielu podmiotów niezwykle trudne, gdyż w zespołach brakuje osób z odpowiednimi umiejętnościami. Nawet zatrudnienie zewnętrznego konsultanta nie daje gwarancji, że firmowy system informatyczny będzie bezpieczny i odpowiednio chroniony przed atakami. Okazuje się, ...
Mimo że osiągnięcia matematyczne stały się podwalinami algorytmiki, wielu inżynierów nie w pełni rozumie reguły matematyki dyskretnej. Nawet jeśli nie stanowi to szczególnego problemu w codziennej pracy, w końcu okazuje się, że matematyka dyskretna jest niezbędna do osiągnięcia prawdziwej biegłości w operowaniu algorytmami i w pracy na danych. Co więcej, znajomość tej dziedziny bardzo ułatwia rozwiązywanie problemów z zakresu uczenia maszynowego. W ten sposób praktyczna biegł...
C jest systemowym językiem programowania, więc zapewnia maksymalną wydajność sprzętu bazowego. Program napisany w C współpracuje bezpośrednio z warstwą sprzętową, co daje pełną kontrolę nad jego wykonywaniem, a sam kod jest krótki, prosty i działa szybko. Równocześnie można korzystać z zalet programowania wysokiego poziomu. W efekcie C od dwóch dekad pozostaje jednym z najpopularniejszych języków programowania. Trzeba jednak pamiętać o bardzo ważnym szczególe: programista, kt...
Może się wydawać, że profesjonalne systemy uczenia maszynowego wymagają sporych zasobów mocy obliczeniowej i energii. Okazuje się, że niekoniecznie: można tworzyć zaawansowane, oparte na sieciach neuronowych aplikacje, które doskonale poradzą sobie bez potężnych procesorów. Owszem, praca na mikrokontrolerach podobnych do Arduino lub systemach wbudowanych wymaga pewnego przygotowania i odpowiedniego podejścia, jest to jednak fascynujący sposób na wykorzystanie niewielkich urzą...