Programowanie
Neal Ford, Mark Richards, Pramod Sadalage, Zhamak...
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 bardzo wnikliwe i krytyczne przemyślenie każdej decyzji projektowej, i to na możliwie najwcześniejszym etapie pracy. Ta książka powinna zostać przestudiowana przez każdego architekta nowoczesnych systemów rozproszonych. Jej celem jest pokazanie sposobów rozwiązywania trudnych problemów związanych z projektowaniem takiego oprogramowania. W krytyczny i wszechstronny sposób omówiono w niej najważniejsze problemy utrudniające podejmowanie dobrych decyzji projektowych. Zaprezentowano najskuteczniejsze strategie doboru optymalnej architektury. Na jasnych przykładach pokazano, w jaki sposób należy przystąpić do analizy założeń projektowych ― począwszy od określenia "ziarnistości" usług, przepływów informacji i orkiestracji, poprzez eliminację sprzężenia kontraktów i określenie nadzoru nad transakcjami rozproszonymi, a skończywszy na metodach optymalizowania właściwości operacyjnych, takich jak skalowalność, elastyczność i wydajność. Najciekawsze zagadnienia: analiza kompromisów i dokumentowanie decyzji podejmowanie decyzji dotyczących "ziarnistości" usług złożoność procesu przekształcania aplikacji monolitycznych eliminacja sprzężeń kontraktów wiążących usługi obsługa danych w architekturze o dużym stopniu rozproszenia wzorce zarządzania przepływami informacji i transakcjami Architekt musi być prorokiem... Frank Lloyd Wright
Zostań ekspertem .NET 8. Dobre praktyki, wzorce projektowe, debugowanie i testowanie aplikacji
Mark J. Price
Większość książek programistycznych obejmuje jedynie wybrane tematy, takie jak bezpieczeństwo, testowanie aplikacji czy wdrażanie w chmurze. Inne koncentrują się na architekturze aplikacji, wzorcach projektowych albo przygotowaniu się do rozmów kwalifikacyjnych. Trudno jednak znaleźć przystępny przewodnik, który pozwoliłby krok po kroku przyswoić wszystkie umiejętności zawodowego programisty .NET. Dzięki temu podręcznikowi odblokujesz swój potencjał i otworzysz drogę do kariery. Nauczysz się zarządzania kodem źródłowym przy użyciu Gita i skutecznego nawigowania po projektach. Odkryjesz zaawansowane techniki debugowania i dokumentowania kodu, co poprawi jego czytelność i ułatwi utrzymanie projektów. Zgłębisz też tajniki kryptografii, by zapewnić poufność i spójność danych na każdym etapie cyklu życia aplikacji. W książce nie zabrakło wnikliwego spojrzenia na nowoczesne zagadnienia, takie jak budowanie inteligentnych aplikacji korzystających z modeli LLM, wstrzykiwanie zależności, testowanie czy konteneryzacja za pomocą Dockera. Dzięki wskazówkom dotyczącym najlepszych praktyk architektury oprogramowania zaczniesz tworzyć solidne, skalowalne i łatwe w utrzymaniu aplikacje! W książce: zaawansowane techniki debugowania ochrona danych i aplikacji przy użyciu kryptografii zastosowanie modeli LLM i programowanie chmurowe z .NET Aspire wstrzykiwanie zależności optymalizacja wydajności poprzez benchmarking i testowanie przygotowanie się do rozmowy kwalifikacyjnej Od juniora do eksperta. Wszystko, co musisz wiedzieć o .NET!
Zrozum struktury danych. Algorytmy i praca na danych w Javie
Allen B. Downey
Niezależnie od tego, jakim językiem programowania się posługujesz, nie staniesz się dobrym programistą ani nawet przeciętnym informatykiem, jeśli nie przyswoisz sobie najważniejszych idei inżynierii oprogramowania: algorytmów i struktur danych. Nie są to zagadnienia proste i z pewnością niejednego studenta informatyki kosztowały wiele zarwanych nocy. Niestety, istniejące na rynku książki dotyczące tych zagadnień nie ułatwiają nauki. Najczęściej są przeładowane matematycznymi wywodami, zbyt teoretyczne, zbyt opasłe i... zbyt oderwane od konkretnych zastosowań! Jeśli postanowiłeś zyskać praktyczną wiedzę o algorytmach i strukturach danych, a przy tym nieźle posługujesz się Javą, to trzymasz w rękach właściwą poublikację. Podstawy teoretyczne zostały w niej ograniczone do niezbędnych, potrzebnych w praktyce zagadnień. Sporo miejsca poświęcono analizie implementacji algorytmów i mierzeniu ich wydajności. Wyczerpująco wyjaśniono tak ważne aspekty praktyki inżynierii oprogramowania, jak kontrola wersji i testy jednostkowe. Mimo niewielkiej objętości książki znalazły się tu również ambitniejsze zagadnienia, np. trwałe struktury danych tworzone przez bazy danych Redis. W każdym rozdziale zamieszczono praktyczne ćwiczenia wraz z odpowiednim kodem testującym. W tej książce między innymi: Wprowadzenie do interfejsów Javy Analiza algorytmów Binarne drzewo przeszukiwania Wyszukiwanie logiczne Sortowanie Myśl jak informatyk i zrozum algorytmy!
Zrozum struktury danych. Algorytmy i praca na danych w Javie
Allen B. Downey
Niezależnie od tego, jakim językiem programowania się posługujesz, nie staniesz się dobrym programistą ani nawet przeciętnym informatykiem, jeśli nie przyswoisz sobie najważniejszych idei inżynierii oprogramowania: algorytmów i struktur danych. Nie są to zagadnienia proste i z pewnością niejednego studenta informatyki kosztowały wiele zarwanych nocy. Niestety, istniejące na rynku książki dotyczące tych zagadnień nie ułatwiają nauki. Najczęściej są przeładowane matematycznymi wywodami, zbyt teoretyczne, zbyt opasłe i... zbyt oderwane od konkretnych zastosowań! Jeśli postanowiłeś zyskać praktyczną wiedzę o algorytmach i strukturach danych, a przy tym nieźle posługujesz się Javą, to trzymasz w rękach właściwą poublikację. Podstawy teoretyczne zostały w niej ograniczone do niezbędnych, potrzebnych w praktyce zagadnień. Sporo miejsca poświęcono analizie implementacji algorytmów i mierzeniu ich wydajności. Wyczerpująco wyjaśniono tak ważne aspekty praktyki inżynierii oprogramowania, jak kontrola wersji i testy jednostkowe. Mimo niewielkiej objętości książki znalazły się tu również ambitniejsze zagadnienia, np. trwałe struktury danych tworzone przez bazy danych Redis. W każdym rozdziale zamieszczono praktyczne ćwiczenia wraz z odpowiednim kodem testującym. W tej książce między innymi: Wprowadzenie do interfejsów Javy Analiza algorytmów Binarne drzewo przeszukiwania Wyszukiwanie logiczne Sortowanie Myśl jak informatyk i zrozum algorytmy!
Zrozum struktury danych. Algorytmy i praca na danych w Javie
Allen B. Downey
Niezależnie od tego, jakim językiem programowania się posługujesz, nie staniesz się dobrym programistą ani nawet przeciętnym informatykiem, jeśli nie przyswoisz sobie najważniejszych idei inżynierii oprogramowania: algorytmów i struktur danych. Nie są to zagadnienia proste i z pewnością niejednego studenta informatyki kosztowały wiele zarwanych nocy. Niestety, istniejące na rynku książki dotyczące tych zagadnień nie ułatwiają nauki. Najczęściej są przeładowane matematycznymi wywodami, zbyt teoretyczne, zbyt opasłe i... zbyt oderwane od konkretnych zastosowań! Jeśli postanowiłeś zyskać praktyczną wiedzę o algorytmach i strukturach danych, a przy tym nieźle posługujesz się Javą, to trzymasz w rękach właściwą poublikację. Podstawy teoretyczne zostały w niej ograniczone do niezbędnych, potrzebnych w praktyce zagadnień. Sporo miejsca poświęcono analizie implementacji algorytmów i mierzeniu ich wydajności. Wyczerpująco wyjaśniono tak ważne aspekty praktyki inżynierii oprogramowania, jak kontrola wersji i testy jednostkowe. Mimo niewielkiej objętości książki znalazły się tu również ambitniejsze zagadnienia, np. trwałe struktury danych tworzone przez bazy danych Redis. W każdym rozdziale zamieszczono praktyczne ćwiczenia wraz z odpowiednim kodem testującym. W tej książce między innymi: Wprowadzenie do interfejsów Javy Analiza algorytmów Binarne drzewo przeszukiwania Wyszukiwanie logiczne Sortowanie Myśl jak informatyk i zrozum algorytmy!
Zrozum struktury danych. Algorytmy i praca na danych w Javie
Allen B. Downey
Niezależnie od tego, jakim językiem programowania się posługujesz, nie staniesz się dobrym programistą ani nawet przeciętnym informatykiem, jeśli nie przyswoisz sobie najważniejszych idei inżynierii oprogramowania: algorytmów i struktur danych. Nie są to zagadnienia proste i z pewnością niejednego studenta informatyki kosztowały wiele zarwanych nocy. Niestety, istniejące na rynku książki dotyczące tych zagadnień nie ułatwiają nauki. Najczęściej są przeładowane matematycznymi wywodami, zbyt teoretyczne, zbyt opasłe i... zbyt oderwane od konkretnych zastosowań! Jeśli postanowiłeś zyskać praktyczną wiedzę o algorytmach i strukturach danych, a przy tym nieźle posługujesz się Javą, to trzymasz w rękach właściwą poublikację. Podstawy teoretyczne zostały w niej ograniczone do niezbędnych, potrzebnych w praktyce zagadnień. Sporo miejsca poświęcono analizie implementacji algorytmów i mierzeniu ich wydajności. Wyczerpująco wyjaśniono tak ważne aspekty praktyki inżynierii oprogramowania, jak kontrola wersji i testy jednostkowe. Mimo niewielkiej objętości książki znalazły się tu również ambitniejsze zagadnienia, np. trwałe struktury danych tworzone przez bazy danych Redis. W każdym rozdziale zamieszczono praktyczne ćwiczenia wraz z odpowiednim kodem testującym. W tej książce między innymi: Wprowadzenie do interfejsów Javy Analiza algorytmów Binarne drzewo przeszukiwania Wyszukiwanie logiczne Sortowanie Myśl jak informatyk i zrozum algorytmy!
Zrozumieć Excela. VBA - makra i funkcje
Maciej Gonet
Programowanie i makra w Excelu? Nic strasznego! Poznaj Visual Basic for Applications (VBA) Naucz się tworzyć makra i własne funkcje Zrozum Excela Na rynku nie brakuje książek opisujących obsługę i zastosowania arkusza kalkulacyjnego MS Excel, żadna jednak nie wprowadzi Cię w tę tematykę tak skutecznie jak ta! Omiń rafy i białe plamy dokumentacji, skorzystaj z doświadczenia autora i śmiało wkrocz w świat niesamowitych możliwości Excela. Poznaj konstrukcje języka VBA i naucz się przeprowadzać obliczenia za jego pomocą. Odkryj zastosowania formantów, zapanuj nad danymi opisującymi datę i czas, dowiedz się, jak radzić sobie z tekstami i wykorzystaj funkcje definiowane przez użytkownika. Przekonaj się też, do czego mogą Ci się przydać makra! Struktura i konstrukcje VBA Obiekty, właściwości i metody Instrukcje warunkowe i komunikacja efiniowanie i używanie tablic oraz funkcji Obsługa wyjątków i zdarzeń Zaawansowane struktury danych Operacje na datach, czasach i tekstach Operowanie kolorami i formatowanie warunkowe Graficzne elementy sterujące Funkcje makr programu Excel Dowiedz się, jak wykorzystać Excela do zautomatyzowania swojej pracy!
Zrozumieć oprogramowanie. O prostocie kodu i doskonaleniu warsztatu programisty
Max Kanat-Alexander
W codziennej praktyce programiści często muszą sobie radzić z coraz większą złożonością tworzonego kodu. Mnożą się błędy, a ryzyko spektakularnej porażki rośnie. Jeśli ten scenariusz dotyczy także Ciebie, poziom złożoności Twoich projektów Cię przytłacza i czujesz, że nie dajesz rady, już teraz wdróż fundamentalne reguły, dzięki którym Twój kod odzyska prostotę i niezawodność! Jeśli każdy dzień z nowym projektem Cię rozczarowuje i przestałeś wierzyć w swoje możliwości, sięgnij po tę książkę! Max Kanat-Alexander, odpowiedzialny za dział Code Health w Google, w tym świetnym zbiorze esejów dzieli się mnóstwem trafnych spostrzeżeń dotyczących zasad programowania, złożoności kodu, pracy zespołowej i filozofii projektowania aplikacji. W książce pokazano bardzo różnorodne zagadnienia, od pisania prostego kodu aż po jego debugowanie i pogłębioną analizę. Dowiesz się także, jaka postawa charakteryzuje naprawdę dobrego programistę. Świeżość spojrzenia i znakomity styl autora sprawią, że tę książkę przeczytasz z przyjemnością. Wiedza techniczna i poziom ekspertyzy przyniosły mu status guru kodu, a jego pomysły zainspirują Cię i odświeżą Twoje podejście do wyzwań związanych z byciem deweloperem. Odzyskaj radość ze swojej pracy i zapomnij o porażkach! Ta książka skłoni Cię do przemyśleń: dlaczego prostota i precyzja są najważniejsze w tworzeniu kodu czym jest mistrzowskie programowanie jak poradzić sobie ze złożonością oprogramowania skąd się biorą porażki programistów i jak ich unikać jak się ma prostota do bezpieczeństwa aplikacji czym są błędy i jak należy rozumieć debugowanie Złożoność jest głupia. Prostota jest mądra.
Zrównoważony kod. Dobre praktyki i heurystyki dla inżynierów oprogramowania
Mark Seemann
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ę niezrozumiały i bardzo trudny w utrzymaniu. Na szczęście te problemy zostały dostrzeżone i obecnie mamy wiele sposobów ich rozwiązywania. Ta książka jest przeznaczona dla doświadczonych programistów, którzy chcą zdobyć lub pogłębić wiedzę o metodologiach i dobrych praktykach tworzenia złożonego oprogramowania. Stanowi interesująco napisany zbiór heurystyk i technik ułożonych w kolejności stosowania podczas rozwijania projektu programistycznego. Omówiono tu między innymi listy kontrolne, TDD, rozdzielenie poleceń i zapytań, Git, złożoność cyklomatyczną, przezroczystość referencyjną, wycinki pionowe, refaktoryzację zastanego kodu czy programowanie typu outside-in. Pokazano również, jak utrzymać właściwe tempo pracy podczas dodawania funkcjonalności, jak rozwiązywać problemy optymalizacji, enkapsulacji, a także projektowania API i testów jednostkowych. Poszczególne zagadnienia zostały zilustrowane kodem przykładowego projektu napisanego w C#, zrozumiałego dla każdego, kto zna dowolny język zorientowany obiektowo. Dzięki książce zrozumiesz, jak: wybierać sprawdzone procesy tworzyć listy kontrolne ułatwiające polepszenie wyników unikać "paraliżu analitycznego" przeciwdziałać degradacji kodu i niepotrzebnej złożoności stosować lepsze techniki modyfikacji kodu i rozwiązywania problemów skuteczniej godzić wymogi wydajności i bezpieczeństwa Celem nie jest pisanie kodu. Celem jest funkcjonalne oprogramowanie!
Zwinna analiza danych. Apache Hadoop dla każdego
Russell Jurney
Duże zbiory danych dla każdego! W dobie Big Data klasyczne podejście do analizy danych nie przynosi już pożądanych wyników. Skuteczna analiza gigantycznych zbiorów informacji, wyciąganie interesujących wniosków i prezentowanie ich w przejrzystej formie użytkownikowi wymagają mnóstwa czasu i środków. Zastanawiasz się, jak podejść do tego problemu, by zminimalizować ryzyko niepowodzenia? Na to i wiele innych pytań odpowiada ta fantastyczna książka. Dzięki niej dowiesz się, jak zaprząc platformę Hadoop do własnych celów. Skorzystasz z prostych narzędzi, takich jak język Python, biblioteka D3.js oraz Apache Pig, i zastosujesz zwinne podejście do problemu, by osiągnąć zaskakujące efekty. Ponadto przekonasz się, jak łatwo można publikować dane w MongoDB, stosować wyszukiwarkę ElasticSearch oraz wykorzystać potencjał chmur obliczeniowych. Nauczysz się także wizualizować dane na wykresach, prognozować oraz podejmować właściwe działania. Książka ta jest doskonałą lekturą dla wszystkich osób stojących przed problemem skutecznej pracy z ogromnymi zbiorami danych. Dzięki tej książce: poznasz najlepsze narzędzia do przetwarzania zbiorów danych wykorzystasz możliwości języka Python sprawdzisz możliwości chmur obliczeniowych błyskawicznie wyszukasz dane za pomocą ElasticSearch zwizualizujesz dane z użyciem D3.js Zwinnie rozwiąż problemy z dużymi zbiorami danych! „Przy tak dużej popularności zagadnień Big Data i Data Science, lektura praktycznego instruktażu budowy aplikacji analitycznych jest mocno odświeżająca. Russel Jurney wprowadza nas, małymi porcjami implementacji, w swoją filozofię zwinności w dziedzinie analizy i aplikacyjnego wykorzystywania danych.” Mat Kelcey, matpalm.com
Zwinne wytwarzanie oprogramowania. Najlepsze zasady, wzorce i praktyki
Robert C. Martin
Poznaj nowoczesne sposoby wytwarzania oprogramowania! Czasy kaskadowego tworzenia projektów odchodzą w niepamięć. Obecne tempo rozwoju aplikacji i rynku nie pozwala poświęcać miesięcy na analizę, tworzenie dokumentacji, projektowanie, a na końcu wytwarzanie, testowanie i wdrażanie. Produkt musi być dostępny błyskawicznie! Pozwala to na natychmiastowe zebranie opinii na jego temat, dostosowanie go do oczekiwań i szybkie reagowanie na wymagane zmiany. Takie założenia może spełnić tylko i wyłącznie zespół wytwarzający oprogramowanie w zwinny sposób! Ta książka została w całości poświęcona zwinnym praktykom. Sięgnij po nią i przekonaj się, w jaki sposób planować kolejne iteracje, tworzyć kod, a następnie go testować. W kolejnych rozdziałach poznasz praktyczne aspekty zwinnego tworzenia kodu – zobaczysz, jak istotne są zasady: pojedynczej odpowiedzialności, podstawienia Liskov czy odwracania zależności. Znajdziesz tu także zasady projektowania pakietów oraz przydatne wzorce projektowe, omówione na konkretnych przykładach. Książka ta jest obowiązkową lekturą dla wszystkich osób zaangażowanych w wytwarzanie oprogramowania i chcących udoskonalić swój proces. Dzięki tej książce: poznasz fundamenty zwinnego wytwarzania oprogramowania zaznajomisz się z najlepszymi praktykami przekonasz się, jak refaktoryzować kod wybierzesz właściwe wzorce i unikniesz typowych błędów poprawisz swój proces wytwarzania oprogramowania Zwinne programowanie = większa szansa na sukces projektu! To jest chyba pierwsza książka, w której ujęto w spójną całość metodykę agile, wzorce projektowe oraz podstawy nowoczesnego wytwarzania oprogramowania. Kiedy Bob Martin mówi, lepiej słuchaj!. — John Vlissides, konsultant i autor książki Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku Czekałem na tę książkę o wiele za długo. Bob ma ogromną ilość wiedzy do przekazania na temat pragmatyki uprawiania naszego rzemiosła. — Martin Fowler, konsultant i autor książki Architektura systemów zarządzania przedsiębiorstwem. Wzorce projektowe W książce Zwinne wytwarzanie oprogramowania. Najlepsze zasady, wzorce i praktyki, Bob Martin zaprezentował się zarówno jako mistrzowski programista, jak i nauczyciel. Zachwyca swoją praktyczną wiedzą i pięknym stylem. — Craig Larman, konsultant i autor książki UML i wzorce projektowe. Analiza i projektowanie obiektowe oraz iteracyjny model wytwarzania aplikacji