Inne - Programowanie
W kategorii Inne zgromadzone zostały publikacje blisko związane zarówno z programowaniem jak i innymi aspektami dotyczącymi twórczości programistycznej. Znajdziecie tutaj porady jak poprawnie i skutecznie napisać program, co zrobić aby był bardziej przyjazny użytkownikom, oraz z jakich metod numerycznych i struktur danych przy tych działaniach skorzystać.
Ważnym aspektem tworzenia oprogramowania jest jego testowanie. Znajdziecie tutaj publikacje, omawiające w przystępny sposób proces testowania aplikacji i wyjaśniające czemu właściwie jest to konieczne. Skoro napisaliście już znakomity program, warto byłoby go dobrze sprzedać - w działaniach marketingowych pomogą Wam książki z tego działu.
Projektowanie głosowych interfejsów użytkownika. Zasady doświadczeń konwersacyjnych
Cathy Pearl
Możliwość porozmawiania ze swoim komputerem od lat rozpalała wyobraźnię inżynierów, użytkowników i... artystów. Jak się okazało, sprawa nie jest - i nigdy nie była - oczywista: rozumienie naturalnej mowy to skomplikowany proces. Języki, którymi posługują się ludzie, są bowiem przepełnione subtelnościami i niejednoznacznością, a ich zrozumienie wymaga znajomości kontekstu. Intensywny rozwój technologii VUI doprowadził do tego, że komputer wykonujący polecenia głosowe nie jest niczym nadzwyczajnym. Wciąż jednak sporo można w tej dziedzinie poprawić. Szczególnie ważne wydaje się wzięcie pod uwagę wrażeń użytkownika: interfejs VUI, który jest uciążliwy dla odbiorcy, nie podaje potrzebnych informacji lub podaje zupełnie nieprzydatne, będzie użytkowany z niechęcią albo wcale. W tym przewodniku znajdziesz przegląd najważniejszych zasad projektowania interfejsów głosowych, a także opis narzędzi służących do tego celu. Poza najbardziej podstawowymi informacjami o mechanizmach rozpoznawania głosu omówiono złożone strategie rozumienia języka naturalnego, analizę nastroju, zbieranie danych oraz techniki przekształcania tekstu w mowę. W książce wyczerpująco opisano zagadnienia wydajności interfejsu VUI: dowiesz się, co na tę wydajność wpływa i w jaki sposób można ją podnieść. Przedstawiono również problematykę systemów sterowanych głosowo, takich jak asystenty domowe czy interfejsy projektowane dla samochodów. Z przewodnika skorzystają zarówno menedżerowie oraz projektanci biznesowi, jak i projektanci interfejsów VUI, niezależnie od tego, czy samodzielnie piszą swoje VUI, czy korzystają z istniejących platform. W książce: kluczowe koncepcje projektów interfejsów głosowych wizualne reprezentacje interfejsów głosowych technologie rozpoznawania mowy metody testowania aplikacji głosowych poprawa wydajności aplikacji głosowych rzeczywiste przykłady interfejsów głosowych
Projektowanie oprogramowania dla zupełnie początkujących. Owoce programowania. Wydanie V
Tony Gaddis
Programowanie to nie tylko umiejętność pisania kodu oraz organizowania go w funkcje, procedury i moduły. Nawet najbardziej finezyjne języki i najnowocześniejsze paradygmaty programowania nie zapewnią sukcesu, jeśli projekt aplikacji jest nieprzemyślany, a jej logice brakuje... logiki. Z drugiej strony poświęcenie odrobiny czasu na stworzenie dobrego projektu sprawi, że praca nad pisaniem kodu będzie łatwiejsza, sama aplikacja będzie pracować lepiej i bardziej niezawodnie, a późniejsze modyfikacje i rozwój oprogramowania przysporzą mniej problemów. Jeśli planujesz napisać swoją pierwszą aplikację, sięgnij po tę książkę. Aby zrozumieć zawartą w niej treść, nie trzeba znać żadnego języka programowania. Pokazano tu, jak działają programy i jak można z ich wykorzystaniem rozwiązywać konkretne zadania. Wiedza o zasadach projektowania jest przekazywana za pomocą pseudokodu i schematów blokowych. Omówiono zarówno podstawowe zagadnienia, takie jak typy danych, zmienne, funkcje, jak i nieco bardziej zaawansowane: programowanie obiektowe, tworzenie graficznych interfejsów użytkownika i pisanie programów sterowanych zdarzeniami. W tym wydaniu książki wprowadzono wiele poprawek i uzupełnień, dotyczących między innymi języków Java, Python i C++ oraz programowania aplikacji dla urządzeń mobilnych. Dzięki tej książce dowiesz się: jak działa komputer, czym są programy i do czego służą dane z jakich modułów i struktur składają się programy oraz jak działają funkcje w jaki sposób pracuje się na plikach oraz czym jest przetwarzanie tekstu czym jest rekurencja i do czego można ją wykorzystać czym się różni programowanie proceduralne od obiektowego Bez dobrego projektu zawiedzie najlepszy kod!
Projektowanie systemów rozproszonych. Wzorce i paradygmaty dla skalowalnych, niezawodnych usług
Brendan Burns
Nowoczesne oprogramowanie musi sprostać wyśrubowanym kryteriom: ma cechować się określoną niezawodnością i skalowalnością, a przy tym powinno korzystać z technologii chmury. Naturalnie powinien to być dobrze zaprojektowany system rozproszony. Dziś standardem jest korzystanie z aplikacji na wielu urządzeniach w różnych lokalizacjach. Niestety, mimo powszechności systemów rozproszonych ich projektowanie nader często przypomina coś w rodzaju czarnej magii, dostępnej dla nielicznych wtajemniczonych. W efekcie architektura każdego systemu jest unikatowa. Ta książka jest praktycznym przewodnikiem dla projektantów systemów rozproszonych. Zaprezentowano tu kolekcję powtarzalnych wzorców oraz zalecanych praktyk programistycznych, dzięki którym rozwijanie niezawodnych systemów rozproszonych stanie się bardziej przystępne i wydajne. Poza podstawowymi wzorcami systemów rozproszonych przedstawiono tu również techniki tworzenia skonteneryzowanych komponentów wielokrotnego użytku. Znalazło się tu także omówienie zagadnień rozwoju kontenerów i orkiestratorów kontenerów, które zasadniczo zmieniły sposób budowania systemów rozproszonych. Książka ta jest lekturą obowiązkową dla każdego projektanta aplikacji, który chce efektywnie budować niezawodne aplikacje rozproszone! Najważniejsze zagadnienia: wprowadzenie do systemów rozproszonych znaczenie wzorców i komponentów wielokrotnego użytku jednowęzłowe wzorce Przyczepa, Adapter i Ambasador wielowęzłowe wzorce dla replikowania, skalowania i wybierania węzłów głównych wzorce wsadowego przetwarzania danych na dużą skalę Twórz systemy rozproszone: skalowalne, elastyczne, niezawodne!
Julien Pivotto, Brian Brazil
Monitorowanie wydajności systemu jest ważnym zadaniem i nie polega tylko na obserwacji pracy procesora. Trzeba się orientować, pod jakim obciążeniem pracuje baza danych, czy przepustowość urządzeń sieciowych jest wystarczająca i jaki jest koszt niepełnego użycia bufora. Warto też wiedzieć, czy stopień wykorzystania droższych elementów uzasadnia ich utrzymywanie. W tej książce znajdziesz bezcenne wskazówki dotyczące wdrażania serwera Prometheus i jego używania w rzeczywistych rozwiązaniach. Julius Volz, współtwórca oprogramowania Prometheus To drugie, zaktualizowane wydanie przewodnika po systemie Prometheus. Znajdziesz w nim wyczerpujące wprowadzenie do tego oprogramowania, a także wskazówki dotyczące monitorowania aplikacji i infrastruktury, tworzenia wykresów, przekazywania ostrzeżeń, bezpośredniej instrumentacji kodu i pobierania wskaźników pochodzących z systemów zewnętrznych. Zrozumiesz zasady konfiguracji systemu Prometheus, komponentu Node Exporter i menedżera ostrzeżeń Alertmanager. Zapoznasz się też z nowymi funkcjonalnościami języka PromQL, dostawców mechanizmu odkrywania usług i odbiorców menedżera ostrzeżeń Alertmanager. Dokładnie zaprezentowano tu również zagadnienia bezpieczeństwa po stronie serwera, w tym mechanizm TLS i uwierzytelniania podstawowego. W książce między innymi: czym jest Prometheus i jak wygląda jego architektura monitorowanie infrastruktury za pomocą komponentów takich jak Node Exporter instrumentacja w kodzie aplikacji tworzenie paneli sterowania za pomocą Grafany współpraca oprogramowania Prometheus i Kubernetes Dzięki najlepszym praktykom i wskazówkom dotyczącym instrumentacji w kodzie ta książka pomoże Ci w niezawodnym monitorowaniu usług! TJ Hoplock, starszy inżynier monitorowania, NS1
Przetwarzanie danych w dużej skali. Niezawodność, skalowalność i łatwość konserwacji systemów
Martin Kleppmann
Przetwarzanie i bezpieczne przechowywanie danych absorbuje uwagę inżynierów oprogramowania w coraz większym stopniu. W ostatnich latach pojawiło się wiele bardzo różnych rozwiązań w dziedzinie baz danych, systemów rozproszonych i metodyce budowania aplikacji. Sprzyjają temu zarówno rozwój technologii, rosnące potrzeby dotyczące dostępu do danych, jak i malejąca tolerancja na przestoje spowodowane awarią czy konserwacją systemu. To wszystko sprawia, że zespoły projektujące aplikacje muszą cały czas aktualizować swoją wiedzę i znakomicie orientować się w zakresie słabych i silnych stron poszczególnych rozwiązań oraz możliwości ich stosowania. I właśnie ta książka Ci to ułatwi. Dzięki niej zaczniesz orientować się w świecie szybko zmieniających się technologii przetwarzania i przechowywania danych. Znajdziesz tu przykłady skutecznych systemów spełniających wymogi skalowalności, wydajności i niezawodności. Zapoznasz się z wewnętrznymi mechanizmami tych systemów, analizami najważniejszych algorytmów, omówieniem zasad działania i koniecznymi kompromisami. Przy okazji przyswoisz sobie przydatne sposoby myślenia o systemach danych. W ten sposób rozwiniesz dobre intuicyjne zrozumienie tego, jak i dlaczego działają systemy, co pozwoli Ci analizować ich pracę, podejmować trafne decyzje projektowe i wyszukiwać źródła pojawiających się problemów. W tej książce między innymi: co to właściwie znaczy: niezawodność, skalowalność i łatwość konserwacji różne modele danych i obsługa zapytań replikacja, dzielenie danych, transakcje dane pochodne i ich przetwarzanie przetwarzanie strumieniowe Poznaj systemy, w których liczą się dane!
Lewis Tunstall, Leandro von Werra, Thomas Wolf
Modele transformacyjne zmieniły sposób przetwarzania języka naturalnego. Rewolucja rozpoczęła się w 2017 roku, kiedy zaprezentowano światu tę architekturę sieci neuronowej. Kolejnym przełomem okazały się repozytoria modeli, takie jak biblioteka Transformers zespołu Hugging Face, która umożliwia łatwe pobranie wstępnie wytrenowanego modelu, jego konfigurację i użytkowanie. Poznaj niesamowite możliwości: wszędzie tam, gdzie jest mowa lub tekst, istnieją zastosowania NLP. Niezwykle przejrzysty i wnikliwy przewodnik po najważniejszej bibliotece współczesnego NLP. Polecam! Christopher Manning, profesor Uniwersytetu Stanforda Tę książkę docenią praktycy: inżynierowie uczenia maszynowego i analitycy danych, poszukujący sposobu praktycznego zaadaptowania modeli transformacyjnych do swoich potrzeb. Autorzy skupili się na praktycznej stronie tworzenia aplikacji językowych, a w poszczególnych rozdziałach ujęto wszystkie najważniejsze zastosowania transformerów w NLP. Zaczniesz od łatwych w użyciu potoków, następnie przystąpisz do pracy z tokenizatorami, klasami modeli i interfejsu Trainer API, pozwalającymi na trenowanie modeli do konkretnych zastosowań. Dowiesz się również, jak zastąpić interfejs Trainer biblioteką Accelerate, która zapewnia pełną kontrolę nad pętlą treningową i umożliwia trenowanie dużych transformerów od zera! W książce: tworzenie modeli transformacyjnych przeznaczonych do typowych zadań NLP stosowanie transformerów do międzyjęzykowego uczenia transferowego używanie transformerów w rzeczywistych scenariuszach optymalizacja modeli technikami: destylacji, przycinania i kwantyzacji trenowanie modeli transformacyjnych z wykorzystaniem wielu procesorów graficznych w środowisku rozproszonym Autorzy książki są współtwórcami platformy Hugging Face. Wybitna książka poświęcona wybitnej bibliotece - wzór przejrzystości! Jeremy Howard, profesor Uniwersytetu Queensland
Dusty Phillips
Object-oriented programming (OOP) is a popular design paradigm in which data and behaviors are encapsulated in such a way that they can be manipulated together. This third edition of Python 3 Object-Oriented Programming fully explains classes, data encapsulation, and exceptions with an emphasis on when you can use each principle to develop well-designed software.Starting with a detailed analysis of object-oriented programming, you will use the Python programming language to clearly grasp key concepts from the object-oriented paradigm. You will learn how to create maintainable applications by studying higher level design patterns. The book will show you the complexities of string and file manipulation, and how Python distinguishes between binary and textual data. Not one, but two very powerful automated testing systems, unittest and pytest, will be introduced in this book. You'll get a comprehensive introduction to Python's concurrent programming ecosystem.By the end of the book, you will have thoroughly learned object-oriented principles using Python syntax and be able to create robust and reliable programs confidently.
Python 3. Proste wprowadzenie do fascynującego świata programowania
Zed A. Shaw
Python jest dojrzałym, elastycznym i bardzo wszechstronnym językiem programowania. Nadaje się do budowy przeróżnych aplikacji, a także do tworzenia programów służących do bardzo specyficznych zastosowań, takich jak badania naukowe. Aby jednak w pełni wykorzystać te imponujące możliwości, musisz pisać dobry kod: przejrzysty, zwięzły, działający poprawnie. Niestety, nie jest łatwo nauczyć się dobrego programowania. To coś więcej niż przyswojenie zestawu poleceń i słów kluczowych. Wymaga czasu, wysiłku, sporego zaangażowania i... dobrego przewodnika na tej trudnej ścieżce. Niniejsza książka jest właśnie takim dobrym przewodnikiem dla początkujących programistów. Jest napisana w sposób łatwy i wciągający. Duży nacisk położono na analizę tworzonego kodu. Jeśli tylko skoncentrujesz się na wykonywanych zadaniach, zdobędziesz się na zaangażowanie i dokładność, zrozumienie znaczenia każdej linii programu przyjdzie łatwo. Wartościowym elementem książki są wskazówki, jak zepsuć napisany kod, a następnie go zabezpieczyć. Dzięki temu łatwiej Ci przyjdzie unikanie błędów. Dzięki tej książce zdobędziesz trzy najważniejsze umiejętności każdego programisty: czytanie i pisanie ze zrozumieniem, dbałość o szczegóły oraz dostrzeganie różnic. Najistotniejsze zagadnienia poruszone w książce: przygotowanie kompletnego środowiska programistycznego organizowanie, pisanie, psucie i naprawianie kodu programowanie obiektowe projektowanie programu i testowanie kodu podstawy budowy aplikacji internetowych i prostszych gier Zrozum Pythona, pisz dobry kod!