Programowanie
Niezależnie czy dopiero rozpoczynacie swoją przygodę z programowaniem, czy jesteście już uznanymi na rynku profesjonalistami, to w kategorii Programowanie na pewno znajdziecie podręczniki, które pomogą Wam w przebiegu pracy, czy też w nauce podstaw programowania.
W książkach z tego działu zawarta jest wiedza zarówno związana z czysto technicznymi sprawami typu składnia języków, ale także z umiejętnościami bardziej "miękkimi" jak obsługa i wykorzystanie pełnych możliwości środowisk programistycznych, czy też projektowanie oprogramowania lub metody numeryczne czy oraz struktury danych.
Christopher Pecoraro, Vincenzo Gambino, Magnus Kongsli Hillestad
Jamstack (JavaScript, API, and Markup) enables web developers to create and publish modern and maintainable websites and web apps focused on speed, security, and accessibility by using tools such as Gatsby, Sanity, and Netlify. Developers working with Jamstack will be able to put their knowledge to good use with this practical guide to static site generation and content management. This Jamstack book takes a hands-on approach to implementation and related methodologies that will have you up and running with modern web development in no time.Complete with step-by-step explanations of essential concepts, practical examples, and self-assessment questions, you'll begin by building an event and venue schema structure, and then expand the functionality, exploring all that the Jamstack has to offer. You’ll learn how an example Jamstack is built, build structured content using Sanity to create a schema, use GraphQL to expose the content, and employ Gatsby to build an event website using page and template components and Tailwind CSS Framework. Lastly, you’ll deploy the website to both, a Netlify server and the Microsoft Static Web Apps Service, and interact with it using Amazon Alexa.By the end of this book, you'll have gained the knowledge and skills you need to install, configure, build, extend, and deploy a simple events website using Jamstack.
Kafka w praktyce. Przetwarzanie strumieniowe i potoki danych o dużej skali. Wydanie II
Gwen Shapira, Todd Palino, Rajini Sivaram, Krit...
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ół strumieni zdarzeń otwiera zupełnie nowy rozdział projektowania dużych systemów. Dzięki temu praktycznemu przewodnikowi komfortowo rozpoczniesz pracę z platformą streamingową Apache Kafka. Poznasz najlepsze praktyki w zakresie jej wdrażania i konfiguracji, aby zapewnić sobie możliwość strumieniowego przetwarzania dużych ilości danych. Zaznajomisz się z AdminClient API Kafki, mechanizmem transakcji i z nowymi funkcjonalnościami zabezpieczeń. W książce znajdziesz szczegółowe instrukcje, w jaki sposób wdrażać klastry produkcyjne Kafki, pisać niezawodne mikrousługi oparte na zdarzeniach i budować skalowalne aplikacje przetwarzania strumieniowego. Opisano w niej też gwarancje niezawodności, kluczowe interfejsy API i szczegóły architektury, w tym protokół replikacji, kontroler i warstwę pamięci masowej. Najciekawsze zagadnienia: wdrażanie i konfigurowanie Kafki w praktyce niezawodne dostarczanie danych budowanie potoków danych i aplikacji monitorowanie, dostrajanie i utrzymywanie działania Kafki w środowisku produkcyjnym wskaźniki pomiarów operacyjnych Kafki Kafka w systemach przetwarzania strumieniowego Kafka: gwarancja niezawodności korporacyjnych aplikacji!
Stian Thorgersen, Pedro Igor Silva
Implementing authentication and authorization for applications can be a daunting experience, often leaving them exposed to security vulnerabilities. Keycloak is an open-source solution for identity management and access management for modern applications, which can make a world of difference if you learn how to use it. Keycloak, helping you get started with using it and securing your applications. Complete with hands-on tutorials, best practices, and self-assessment questions, this easy-to-follow guide will show you how to secure a sample application and then move on to securing different application types. As you progress, you will understand how to configure and manage Keycloak as well as how to leverage some of its more advanced capabilities. Finally, you'll gain insights into securely using Keycloak in production.By the end of this book, you will have learned how to install and manage Keycloak as well as how to secure new and existing applications.
Kivy Blueprints. Build your very own app-store-ready, multi-touch games and applications with Kivy!
Jacob Kovac, Mark Vasilkov
Kod doskonały. Jak tworzyć oprogramowanie pozbawione błędów. Wydanie II
Steve McConnell
Kultowy podręcznik tworzenia doskonałego oprogramowania! Twórz wolny od błędów, najwyższej jakości kod Utrzymuj stałą kontrolę nad złożonymi projektami Wcześnie wykrywaj i rozwiązuj problemy Sprawnie rozwijaj i poprawiaj oprogramowanie Steve McConnell wie więcej o budowie oprogramowania niż ktokolwiek inny; mamy ogromne szczęście, że zdecydował się podzielić swoim doświadczeniem oraz wiedzą w tej ważnej i oryginalnej książce. Alan Cooper, „ojciec” języka Visual Basic, autor książki About Face Zapewne każdy zgodzi się ze stwierdzeniem, że jeśli jakiś proces odpowiada za nawet 70% błędów w gotowym produkcie, z pewnością wymaga znaczącego usprawnienia... Czy masz jednak świadomość, że właśnie tyle problemów generuje samo wytwarzanie oprogramowania? Te błędy powodują nie tylko usterki w już gotowych programach, niespełniających oczekiwań klientów — odpowiadają także za znaczne opóźnienia przy realizacji zleconych projektów i nagminne przekraczanie zaplanowanego budżetu. Każdy ambitny programista staje zatem przed koniecznością zdobycia wiedzy o takich metodach pracy, które pozwolą szybciej i efektywniej realizować projekty, a przy tym zapewniać najwyższą jakość tworzonego kodu. W końcu na podstawie tych właśnie umiejętności oceniana jest także wartość danego programisty w zespole. Z tych właśnie powodów niniejsza książka, będąca przejrzystą kompilacją najlepszych technik programowania, zdobyła tak wielkie uznanie w środowisku zawodowców i studentów, osiągając miano podręcznika kultowego. Przed Tobą drugie, zaktualizowane wydanie słynnej publikacji, w której Steve McConnell przedstawia wszystkie aspekty budowy programów, takie jak jakość czy podejście do procesu wytwarzania. Autor rozwija tu tak istotne zagadnienia, jak przebieg budowy klasy, techniki pracy z danymi i strukturami sterującymi, debugowanie, refaktoryzowanie oraz metody i strategie optymalizacji. Znajdziesz tu dziesiątki list kontrolnych, pomocnych w ocenianiu architektury, jakości klas i procedur, nazw zmiennych czy struktur sterujących, a także ponad 500 przykładów dobrego i złego kodu. Dowiesz się, co było przyczyną wielu typowych problemów w przeszłości i jak ich dzisiaj unikać. Opisane metody pracy pomogą utrzymać kontrolę nad dużymi projektami oraz efektywnie rozwijać i modyfikować oprogramowanie w odpowiedzi na zmiany wymagań. Co ważne, można je skutecznie wykorzystywać niezależnie od stosowanego języka programowania! Dzięki tej książce nauczysz się skutecznie: projektować z zachowaniem minimalnej złożoności; praktycznie wykorzystywać metody pracy zespołowej; programować defensywnie, by unikać błędów w kodzie i jak najszybciej je z niego usuwać; wykorzystywać okazje do refaktoryzacji oraz rozwijania kodu i robić to w sposób bezpieczny; korzystać z metod programowania dopasowanych do projektu; szybko i efektywnie debugować; wcześnie i we właściwy sposób rozwiązywać najważniejsze problemy z konstrukcją oprogramowania; dbać o jakość kodu od pierwszego do ostatniego dnia projektu. Posiądź kluczowe umiejętności tworzenia najwyższej jakości oprogramowania! Steve McConnell jest jednym z najbardziej szanowanych ekspertów w świecie informatyki. Jest głównym programistą w firmie Construx Software oraz znanym autorem bestsellerowych książek, m.in. Kod doskonały i Rapid Development — obie zostały uhonorowane nagrodą Jolt magazynu „Software Development”, przyznawaną co roku najlepszej książce poświęconej procesowi wytwarzania oprogramowania. Brał udział w projektach realizowanych dla takich firm, jak Microsoft czy Boeing, a w 1998 roku czytelnicy magazynu „Software Development” uznali go obok Billa Gatesa i Linusa Torvaldsa za jedną z trzech najbardziej wpływowych osób w branży oprogramowania.
Charles Petzold
Początki techniki komputerowej obfitowały w zaskakujące szczegóły. Zagłębianie się w historię odkryć i wynalazków, dzięki którym obecnie możemy się cieszyć wyrafinowaną technologią, jest świetną rozrywką, jednak cofnięcie się do korzeni świata komputerów niesie ze sobą wiele dodatkowych korzyści. Najważniejszą z nich jest łatwiejsze zrozumienie zasad działania komputerów i innych urządzeń związanych z procesorami. W końcu dziś nawet zwykły użytkownik powinien wiedzieć, jaka jest różnica między pamięcią operacyjną a masową, znać koncepcję plików i folderów czy mieć choćby podstawową wiedzę z zakresu grafiki komputerowej. Ta książka jest fascynującą i nieco sentymentalną opowieścią o tajemnym życiu toczącym się wewnątrz komputerów i innych inteligentnych urządzeń. Mówi też o historii poszczególnych wynalazków. Dzięki niej zrozumiesz, co w ciągu ostatnich dwustu lat doprowadziło ludzi, chcących po prostu sprawniej się porozumiewać, do wynalezienia różnych urządzeń. Przeczytasz również o rzeczywistych mechanizmach działania komputerów osobistych, multimediów cyfrowych i internetu. Nie musisz posiadać zaawansowanej wiedzy technicznej, aby zrozumieć, czym jest tranzystor, jak działają systemy operacyjne i czym się różnią bity od bajtów. Książka jest napisana w przystępny sposób, a jej lektura sprawi Ci ogromną przyjemność! Dowiedz się, czym w istocie są: różne rodzaje kodów systemy dziesiętny, binarny i szesnastkowy bramki logiczne, sumowanie i przerzutniki pamięć, mikroprocesor, magistrala system operacyjny i języki programowania Ukryty kod maszyny. Wróć do źródeł!
Kod. Ukryty język komputerów. Wydanie II
Charles Petzold
Mało kto się zastanawia, jak działa komputer. Jeśli ktoś chce pisać aplikacje, najczęściej wybiera sobie język programowania i koduje, jednak bez zagłębiania się w niuanse pojedynczych bitów pamięci. Tymczasem tajemniczy świat komputerów warto poznać nieco lepiej. Zrozumienie zasad działania procesora ułatwia pisanie wysoce efektywnego kodu. A nawet zwykły użytkownik powinien rozumieć różnicę między pamięcią operacyjną a masową, znać podstawy działania sieci i internetu czy też mieć choćby pobieżną wiedzę z zakresu grafiki komputerowej. To drugie, gruntownie przejrzane i starannie uzupełnione wydanie fascynującej opowieści o tajemnym życiu toczącym się wewnątrz komputerów i innych inteligentnych urządzeń. Pozwala zdobyć wiedzę o rzeczywistych mechanizmach działania komputerów osobistych, multimediów cyfrowych i internetu. Opowiada też o historii poszczególnych wynalazków i przystępnie wyjaśnia wiele pojęć, które warto przyswoić. W tym wydaniu szczególnie pieczołowicie opisano wewnętrzny świat procesorów, decydujących o działaniu komputerów i innych urządzeń. Co najważniejsze: lektura nie wymaga wiedzy technicznej, a opisy i wyjaśnienia są zrozumiałe i angażujące. W książce między innymi: różne rodzaje kodów system binarny i szesnastkowy, ASCII i Unicode bramki logiczne, pamięć i magistrala procesor: serce i mózg komputera system operacyjny a pisanie kodu Chcesz zrozumieć, jak działa komputer? Kod jest źródłem!
Jort Rodenburg
Znasz już podstawy, zatem przygotuj się na kolejny etap! Kod C# profesjonalnej jakości jest wydajny, czysty i szybki. Niezależnie od tego, czy budujesz aplikacje biznesowe dla użytkowników, czy usługi backendu dla aplikacji Web, oparte na doświadczeniu praktyczne techniki przedstawione w tej książce pozwalają podnieść umiejętności C# na nowy poziom. Koduj jak profesjonalnista w C# pokazuje, jak pisać czysty kod C#, właściwy dla aplikacji klasy przedsiębiorstwa. Wraz z autorem przejdziesz proces refaktoryzacji odziedziczonej bazy kodu, stosując techniki nowoczesnego C#. Po drodze poznasz takie narzędzia, jak Entity Framework Core, techniki projektowe, takie jak wstrzykiwanie zależności oraz kluczowe praktyki wytwarzania sterowanego testami. Jest to doskonały sposób na zwiększenie już posiadanych umiejętności lub przejścia z innego języka obiektowego do C# i ekosystemu .NET. Podstawowe zagadnienia: l Testy jednostkowe i wytwarzanie sterowane testami l Refaktoryzacja odziedziczonego kodu .NET l Zasady czystego kodu l Odpytywanie i manipulowanie bazami danych przy użyciu LINQ i Entity Framework Core Książka przeznaczona jest dla programistów z doświadczeniem w programowaniu obiektowym. Znajomość C# nie jest wymagana. Jort Rodenburg jest inżynierem oprogramowania z bogatym doświadczeniem praktycznym, a także wykładowcą i autorem kursów na temat przyśpieszania i usprawniania pracy w C# i .NET. "Warto przeczytać kilka razy". Prabhuti Prakash Synechron Technologies "Pełna wskazówek i spostrzeżeń pozwalających szybko wejść w rytm. Zdecydowanie polecam!" Edin Kapic, isolutions "Ta książka naprawdę pomogła mi przejść na następny poziom". Daniel Vasquez Estupinan Tokiota "Takiej właśnie książki szukałem, gdy chciałem nauczyć się pisania lepszego kodu w C#". Gustavo Filipe Ramos Gomes Troido "Uczy świetnych technik i najlpeszych praktyk nowoczesnego programowania w C#". Foster Haines, J2 Interactive
Kombinacje C++. 648 łamigłówek programistycznych z odpowiedziami
Maciej Matyka
Od dekad C++ pozostaje jednym z dwóch najważniejszych języków, jeśli chodzi o programowanie systemowe, ale też aplikacyjne. Bez niego nie byłoby Windowsa, Excela, Photoshopa ani dużej części oprogramowania bazodanowego na czele z MySQL. A bez nich trudno sobie wyobrazić funkcjonowanie dzisiejszego świata. Nic więc dziwnego, że C++ od lat pozostaje obiektem zainteresowania programistów - w branży IT niezmiennie utrzymuje się silna potrzeba, aby doskonalić umiejętności programowania w tym języku. Z pomocą przychodzi ta książka - Kombinacje C++. 648 łamigłówek programistycznych z odpowiedziami to zbiór blisko 650 praktycznych zadań doskonalących znajomość języka C++ i umiejętności programistyczne. Układem nawiązuje do podręczników szachowych, które na konkretnych przykładach przybliżają obowiązujące zasady. Zawartość została podzielona na dwie części. Pierwsza zapoznaje z podstawowymi motywami, jak klasy, funkcje czy biblioteki standardowe. Druga część zawiesza poprzeczkę wyżej i wymaga więcej wysiłku - tym bardziej jednak zachęca do zaangażowania się w rozwiązywanie problemów, co w praktyce wprost przełoży się na podniesienie kompetencji programistycznych. Dzięki książce: zrozumiesz działanie programów nauczysz się wyszukiwać błędy w kodzie poznasz kluczowe motywy języka C++ wyniesiesz swoje umiejętności na nowy, wyższy poziom Setki łamigłówek czekają!
Kompendium blockchain. Technologia i jej zastosowania
Krzysztof Piech, Grzegorz Sobiecki, Jacek Wytrębowicz
Blockchain to nie przelotny trend, lecz siła napędowa zmian, które już dziś kształtują nasz świat. Coraz więcej firm, instytucji i twórców rozwiązań cyfrowych sięga po niego, by budować bardziej transparentne, bezpieczne i zdecentralizowane systemy. Inspiracją do stworzenia niniejszej książki była rosnąca potrzeba uporządkowania wiedzy związanej z dynamicznie rozwijającą się technologią blockchain. Na ten temat powstało już wiele publikacji, jednak żadna nie omawia go w sposób tak kompleksowy - oferujący zarówno najważniejsze informacje bazowe nowicjuszom, jak i pogłębione analizy interesujące ekspertów. Seria "Kompendium blockchain" składa się z trzech tomów, w ramach których omówiono każdy z najważniejszych aspektów tej technologii. Tom pierwszy stanowi szerokie wprowadzenie do zagadnień związanych z blockchainem, takich jak: podstawowe zasady działania mechanizmy konsensusu i bezpieczeństwa zastosowanie technologii w różnych sektorach gospodarki analizy dotyczące: mechanizmów sieci blockchain kryptografii postkwantowej suwerennej tożsamości cyfrowej możliwości, jakie niesie za sobą tokenizacja i inteligentne kontrakty użycie blockchaina w logistyce, medycynie, rolnictwie, sektorze nieruchomości czy systemach zarządzania przedsiębiorstwami społecznymi społeczności blockchainowe, czyli rola zaufania i innowacji w kształtowaniu zdecentralizowanych projektów. O książce w mediach: BIZNES24.PL – komentarz rynkowy prof. Krzysztofa Piecha Jak rodziła się w Polsce branża krypto – rozmowa prof. Krzysztofa Piecha i dr. Jacka Wytrębowicza Uczmy się krypto – rozmowa prof. Krzysztofa Piecha i dr. Grzegorza Sobieckiego <iframe width="560" height="315" src="https://www.youtube.com/embed/YffmdVUb_Ns?si=z96siNyVPu3JALFm" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
Kate Hobler
Poradnik dla wszystkich, którym słowo Scrum nie powinno być obce Kate Hobler, autorka książki, jest przedsiębiorczynią, trenerką i konsultantką. Przez wiele lat swojej kariery zawodowej była Scrum Masterką, Agile Coachem, Product Ownerką i liderką zwinnej organizacji. Tematykę związaną ze zwinnymi zmianami w firmach zna więc bardzo dobrze. I doskonale wie, że na polu współpracy między działem HR a Scrum Managerami nie zawsze wszystko działa poprawnie. Delikatnie mówiąc. Przewodnik, który trzymasz w ręku, powstał właśnie po to, by zasypać otchłań między działem HR i pozostałymi dywizjami organizacji w procesie transformacji. Kate ma nadzieję, że dzięki książce uda jej się pomóc zarówno osobom przeprowadzającym transformację, jak i działom HR firm i organizacji. Wszak wszyscy powinni grać do jednej bramki - zarówno decydenci angażujący "haerowców", by stali się niezbędną częścią i akceleratorem zmian, jak i sam dział HR, który, jeśli ma pomóc, musi poznać zasady gry. Mam nadzieję, że dzięki tej książce zwinna zmiana stanie się bardziej znośna i dużo efektywniejsza. Kate Hobler
Alberto Ferrari, Marco Russo
WYDANIE DRUGIE uzupełnione i rozszerzone Najbardziej wyczerpujący przewodnik po języku DAX, obecnie rozszerzony i uzupełniony o najnowsze funkcje i nowoczesne zalecane praktyki, prezentujący opracowany w firmie Microsoft język na potrzeby analiz biznesowych i modelowania danych. Czołowi eksperci w dziedzinie Microsoft BI pomagają opanować wszystkie elementy systemu, od funkcji tablicowych po zaawansowany kod i optymalizację modelu. Dowiedz, co naprawdę dzieje się przy wykonywaniu poleceń DAX i jak użyć tej wiedzy do pisania szybkiego i niezawodnego kodu. Wydanie to skupia się na przykładach, które można budować i uruchamiać przy użyciu bezpłatnego narzędzia Power BI Desktop i pomaga wydobyć najwięcej korzyści ze składni zmiennych (VAR) w Power BI, Excelu lub Analysis Services. Pragniesz wykorzystać wszystkie możliwości języka ? To książka, której potrzebujesz. Wykonuj skuteczną analizę danych w programach Power BI, SQL Server i Excel Poznaj podstawowe koncepcje DAX, w tym kolumny obliczane, miary i obsługę błędów Wydajnie korzystaj z zaawansowanych funkcji tablicowych Opanuj istotę kontekstów wykonania oraz funkcje CALCULATE i CALCULATETABLE Wykonuj obliczenia czasowe i oparte na niestandardowych hierarchiach Korzystaj z grup obliczeń i elementów obliczanych Używaj składni zmiennych do tworzenia bardziej czytelnego, zrozumiałego kodu Wyrażaj różnorodne nietypowe relacje, w tym relacje wiele-do-wielu i filtry dwukierunkowe Opanuj zaawansowane techniki optymalizacyjne, aby zwiększyć wydajność agregacji Optymalizuj modele danych Mierz wydajność zapytań przy użyciu DAX Studio i dowiedz się, jak optymalizować kod DAX O tej książce Dla zaawansowanych użytkowników programu Excel oraz anlityków BI używających SQL Server Analysis Services lub Power BI O autorach Marco Russo i Alberto Ferrari są współzałożycielami strony sqlbi.com, w której regularnie publikują artykuły na temat Microsoft PowerPivot, DAX, Power BI oraz SQL Server Analysis Services. Występują też na głównych międzynarodowych konferencjach, takich jak TechEd, Ignite, PASS Summit czy SQLBits. Obydwaj wykładają teorię analizy biznesowej (BI) oraz technologie Microsoft BI począwszy od roku 1999. Książki ich autorstwa obejmują Excel 2013: Budowanie modeli danych przy użyciu PowerPivot, Analyzing Data with Power BI and Power Pivot for Excel oraz Introducing Microsoft Power BI.
Komputer kwantowy. Programowanie, algorytmy, kod
Eric R. Johnston, Nicholas Harrigan, Mercedes Gimeno-Segovia
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 na jakimkolwiek standardowym urządzeniu komputerowym. Z drugiej strony z wieloma standardowymi obliczeniami QPU nie radzi sobie dużo lepiej niż najzwyklejszy laptop. Z punktu widzenia programisty zatem stanowi rodzaj koprocesora o ciekawych możliwościach. Oto przewodnik po wspaniałym, nieodkrytym jeszcze do końca świecie informatyki kwantowej. Aby ją zrozumieć, niepotrzebny jest doktorat z fizyki kwantowej i wyższej matematyki. Dzięki tej książce opanujesz zestaw pojęć niezbędnych do zrozumienia działania QPU, dowiesz się, jakie problemy mogą rozwiązać aplikacje QPU i nauczysz się korzystać z narzędzi do pisania programów dla QPU. Zaprezentowane tu koncepcje są bogato ilustrowane przykładami, które można łatwo uruchomić na darmowym symulatorze QCEngine. Istnieje też możliwość korzystania z fizycznych QPU (kilka prototypów QPU udostępniono w chmurze). Interesującą, choć nieco trudniejszą częścią przewodnika jest rozdział poświęcony zastosowaniu obliczeń kwantowych w uczeniu maszynowym. W tej książce: koncepcje programowania procesorów kwantowych kubity, superpozycja i teleportacje kwantowe prymitywy QPU wzmacnianie amplitudy, kwantowa transformacja Fouriera i szacowanie fazy przykłady aplikacji QPU QPU: zrób pierwszy krok ku technologii przyszłości!
Koncepcja Domain-Driven Design. Dostosowywanie architektury aplikacji do strategii biznesowej
Vlad Khononov
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 zbudowanie systemu w pełni zgodnego z potrzebami i celami biznesowymi. Ta książka zawiera opis podstawowych wzorców, zasad i praktyk przydatnych podczas analizy dziedzin biznesowych, ułatwiających zrozumienie ich strategii i dostosowanie architektury do potrzeb biznesu, aby umożliwić zbudowanie solidnej implementacji logiki biznesowej. Omówiono tu narzędzia i techniki podejmowania decyzji projektowych, a także istotniejsze wzorce projektowe. Dużo uwagi poświęcono kodowi i różnym sposobom implementacji logiki biznesowej systemu. Opisano również techniki i strategie stosowania DDD w rzeczywistych projektach. Ciekawym elementem jest zaprezentowanie związków projektowania dziedzinowego z innymi ważnymi metodologiami i wzorcami.\ W książce między innymi: analiza dziedziny biznesowej firmy w kontekście architektury systemu strategiczne i taktyczne narzędzia DDD budowa wspólnego rozumienia dziedzin biznesowych dekompozycja systemu na konteksty ograniczone koordynacja pracy wielu zespołów stopniowe wdrażanie technik DDD do projektów typu brownfield DDD: praktyczny sposób na rozwiązanie problemów biznesowych!
Kontenery. Bezpieczne wdrożenia. Podstawowe koncepcje i technologie
Liz Rice
Imponująca możliwość skalowania oraz odporność na awarie skłania organizacje do uruchamiania swoich aplikacji w natywnych środowiskach chmury. Technologia kontenerów i orkiestracji stała się ostatnio bardzo modna. Jednak nawet tak nowoczesne systemy nie są wolne od zagrożeń. Aby zapewnić wdrożeniom kontenerowym najwyższy możliwy poziom bezpieczeństwa, trzeba zrozumieć mechanizmy działania kontenerów. Jako że powstają one przez połączenie różnych funkcji jądra systemu Linux, zapewnienie bezpieczeństwa kontenera oznacza zastosowanie wielu mechanizmów wykorzystywanych w komputerze gospodarza działającego pod kontrolą systemu operacyjnego Linux. Ta książka jest przeznaczona dla programistów, menedżerów i specjalistów do spraw bezpieczeństwa odpowiedzialnych za systemy kontenerowe. Dzięki niej zrozumiesz, co się dzieje podczas uruchamiania aplikacji w kontenerach i jak działają różne mechanizmy zapewnienia bezpieczeństwa. Przyswoisz kluczowe koncepcje, które ułatwią Ci ocenę ryzyka dla konkretnego systemu. Dowiesz się, jak w bezpieczny sposób tworzyć obrazy kontenerów, i zrozumiesz znaczenie poprawnej izolacji kontenerów. Zapoznasz się z podstawami korzystania z kluczy i certyfikatów służących do identyfikacji i nawiązywania bezpiecznych połączeń sieciowych między kontenerami. Nauczysz się korzystać z narzędzi do zapewniania bezpieczeństwa i unikania ataków. Dodatkowo zaprezentowany tu materiał został bogato zilustrowany gotowymi do przetestowania fragmentami kodu. Najciekawsze zagadnienia ujęte w książce: mechanizmy ataków na wdrożenia oparte na kontenerach koncepcje systemu Linux istotne dla wdrożeń kontenerowych sposoby zabezpieczania kontenerów: najlepsze praktyki błędy w konfiguracji i luki w zabezpieczeniach kontenera bezpieczeństwo połączeń między kontenerami narzędzia do zapewnienia bezpieczeństwa System oparty na kontenerach. Jak dobrze jest zabezpieczony?
Konteneryzacja z wykorzystaniem Dockera. Podstawy
Piotr Chudzik
Twórz, testuj i wdrażaj: konteneryzacja na Twoich zasadach Pierwsza była wirtualizacja: oprogramowanie symuluje istnienie zasobów logicznych korzystających z zasobów fizycznych. Po niej przyszła konteneryzacja, polegająca na tworzeniu obrazów - kopii danych - zawierających wszystkie pliki potrzebne do uruchomienia danej aplikacji. Środowiska produkcyjne z obu korzystają równolegle, ale to konteneryzacja stała się swojego rodzaju rewolucją w sektorze IT. Pozwoliła bowiem na sprawniejsze wdrażanie mikroserwisów, a także na optymalizację kosztów działania wielu aplikacji. Jeśli dotąd nie nadarzyła się okazja, by zgłębić temat, zrób to jak najszybciej, ponieważ umiejętność konteneryzacji jest obecnie wymagana na bardzo wielu stanowiskach, od programistów i inżynierów danych po specjalistów DevOps i administratorów. Korzystając z tej książki, zapoznasz się z Dockerem - najpopularniejszym narzędziem do konteneryzacji. Podczas pracy z naszym poradnikiem między innymi: Zbudujesz swój pierwszy kontener Nauczysz się zarządzać jego zawartością Stworzysz sieć kontenerów Dowiesz się, czym jest Dockerfile Opanujesz podstawy Docker Compose
Kontrola wersji z systemem Git. Narzędzia i techniki programistów. Wydanie II
Jon Loeliger, Matthew McCullough
Systemy kontroli wersji przechodzą ciągłą ewolucję. Jeszcze niedawno popularny był system CVS, który został wyparty przez SVN. Ostatnie lata to inwazja rozproszonych systemów kontroli wersji z Gitem na czele. Git pozwala każdemu programiście na posiadanie prywatnego repozytorium i korzystanie z jego dobrodziejstw bez wpływu na inne repozytoria. Jesteś ciekaw, jakie jeszcze zalety ma Git? Jeżeli tak, trafiłeś na idealną książkę, dzięki której błyskawicznie wkroczysz w świat Gita. Na początek krok po kroku przejdziesz przez proces instalacji, a następnie dostosujesz środowisko do swoich potrzeb. W kolejnych rozdziałach poznasz dostępne polecenia oraz nauczysz się zarządzać plikami. Ponadto przekonasz się, jak łatwo można stworzyć odgałęzienia kodu oraz przeglądać różnice pomiędzy wersjami pliku. Git posiada zaawansowane narzędzia do łączenia kodu - będziesz mógł je dogłębnie poznać. Na koniec przeczytasz o zaawansowanych możliwościach systemu Git, takich jak współpraca z SVN. Ta książka jest doskonałym podręcznikiem dla każdego początkującego użytkownika systemu Git, zaawansowani również znajdą tu sporo przydatnych informacji. Wykorzystaj potencjał Gita! Dzięki tej książce: odkryjesz rozproszone systemy kontroli wersji poznasz ich zalety zainstalujesz i skonfigurujesz system Git poznasz system kontroli wersji Git Wykorzystaj potencjał systemu kontroli wersji Git!
Prem Ponuthorai, Jon Loeliger
Jeśli pracujesz w zespole i prowadzisz złożone projekty, dobrze wiesz, czym się kończy brak zarządzania wersjami. Dzięki Gitowi możesz zapomnieć o tych problemach. Ten niezawodny rozproszony system kontroli wersji cechuje się szybkością i skalowalnością, zapewnia bogatą kolekcję zestawów poleceń, jest też zoptymalizowany pod kątem operacji lokalnych. Aby docenić Gita, musisz jedynie nabrać wprawy, pewności siebie ― i dobrze go poznać. Ta książka, napisana z myślą o inżynierach oprogramowania, jest trzecim, gruntownie zaktualizowanym wydaniem praktycznego przewodnika, który szybko przeprowadzi Cię od podstaw aż do zaawansowanych technik pracy z Gitem. Po zapoznaniu się z filozofią systemu i jego najważniejszymi funkcjami płynnie przejdziesz do takich zagadnień jak modyfikowanie drzew, korzystanie z dziennika odwołań i schowka. Znajdziesz tu również kilka przydatnych scenariuszy projektowych i sporo ciekawych wskazówek i porad. W efekcie nauczysz się korzystać z elastyczności Gita i w praktyczny sposób zarządzać procesem tworzenia kodu z zastosowaniem wielu różnych metod. W książce: rozproszone systemy kontroli wersji typowe zastosowania Gita i jego podstawowe funkcje metody zarządzania scaleniami, konfliktami, poprawkami i różnicami zaawansowane techniki, takie jak zmiana bazy i haki korzystanie z serwisu GitHub Autorzy książki przechodzą w niej stopniowo od najbardziej podstawowych zagadnień ze świata systemu Git do zaawansowanych zastosowań. Jeff King, projektant oprogramowania open source Bądź na bieżąco, kontroluj wersje projektu!
Kosymulacja. Elastyczne projektowanie i symulacja wielodomenowa
Artur Wodołażski
Poznaj kosymulację od podstaw Podstawowe pojęcia i definicje Praktyczna realizacja kosymulacji Oprogramowanie kosymulacyjne Dane są obecnie zbierane, przetwarzane i analizowane dosłownie na każdym kroku, a otrzymane wyniki i płynące z nich wnioski oddziałują na każdy aspekt naszego życia. Modelowanie i symulacja to nieodzowne etapy projektowania wszelkiego rodzaju produktów i urządzeń przemysłowych. Pojazdy, budynki, konsumencki sprzęt elektroniczny, lecz także instalacje technologiczne, konstrukcje inżynierskie i specjalistyczna aparatura - wszystko to jest opracowywane i ulepszane właśnie dzięki symulacjom, a prototypy nowych urządzeń powstają i są testowane znacznie szybciej przy użyciu narzędzi cyfrowych. Kosymulacja to zaawansowana technologia umożliwiająca jednoczesną symulację wielu zjawisk w różnych podsystemach dzięki wykorzystaniu specjalistycznych pakietów oprogramowania. Znajduje zastosowanie w wielodziedzinowych, wieloskalowych symulacjach, w których łączy się różnego rodzaju domeny (mechaniczną, hydrauliczną, termiczną i elektryczną). Z tego powodu kosymulacja jest szczególnie często używana w roli narzędzia w badaniach naukowych w przemyśle motoryzacyjnym, lotniczym i medycznym, a więc w branżach o największym potencjale rozwoju. Książka jest przeznaczona dla osób pragnących poznać podstawy kosymulacji i usystematyzować wiedzę w tym zakresie. Ze względu na interdyscyplinarność narzędzia adresatami publikacji są przede wszystkim pracownicy IT, pracownicy akademiccy, studenci kierunków automatyka i robotyka czy informatyka. Skorzystają z niej również osoby pracujące w przemyśle, zajmujące się na co dzień projektowaniem, modelowaniem lub symulacją, a szczególnie projektanci-konstruktorzy wykonujący symulacje na poziomie całego systemu. Wprowadzenie do zagadnienia kosymulacji Wzorce komunikacyjne i sprzężenia układów Realizacja kosymulacji w praktyce Oprogramowanie stosowane w kosymulacji Praktyczne zadania wraz z rozwiązaniami Stosuj kosymulację w praktyce
Ashish Belagali, Akshay Chordiya, Hardik Trivedi
Kotlin is a powerful language that has applications in a wide variety of fields. It is a concise, safe, interoperable, and tool-friendly language. The Android team has also announced first-class support for Kotlin, which is an added boost to the language. Kotlin’s growth is fueled through carefully designed business and technology benefits.The collection of projects demonstrates the versatility of the language and enables you to build standalone applications on your own. You’ll build comprehensive applications using the various features of Kotlin. Scale, performance, and high availability lie at the heart of the projects, and the lessons learned throughout this book.You’ll learn how to build a social media aggregator app that will help you efficiently track various feeds, develop a geospatial webservice with Kotlin and Spring Boot, build responsive web applications with Kotlin, build a REST API for a news feed reader, and build a server-side chat application with Kotlin.It also covers the various libraries and frameworks used in the projects. Through the course of building applications, you’ll not only get to grips with the various features of Kotlin, but you’ll also discover how to design and prototype professional-grade applications.
Alexey Soshin, Anton Arhipov
This book shows you how easy it can be to implement traditional design patterns in the modern multi-paradigm Kotlin programming language, and takes you through the new patterns and paradigms that have emerged.This second edition is updated to cover the changes introduced from Kotlin 1.2 up to 1.5 and focuses more on the idiomatic usage of coroutines, which have become a stable language feature. You'll begin by learning about the practical aspects of smarter coding in Kotlin, as well as understanding basic Kotlin syntax and the impact of design patterns on your code.The book also provides an in-depth explanation of the classical design patterns, such as Creational, Structural, and Behavioral families, before moving on to functional programming. You'll go through reactive and concurrent patterns, and finally, get to grips with coroutines and structured concurrency to write performant, extensible, and maintainable code.By the end of this Kotlin book, you'll have explored the latest trends in architecture and design patterns for microservices. You’ll also understand the tradeoffs when choosing between different architectures and make informed decisions.
Raghavendra Rao K
Kotlin was developed with a view to solving programmers’ difficulties and operational challenges. This book guides you in making Kotlin and Java EE work in unison to build enterprise-grade applications. Together, they can be used to create services of any size with just a few lines of code and let you focus on the business logic.Kotlin for Enterprise Applications using Java EE begins with a brief tour of Kotlin and helps you understand what makes it a popular and reasonable choice of programming language for application development, followed by its incorporation in the Java EE platform. We will then learn how to build applications using the Java Persistence API (JPA) and Enterprise JavaBeans (EJB), as well as develop RESTful web services and MicroServices. As we work our way through the chapters, we’ll use various performance improvement and monitoring tools for your application and see how they optimize real-world applications. At each step along the way, we will see how easy it is to develop enterprise applications in Kotlin. By the end of this book, we will have learned design patterns and how to implement them using Kotlin.
Kotlin Programming By Example. Build real-world Android and web applications the Kotlin way
Iyanu Adelekan
Kotlin greatly reduces the verbosity of source code. With Google having announced their support for Kotlin as a first-class language for writing Android apps, now's the time learn how to create apps from scratch with KotlinKotlin Programming By Example takes you through the building blocks of Kotlin, such as functions and classes. You’ll explore various features of Kotlin by building three applications of varying complexity. For a quick start to Android development, we look at building a classic game, Tetris, and elaborate on object-oriented programming in Kotlin. Our next application will be a messenger app, a level up in terms of complexity. Before moving onto the third app, we take a look at data persistent methods, helping us learn about the storage and retrieval of useful applications. Our final app is a place reviewer: a web application that will make use of the Google Maps API and Place Picker.By the end of this book, you will have gained experience of of creating and deploying Android applications using Kotlin.