W epoce infrastruktur chmurowych, mikrousług czy wysublimowanych wzorców projektowych architekt oprogramowania musi sobie radzić z trudnym zadaniem, jakim jest wybór odpowiednich rozwiązań. Będą one potem szczegółowo testowane podczas pracy w środowisku produkcyjnym, a także przy późniejszym dostosowywaniu i rozbudowywaniu oprogramowania. Tymczasem w wypadku architektury złożonych systemów nie ma łatwych kompromisów. Konieczne jest ba...
Integracja systemów dla praktyków! Integracja systemów oraz zapewnienie komunikacji między różnymi ich komponentami to ogromne wyzwanie. Podczas tworzenia własnych rozwiązań prawdopodobnie natkniesz się na dziesiątki problemów. Dlatego warto rozważyć możliwość wykorzystania sprawdzonych narzędzi. Należy do nich magistrala ESB (skrót od ang. Enterprise Service Bus). Magistrala taka zapewnia inteligentne zarządzanie ruchem, transformac...
W sieci trwa właśnie rewolucja! Do władzy dochodzi język HTML5! Jego potencjał jest nieograniczony - ścisła integracja z przeglądarką internetową, wydajna obsługa grafiki czy wsparcie dla geolokalizacji to tylko niektóre z jego atutów. Korzystając z jego możliwości, możesz stworzyć świetną grę lub przydatną aplikację internetową. Poznaj pełne możliwości języka HTML5 i dowiedz się, jak budować kompletne i autonomiczne aplikacje, działające na urządzeniach przenośnych i konk...
Optymalizacja procesu archiwizacji dla administratorów i nie tylko Jak archiwizować i odtwarzać system oraz dane? Jak wybrać optymalną metodę archiwizacji? Jak ograniczyć koszty związane z procesem archiwizacji? Wdrożenie systemu archiwizacji jest podstawową czynnością, jaką administrator powinien wykonać. Cel tej procedury jest oczywisty, tak jak cena, jaką przyjdzie zapłacić za brak takiego systemu. Utrata danych lub krach systemu wcale nie muszą oznaczać dla fir...
W czasach zaawansowanych cyberataków na maszyny pracujące pod kontrolą Windows opanowanie złożonych mechanizmów zabezpieczeń systemu operacyjnego to kluczowa umiejętność. Zrozumienie zasad działania niskopoziomowych implementacji systemu Windows jest konieczne, jeśli chcesz odkrywać nieznane luki w zabezpieczeniach lub chronić się przed już znanymi zagrożeniami. Tę książkę docenią projektanci, specjaliści z zakresu metodyki DevOps i badacze zajmujący się bezpie...
Niepowodzenia biznesowe można różnie tłumaczyć, jeśli jednak od szukania wymówek wolisz zapewnić sukces swojej firmie, przemyśl sposób, w jaki korzystasz z analizy danych. Poprzez rozszerzenie możliwości i poprawę jakości analiz otworzysz sobie drzwi do podejmowania najbardziej racjonalnych decyzji - decyzji opartych na wnioskach. W tej książce znajdziesz przejrzystą, praktyczną i kompletną ścieżkę, która doprowadzi Twoją firmę do analitycznej dos...
Python to wspaniały język programowania. Jest wszechstronny, wyrazisty i zwięzły, pozwala też korzystać z rosnącej kolekcji narzędzi i bibliotek. Cenią go zarówno profesjonalni twórcy oprogramowania, jak i amatorzy czy osoby spoza branży, które w Pythonie widzą cenne narzędzie do tworzenia własnych aplikacji, znacząco poprawiających jakość i wydajność pracy. Wyjątkowy przewodnik dla osób zainteresowanych nauką programowania od podstaw! Luciano R...
Datafikacja trwa ― i zmienia nasze życie z zawrotną prędkością. Danych jest coraz więcej i są coraz bardziej złożone, a poza kwestiami technicznymi trzeba rozstrzygać mnóstwo dylematów etycznych lub prawnych związanych z prywatnością i bezpieczeństwem. Bez wątpienia w zarządzaniu danymi potrzeba nowej, wyrazistej wizji._x005F_x000D_ _x005F_x000D_ _x005F_x000D_ Ta książka zapewnia bardzo szczegółowe i solidne podstawy z zakresu zarządzania danymi obe...
Wprawny analityk potrafi się posługiwać zbiorami danych o wysokiej dynamice i różnorodności. Działanie to ułatwia biblioteka open source Pandas, która pozwala, przy użyciu języka Python, zrealizować niemal każde zadanie wymagające analizy danych. Pandas może pomóc w zapewnieniu wiarygodności danych, wizualizowaniu ich pod kątem efektywnego podejmowania decyzji i analizowaniu wielu zbiorów danych. Oto drugie, zaktualizowane i uzupełnione wydanie pr...
Język SQL służy do definiowania, porządkowania i eksplorowania danych w relacyjnych bazach danych. Nieco bardziej złożone zapytania SQL pozwalają na efektywne wydobywanie wiedzy z danych. SQL jest dojrzałym językiem, używanym w wielu systemach bazodanowych. Jednym z nich jest PostgreSQL, darmowy i powszechnie znany, dostępny również dla środowisk chmurowych. Książka jest przystępnym przewodnikiem po zastosowaniu języka SQL w procesie uzyskiwania informacji zawartych w...
Architektury data fabric i data lakehouse, a także siatka danych pojawiły się niedawno jako alternatywy hurtowni danych. Te nowe architektury mają swoje mocne strony, ale podczas projektowania rzeczywistych rozwiązań musisz pamiętać o odróżnianiu faktów od przesadnych pochwał i niejasności. Nie zawsze jest to proste i oczywiste zadanie. Niezwykłość tej książki polega na przekształcaniu złożonych zagadnień technicznych w jasne i zrozumiałe objaśnienia. Annie X...
Przetwarzanie w chmurze uzyskało status kluczowego sposobu działań operacyjnych współczesnych firm zmierzających w kierunku transformacji cyfrowej. Usługi AWS (Amazon Web Services) zapewniają takim przedsiębiorstwom znakomite rozwiązania, w tym usługi obliczeniowe, magazyny danych, obsługę sieci i usług zarządzanych. Aplikacje korporacyjne wdrożone w chmurze AWS mogą być wyjątkowo odporne, skalowalne i niezawodne. Oto zaktualizowane wydanie bestsellerowego przewodnika...
Płynne przepływy pracy są warunkiem efektywności w biznesie. Niekiedy jednak uzyskanie tego stanu bywa utrudnione przez konieczność korzystania z wielu oddzielonych od siebie narzędzi, aplikacji czy systemów. Rozwiązaniem tych problemów jest Microsoft Power Automate - narzędzie biznesowe, które nie wymaga użycia dużej ilości kodu, a poprawia wydajność pracy, zaprojektowane w celu ułatwienia automatyzacji w wypadku aplikacji zarówno lokalnych, jak i...
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...
Inżynieria oprogramowania jest pojęciem znacznie szerszym od kodowania: oznacza wszystkie niezbędne narzędzia i procesy stosowane przez organizację do tworzenia oprogramowania. To daje możliwość zachowania wartości kodu w dłuższej perspektywie czasu i pozwala ustanowić bardziej rygorystyczne zasady tworzenia oprogramowania, a dzięki temu sam kod jest podatniejszy na zmiany. Innymi słowy, inżynieria oprogramowania polega na optymalnym integrowaniu i organizowaniu tworzenia apl...
Jeszcze kilka lat temu, by zwiększyć szybkość działania programu, wystarczyło wymienić procesor. Dzisiejsze procesory nie są znacząco szybsze od poprzedników. Nowsze architektury zapewniają zaledwie niewielkie przyrosty wydajności istniejących już programów. Nie ma innego wyjścia: jeśli programista chce tworzyć efektywne oprogramowanie, musi wiedzieć, jak odpowiednio używać dostępnych zasobów obliczeniowych. Jest to trudna sztuka, wymagająca ciągłej gotow...
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...
C jest systemowym językiem programowania, więc zapewnia maksymalną wydajność sprzętu bazowego. Program napisany w C współpracuje bezpośrednio z warstwą sprzętową, co daje pełną kontrolę nad jego wykonywaniem, a sam kod jest krótki, prosty i działa szybko. Równocześnie można korzystać z zalet programowania wysokiego poziomu. W efekcie C od dwóch dekad pozostaje jednym z najpopularniejszych języków programowania. Trzeba jednak pamiętać o bardz...
JavaScript pozwala na tworzenie znakomitego kodu, ale wymaga od programisty sporych umiejętności. Tworzenie nawet bardzo złożonych aplikacji jest jednak łatwiejsze dzięki dostępnym narzędziom. Szczególnym uznaniem cieszy się React - popularna biblioteka open source służąca do tworzenia dynamicznych aplikacji na bazie niewielkich komponentów wielokrotnego użytku. React jest narzędziem, które w stosunkowo prosty sposób pozwala w pełni skorzystać z mo...
Niezależnie od tego, czy tworzysz stronę internetową, interfejs użytkownika, czy przedmiot codziennego użytku, musisz dostosować projekt do wymagań grupy docelowej. To, jak dobry będzie projekt i jakie wrażenia wywoła u użytkowników, zależy przede wszystkim od tego, co o nich wiesz. Niekiedy jest to specyficzna wiedza. W jaki sposób ci konkretni ludzie myślą? Kiedy podejmują decyzję? Co sprawi, że wykonają czynności, których się od nich oczekuje? W jaki s...
Python jest językiem łatwym do opanowania i przyjemnym dla programisty. Jednak łatwość projektowania nie przekłada się na szybkość działania kodu. W konsekwencji przetwarzanie dużych wolumenów danych czy próba skalowania aplikacji kończą się problemami z wydajnością lub niezawodnością. Niekiedy rozwiązaniem jest zastosowanie procesów szeregowych, w innych przypadkach warto sięgnąć do architektury wielordzeniowej, klastrów lub układów GPU. Re...
Model relacyjnej bazy danych zdecydowanie dominował wśród technologii bazodanowych przez ostatnie 20 lat. Poszczególne rozwiązania były do siebie na tyle podobne, że decyzja o zastosowaniu relacyjnej bazy danych stała się oczywista. Architektura rozwiązań tego typu była zbliżona, a różnice polegały głównie na koszcie wdrożenia, wydajności, niezawodności i łatwości użycia aplikacji. Obecnie sytuacja diametralnie się zmieniła: powstało wiele radykaln...
W ostatnich latach CSS bardzo się rozwinął. Mimo że istnieje od kilku dekad, wciąż jest ważnym elementem warsztatu profesjonalnych projektantów stron internetowych. Co prawda przyswojenie podstaw CSS nie jest specjalnie trudne, ale osiągnięcie prawdziwej biegłości w korzystaniu z tego języka wymaga stałego uczenia się i ciągłych ćwiczeń. Trzeba dobrze zrozumieć wszystkie części kodu CSS, a także sposób, w jaki są do siebie dopasowane. Wysiłek włożony w doskonałe...
Systemy operacyjne Windows 10 i Windows Server 2016 bardzo różnią się od swoich poprzedników. Są bardziej złożone, a niektóre zastosowane rozwiązania można określić jako zaawansowane i wysublimowane. Zwłaszcza znajomość wewnętrznych mechanizmów systemu, architektury jądra i systemowego modelu bezpieczeństwa okazuje się niezwykle istotna dla programistów i inżynierów ds. bezpieczeństwa. Bez tej wiedzy trudno mówić o prawdziwie n...