Zdajesz sobie sprawę, że tylko w 2021 roku cyberprzestępcy ukradli ponad 100 milionów dolarów w kryptowalutach, próbowali zatruć wodę na Florydzie, włamali się do sieci firmowej Pfizer Pharmaceuticals, zaatakowali Colonial Pipeline przy użyciu oprogramowania ransomware, atakowali agencje rządowe i działaczy politycznych licznych państw? Tego rodzaju ataki mogą mieć poważne konsekwencje społeczne i ekonomiczne. Nasze bezpieczeństwo zależy więc od możliwości zabezpieczenia infr...
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. Nie jest to jednak droga dla każdego pas...
Linux od dawna jest chętnie używanym systemem operacyjnym, na jego bazie powstało wiele dystrybucji odpowiadających zróżnicowanym potrzebom. Na pierwszy rzut oka może się wydawać, że większość zadań administracyjnych w Linuksie najwygodniej wykonywać za pomocą myszy. Wiersz poleceń jest o wiele trudniejszym interfejsem: na ekranie wyświetla się znak zachęty, a system oczekuje na wpisanie poprawnie zbudowanego polecenia. Taki sposób pracy jednak pozwala na uzyskanie dużo wyższ...
Blockchain, czyli łańcuch bloków, niefortunnie kojarzy się z kryptowalutami i przestępczością. Tymczasem potencjał tej technologii jest ogromny i zapewne wciąż nie znamy wszystkich możliwych jej zastosowań. Łańcuch bloków jest w istocie publicznym rejestrem, który może się stać ogólnoświatową, zdecentralizowaną księgą służącą do rejestrowania, inwentaryzacji i organizowania transferów wszelkiego rodzaju aktywów. Najwyższy więc czas, aby emocje i sensacyjno-kryminalne wyobraże...
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 przeprowadzania testów penetr...
Unity to zintegrowane środowisko umożliwiające tworzenie trójwymiarowych i dwuwymiarowych gier oraz różnego rodzaju interaktywnych treści, takich jak wizualizacje i animacje komputerowe. Wieloplatformowość rozwiązania, prostota używania, bogate funkcje, możliwość generowania materiałów prezentowanych na różnych urządzeniach oraz obsługa różnych języków skryptowych zadecydowały o niezwykłej popularności Unity i spowodowały, że to jeden z najczęściej wykorzystywanych silników g...
Branża IT kusi licznymi ofertami pracy, atrakcyjnymi zarobkami i ciekawymi ścieżkami rozwoju nie tylko zawodowych programistów, lecz również osoby bez wykształcenia informatycznego czy doświadczenia w tej dziedzinie. Te ostatnie zwykle zaczynają karierę od roli testera aplikacji. Jednym z podstawowych wymogów stawianych początkującym testerom jest posiadanie certyfikatu ISTQB, uznawanego na całym świecie dokumentu świadczącego o opanowaniu najważniejszych kompetencji z zakres...
Jeśli przeanalizujesz najbardziej znaczące odkrycia, przekonasz się, że "samotny geniusz w chwili olśnienia" to jedynie romantyczny mit. Spektakularny sukces wymaga wysiłku grupy ludzi, czasem całkiem sporej. I tu zaczyna się problem: do zwiększania zaangażowania i budowania zwycięskich zespołów potrzeba wrażliwości, mądrości i zaufania. Jeśli skoncentrujesz się na osobach, a nie na sposobach, to niezależnie od Twojego talentu i woli zwycięstwa znajdziesz ścieżkę do osiągania...
Algorytmy to skończone ciągi jasno zdefiniowanych czynności, prowadzących do wykonania określonych zadań. Niniejszy podręcznik, skupiony na algorytmach imperatywnych (od łacińskiego słowa imporo – rozkazywać) wprowadza podstawowe pojęcia algorytmiki niezbędne do nauki programowania. Uczy projektowania, zapisywania i analizy poprawności, jak również podstaw szacowania złożoności czasowej i pamięciowej algorytmów. Wraz z książką, którą trzymasz w ręku między innymi:- Poznasz s...
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 Excel to najpopularniejszy arkusz kalkulacyjny świata.Korzystanie z Excela zaczyna s...
Jak prowadzić cyberśledztwo. Zabezpieczanie i analiza dowodów elektronicznych Przestępcy sięgają po coraz to nowsze metody. Inżynierowie potrafią wykrywać ślady nielegalnych działań, jeśli jednak celem jest ujęcie i ukaranie sprawcy, potrzeba czegoś więcej. Zadaniem śledczego jest nie tylko przeprowadzenie badań, ale również zabezpieczenie i analiza dowodów, wreszcie - przedstawienie wyników swojej pracy tak, aby można ich było użyć w postępowaniu sądowym. By tak działać, k...
Python? Idealny dla praktyków! Wiernym czytelnikom publikacji spod znaku wydawnictwa Helion Piotra Wróblewskiego przedstawiać nie trzeba. Dość wspomnieć, że jest on autorem wielu publikacji poświęconych głównie programowaniu i obsłudze komputerów. Jego najnowsza książka, Algorytmy w Pythonie. Techniki programowania dla praktyków, to ponad 500 stron konkretnych informacji związanych z nauką programowania w Pythonie. Podręcznik jest przeznaczony przede wszystkim dla tych, k...
Programiści uwielbiają brać udział w nowych projektach, być świadkami ewolucji kodu, mieć wpływ na wybór narzędzi i projektować ich architekturę. Niestety, w ogromnej większości przypadków muszą pracować z kodem mającym wiele lat i pisanym przez wiele osób. Jak sobie poradzić w takim środowisku? Jak dobrać techniki pracy do gotowego kodu? Na te i wiele innych podobnych pytań odpowiada ten wyjątkowy podręcznik.Dzięki niemu dowiesz się, jak wprowadzać zmiany w zastanym kodzie, ...
Domain-driven design, czyli projektowanie dziedzinowe, w skrócie DDD, jest zbiorem praktyk tworzenia architektury oprogramowania z uwzględnieniem dziedziny biznesu i jej problemów. W ten sposób logika biznesowa staje się sercem aplikacji. Wielu architektów jednak nie radzi sobie ze złożonością tworzonego oprogramowania. Nauczenie się zasad i wzorców DDD, przyswojenie technik dekompozycji dużego systemu, modelowania i projektowania integracji komponentów jest sposobem na zbudo...
Python to wyjątkowo praktyczny język programowania, idealnie nadający się do szybkiego rozwiązywania niecodziennych problemów, z którymi często borykają się koderzy. Nie wymusza on stosowania jednego stylu programowania, co pozwala na dużo większą elastyczność w trakcie pisania kodu. Umożliwia programowanie obiektowe, strukturalne i funkcyjne, a ponadto udostępnia zaawansowane mechanizmy zarządzania pamięcią, zapewnia dynamiczne sprawdzanie typów oraz czytelną składnię. Te ws...
W złożonej rzeczywistości myślenie systemowe jest kluczowym narzędziem pozwalającym odnieść się do licznych wyzwań: gospodarczych, ekologicznych, politycznych czy społecznych. Tylko w ten sposób w codziennych wiadomościach można dostrzec przejawy trendów, a w trendach - przejawy struktury. Zrozumienie tych procesów pozwala nie tylko na łatwiejszą egzystencję w świecie złożonych systemów, ale także na podejmowanie racjonalnych decyzji biznesowych czy politycznych. Bez myślenia...
Tworzenie skomplikowanych systemów informatycznych wymaga nowego podejścia. Dotychczas stosowane metody przestają się sprawdzać i generują mnóstwo problemów. Odpowiedzią na nie jest DomainDriven Design, w skrócie DDD. W tym podejściu szczególny nacisk kładzie się na tworzenie obiektów dokładnie odzwierciedlających zachowanie ich odpowiedników istniejących w rzeczywistości. Dzięki temu projektowanie systemu można powierzyć ekspertom z danej branży, którzy niekoniecznie muszą b...
Rozwój technologii i dostęp do danych finansowych stały się ogromnym ułatwieniem w korzystaniu z globalnych rynków finansowych. Jeśli zechcesz, możesz szybko zacząć przygodę na przykład z handlem algorytmicznym. Wystarczy, że masz niewielkie pojęcie o matematyce, programowaniu i ekonomii. Niestety, nieliczne programy nauczania o finansach integrują ze sobą te trzy dziedziny. Tymczasem koncepcje matematyczne wspaniale ułatwiają zrozumienie pojęć z zakresu inżynierii finansowej...
Nie wystarczy znajomość jednego języka programowania, aby zostać programistą. W rzeczywistości trzeba opanować dość szeroki zakres pojęć i paradygmatów, a także zrozumieć zagadnienia związane z algorytmami. Trzeba być na bieżąco z nowymi technologiami i narzędziami. Należy również poznać i zacząć stosować dobre praktyki programistyczne i przyswoić sobie zasady pracy w zespole. Przede wszystkim jednak priorytetem jest sama praktyka, ponieważ wielu programistów wciąż ma problem...
Należący do języków ogólnego przeznaczenia C++ od lat pozostaje niezwykle popularny wśród programistów. I wciąż zdobywa nowych entuzjastów. Jeśli chcesz się przekonać, jak się pracuje z tym wszechstronnym i potężnym językiem, przygodę z nim koniecznie rozpocznij od tego podręcznika! Przeprowadzi Cię on krok po kroku przez najważniejsze zagadnienia i definicje związane z C++. Z pewnością docenisz to, że każde pojęcie, które należy opanować, zostało zilustrowane gotowym, działa...
Robotyka jest bardzo ciekawą dziedziną inżynierii o ogromnym znaczeniu praktycznym. Wymaga znajomości kilku dyscyplin wiedzy, takich jak algorytmika, matematyka czy mechanika. Równocześnie roboty oddziałują na wyobraźnię i są przedmiotem zainteresowania uczniów na każdym poziomie edukacji, od przedszkolnego po uniwersytecki. O ile jednak początkowe zapoznawanie się z robotami polega głównie na zabawie i eksperymentach, o tyle poważniejsze studiowanie robotyki oznacza konieczn...
Oto propozycja dla specjalistów zajmujących się programowaniem sztucznej inteligencji i studentów kształcących się w tej dziedzinie. Autor przybliża tajniki tworzenia sieci neuronowych stosowanych w uczeniu głębokim i pokazuje, w jaki sposób używać w tym celu bibliotek Keras i TensorFlow. Objaśnia zagadnienia dotyczące programowania AI zarówno w teorii, jak i praktyce. Liczne przykłady, czytelna oprawa graficzna i logiczne wywody sprawiają, że to skuteczne narzędzie dla każde...
Mikrousługi są dla wielu organizacji wspaniałą alternatywą. Systemy rozproszone złożone ze współpracujących ze sobą mikrousług pozwalają na efektywne i elastyczne dostarczanie oprogramowania, które ściśle odpowiada na wymagania użytkowników. Dodatkową zaletą jest możliwość relatywnie szybkiego wprowadzania modyfikacji w systemie, co ułatwia płynne zaspokajanie zmieniających się potrzeb. Pewnym wyzwaniem dla programistów jednak może być złożoność powodowana przez właściwości a...
Język SQL został stworzony jako narzędzie do przetwarzania danych. Mimo że zwykle jest używany do pracy z bazami danych, jego możliwości są o wiele większe. Poprawny kod SQL ułatwia przetwarzanie potężnych zbiorów danych z dużą szybkością. Szczególnie obiecującą perspektywą jest zastosowanie języka SQL na wielkich zbiorach danych przechowywanych w chmurze. Dzięki nieco bardziej złożonym konstrukcjom SQL analityk danych może z dużą efektywnością wydobywać z nich wiedzę.Ta prak...
Kategoria „Internet, komputery, informatyka” zawiera publikacje skupiające się na wszystkich zagadnieniach związanych z siecią, komputerami, programami komputerowymi czy oprogramowaniem. Książki z tej kategorii poświęcone są w głównej mierze programowaniu – znajdują się tu m.in. podręcznik „Wstęp do informatyki” Jacka Lembasa i Rafała Kawy przeznaczony dla studentów pierwszego roku kierunków informatycznych, poradnik „Sztuka dobrego programowania” Krzysztofa Jassego i Andrzeja Ziemkiewicza, w którym dobre rady znajdą zarówno początkujący, jak i zaawansowani programiści, poradnik „Java. Uniwersalne techniki programowania” pod redakcją naukową Krzysztofa Barteczki dotyczący programowania w języku Java, podręcznik „HTML. Tworzenie stron www i programów desktopowych” Rafała Strychalskiego (podzielony na 3 części: dla początkujących, średniozaawansowanych i zaawansowanych). Znajdują się tu także poradniki z innych dziedzin, jak np. e-commerce („Narzędzia Google dla e-commerce” Krzysztofa Marca), marketingu internetowego („AdWords i Analytics” Krzysztofa Marca i Tomasza Trzósły), praktyk zwinnych („W poszukiwaniu zwinności w architekturze systemów IT” Krzysztofa Bończaka”), rzeczywistości wirtualnej („Rzeczywistość wirtualna (VR) dla każdego – Aframe i HTML 5” Krzysztofa Wońka). Nie brakuje również pozycji dla dzieci, które już od małego chcą rozpocząć swoją przygodę z programowaniem w Scratchu, Pythonie czy Javie („Bawimy się, programując w Scratchu” i „Twórz własne gry komputerowe w Pythonie” Ala Sweigarta, „JavaScript dla dzieci. Programowanie na wesoło” Nicka Morgana), grafiką komputerową („Piksele, wektory i inne stwory” Alicji Żarowskiej-Mazur i Dawida Mazura), produkcją filmową („Zostań gwiazdą YouTube'a” Nicka Willoughby’ego).