Jeśli masz już za sobą napisanie pierwszych programów w Pythonie, to już wiesz, jak bardzo wszechstronny jest ten język i że jego możliwości są imponujące. Python nadaje się do bardzo wielu zastosowań, jednak jeśli chcesz go wykorzystać w pełni, musisz wyjść poza podstawy. Efektywny programista korzysta z wiedzy wykraczającej poza znajomość struktur języka, poza tym jest zdolny do obiektywnej refleksji nad własnymi możliwościami i stara się cały czas doskonalić sw&oacu...
Python jest ciekawym językiem programowania o dużych możliwościach. Dzięki niemu w prosty sposób można rozwiązać złożone problemy tego świata. Umożliwia przy tym pisanie czytelnego i łatwego w konserwacji kodu. Opanowanie składni i podstawowych koncepcji programistycznych w Pythonie nie jest trudne, jednak potem przychodzi moment, aby wypróbować go w prawdziwym programowaniu. Niniejsza książka nauczy Cię wykorzystywać ten język do rozwiązywania nietrywialnych p...
Wyśledzenie luki w zabezpieczeniach aplikacji i przejęcie kontroli nad chronionym zasobem jest wyjątkowo ekscytującym doświadczeniem: oto dzięki własnym umiejętnościom można pokonywać kolejne ograniczenia i osiągać cele, które na pozór wydają się nierealne. Od pewnego czasu takie eksperymenty z hakowaniem można prowadzić całkowicie legalnie, a nawet nieźle na tym zarabiać. Wiele firm uruchamia programy bug bounty, w ramach których nagradza hakerów ...
Tworzenie aplikacji w języku TypeScript z wykorzystaniem frameworka Angular 2 jest dziś jednym z najwydajniejszych sposobów rozwijania średnich i dużych aplikacji internetowych. Takie aplikacje można bez problemu uruchamiać w każdej nowoczesnej przeglądarce, również na platformach mobilnych. Separacja kodu interfejsu od logiki aplikacji, prosta modularyzacja aplikacji, bezproblemowe przetwarzanie danych asynchronicznych, świetne narzędzia i nowoczesne komponenty...
Framework Angular od wielu lat jest jednym z najważniejszych narzędzi do rozwijania średnich i dużych aplikacji internetowych. Co istotne, aplikacje te bez problemu działają w każdej nowoczesnej przeglądarce, a także na platformach mobilnych. Obecnie Angular jest dojrzałą, stabilną i wciąż ewoluującą technologią, a w kolejnych wydaniach frameworka pojawiają się nowe, ułatwiające pracę funkcje. Aplikacje napisane w Angularze opierają się na hierarchicznym systemie komunikujący...
Obsługa aplikacji, które operują na ogromnych zbiorach danych, czyli na przykład portali społecznościowych, przekracza możliwości zwykłych relacyjnych baz. Praca ze złożonymi zbiorami danych wymaga architektury obejmującej wielomaszynowe klastry, dzięki którym możliwe jest przechowywanie i przesyłanie informacji praktycznie dowolnej wielkości. Architektura taka powinna dodatkowo być prosta w użyciu, niezawodna i skalowalna. Dzięki tej książce nauczysz się budow...
Najlepsze przepisy na bezpieczeństwo Twoich danych! Jeżeli Twój system przechowuje i przetwarza poufne informacje — dane osobowe, numery kart kredytowych, wiadomości e-mail, dane finansowe lub coś równie ważnego — jest łakomym kąskiem dla cyberprzestępców. Jeżeli wizja kradzieży Twoich danych spędza Ci sen z powiek i zastanawiasz się, jak najlepiej sprawdzić stan bezpieczeństwa Twojego systemu, to odpowiedź jest jedna — zaatakuj go sam!...
Kubernetes jest czymś więcej niż platformą do orkiestracji kontenerów. W ciągu zaledwie kilku lat stał się najpopularniejszym i najbogatszym narzędziem do tworzenia, wdrażania i utrzymywania aplikacji w chmurze. Tak radykalna zmiana sposobu funkcjonowania systemów informatycznych wymaga przemodelowania podejścia i stylu pracy zespołów programistycznych. Jeśli jednak wypróbujesz Kubernetesa, przekonasz się, że bardzo upraszcza on tworzenie, wdrażani...
Aby napisać dobry kod, programiści muszą wybrać optymalny sposób rozwiązania danego problemu. Java jest znana ze skutecznego i przetestowanego podejścia obiektowego (OOP), jednak ten paradygmat nie zawsze okazuje się wystarczający. Zamiast wymuszać OOP w każdym wypadku, warto wdrożyć w swoim kodzie zasady programowania funkcyjnego (FP), aby zapewnić sobie najlepsze korzyści płynące ze stosowania obydwóch paradygmatów. Dzięki tej książce zrozumiesz bazowe...
Zmień swoje podejście do programowania! Języki funkcyjne zdobywają wśród programistów coraz większą popularność. Jak bezboleśnie zmienić sposób myślenia na funkcyjny? Ułatwi Ci to niniejsza książka, w całości poświęcona temu podejściu do programowania. Poznaj podstawy teoretyczne programowania funkcyjnego, a następnie zacznij zgłębiać tajniki typów funkcyjnych, rekurencji oraz zmiennych niepodlegających modyfikacji. Z kolejnych rozdziałów d...
Python jest dojrzałym, elastycznym i bardzo wszechstronnym językiem programowania. Nadaje się do budowy przeróżnych aplikacji, a także do tworzenia programów służących do bardzo specyficznych zastosowań, takich jak badania naukowe. Aby jednak w pełni wykorzystać te imponujące możliwości, musisz pisać dobry kod: przejrzysty, zwięzły, działający poprawnie. Niestety, nie jest łatwo nauczyć się dobrego programowania. To coś więcej niż przyswojenie zestawu poleceń i ...
Rust świetnie się sprawdza na poziomie systemowym, czyli z niskopoziomowymi szczegółami zarządzania pamięcią, reprezentacji danych i współbieżności. Jest zaprojektowany tak, aby naturalnie pisać niezawodny i wydajny kod. Język ten jest również wystarczająco ekspresyjny i ergonomiczny, aby umożliwiać tworzenie aplikacji CLI czy serwerów WWW. Łatwo dostrzec, że praca z Rustem pozwala budować umiejętności, które przydają się w wielu dziedzinach...
Wykorzystaj możliwości nftables i zabezpiecz swoją sieć! Zapora sieciowa (ang. firewall) to ostatni bastion chroniący Twój komputer przed atakiem. Dzięki odpowiedniej konfiguracji jesteś w stanie decydować, jakie pakiety mogą trafić do wnętrza sieci, a jakie nie. Możesz przesądzić o dostępie do określonych usług, zezwolić lub zabronić aplikacjom korzystać z dostępu do sieci Internet oraz ustalić limity na prędkość albo ilość przesłanych danych. Duże możliwości konfigur...
Wykorzystaj w pełni możliwości wirtualizacji!_x005F_x000D_ Rosnący ruch sieciowy i coraz większa ilość przetwarzanych danych sprawiają, że wciąż rośnie także liczba serwerów, które trzeba zaprząc do pracy. Czy musi się to wiązać z koniecznością rozbudowy serwerowni? Budową nowych budynków oraz zwiększeniem przestrzeni? Niekoniecznie! Na pomoc przychodzi wirtualizacja systemów komputerowych. Dzięki wirtualnym środowiskom administratorzy są w stanie ...
CCNA to dopiero początek!_x005F_x000D_ _x005F_x000D_ Mimo że egzamin CCNA jest wymagający, stanowi dopiero wstęp do prawdziwej bitwy - z codziennymi problemami z siecią, sprzętem i przeciwnościami losu. Wiedza, którą zdobyłeś w trakcie przygotowań do egzaminu, to na pewno solidne fundamenty, jednak praktyczne problemy omówione w tej książce pozwolą Ci na spokojną pracę każdego dnia._x005F_x000D_ _x005F_x000D_ W trakcie lektury poznasz najlepsze sposoby projektowania wydajnej ...
Współbieżność jest jednym z wymogów nowoczesnych aplikacji, niezależnie od ich rodzaju i platformy. Tworzenie współbieżnych aplikacji jest co prawda dość złożone, jednak cecha ta czyni interfejs użytkownika bardziej responsywnym, a systemy — skalowalnymi. Zrozumienie istoty współbieżności i umiejętność jej zaimplementowania jest już koniecznością dla profesjonalnego dewelopera, nawet jeśli zagadnienia te wydają się trudne i skomplikowane._x00...
Pierwsze kroki w programowaniu bywają frustrujące. Wszystko wydaje się jasne i proste, ale tylko do pierwszych prób skompilowania kodu. Półki księgarń uginają się pod ciężarem podręczników programowania w różnych językach, jednak większość nie ułatwia nauki podstaw, które są absolutnie niezbędne każdemu koderowi. Spośród licznych języków programowania C# jest wart szczególnej uwagi. To dojrzały język, wyjątkowo wszechstr...
Aplikacje WWW w języku Java! Język Java zadebiutował na rynku blisko dwadzieścia lat temu. Od tego czasu zdobył ogromną popularność i jest z powodzeniem używany do tworzenia projektów o różnym stopniu trudności. Język ten sprawdza się idealnie zarówno przy budowie zaawansowanych systemów bankowych, jak i prostych stron WWW. Przekonaj się, jaki potencjał kryje się w Javie! Jeśli sięgniesz po tę książkę, błyskawicznie nauczysz się budować strony WWW...
Język Go jest nazywany „językiem C XXI wieku”. Podobnie jak C, umożliwia kompilowanie programów do wydajnego kodu maszynowego, który w natywny sposób współpracuje z poszczególnymi systemami operacyjnymi. Go jest elastycznym narzędziem pozwalającym osiągać maksymalny efekt przy minimalnych środkach. Jest bardzo wszechstronny — bardzo dobrze nadaje się do budowania infrastruktury takiej jak serwery sieciowe, do tworzenia narz...
Wdrożenie zasad projektowania dziedzinowego (DDD) jest szansą na uzyskanie doskonałych wyników projektowania oprogramowania dla złożonych wymagań biznesowych. Aby podejście DDD ujawniło swoje zalety, konieczne jest zrozumienie potrzeb użytkowników i zidentyfikowanie właściwych problemów do rozwiązania. Dopiero potem można przystąpić do budowania modeli. Zaangażowanie zainteresowanych stron biznesowych w ten proces nie zawsze jednak przebiega efektywnie. K...
Najlepsze podejście do wytwarzania oprogramowania! _x005F_x000D_ _x005F_x000D_ SOA (ang. Service Oriented Architecture) to gorący skrót ostatnich lat. Koncepcja oferowania niezależnych usług do określonych zadań zdobyła sobie ogromną popularność. Takie podejście pozwala na tworzenie elastycznych systemów informatycznych, które są znacznie łatwiejsze w utrzymaniu, zaprojektowaniu i wykonaniu od tradycyjnych rozwiązań. Ponadto udostępnienie pojedynczych serwisów innym projekta...
Obecnie ataki na systemy informatyczne są prowadzone z wielu powodów i dokonywane przez różnych ludzi: od zorganizowanych grup przestępczych dążących do wzbogacenia się na kradzieży danych aż po haktywistów, których celem jest ukaranie organizacji uznawanych przez nich za niemoralne. Co gorsza, coraz częściej ataki prowadzą osoby wykwalifikowane i odpowiednio finansowane. Systematycznie do mediów dostają się informacje o głośnych włamaniach ...
Zapewnienie bezpieczeństwa IT jest wyjątkowo ważne. Organizacja musi pozostawać w ciągłej gotowości do wykrywania zagrożeń i reagowania na incydenty bezpieczeństwa. Przeciwnicy nieustannie się doskonalą i standardowy zestaw zabezpieczeń jakiś czas temu przestał wystarczać. Konieczne jest zbudowanie i wdrożenie kompleksowego systemu zapobiegania zagrożeniom, ich wykrywania i reagowania na nie. Podobnie jak na polu bitwy, tak i w planowaniu bezpieczeństwa IT zyskuje się przewag...
Gdy uruchamiasz aplikację na swoim komputerze, tak naprawdę nie wiesz, czy jest to tradycyjna aplikacja działająca na Twoim sprzęcie czy też może aplikacja internetowa. Nie widać przejść między stronami, a atrakcyjny interfejs użytkownika pozwala Ci błyskawicznie wykonać konieczne zadania. Być może za wyświetlanie interfejsu odpowiedzialna jest wyłącznie przeglądarka, która z serwerem komunikuje się tylko w celu wymiany danych. Tak właśnie działają jednostronicowe apli...
Ebooki to książki, których treść została zapisana w formie elektronicznej. Są nazywane również e-książkami, publikacjami elektronicznymi czy książkami elektronicznymi. Ebooki można odczytywać na komputerach i laptopach, ale są one przeznaczone głównie do czytania na urządzeniach przenośnych takich jak smartfony, tablety i przede wszystkim czytniki książek elektronicznych. Ebooki posiadające swoje pierwowzory w formie papierowej są jej odwzorowaniem. Posiadają wszystkie elementy obecne w „tradycyjnej” wersji, takie jak okładkę, ilustracje, spis treści, przypisy itp.
Niepodważalną zaletą ebooków jest to, że w odróżnieniu od drukowanej książki można w nich zmieniać rodzaj oraz wielkość czcionki, formatować tekst, a w zależności od posiadanego czytnika istnieje też możliwość wyszukiwania pojedynczych słów w tekście, dodawania zakładek i robienia notatek.
Ebooki są dostępne w wielu formatach. Najpopularniejsze z nich, będące standardem dla publikacji elektronicznych, to EPUB, MOBI i PDF.
To nowoczesny format będący standardem publikacji ebooków. Format EPUB umożliwia zmienianie wielkości fontu, co pomaga dopasować jego rozmiar do ekranu. Ebooki w tym formacie najlepiej odczytywać na urządzeniach posiadających ekran eINK (elektroniczny papier), chociaż można je odczytać także na smartfonie czy tablecie. Format EPUB jest możliwy do odczytania na komputerze, jednak do tego celu konieczne jest zainstalowanie właściwego oprogramowania.
Jest formatem ebooków wykorzystywanym przez czytniki firmy Amazon – Kindle (oraz na innych urządzeniach i programach dostępnych na rynku). Publikacje MOBI są zapisane w formacie Mobipocket, można więc pobrać je na dowolny sprzęt elektroniczny posiadający oprogramowanie umożliwiające odczytanie plików MOBI. Format ten jest oparty na języku HTML, dlatego jego wyświetlanie jest możliwe na urządzeniach mobilnych.
To format zapewniający taki sam wygląd strony jak w wersji papierowej – w tym formacie podział na strony jest sztywny. PDF służy do długoterminowego archiwizowania elektronicznych danych i może być odczytywany na większości komputerów, laptopów, smartfonów, czytników czy tabletów.