Praca zdalna daje hakerom wiele nowych możliwości i okazji do ataków, obecnie bowiem za pośrednictwem sieci udostępnianych jest znacznie więcej poufnych informacji niż kiedykolwiek wcześniej. Test penetracyjny ma za zadanie symulować taki atak hakera napastnika. Poza skutecznością mechanizmów obronnych testy penetracyjne sprawdzają skutki fazy powłamaniowej eksploracji skompromitowanego systemu. A to pozwala na wykazanie ryzyka naruszenia bezpieczeństwa informac...
Zadbaj o swoje (cyber)bezpieczeństwo_x005F_x000D_ _x005F_x000D_ Żyjemy w coraz bardziej ucyfrowionym świecie. Wszystko, co tylko można przenieść do internetu, przenosimy. W sieci się komunikujemy, oddajemy rozrywce i nauce, robimy zakupy, załatwiamy sprawy urzędowe. Bo tak jest szybciej, taniej, wygodniej. Zwłaszcza że "podręczne centrum operacyjne", czyli smartfon, mamy zawsze ze sobą. Dotąd ta opowieść brzmi jak bajka - niestety, jak każda bajka, i ta ma negatywne...
Coraz więcej złożonych, powtarzalnych zadań powierzamy automatom. Inteligentny robot nigdy się nie znudzi, nie zmęczy i będzie cały czas pracował z zadaną prędkością. Zapewnia nam to odpowiednią wydajność i bardzo dużą dokładność wykonywanych czynności. Oczywiście aby osiągnąć te korzyści, najpierw trzeba robota zbudować i zaprogramować. Warto spróbować własnych sił w tej materii. Wiedza o programowaniu autonomicznych robotów jest coraz cenniejsza na rynku pracy...
Zabawę w programowanie czas zacząć!_x005F_x000D_ _x005F_x000D_ Pod intrygująco brzmiącą nazwą micro:bit kryje się niewielkich rozmiarów płytka będąca mikrokontrolerem ― czy inaczej: mikrokomputerem. Sercem wielu urządzeń, takich jak różne roboty i inteligentne modele samochodów. Micro:bit stanowi punkt wyjścia dla ich konstrukcji i jest urządzeniem niezwykle często pojawiającym się przy okazji rozmaitych projektów związanych z nauką programow...
Dawny Linux był niezawodny w działaniu, ale nie miał efektownego wyglądu i wymagał mozolnej konfiguracji, aby dostosować go do potrzeb użytkowników. Trzeba było znać wiele poleceń, skryptów i plików konfiguracyjnych. Zarządzanie systemem i siecią kosztowało sporo ręcznej pracy. Dzisiejszy Linux jest o wiele łatwiejszy w użytkowaniu. Poszczególne elementy zostały zmienione i usprawnione bez utraty tego, z czego Linux słynął od dawna: niezawodności, ...
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...
W 1995 roku świat ujrzał przyszłą gwiazdę programowania: Javę. Dziś to język dojrzały i elastyczny, dzięki czemu może służyć do pisania dużych systemów, małych programów, aplikacji mobilnych i internetowych. Java została zaprojektowana z ogromną starannością. W język wbudowano wysublimowane zabezpieczenia, a także pewne zaawansowane funkcje, które docenia każdy programista tworzący systemy o skomplikowanej architekturze._x005F_x000D_ _x005F_x000D_ Ta ksią...
_x005F_x000D_ Najważniejsze definicje języka_x005F_x000D_ Inspirujące przykłady praktyczne_x005F_x000D_ Solidne podstawy języka C++_x005F_x000D_ _x005F_x000D_ _x005F_x000D_ Poznaj język C++ przy pomocy 68 przykładowych programów_x005F_x000D_ _x005F_x000D_ 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ę pra...
System Linux umożliwia uzyskanie pełnej kontroli nad komputerem, pozwala bowiem na łatwy dostęp do jego ważnych elementów. Konfiguracja większości składników systemu jest zapisana w plikach tekstowych, które można bez trudu odczytać. Uzyskana w ten sposób wiedza przydaje się nie tylko programistom i administratorom, ale i użytkownikom, którzy chcą dobrze zrozumieć działanie swojego komputera, a także dowiedzieć się, jak pracują wewnętrzne me...
Wielu zdolnych programistów uczestniczy w nieefektywnych, źle prowadzonych projektach. Inni muszą utrzymywać kod, który właściwie nigdy nie powinien ujrzeć światła dziennego. Źródeł tego rodzaju trudności jest wiele: programowanie samo w sobie jest niełatwym zagadnieniem, a tworzenie funkcjonalnych aplikacji najczęściej wymaga współdziałania wielu osób. Sprawia to, że kod budujący aplikację szybko zwiększa swoją złożoność, staje się niezrozu...
Każda aplikacja korporacyjna tworzy dane. Ich przenoszenie i przetwarzanie jest równie ważne jak same dane. Platforma Apache Kafka została zbudowana właśnie w tym celu: aby umożliwić płynną obsługę strumieni zdarzeń czasu rzeczywistego. Umożliwia to architektom nie tylko łączenie aplikacji z systemami danych, ale również budowanie niestandardowych aplikacji, które same w sobie wyzwalają strumienie danych. Okazuje się, że architektura skupiona wokół...
Kubernetes zmienił podejście do budowy i wdrażania oprogramowania korporacyjnego. Przedsiębiorstwa szybko zrozumiały, że dzięki tej potężnej technologii mogą korzystać z zalet wysoce dostępnych, samonaprawiających się i autoskalujących wdrożeń oprogramowania. Systemy są zdolne do automatycznego zapewniania pożądanych reakcji na podstawie zadanych warunków, a przy tym są szybsze i bardziej niezawodne od jakichkolwiek operacji wykonywanych ręcznie. Jednak ceną za ten pos...
Rozczarowany klient, który doświadczył negatywnych wrażeń podczas korzystania z produktu, następnym razem wybierze inną ofertę. To zrozumiała reakcja. Z punktu widzenia dostawcy produktu istotniejsze są przyczyny tych negatywnych wrażeń. Okazuje się, że problem ten często wymyka się świadomości osób odpowiedzialnych za produkt. Tymczasem uchwycenie wrażeń klientów za pomocą ich zarejestrowanych zachowań może się stać podstawą do zaplanowania i przeprowadz...
SQL stanowi podstawowe narzędzie komunikowania się z relacyjnymi bazami danych. Jest to dość skomplikowany język o rozbudowanych możliwościach. Pozwala na pobieranie z bazy zestawów danych wyszukiwanych na podstawie wyrafinowanych kryteriów. Umożliwia też modyfikację zarówno danych, jak i struktury bazy, w której są gromadzone. To potężne narzędzie powinni znać nie tylko programiści baz danych, ale również specjaliści zajmujący się ich anali...
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 zintegrow...
Z Linuksem za pan brat_x005F_x000D_ _x005F_x000D_ Autor znanych czytelnikom wydawnictwa Helion książek między innymi na temat otwartoźródłowego systemu operacyjnego przygotował szóstą już edycję przewodnika po komendach i poleceniach Linuksa. W kieszonkowym leksykonie omówił posługiwanie się komputerem z Linuksem na pokładzie za pomocą poleceń, operacje na plikach, plikach specjalnych, katalogach, łączach i potokach, pisanie własnych skryptów powło...
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...
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...
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...
Poznaj podstawy programowania funkcyjnego w Javie_x005F_x000D_ _x005F_x000D_ 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 Mir...
Programowanie w Javie - szybko i konkretnie_x005F_x000D_ _x005F_x000D_ "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...
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...
JavaScript jest wykorzystywanym w wielu celach uniwersalnym językiem ogólnego przeznaczenia — wysokopoziomowym, dynamicznym, przygotowanym do kodowania obiektowego i funkcjonalnego. Zasadniczo służy do programowania sieci WWW: kod JavaScript występuje w zdecydowanej większości stron internetowych. To jednak tylko jedno z możliwych zastosowań tego języka. Wszystko to sprawia, że JavaScript jest najbardziej rozpowszechnionym językiem w historii programowania. Pojaw...
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).