Search results
TDD w praktyce. Niezawodny kod w języku Python
Harry Percival
„Ta książka to znacznie więcej niż tylko wprowadzenie do programowania sterowanego testami w Pythonie. To jest pełny kurs przedstawiający najlepsze praktyki, od początku do końca na przykładzie nowoczesnego programowania aplikacji sieciowej w Pythonie.” — Kenneth Reitz, członek Python Software Foundation Twórz niezawodne aplikacje w języku Python! Każdy programista marzy o pracy z przejrzystym kodem, który został w całości pokryty testami. Niestety, rzeczywistość bywa często daleka od ideału. A może da się go jednak osiągnąć? Odpowiedzią na to pytanie jest TDD (ang. Test-Driven Development), czyli wytwarzanie oprogramowania sterowane testami. Jak zacząć stosować tę technikę? Na to i wiele innych pytań odpowiada ta książka. Zacznij w praktyce realizować koncepcje płynące z TDD w połączeniu z językiem Python. Na początku dowiedz się, jak skonfigurować Django za pomocą testu funkcjonalnego, oraz skorzystaj z modułu unittest. Zdobądź też bezcenną wiedzę na temat testowania widoków, szablonów i adresów URL oraz naucz się testować układy strony i style. Sprawdź, jak zapewnić ciągłą integrację z wykorzystaniem systemu Jenkins oraz najlepszych praktyk w tworzeniu testowalnego kodu. Książka ta jest doskonałą lekturą dla wszystkich programistów tworzących aplikacje internetowe w języku Python. Twój kod może być naprawdę łatwy w utrzymaniu! Poznaj sposób pracy wykorzystujący podejście TDD, między innymi cykl test jednostkowy i tworzenie kodu, a później refaktoryzacja. Używaj testów jednostkowych dla klas i funkcji oraz testów funkcjonalnych pozwalających na symulowanie działań podejmowanych przez użytkownika w przeglądarce internetowej. Dowiedz się kiedy i jak używać obiektów imitacji, a także poznaj wady i zalety testów odizolowanych i zintegrowanych. Przetestuj i automatyzuj wdrożenie za pomocą serwera prowizorycznego. Zastosuj testy względem przygotowanych przez firmy trzecie wtyczek, które integrujesz z witryną. Używaj środowiska ciągłej integracji w celu automatycznego wykonywania testów. Poznaj techniki TDD w połączeniu z Pythonem!
TDD z wykorzystaniem C# 7. Programowanie sterowane testami
John Callaway, Clayton Hunt
Coraz więcej profesjonalnych środowisk produkcyjnych opiera się na oprogramowaniu. Ewentualne błędy w pracy kodu mogą prowadzić do poważnych konsekwencji - dlatego od rozwiązań informatycznych wymaga się solidności i poprawności. Równocześnie oczekuje się wydajnego działania, skalowalności i podatności na modyfikacje, a także możliwości łatwego utrzymania kodu. Aplikacje utworzone zgodnie z paradygmatem TDD są w większym stopniu testowalne i zapewniają wysoki poziom poprawnej, stabilnej pracy. Sprawia to, że coraz więcej zespołów programistycznych skłania się ku TDD, mimo że zautomatyzowane testowanie bywa czasochłonne, pracochłonne i dość trudne w implementacji. To książka przeznaczona dla tych, którzy chcą dogłębnie zrozumieć istotę TDD. Omówiono tu wszystkie aspekty TDD, włączając w to podstawy, dzięki którym średnio zaawansowany programista komfortowo rozpocznie budowę aplikacji zgodnie z tym paradygmatem. Przedstawiono zasady definiowania i testowania granic, a także pojęcie abstrahowania kodu zewnętrznego. W książce pojawiają się też - wprowadzane stopniowo - bardziej zaawansowane koncepcje, takie jak szpiedzy, imitacje i fałszywki. Pokazano w niej, w jaki sposób za pomocą TDD można przekształcić wymagania i historie użytkownika w funkcjonującą aplikację. Sporo miejsca poświęcono pisaniu różnych rodzajów testów, również integracyjnych. Poszczególne koncepcje zostały zilustrowane praktycznymi fragmentami kodu napisanego w C# i JavaScripcie. W tej książce między innymi: koncepcje programowania sterowanego testami i przygotowanie środowiska do pracy różne podejścia do budowania aplikacji i sterowania testami poprawa elastyczności aplikacji i jej podatności na przyszłe modyfikacje TDD w warunkach zmieniających się wymagań rozwiązywanie problemów z kodem zastanym TDD: tak pracują najlepsi programiści!
Testowanie bezpieczeństwa aplikacji internetowych. Receptury
Paco Hope, Ben Walther
Poznaj i wykorzystaj mechanizmy testowania zabezpieczeń, a nikt nie prześlizgnie się przez Twoją witrynę! Jak zainstalować i skonfigurować narzędzia do testowania zabezpieczeń? Jak szybko i sprawnie znaleźć problemy w aplikacjach? Jak wykorzystywać testy powtarzalne? Witryny internetowe oraz ich aplikacje stanowią swoistą wirtualną furtkę do wszystkich korporacji i instytucji. Jak zatem zadbać, aby nikt niepożądany nie przedostał się do środka? Co sprawia, że witryna jest naprawdę bezpieczna? I w jaki sposób testować aplikację, aby nie był to proces żmudny i czasochłonny, a raczej sprawny i skuteczny? Oto rozwiązanie -- niniejsza książka zawiera proste receptury, dzięki którym z łatwością znajdziesz luki w aplikacjach, zanim zrobią to różni hakerzy. Książka "Testowanie bezpieczeństwa aplikacji internetowych. Receptury" to napisany zrozumiałym językiem podręcznik, dzięki któremu szybko poznasz mechanizmy testowania zabezpieczeń. Praktyczne przykłady zawarte w tym przewodniku sprawią, że szybko nauczysz się włączać systemy zabezpieczeń do standardowych procedur kontroli aplikacji. Bez problemu stworzysz testy dotyczące funkcji AJAX, a także przeprowadzisz rozbudowane, wieloetapowe testy podatności na klasyczne problemy: skrypty krzyżowe oraz wstrzykiwanie kodu. Bezpieczeństwo oprogramowania Instalacja darmowych narzędzi i rozszerzeń Kodowanie danych w Internecie Manipulowanie danymi wejściowymi Fałszowanie informacji przesyłanych w nagłówkach przez przeglądarki Przesyłanie na serwer plików o dużej objętości Obchodzenie ograniczeń interfejsu użytkownika Autoryzacja masowego skanowania Ataki przeciwko aplikacjom AJAX Manipulowanie sesjami Testy wielostronne Niech bezpieczeństwo Twoich aplikacji nie spędza Ci snu z powiek!
TensorFlow. 13 praktycznych projektów wykorzystujących uczenie maszynowe
Ankit Jain, Armando Fandango, Amita Kapoor
TensorFlow służy do projektowania i wdrażania zaawansowanych architektur głębokiego uczenia. Jego zaletami są prostota, wydajność i elastyczność. Umożliwia budowanie złożonych rozwiązań na bazie różnorodnych zbiorów danych. Co więcej, pozwala na stosowanie różnych technik uczenia nadzorowanego, nienadzorowanego oraz uczenia przez wzmacnianie. TensorFlow zmienił sposób postrzegania uczenia maszynowego. Dzięki temu środowisku każdy, kto chce uczynić z dużych zbiorów danych wiarygodne źródło wiedzy, może ten cel osiągnąć - niezależnie od tego, czy jest analitykiem danych, naukowcem, projektantem, czy pasjonatem metod sztucznej inteligencji. To książka przeznaczona dla osób, które chcą nauczyć się tworzyć całościowe rozwiązania z wykorzystaniem uczenia maszynowego. Poszczególne zagadnienia zilustrowano trzynastoma praktycznymi projektami, w których wykorzystano między innymi analizy sentymentów, przetwarzanie języka naturalnego, systemy rekomendacyjne, generatywne sieci kontradyktoryjne czy sieci kapsułowe. Pokazano, w jaki sposób używać TensorFlow z interfejsem APO Spark i wspomagać obliczenia układami GPU. Przedstawiono zastosowanie rozkładu macierzy (SVD++), modeli rankingowych i odmian splotowej sieci neuronowej. Nie zabrakło prezentacji nowych rozwiązań o dużym potencjale, takich jak sieci DiscoGAN. Dołączony do książki kod źródłowy, liczne wskazówki i porady pozwolą na płynne rozpoczęcie pracy z TensorFlow oraz innymi narzędziami do budowy sieci neuronowych. W tej książce między innymi: podstawy pracy z TensorFlow wykorzystanie TensorFlow do wizualizacji sieci neuronowych zastosowanie procesu gaussowskiego do prognozowania cen akcji wykrywanie oszukańczych transakcji za pomocą TensorFlow i Keras implementacja sieci kapsułowych w TensorFlow techniki uczenia przez wzmacnianie TensorFlow: prostota, wydajność i imponujący potencjał!
Testuj oprogramowanie jak Google. Metody automatyzacji
James A. Whittaker, Jason Arbon, Jeff Carollo
Poznaj najlepszą na świecie metodę testowania! Oprogramowanie firmy Google to miliony linii kodu źródłowego, dziesiątki wersji językowych, różne systemy operacyjne, przeglądarki i preferencje użytkownika. Jak przy takich wymogach dostarczyć klientom produkt najwyższej jakości? Tu mogą pomóc tylko testy automatyczne. Dzięki nim codziennie bez trudu można uruchomić miliony testów! Google opanowało tę sztukę do mistrzostwa. Warto uczyć się od najlepszych! Dzięki tej książce dowiesz się, jak zorganizować proces testowania tak, żeby był elastyczny, skuteczny i spełniał Twoje oczekiwania. Poznasz rolę inżyniera do spraw testowania oprogramowania, kierownika zespołów inżynierskich oraz inżyniera testującego. Zobaczysz, na jakie problemy natykają się oni każdego dnia oraz jak sobie z nimi radzą. Ponadto nauczysz się oceniać ryzyko, dokumentować proces testowania czy raportować błędy. Książka ta jest obowiązkową lekturą dla wszystkich osób, które doskonalą swoje umiejętności programistyczne i chcą polepszyć jakość dostarczanego oprogramowania. Dzięki tej książce: poznasz najlepsze metody zapewniania jakości oprogramowania nauczysz się planować i przeprowadzać testy poprawnie ocenisz ryzyko udoskonalisz proces wytwarzania oprogramowania! Sprawdź, jak testują najlepsi!
Eran Kinsbruner
Nawet bardzo doświadczony zespół niekiedy popełnia błędy, które mogą przesądzić o porażce obiecującego projektu. Aby uniknąć takich sytuacji, trzeba zadbać o odpowiednie testowanie kodu. To jednak bywa prawdziwym wyzwaniem dla frontendowców, którzy na co dzień skupiają się na innych aspektach pracy aplikacji. Obecnie deweloperzy mogą wybierać spośród rozlicznych narzędzi do testowania i wielu nowych metodyk. Na uwagę zasługują zwłaszcza frameworki służące do automatyzacji testów wieloprzeglądarkowych, dostępne na licencji open source. Oto przewodnik po koncepcjach testowania i wiodących frameworkach, za pomocą których automatyzuje się testy aplikacji internetowych, takich jak Selenium, Cypress, Puppeteer i Playwright. Zaprezentowano w nim unikatowe funkcjonalności tych rozwiązań, ich wady i zalety, a także wyjaśniono zasady konfiguracji każdego z nich, aby testowanie przebiegało bezawaryjnie nawet po wprowadzeniu zmian w kodzie. Dzięki tej książce nie tylko wybierzesz najlepszy framework, ale także zintegrujesz go z przepływem pracy programowania frontendowego i utworzysz wstępny zestaw automatyzacji testów oparty na JavaScripcie. Zapewni to szybką informację zwrotną przy zmianach w kodzie i zwiększy niezawodność automatyzacji testów. W książce między innymi: wybór narzędzi do testowania aplikacji zaawansowana automatyzacja testów pomiar pokrycia kodu i pokrycia testowego w ocenie jakości aplikacji kompromisy przy wyborze narzędzi do testowania frameworki: Cypress, Selenium, Playwright i Puppeteer przegląd narzędzi do niskokodowego testowania aplikacji internetowych Automatyzacja testów aplikacji - tak zagwarantujesz niezawodność!
Testy jednostkowe. Świat niezawodnych aplikacji. Wydanie II
Roy Osherove
Poznaj możliwości testów jednostkowych! System informatyczny to inteligentne połączenie modułów i zależności, otoczone setkami tysięcy, a nawet milionami linii kodu źródłowego. Zmiana w jednym obszarze może mieć fatalny wpływ na działanie systemu w zupełnie innym miejscu. Ta zależność prowadzi do ogromnych kosztów wprowadzenia nawet najdrobniejszej zmiany w oprogramowaniu. Czy istnieje rozwiązanie tego problemu? Jak stworzyć system, w którym błyskawiczna weryfikacja lub wprowadzona zmiana nie spowodują nowych błędów w innej części? Oczywiście, że można to zrobić! Odpowiedzią na te i wiele innych problemów są testy automatyczne. Ten przewodnik to doskonała okazja, by głębiej poznać temat testów jednostkowych. Jeżeli uważasz, że ich pisanie jest uciążliwe, czasochłonne, trudne lub po prostu nie wiesz, jak je tworzyć, ta książka rozwiąże wszystkie Twoje problemy! W trakcie lektury dowiesz się, jak pisać testy, tworzyć zestawy testowe oraz przygotowywać makiety i namiastki. Poznasz narzędzia Moq, FakeItEasy oraz Typemock Isolator. Ponadto zdobędziesz wiedzę na temat organizacji testów oraz strategii testowania kodu odziedziczonego. Książka ta jest obowiązkową lekturą dla wszystkich programistów C# szukających świetnego przewodnika po świecie testów jednostkowych! Dzięki tej książce: rozwiejesz swoje wątpliwości dotyczące testów poznasz najpopularniejsze narzędzia wspomagające testowanie zorganizujesz swoje testy jednostkowe zapoznasz się z kluczowymi elementami dobrych testów stworzysz niezawodny i tani w utrzymaniu kod Niezawodny kod jest w Twoim zasięgu!
Podręcznik CSS. Eric Meyer o tworzeniu nowoczesnych układów stron WWW. Smashing Magazine
Eric Meyer
Wykorzystaj potencjał technologii CSS 3 i HTML 5 pod okiem najsłynniejszego eksperta w tej dziedzinie! Przegląd najbardziej przydatnych narzędzi, selektorów oraz nowości w języku CSS 3 Ponad piętnaście skutecznych technik rozmieszczania elementów na stronie Sposoby na tworzenie efektownych układów oraz formatowanie i stylizowanie tabel Czym byłby dzisiaj Internet, gdyby nie fantastyczne możliwości CSS? Przestrzenią pełną nudnych, podobnych do siebie i zapewne średnio atrakcyjnych dla współczesnych użytkowników stron www… Choć jeszcze dziesięć lat temu technologii tej wróżono odejście do lamusa, dziś swoją popularnością dorównała językowi HTML i stała się już niemal tak samo powszechna. Kaskadowe arkusze stylów spotkamy wszędzie, od przeglądarek internetowych, przez zaawansowane sklepy internetowe, po aplikacje do czatowania. Na tym nie koniec! CSS nadal rozkwita — jego ogromne możliwości oraz zakres użycia coraz bardziej się rozszerzają! A w branży twórców stron internetowych niewiele jest osób, które potrafią tak dobrze objaśnić wszystkie aspekty korzystania z języka CSS, jak słynny Eric Meyer — autor tej fantastycznej książki! To właśnie z nim wyruszysz w podróż do najeżonego nowościami i zmianami świata najświeższych specyfikacji HTML 5 i CSS 3. To dla Ciebie stworzył ten nowoczesny przewodnik z setką porad, skutecznych metod i praktycznych sztuczek w zakresie tworzenia najwyższej jakości witryn internetowych przy użyciu CSS. W pierwszej części znajdziesz krótki przegląd przydatnych narzędzi i podstawowych technik, wliczając w to mało znane selektory CSS. Następnie zobaczysz, co można zrobić przy użyciu CSS — poznasz ciekawe efekty oraz różne sposoby osiągania tego samego celu i tworzenia wydajnych układów. Dowiesz się, jak CSS 3 współdziała z biblioteką JQuery. W ostatniej części znajdziesz opis technik zaawansowanych. Co ważne, każdy opis jest niezależny od pozostałych, możesz więc otworzyć książkę na dowolnej stronie i wykorzystać w swojej pracy to, co się na niej znajduje — bez obaw, że straciłeś coś ważnego. W tej niezwykłej książce znajdziesz między innymi: opis więcej niż piętnastu technik rozmieszczania elementów na stronie (clearfix, układy dwu- i trzykolumnowe, układy z fałszywymi kolumnami, One True Layout, Holy Grail, układy oparte na jednostce em, płynne siatki, kleiste stopki) sposoby ukrywania elementów i wyrzucania ich poza ekran metody definiowania tła elementów body i html w języku XHTML opis wielu efektów CSS (wyskakujące okienka CSS, tworzenie nieregularnych kształtów na stronie, zaokrąglanie rogów, sprajty CSS, Sliding Doors, Liquid Bleach) techniki formatowania tabel za pomocą CSS, w tym elementów thead, tbody, tfoot i nagłówków wierszy sposoby formatowania wybranych kolumn, stylizowania tabel przy użyciu JQuery, zmieniania tabel w wykresy i mapy przegląd niektórych nowości w języku CSS 3 (definiowanie wielu obrazów w tle elementów, model kolorów RGBA) Opanuj najlepsze techniki tworzenia nowoczesnych układów stron WWW!