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...
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 sp...
Uczenie maszynowe staje się wszechobecne. Dzięki coraz lepszym narzędziom służącym do tworzenia aplikacji szczegóły techniczne związane z obliczeniami i modelami matematycznymi są często pomijane przez projektantów. Owszem, to wygodne podejście, ale wiąże się z ryzykiem braku świadomości co do wszystkich konsekwencji wybranych rozwiązań projektowych, szczególnie ich mocnych i słabych stron. A zatem bez ugruntowanych podstaw matematyki nie można mów...
Hardware i testy penetracyjne. Przewodnik po metodach ataku i obrony 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ę...
Majsterkowiczów wyróżnia ciekawość. Pasjonuje ich wyjaśnianie, jak działają poszczególne obiekty, i praktyczne zastosowanie wiedzy w coraz to ambitniejszych projektach. Bogatym źródłem inspiracji dla wszystkich złotych rączek jest inżynieria mechaniczna. Przydaje się również odrobina wiedzy o prawidłach fizyki i matematyki. Można ją zdobyć podczas lektury trudnych podręczników akademickich albo na wyczerpujących studiach inżynierskich...
Poznaj podstawy programowania funkcyjnego w Javie Java jest obiektowym, bazującym na klasach, współbieżnym językiem programowania. Niezwykłą popularność zawdzięcza on między innymi niezależności od platformy, łatwości pisania w nim programów i klarownemu kodowi. Nic więc dziwnego, że Javę pokochało wielu programistów. To do nich jest skierowana dwuczęściowa publikacja Java. Zadania z programowania, której autorem jest Mirosław J. Kubiak. Jej drug...
Programowanie w Javie - szybko i konkretnie "Jeśliby posadzić milion małp przy milionie klawiatur, któraś z nich napisze w końcu program w Javie. Reszta zrobi to w Perlu" - głosi jedna z informatycznych anegdot punktujących Javę. Cokolwiek by jednak mówić o tym języku programowania, trzeba przyznać, że powstały w nim kod jest niezależny od systemu operacyjnego i procesora. Właśnie ta cecha stanowi o ogromnej popularności Javy. Jeśli chcesz dołączyć d...
Go pojawił się w 2009 roku, służy do tworzenia usług internetowych. Pozwala na łatwe pisanie wydajnych aplikacji. Zdobył popularność, jednak wielu programistów nie wykorzystuje w pełni jego możliwości. Dotyczy to zwłaszcza osób, które przy pisaniu kodu Go korzystają z konstrukcji właściwych dla innych języków. Nie jest to właściwa metoda programowania. Aby tworzyć przejrzysty, prawidłowy kod w Go, należy do niego podejść w sposób idiomatyczn...
Najlepszą metodą unikania udanego cyberataku jest utrzymywanie w gotowości zabezpieczeń systemowych. Szczególna rola na tym polu przypada pentesterom, którzy używając tych samych technik co napastnicy, wyszukują podatności i przełamują zabezpieczenia. To pozwala lepiej dostroić działanie mechanizmów obronnych. Ulubionym systemem pentesterów jest Kali - popularna i potężna dystrybucja Linuxa. Zawiera ona przebogatą bibliotekę narzędzi służących do p...
Zabaw się w elektronika! Poznaj kolejne etapy powstawania układów Zaprojektuj układy analogowe i cyfrowe Zbuduj przydatne urządzenia elektroniczne Czy ktoś, kto pisze o bramkach (logicznych), opowiada o sporcie? Czy miejsce multiwibratora jest na półce w sklepie z gadżetami erotycznymi? Czy słowo "negator" oznacza osobę będącą zawsze na "nie"? Odpowiedzi na te (tendencyjne!) pytania znajdziesz w najnowszej, książce z serii Elektronika ...
Elektronik, zwłaszcza gdy pracuje nad trudniejszymi projektami, musi mieć dostęp do rzetelnych i sprawdzonych informacji. Oczywiście, jakieś dane są dostępne w kartach produktów, biuletynach producentów czy internecie. Tyle że wyszukiwanie i weryfikowanie tych źródeł bywa czasochłonne. Każdy elektronik, zarówno zawodowiec, jak i amator, doceni więc zamysł, by niezbędne informacje zebrać w jednym miejscu, w formie dobrze zorganizowanego zestawienia,...
Król Excel do Twoich usług Czterysta lat. Tyle czasu zajęłoby Ci uzupełnienie ― choćby jednym znakiem ― wszystkich komórek w arkuszu Excela. A tych w nowszych wersjach programu jest ponad 17 miliardów ― przeszło milion wierszy i dobrze ponad 16 tysięcy kolumn. Ktoś kiedyś dokonał takich (chyba zbędnych?) komórkowo-czasowych obliczeń. Po co? Pewnie dla zabawy. Gdzie? Może… w arkuszu Excela? Właściwie dlaczego nie. Wszak Exc...
Język C# cechują dojrzałość, prostota i nowoczesność. Służy on do wielu celów: do tworzenia aplikacji sieciowych, aplikacji działających w chmurze, oprogramowania dla urządzeń mobilnych i internetu rzeczy. Choć pozwala na pisanie kodu bezpiecznego, przejrzystego, wydajnego i prostego w konserwacji, zdarzają się przypadki, gdy jest on tak fatalnej jakości, że uzyskanie właściwej skalowalności i wydajności oprogramowania staje się niemożliwe. W takim wypadku trzeba ziden...
Uczenie głębokie zmienia oblicze wielu branż. Ta rewolucja już się zaczęła, jednak potencjał AI i sieci neuronowych jest znacznie większy. Korzystamy więc dziś z osiągnięć komputerowej analizy obrazu i języka naturalnego, wspierania badań naukowych czy budowania skutecznych strategii biznesowych - wchodzimy do świata, który do niedawna był dostępny głównie dla naukowców. W konsekwencji trudno o źródła wiedzy, które równocześnie byłyby...
Twórz od podstaw rozbudowane i niezawodne aplikacje webowe w Pythonie Django jest potężnym frameworkiem służącym do tworzenia aplikacji internetowych w Pythonie. Pozwala na pełne wykorzystywanie zalet tego języka, takich jak przejrzystość, elastyczność, wszechstronność i łatwość uczenia się. Wykorzystywanie Django do budowania aplikacji w Pythonie jest atrakcyjną możliwością zarówno dla początkujących, jak i zaawansowanych programistów. Aby jednak zapewn...
Popularność Arduino szybko rośnie. Dla niektórych jest to uzależniające hobby, dla innych - praktyczny, tani komputer, który może komunikować się ze światem zewnętrznym i obsługiwać przeróżne urządzenia elektroniczne. Arduino jest przy tym stosunkowo prosty w obsłudze nawet dla osób bez doświadczenia w programowaniu i elektronice. Wystarczy dobry pomysł i dzięki Arduino można łatwo tworzyć projekty związane z internetem rzeczy, czujniki monitorując...
Zapewnienie bezpieczeństwa IT przypomina wyścig zbrojeń. Trzeba bezustannie wykrywać zagrożenia i reagować na incydenty bezpieczeństwa, gdyż przeciwnicy wciąż się doskonalą i opracowują nowe metody ataku. Podobnie jak podczas wojny, należy stawiać na szybkość, zwinność, wykorzystywanie okazji, a także precyzję ataku i kontrataku. Okazuje się, że jeśli konieczny jest taki sposób działania, jedyna możliwa opcja to użycie standardowego wiersza poleceń - żaden inny program...
Dzięki kryptografii możemy w dużym stopniu zabezpieczyć swoje dane. Z szyfrowaną komunikacją wiążą się jednak kontrowersje i sprzeczności interesów. Przestępcy, ale również rządy, policja i służby wywiadowcze dążą do uzyskania możliwości wglądu we wszystkie formy komunikacji. Świat toczy wojnę o to, co można zaszyfrować, co powinno być zaszyfrowane i kto powinien dysponować kluczem pozwalającym odczytać zaszyfrowane wiadomości należące do innej osoby. W tej sytu...
Zmiana nawyków czy modyfikacja zachowania bywa bardzo istotną kwestią. Często chodzi o coś więcej niż o proste przestawienie się z produktu na produkt - stawką może być zdrowie albo bezpieczeństwo. Jest sporo produktów cyfrowych, które mają za zadanie ułatwić użytkownikom wprowadzanie takich ważnych zmian: celem może być na przykład regularna aktywność fizyczna czy racjonalne zarządzanie swoim budżetem. Użyteczność tych produktów bywa jednak niewie...
C# jest wyjątkowo udanym dziełem Microsoftu - konsekwentnie rozwijanym, dojrzałym i wyjątkowo wszechstronnym obiektowym językiem programowania. Wersja C# 9.0 została dostosowana do współpracy ze środowiskiem uruchomieniowym Microsoft .NET 5. Język ten pozwala programistom na uzyskiwanie imponującej efektywności - dzięki prostocie, ekspresywności kodu i wydajności działania. Jednak nawet profesjonaliści, którym zależy na sprawnej pracy, potrzebują niekiedy poręcz...
C# - prędko, prosto, praktycznie! Poznaj konstrukcje języka Naucz się przetwarzać dane Zacznij programować obiektowo C# - wieloparadygmatowy język programowania opracowany przez firmę Microsoft - z roku na rok zdobywa coraz większą popularność wśród profesjonalistów z branży IT. Przejrzysta struktura kodu, wygoda stosowania, potężne możliwości i wsparcie ze strony platformy .NET - wszystko to sprawia, że są duże szanse, by ten trend utrzymywał się przez k...
Elektronicy nie mogą narzekać na niedostatek lub niedostępność informacji. Niestety, często są one nieuporządkowane, nierzetelne lub niewiarygodne. Aby z nich skorzystać, trzeba od ważnej i przydatnej wiedzy odsiać błędy, niepotwierdzone teorie, a nawet plagiaty czy zwykłe dziwactwa. Kosztuje to sporo czasu i nie gwarantuje efektów. Tymczasem w pracy elektronika szczegóły są bardzo ważne. Nie zawsze są udostępniane przez producentów w kartach produkt&oacu...
Biuro w chmurze_x005F_x000D_ _x005F_x000D_ Office 365 to pakiet usług oferowanych w ramach Microsoft Cloud, czyli w chmurze. Dostępna w 181 krajach na całym świecie Microsoft Cloud w czerwcu 2019 roku obsługiwała miliard użytkowników, w tym dwadzieścia milionów firm. Skąd taka popularność pakietu Office 365? Zapewne wynika ona z kompleksowości oferowanych usług i wygody korzystania. Umieszczenie zasobów w chmurze pozwala nie martwić się o moc i stan własn...
C++ wyjątkowo dobrze nadaje się do nauki jako "pierwszy poważny język programowania", a równocześnie jest znakomitym, wszechstronnym narzędziem do tworzenia nowoczesnych aplikacji. Programowanie w nim wymaga nieco wysiłku, ale pozwala zarówno szybko przyswoić najważniejsze paradygmaty informatyki, jak i wdrożyć się w pisanie kodu zgodne z dobrymi praktykami. Przy tym C++ ma cechy nowoczesnego języka programowania, a jego możliwości są poszerzane dzięki...