Inne - Programowanie
Programowanie w języku Swift. Big Nerd Ranch Guide
Matthew Mathias, John Gallagher
Swift, następca języka Objective-C, pojawił się na rynku w 2014 roku i bardzo szybko zyskuje popularność wśród programistów tworzących aplikacje dla iOS oraz macOS. Charakteryzuje się zwięzłą i przejrzystą składnią, a co więcej, pozwala na korzystanie z nowoczesnych, wysokopoziomowych struktur i cech języka, takich jak typy generyczne czy domknięcia. Jest przy tym wygodny i elastyczny, a jego nauka nie powinna sprawiać problemów nawet tym, którzy dopiero rozpoczynają swoją przygodę z programowaniem. Ta książka jest starannie przygotowanym, praktycznym podręcznikiem efektywnego programowania w języku Swift 3. Wyczerpująco przedstawiono tu zasady posługiwania się środowiskiem programistycznym Xcode 8 i dokumentacją Apple. Dzięki niej zyskasz wiedzę i umiejętności pozwalające na samodzielne rozwiązywanie problemów programistycznych z użyciem języka Swift. Innymi słowy, zaczniesz programować kompletne, efektywne i dojrzałe aplikacje dla platform iOS i macOS. W tej książce: przedstawiono podstawy składni języka Swift omówiono konstrukcje służące do kontroli przepływu działania programu pokazano, jak korzystać z kolekcji, typów wyliczeniowych, struktur i klas zaprezentowano zasady budowania eleganckiego, czytelnego i efektywnego kodu przedstawiono metody projektowania aplikacji opartej na zdarzeniach Swift: wyjątkowe narzędzie do budowy wyjątkowych aplikacji dla Apple! Matt Mathias — jest doktorem socjologii i dyrektorem działu szkoleń w firmie Big Nerd Ranch. Uczy programowania na platformie iOS. Uwielbia jazdę na rowerze, komiksy oraz wszelkiego rodzaju gry. John Gallagher — jest inżynierem oprogramowania i instruktorem w Big Nerd Ranch. Jest znawcą systemów wbudowanych i superkomputerów. Pasjonuje go poznawanie nowych języków programowania. Kiedy nie zajmuje się pracą, spędza czas wolny z żoną i z trzema córkami.
Programowanie w Linuksie. Ćwiczenia
Katarzyna Kuźniar, Kazimierz Lal, Tomasz Rak
Programowanie w Linuksie? To naprawdę proste! Poznaj języki programowania stosowane w systemie Linux Znajdź, zainstaluj i skonfiguruj niezbędne narzędzia programistyczne Naucz się tworzyć, kompilować i testować doskonałe aplikacje użytkowe Systemy należące do rodziny Linux zdobyły ogromną popularność jako stabilne, wydajne, bezpieczne i darmowe środowiska operacyjne zarówno wśród użytkowników prywatnych, jak i wielkich korporacji. Dziś środowiska te można spotkać już niemal wszędzie, a różne dystrybucje walczą o palmę pierwszeństwa i bez kompleksów konkurują z zamkniętymi komercyjnymi systemami, takimi jak MS Windows czy Mac OS X. Wzrostowi popularności Linuksa wśród "zwykłych" użytkowników towarzyszy oczywiście wzrost zapotrzebowania na oprogramowanie użytkowe, ponieważ nikt nie będzie chciał korzystać z systemu operacyjnego, jeśli nie będzie w stanie znaleźć odpowiednich dla siebie narzędzi pracy. Wielu programistów niechętnie odnosi się do tworzenia aplikacji działających pod Linuksem, ponieważ wydaje im się, że brak w nim odpowiednich narzędzi, system stawia im wyższe wymagania, a sam kod pisze się trudniej. Tymczasem Linux obsługuje się podobnie jak inne systemy, a możliwości, jakie proponuje, są naprawdę spore. "Programowanie w Linuksie. Ćwiczenia" to książka, która w praktyczny sposób prezentuje najbardziej popularne języki programowania w tym systemie oraz ich zastosowania. Pomaga też wyposażyć warsztat programisty w bezpłatne narzędzia i właściwie je skonfigurować. Informuje, jak rozpocząć tworzenie aplikacji i rozwinąć swoje umiejętności. Przegląd najpopularniejszych języków programowania w Linuksie Wybór, instalacja oraz konfiguracja narzędzi i środowisk programistycznych Konfiguracja i korzystanie z edytorów kodu oraz kompilatorów Wykrywanie i poprawianie błędów w programach Automatyzacja pracy programisty dzięki użyciu skryptów Tworzenie aplikacji graficznych, systemowych i sieciowych Programowanie wielowątkowe Generowanie i przetwarzanie plików w różnych formatach Odkryj moc drzemiącą w Linuksie! Naucz się w nim programować!
Francesco Esposito
Użyj modeli LLM do budowy lepszych aplikacji biznesowych Autonomicznie komunikuj się z użytkownikami i optymalizuj zadania biznesowe za pomocą aplikacji, których celem jest uczynienie interakcji między ludźmi i komputerami bardziej płynnymi i naturalnymi. Ekspert w dziedzinie sztucznej inteligencji Francesco Esposito przedstawia kilka scenariuszy, dla których efektywny jest model LLM: tworzenie wyrafinowanych rozwiązań biznesowych, zmniejszanie różnicy między ludźmi i maszynami wyposażonymi w oprogramowanie, a także budowanie potężnych silników wnioskowania. Spostrzeżenia dotyczące podpowiadania i programowania konwersacyjnego - z konkretnymi technikami dla wzorców i platform - pozwalają odkryć, w jaki sposób język naturalny może zapewnić nowe, zaawansowane podejście do kodowania. Konkretne kompleksowe demonstracje (wykorzystujące język Python i platformę ASP.NET Core) prezentują wszechstronne wzorce interakcji między istniejącymi procesami, API, danymi i wkładem ludzkim. Ta książka pomoże Ci: Zrozumieć historię dużych modeli językowych i programowania konwersacyjnego Zastosować podpowiadanie jako nowy sposób kodowania Poznać podstawowe techniki podpowiadania i przypadki użycia Zaprojektować zaawansowane podpowiedzi, wliczając w to łączenie modeli LLM z danymi i wywoływanie funkcji w celu budowy silników wnioskowania Użyć w kodzie języka naturalnego do definiowania przepływów pracy i koordynowania istniejących API Opanować zewnętrzne platformy LLM Ocenić obawy związane z bezpieczeństwem, prywatnością i dokładnością sztucznej inteligencji Poznać otoczenie regulacyjne sztucznej inteligencji Zbudować i wdrożyć osobistego asystenta Zastosować wzorzec generowania wzbogacanego wyszukiwaniem informacji (RAG) do formułowania odpowiedzi w oparciu o bazę wiedzy Skonstruować konwersacyjny interfejs użytkownika Dla profesjonalistów IT Dla profesjonalistów, architektów, głównych deweloperów i programistów oprogramowania, a także entuzjastów uczenia się maszyn Dla wszystkich zainteresowanych przetwarzaniem języka naturalnego lub rzeczywistymi zastosowaniami języka podobnego do ludzkiego w oprogramowaniu O autorze Francesco Esposito, uzbrojony w solidną wiedzę matematyczną, jest autorem dwóch książek wydawnictwa Microsoft Press na temat uczenia się maszyn. Obecnie pełni funkcję dyrektora ds. inżynierii i danych w Crionet, firmie dostarczającej innowacyjne rozwiązania dla branży sportowej i medialnej. Założył także Youbiquitous, fabrykę analizy danych i oprogramowania zajmującą się modelami LLM, a także KBMS Data Force, startup skupiający się na terapii cyfrowej i inteligentnej opiece zdrowotnej. Kod źródłowy dostępny na stronie: MicrosoftPressStore.com/ LLMAzureAI/downloads
Programowanie wspomagane sztuczną inteligencją. Lepsze planowanie, kodowanie, testowanie i wdrażanie
Tom Taulli
To już się dzieje! Narzędzia oparte na sztucznej inteligencji wykonują monotonne zadania i zajmują się złożonymi szczegółami kodu. W tym czasie programista może się skupić na rozwiązywaniu problemów i innowacjach. AI w takim tandemie ogrywa rolę zaufanego pomocnika, wyręczającego człowieka w zawiłych lub nużących aspektach kodowania. Efekt? Imponujący wzrost produktywności! Ta praktyczna książka ułatwi Ci optymalne używanie narzędzi AI na wszystkich etapach tworzenia oprogramowania. Niezależnie od Twojego doświadczenia nauczysz się korzystać z szerokiej gamy rozwiązań: od dużych modeli językowych ogólnego przeznaczenia (ChatGPT, Gemini i Claude) po systemy przeznaczone do kodowania (GitHub Copilot, Tabnine, Cursor i Amazon CodeWhisperer). Poznasz również metodykę programowania modułowego, która efektywnie współgra z technikami pisania promptów do generowania kodu. W książce znajdziesz także najlepsze sposoby zastosowania uniwersalnych modeli LLM w nauce języka programowania, wyjaśnianiu kodu lub przekładaniu go na inny język programowania. Najciekawsze zagadnienia: możliwości narzędzi opartych na AI, przeznaczonych do tworzenia kodu zalety i wady popularnych systemów korzystanie z ogólnych modeli językowych podczas kodowania narzędzia oparte na AI w cyklu życia oprogramowania inżynieria promptów podczas tworzenia oprogramowania realizacja żmudnych zadań, takich jak pisanie wyrażeń regularnych Ta książka zaoszczędzi Ci wielu godzin prób i błędów! Jonathan Ellis, współzałożyciel firmy DataStax
Programowanie współbieżne. Systemy czasu rzeczywistego
Paweł Majdzik
Współbieżność to szybkość, efektywność i nowoczesność. Czy Ty też chcesz tak programować? Coraz niższe ceny i powszechna dostępność sprzętu komputerowego o architekturze wieloprocesorowej powodują, że umiejętność projektowania i budowania aplikacji przetwarzających informacje współbieżnie staje się wręcz niezbędna każdemu zawodowemu programiście. W większości współczesnych języków programowania bezpośrednio zaimplementowano metody tworzenia zadań wykonywanych równolegle oraz wysokopoziomowe mechanizmy komunikacji i synchronizacji procesów. Tworzenie efektywnych aplikacji współbieżnych wciąż jednak wymaga dużej, specjalistycznej wiedzy dotyczącej systemów operacyjnych oraz programowania nisko- i wysokopoziomowego, o czym przekonało się wielu studentów kierunków informatycznych i profesjonalnych programistów. Na szczęście teraz wszyscy mogą sięgnąć po książkę "Programowanie współbieżne. Systemy czasu rzeczywistego". Pomoże ona uniknąć wielu typowych błędów związanych z tworzeniem aplikacji współbieżnych i pokaże, jak rozwiązywać problemy specyficzne dla tej dziedziny. Lektura ułatwi też zdobycie praktycznej umiejętności projektowania architektury niezawodnego współbieżnego oprogramowania, a także przybliży wiedzę na temat mechanizmów i metod wykorzystywanych przy tworzeniu systemów równoległych czasu rzeczywistego. Przedstawienie podstawowych pojęć dotyczących programowania współbieżnego Opis metod weryfikacji poprawności programów współbieżnych Definicje i własności mechanizmów synchronizacji oraz komunikacji Przykłady rozwiązań problemów programowania współbieżnego Opis mechanizmów wspierających programowanie systemów czasu rzeczywistego Implementacja metod szeregowania zadań w systemach czasu rzeczywistego Opis metod i mechanizmów języka Ada 2005 umożliwiających implementację programów współbieżnych i systemów czasu rzeczywistego Przyszłość informatyki to przetwarzanie współbieżne. Stać Cię na pozostanie w tyle? Paweł Majdzik - od 1998 roku pracuje jako adiunkt w Instytucie Sterowania i Systemów Informatycznych Uniwersytetu Zielonogórskiego. Jest autorem bądź współautorem ponad trzydziestu opracowań naukowych - książek, artykułów, referatów wydanych w kraju i za granicą, a dotyczących informatyki, w szczególności związanych z analitycznymi metodami modelowania i projektowania systemów współbieżnych.
Programowanie z Minecraftem dla dzieci. Poziom podstawowy
Urszula Wiejak, Karolina Niemira, Adrian Wojciechowski
Przyszli inżynierowie i programiści na start! Programowanie to wspaniała, pełna przygód zabawa. Ty i Twoje dziecko możecie się o tym przekonać dzięki tej wyjątkowej książce. Przedstawione w niej treści zostały opracowane na bazie kilkuletnich doświadczeń zgromadzonych podczas warsztatów programowania dla dzieci i młodzieży w Komputrilo Akademii Komputerowej. Książka jest przeznaczona dla dzieci w wieku 8 lat, ale znakomicie nadaje się również dla dzieci starszych i dorosłych rozpoczynających przygodę informatyczną. Szczególny nacisk położono na przedstawienie trudnych zagadnień w sposób przystępny dla każdego dziecka. Prosty i przyjemny w nauce język programowania Lua Efektywna nauka przez zabawę w świecie Minecrafta Zagadnienia przydatne do zrozumienia różnych języków programowania Rozwój myślenia analitycznego oraz kompetencji cyfrowych Elementy matematyki Rozwiązanie każdego zadania Z nami i Minecraftem nauka programowania to przyjemność!
Programowanie z Minecraftem dla dzieci. Poziom podstawowy. Wydanie II
Urszula Wiejak, Karolina Niemira, Adrian Wojciechowski
Zacznij programować już dziś! To kolejne wydanie książki, która zachwyciła tysiące dzieci i rodziców! Programowanie to wspaniała, pełna przygód zabawa. Przekonajcie się o tym wraz z dziećmi - dzięki tej wyjątkowej książce! Zaprezentowane w niej treści i zadania powstały na bazie kilkuletnich doświadczeń zebranych podczas zajęć dla dzieci i młodzieży w Komputrilo Akademii Komputerowej. Choć to przewodnik przeznaczony dla dzieci, może być również świetną pomocą dydaktyczną dla dorosłych towarzyszących swoim pociechom w nauce oraz osób, które po prostu chcą poznać podstawy programowania komputerowego. Łatwo, szybko i praktycznie - właśnie tak nauczycie się programować z tą książką! Prosty i przyjemny w nauce edytor graficzny Efektywna nauka przez zabawę w świecie Minecrafta Wsparcie w zrozumieniu różnych języków programowania Rozwój myślenia analitycznego oraz kompetencji cyfrowych Przydatna wiedza matematyczna Zadania z rozwiązaniami Zostań programistą i specjalistą od Minecrafta!
Programowanie z Minecraftem dla dzieci. Poziom podstawowy. Wydanie III
Urszula Wiejak, Karolina Niemira, Adrian Wojciechowski
Fenomen gry Minecraft nie przestaje zadziwiać. Od wielu lat produkcja spod znaku Mojang Studios utrzymuje się na szczycie najlepiej sprzedających się gier wideo w historii. Minecraft to jednak znacznie więcej niż gra - w jego świecie powstają całe miasta, biblioteki, odwzorowywane są dzieła sztuki. Ma także duże walory edukacyjne. Nic bowiem nie stoi na przeszkodzie, aby z Minecraftem uczyć się programowania. Poprzez połączenie nauki i zabawy gra pomaga najmłodszym stawiać pierwsze kroki w tworzeniu oprogramowania. Trzecie wydanie Programowania z Minecraftem dla dzieci to kolejna odsłona cieszącego się uznaniem przewodnika, dzięki któremu Twoje dziecko rozpocznie przygodę z programowaniem. To książka adresowana do dzieci od ósmego roku życia, ale i starsi znajdą coś dla siebie. Przeprowadzi sprawnie młodych czytelników przez omówienie poszczególnych klas, funkcji i typów zmiennych, instrukcji warunkowych czy pętli. Co więcej, każde zagadnienie zostało uzupełnione o praktyczne zadania, a to pozwoli na bieżąco weryfikować przyswojone informacje. Dzięki osadzeniu w systemach Minecrafta, gry dobrze znanej wielu dzieciom, nauka z tym przewodnikiem jest niezwykle efektywna - właśnie dlatego, że łączy przyjemne z pożytecznym. Z tą książką Twoje dziecko: postawi pierwszy krok w programowaniu dowie się, jak budować algorytmy zaznajomi się z podstawami logiki pozna kluczowe zagadnienia programistyczne Efektywna nauka przez zabawę w świecie Minecrafta!
Programowanie z Minecraftem dla dzieci. Poziom średnio zaawansowany
Urszula Wiejak, Adrian Wojciechowski
Przyszli inżynierowie i programiści na start! Programowanie to wspaniała, pełna przygód zabawa. Ty i Twoje dziecko możecie się o tym przekonać dzięki tej wyjątkowej książce. Przedstawione w niej treści zostały opracowane na bazie kilkuletnich doświadczeń zgromadzonych podczas warsztatów programowania dla dzieci i młodzieży w Komputrilo Akademii Komputerowej. To wydanie stanowi kontynuację naszej wcześniejszej publikacji, Programowanie z Minecraftem dla dzieci. Poziom podstawowy. Książka uczy programowania w języku Lua. Jest przeznaczona dla dzieci w wieku od 10 lat; znakomicie nadaje się również dla nastolatków rozpoczynających przygodę informatyczną. Szczególny nacisk położono na to, by trudne zagadnienia przedstawić w sposób przystępny dla każdego dziecka. Zadania są wykonywane w edytorze tekstowym, co daje przedsmak profesjonalnego pisania kodu. Prosty i przyjemny w nauce język programowania Lua Wizualizacja napisanych programów w świecie Minecrafta Zagadnienia przydatne do zrozumienia różnych języków programowania Rozwój myślenia analitycznego oraz kompetencji cyfrowych Elementy matematyki Nawiązania do podstawy programowej zajęć komputerowych i informatyki Zaawansowane zagadnienia Rozwiązanie każdego zadania Nauka programowania z Minecraftem to prawdziwa przyjemność!
Programowanie z Minecraftem dla dzieci. Poziom średnio zaawansowany. Wydanie II
Urszula Wiejak, Adrian Wojciechowski
Minecraft to nie tylko seria gier wideo, w które chętnie grają dzieci na całym świecie. Stworzony przez Markusa Perssona i rozwijany przez Mojang Studios, stał się także fenomenem popkultury. Kilkunastoletnia kariera gry jest znaczona kolejnymi książkami, filmami, ubraniami, gadżetami i zabawkami, uhonorowano ją nawet tematyczną serią klocków Lego. Dorośli, doceniając rozrywkowe walory gry, dostrzegli także jej aspekty edukacyjne. Minecraft stał się na przykład bazą zajęć z programowania dla dzieci i młodzieży. Ta książka powstała na podstawie warsztatów dla średnio zaawansowanych i jest przeznaczona dla dzieci od dziesiątego roku życia. Uczy programowania, przekazuje także trudniejsze zagadnienia w prosty, przyjazny dla młodego umysłu sposób. Do każdego zadania podane zostało rozwiązanie, bardziej skomplikowane zaś można rozwiązywać wspólnie z autorami podręcznika. Z tą książką Twoje dziecko: Pozna prosty i przyjazne zasady programowania Opanuje zagadnienia przydatne w różnych językach programowania Rozwinie umiejętność myślenia analitycznego Pogłębi kompetencje cyfrowe Będzie się świetnie bawić, a równocześnie zdobędzie pierwsze informatyczne szlify Zdobywanie wiedzy jest najefektywniejsze w praktyce!
Dorota Kowalczyk
Przez zabawę do nauki programowania Ozobot to niewielki, ale bardzo sprytny robot, którego pokochały dzieci oraz docenili rodzice i nauczyciele informatyki. Ten edukacyjny automat, dwukrotny zdobywca polskiego tytułu Zabawki Roku oraz laureat robotycznych konkursów w USA, ma misję. Każdego chętnego, który ukończył piąty rok życia, gotów jest zabrać w podróż pełną radosnego rysowania, ciekawych problemów do rozwiązania i pracy zespołowej. Ozobot, bawiąc, uczy programowania. Dzieci bowiem komunikują się z nim za pomocą kolorowych kodów ― robot odczytuje je i wykonuje dawane mu polecenia. Nim jednak zajmiemy młodych adeptów informatyki pracą z Ozobotem, musimy go najpierw odpowiednio przygotować. Jak to zrobić? Najlepiej z tą książką! Jej autorka w przystępny sposób tłumaczy zasady komunikacji z robotem, w tym analizowanie i testowanie konkretnych przypadków, które mogą użytkownikowi sprawiać problemy w codziennym użytkowaniu Ozobota. Nie zagłębiając się w zbędne detale, wyjaśnia najważniejsze dla nauczycieli i rodziców kwestie dotyczące budowy tego niedużego robota o wielkich możliwościach. Proponuje także przystosowanie jej do realizacji własnych pomysłów i podpowiada, jak się do tego zabrać.
Programuj tak, aby nie naprawiać. Planowanie projektów i systemów
Juval Löwy
Tworzenie oprogramowania, zwłaszcza dużych i złożonych aplikacji, bywa problemem. Często objawy złego planowania projektu nie mają wiele wspólnego z uwarunkowaniami technicznymi: wysoki poziom stresu, duża rotacja pracowników, wypalenie zawodowe, brak zaufania, niska samoocena, a nawet różnego rodzaju dolegliwości fizyczne. Przyczyny tego stanu rzeczy są podobne: określane w nierealny sposób koszty, terminy i wymagania. Później okazuje się, że wewnętrznej złożoności systemu nikt nie rozumie, nad koniecznymi ciągłymi zmianami nikt nie panuje, a wytworzone oprogramowanie jest niemal niemożliwe do utrzymania. Jak widać, problem jest wielowymiarowy. Wielowymiarowe musi więc też być narzędzie, które umożliwi jego rozwiązanie. W tym praktycznym przewodniku uniwersalne zasady projektowania zostały dostosowane do specyfiki wytwarzania oprogramowania. Znalazł się tu zbiór najważniejszych zasad inżynierii oprogramowania, jak również wyczerpujący zestaw narzędzi i technik do stosowania w projektach programistycznych. Ich zastosowanie sprawi, że gotowy system będzie łatwy do utrzymania, rozszerzalny, nie będzie zbyt kosztowny, a jego wykonanie będzie realne pod względem czasu i ryzyka. Koncepcje opisane w książce stanowią doskonały punkt wyjścia, gdyż pozwalają sporządzić dobry projekt systemu oprogramowania oraz dobry plan budowy tego systemu. Dopiero to umożliwi ukończenie pracy w wyznaczonym terminie i bez przekroczenia założonego budżetu, a wytworzony produkt będzie łatwy w utrzymaniu, możliwy do rozszerzania oraz wielokrotnego użycia. W książce między innymi: koncepcja projektowania systemu i planowania projektu dekompozycja systemu, jego struktura i łączenie komponentów narzędzia i techniki potrzebne w planowaniu i projektowaniu mierzenie i wyliczanie ryzyka projektu i jego wariantów zaawansowane techniki projektowania systemów o wysokiej złożoności Mistrz w projektowaniu oprogramowania rozważa bardzo niewiele opcji!
Roger Ye
Spośród narzędzi do budowy aplikacji wieloplatformowych .NET MAUI wyróżnia się efektywnością i wysoką jakością tworzonego kodu. .NET MAUI powstał na podstawie Xamarin.Forms i służy do pisania natywnych aplikacji mobilnych i desktopowych w językach C# i XAML. Programiści cenią go za współużytkowanie zasobów, proste debugowanie i testowanie, a także za łatwą konfigurację. Ten szczegółowy przewodnik pozwoli Ci na błyskawiczne zapoznanie się z .NET MAUI i sprawne rozpoczęcie pisania aplikacji za pomocą tej technologii. Zaprezentowano w nim filozofię działania .NET MAUI, jak również przebieg prac nad tworzeniem kompletnej aplikacji wieloplatformowej dla systemów: Android, iOS, macOS i Windows, na podstawie jednego wspólnego kodu bazowego. Podczas lektury zrozumiesz też cały cykl rozwoju oprogramowania, w tym zasady publikowania w sklepach z aplikacjami. Ciekawym elementem książki jest opis najnowszej technologii tworzenia frontendów - .NET MAUI Blazor. Dzięki tej książce: odkryjesz najnowsze funkcje frameworka .NET nauczysz się pisać aplikacje wieloplatformowe za pomocą .NET MAUI zaczniesz stosować wzorzec MVVM, wiązać dane i wstrzykiwać zależności utworzysz aplikacje typu .NET MAUI Hybrid Blazor dowiesz się, jak wykonywać testy jednostkowe na kilka sposobów nauczysz się publikować aplikacje w różnych sklepach dla systemów mobilnych i desktopowych Oto .NET MAUI: aplikacja dla wielu systemów - jeden kod bazowy!
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!