Przekonaj się, jak fascynująca jest kryptografia!Poznaj historię rozwoju kryptografiiOpanuj jej matematyczne podstawyRozpracuj najważniejsze algorytmy kryptograficzneDowiedz się, jak zastosować je w praktyceKryptografia to dziedzina nauki, której sedno stanowią sposoby bezpiecznego przekazywania informacji. Jest ona niemal tak stara, jak nasza cywilizacja, a dziś rozwija się w sposób niezwykle dynamiczny. Gdy tylko narodziły się pierwsze metody zapisu i komunikowania się, poj...
Kilka lat temu świat uznał aplikacje monolityczne za przestarzałe i nie dość elastyczne, jednak do niedawna pojęcie mikrousług dotyczyło wyłącznie backendu. Naturalną konsekwencją ich rozwoju stało się budowanie na podobnych zasadach architektury frontendu. Mikrofrontendy zapewniają elastyczność i łatwość utrzymania. Pozwalają na zaprojektowanie systemu jako zbioru samowystarczalnych komponentów obejmujących własne interfejsy, logikę i bazy danych. Połączenie tych niezależnie...
Projektant frameworka tworzy dla innych programistów. To odpowiedzialne zadanie: celem jest zapewnienie większości potrzebnych elementów, które po dostosowaniu i połączeniu mają stać się aplikacją. Dobrze zaprojektowany framework pozwala na wygodną i efektywną pracę. Jest prosty, łatwy do rozwijania i dobrze integruje się z innymi narzędziami programistycznymi, językami czy modelami aplikacji. Projektant musi więc dobrze się orientować w zasadach tworzenia interfejsów API, bi...
SQL jest linqua franca dla profesjonalistów zajmujących się przetwarzaniem danych. To wyjątkowo dojrzałe narzędzie, z którego korzysta już kilka pokoleń inżynierów i programistów. Wydaje się jednak, że zbyt często ten język nie jest należycie wykorzystywany: wielu użytkowników posługuje się nim na co dzień, ale mało kto wychodzi poza stosunkowo proste zapytania. Tymczasem z możliwości nowoczesnego SQL mogą skorzystać nie tylko osoby zajmujące się bazami danych, ale także anal...
Unity to popularne środowisko do tworzenia gier komputerowych, które umożliwia szybkie rozpoczęcie pracy nawet zupełnie początkującym użytkownikom. Równocześnie pozwala w krótkim czasie uzyskać ciekawe efekty.Książka Unity. Programowanie dla nastolatków krok po kroku wprowadza w świat tworzenia gier komputerowych i w przystępny sposób przedstawia najważniejsze informacje, które pozwalają rozwinąć skrzydła początkującym game developerom. Jej lektura to także znakomity pretekst...
Wiedza o algorytmach jest niezbędna każdemu, kto rozwiązuje problemy programistyczne. Algorytmy są również ważne w teorii i praktyce obliczeń. Każdy programista powinien znać możliwie szeroki ich zakres. Powinien też umieć z nich korzystać przy rozwiązywaniu rzeczywistych problemów, w tym przy projektowaniu algorytmów, ich modyfikacji i implementacji. Niezależnie od tego, czy zajmujesz się sztuczną inteligencją, zabezpieczaniem systemów informatycznych lub inżynierią danych, ...
Framework Laravel cieszy się rosnącą popularnością wśród programistów aplikacji w języku PHP. Jest szybki, potężny i elastyczny, można się go błyskawicznie nauczyć, a generowany przez niego kod cechują przejrzystość i czytelność. Co więcej, Laravel skupia wokół siebie zaangażowaną społeczność, która z jednej strony systematycznie tworzy nowe narzędzia i pakiety wzbogacające ten framework, z drugiej - chętnie śpieszy z pomocą w rozwiązywaniu problemów. Jest to więc świetny, dy...
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. Konieczne jest zrozumi...
Tworzenie oprogramowania, zwłaszcza dużych i złożonych aplikacji, bywa problemem. Często objawy złego planowania projektu nie mają wiele wspólnego z uwarunkowaniami technicznymi: wysoki poziom stresu, duża rotacja pracowników, wypalenie zawodowe, brak zaufania, niska samoocena, a nawet różnego rodzaju dolegliwości fizyczne. Przyczyny tego stanu rzeczy są podobne: określane w nierealny sposób koszty, terminy i wymagania. Później okazuje się, że wewnętrznej złożoności systemu n...
Umiejętna analiza danych jest warunkiem podejmowania działań i wprowadzania optymalnych zmian. Zagadnienie to wymaga uwagi kierownika projektu, obecnie bowiem powstają ogromne ilości danych, a w przyszłości tendencja ta będzie się zdecydowanie nasilać. Transformacja cyfrowa bez wykorzystywania licznych strumieni danych okaże się niemożliwa. Oznacza to, że trzeba wprowadzać mechanizmy pozyskiwania danych, ich oczyszczania, agregacji i prezentacji. Kolejnym etapem jest analiza....
Projektowanie usług oraz projektowanie wrażeń użytkownika nie dotyczy tylko oprogramowania. Narzędzia i techniki, jakie oferuje, można wykorzystać w praktycznym funkcjonowaniu właściwie każdej organizacji, której zależy na lepszym działaniu na rzecz klientów, obywateli czy własnych pracowników. Są bezcenne przy łączeniu silosów operacyjnych i doskonaleniu wewnętrznej współpracy w organizacji - dzięki wdrożeniu zasad projektowania usług można doprowadzić do tego, aby ludzie ws...
Python nie jest językiem idealnym, jednak przybywa programistów, którzy uważają go za bliski ideału. Wyróżnia się prostotą i wszechstronnością. Jest wdzięcznym narzędziem do badania danych i tworzenia systemów sztucznej inteligencji, uwielbiają go analitycy, ekonomiści i naukowcy. Może posłużyć do tworzenia stron WWW czy aplikacji specjalnego przeznaczenia. Python należy do najbardziej spójnych i czytelnych języków programowania. Jest przykładem całkiem udanego kompromisu pom...
Sieci komputerowe oplotły dosłownie cały świat, obecnie korzystają z nich miliardy użytkowników, a liczba urządzeń podłączonych do internetu znacznie przekracza populację Ziemi. Rewolucja informatyczna stała się możliwa właśnie dzięki powszechnej dostępności do sieci - to dzięki niej ludzie mogą bez kłopotu korzystać z zasobów zgromadzonych w najsłynniejszych bibliotekach i największych bazach danych, w dowolnej chwili sprawdzać najnowsze informacje ze świata, wygodnie słucha...
Suche dane nie są zajmujące. Trudno zdobyć szczere zaangażowanie odbiorcy, któremu przedstawia się zestaw danych, nawet jeśli niosłyby one ze sobą absolutnie wyjątkową wiedzę. Jest to zupełnie naturalne - ludzki umysł jest przystosowany do przetwarzania opowieści, a nie danych. Właśnie opowieści w magiczny sposób pochłaniają uwagę słuchaczy, wywołują emocje i uczucia, skłaniają do działania i osłabiają chęć krytycznego myślenia. Między opowiadającym a słuchaczem tworzy się ró...
AutoCAD to bez wątpienia najpopularniejszy na świecie system projektowania wspomaganego komputerowo. Jednak nawet najlepsze narzędzie nie jest w stanie zmienić niedoświadczonego użytkownika w profesjonalistę. To można osiągnąć wyłącznie dzięki solidnej nauce popartej praktyką.Jeśli chcesz rozwinąć umiejętności projektowania za pomocą programu AutoCAD, sięgnij po tę książkę! Wprowadzi Cię ona w tajniki parametrycznego i nieparametrycznego projektowania 2D i 3D przy użyciu dowo...
Język C# wciąż cechuje prostota, przy czym jego możliwości rosną z każdą wersją. Od początku jest rozwijany z konsekwencją, a każda nowa funkcjonalność idealnie integruje się z resztą języka. W efekcie C# jest dojrzały, nowoczesny, wszechstronny i bezpieczny. Stanowi integralną część platformy Microsoft .NET Framework. Profesjonalni programiści, którzy dbają o wysoką jakość tworzonego kodu, uważają C# i .NET za swoje ulubione narzędzie pracy. Wersja 8.0 tego języka sprawia, ż...
Chmura obliczeniowa jest rozwiązaniem niezawodnym i zapewniającym wysoki poziom bezpieczeństwa systemu. Nowoczesne rozwiązania tego rodzaju charakteryzują się dużą elastycznością i skalowalnością, pozwalają na budowę i rozbudowę aplikacji, monitorowanie ich pracy oraz zarządzanie nimi, jak również bazami danych i innymi usługami w sposób globalny. Spośród chmur obliczeniowych jedne z najciekawszych i najbardziej innowacyjnych rozwiązań oferuje Google. Aby jednak optymalnie wy...
Projektanci Kotlina postawili na pragmatyzm. Oznacza to, że do dziś wszystkie decyzje związane z rozwojem języka są podejmowane z uwzględnieniem potrzeb biznesowych: produktywności, skalowalności, prostej konserwacji, niezawodności i wydajności. Od początku szczególną uwagę zwraca się również na bezpieczeństwo, czytelność, wielokrotne używanie kodu, łatwość użycia narzędzi i możliwości współdziałania z innymi językami. Bardzo ważna okazała się też wydajność zarówno działania ...
Każdy inżynier oprogramowania zna teoretyczne podstawy testowania. O tym, że sumienne przeprowadzenie testów ma podstawowe znaczenie dla jakości gotowego produktu, nie trzeba nikogo przekonywać. A jednak wciąż zbyt często okazuje się, że zaplanowanie, napisanie i przeprowadzenie testów jednostkowych w praktyce nie jest łatwym zadaniem. Co gorsza, niewłaściwe testy psują kod, mnożą błędy i zabierają mnóstwo cennego czasu i pieniędzy. Okazuje się, że dla uzyskania maksymalnej j...
Systemy informatyczne oparte na chmurze stały się atrakcyjną alternatywą dla standardowej infrastruktury. Wymusiły jednak radykalne zmiany w praktykach tworzenia, wdrażania i utrzymywania aplikacji. Dziś uwaga profesjonalistów skupiona jest na Kubernetes, który w ciągu zaledwie kilku lat stał się faktycznym standardem wdrażania natywnej chmury. Aby tworzone aplikacje funkcjonowały wydajnie, bezawaryjnie i niezawodnie, warto wdrożyć i stosować wzorce i najlepsze praktyki. Koni...
Komputery kwantowe nie są już tylko urządzeniami teoretycznymi. Nie są też futurystycznym monstrum, obcą maszyną, która zamieni całe istniejące oprogramowanie w jakąś jego niezrozumiałą alternatywę. Komputery kwantowe (QPU) staną się raczej radykalnym rozszerzeniem możliwości współczesnej informatyki, które pozwoli nam rozwiązać problemy dotychczas nierozwiązywalne. Istnieją ważne zadania, z którymi QPU potrafią sobie świetnie poradzić, a których rozwiązanie byłoby niemożliwe...
JavaScript jest niezwykle uniwersalnym językiem programowania. Idealnie sprawdza się na przykład w projektowaniu wszelkiego rodzaju aplikacji internetowych - od działających pod przeglądarkami, przez te pisane na urządzenia mobilne, po aplikacje, które obsługują smart TV i inne inteligentne urządzenia domowe. W związku z tym wokół JavaScriptu powstał cały ekosystem narzędzi wspomagających i rozszerzających możliwości tego języka. Wystarczy wspomnieć platformę programistyczną ...
Sztuczna inteligencja i uczenie maszynowe rozwijają się z niezwykłą dynamiką i znajdują coraz więcej różnorodnych zastosowań w niemal wszystkich branżach. Ten spektakularny postęp jest silnie związany z osiągnięciami w świecie sprzętu i oprogramowania. Obecnie do uczenia maszynowego używa się wielu języków programowania, takich jak R, C, C++, Fortran i Go, jednak najpopularniejszym wyborem okazał się Python wraz z jego specjalistycznymi bibliotekami. Znajomość tych bibliotek ...
JavaScript ma długą i ciekawą historię. Obecnie to jeden z najpopularniejszych języków programowania. Jego zalety to nowoczesność, wszechstronność, elastyczność i wydajność. Jest przy tym idealny dla początkujących użytkowników: można się go łatwo nauczyć i równocześnie od razu przyzwyczaić się do stosowania dobrych praktyk i pisania czystego, ładnego kodu. Mimo to uzyskanie prawdziwej biegłości wymaga pracy i ćwiczeń. Jest to jednak wysiłek, który warto podjąć, gdyż JavaScri...