Результати пошуку
Machine learning i natural language processing w programowaniu. Podręcznik z ćwiczeniami w Pythonie
Piotr Wróblewski
Wejdź na nowy poziom programowania z ML i NLP Sztuczna inteligencja stale się rozwija. Właściwie codziennie słyszymy o jej rosnących możliwościach, nowych osiągnięciach i przyszłości, jaką nam przyniesie. Jednak w tej książce skupiamy się nie na przyszłości, a na teraźniejszości i praktycznym obliczu AI - na usługach, które świadczy już dziś. Większość najciekawszych zastosowań sztucznej inteligencji bazuje na ML (uczenie maszynowe, ang. machine learning), NLP (przetwarzanie języka naturalnego, ang. natural language processing) i architekturze RAG (ang. retrieval augmented generation) zwiększającej możliwości tzw. dużych modeli językowych (LLM, ang. large language model). Stanowią one podwaliny budowy systemów AI, bez których te systemy często wcale nie mogłyby powstać. Do niedawna ML i NLP pozostawały domeną badaczy i specjalistów - znajdowały się poza zasięgiem praktyków programowania. Aktualnie jest inaczej, szybkie komputery, pojemne pamięci RAM i zaawansowane procesory pozwalają stosować te technologie w codziennej pracy programisty. Szczególnie programisty języka Python, do którego są one niemal "naturalnie" przypisane. Mało tego, od kodujących w Pythonie coraz częściej wręcz wymaga się umiejętności znajomości obszaru AI. Tym bardziej warto sięgnąć po ten podręcznik z ćwiczeniami, dzięki któremu między innymi: Dowiesz się, jak używać Pythona do rozwiązywania problemów AI Poznasz tajniki analizy tekstów, analizy sentymentu Zrozumiesz, jak skutecznie używać algorytmów klasyfikacji, regresji i grupowania do rozwiązywania problemów biznesowych Pokonwersujesz z ChatGPT - i to bez wchodzenia na stronę internetową tego serwisu
Piękny kod. Tajemnice mistrzów programowania
Andy Oram, Greg Wilson
Poznaj techniki pracy guru programowania! Jak tworzyć czytelny i pozbawiony błędów kod? W jaki sposób projektować architekturę systemów? Jak zbudować uniwersalne interfejsy użytkownika? Wbrew pozorom programowanie to nie tylko nauka ścisła, to także sztuka! Trudna sztuka! Napisanie kodu poprawnie działającego czy kodu spełniającego oczekiwania użytkowników programu to niewątpliwie wyzwanie! Wymaga bowiem doskonałego zaplanowania architektury, skutecznej optymalizacji kodu źródłowego oraz umiejętności przewidywania potencjalnych problemów i ich odpowiednio wczesnej eliminacji. Właśnie w tej książce prawidziwi mistrzowie programowania podzielą się z Tobą swoimi doświadczeniami, przemyśleniami i spostrzeżeniami dotyczącymi tworzenia profesjonalnych rozwiązań. Znajdziesz tu wiele praktycznych porad dotyczących pisania kodu, rozwiązywania problemów programistycznych, projektowania architektury, tworzenia interfejsów użytkownika i pracy w zespole projektowym. Dowiesz się, kiedy należy postępować dokładnie według wskazań metodologii, a kiedy „pójście na skróty” może okazać się najlepszym rozwiązaniem. Poznasz sposób myślenia i zasady pracy najlepszych programistów świata, dzięki czemu użytkownikom Twoich aplikacji zapewnisz maksymalny komfort. Korzystanie z wyrażeń regularnych Dobór odpowiedniego poziomu abstrakcji Ocena jakości kodu źródłowego Testowanie Techniki analizy składni Zabezpieczanie komunikacji sieciowej Dostosowywanie architektury systemu do architektury komputerów Praca zespołowa Projektowanie systemów w oparciu o komponenty OpenSource Usuwanie błędów Ułatwianie pracy osobom niepełnosprawnym Dołącz do grona mistrzów programowania! Całkowity dochód z oryginalnego wydania tej książki zostanie przekazany na rzecz organizacji Amnesty International
Testowanie oprogramowania. Podręcznik dla początkujących
Rafał Pawlak
Testuj programy i śpij spokojnie! Ogólna teoria testowania, czyli po co nam testy i jak sobie z nimi radzić Projekt a proces testowania, czyli kiedy zacząć testować i jak to robić z głową Automatyzacja i dokumentacja, czyli jak ułatwić sobie pracę podczas testowania Testowanie oprogramowania jest niesłychanie ważnym czynnikiem, wręcz decydującym o sukcesie lub porażce systemu, aplikacji czy sieci. Bezlitośni użytkownicy wykryją najdrobniejszy błąd, skutkujący choćby niewielkim spowolnieniem działania programu… i nie omieszkają wyrazić swojej opinii w internecie. Jeśli chcesz uniknąć takich niespodzianek, a ponadto zależy Ci na jak najszybszym ukończeniu realizowanego projektu i wypuszczeniu perfekcyjnego produktu, musisz natychmiast zacząć go testować! Ta książka pomoże Ci zorientować się w metodach i technikach testowania. Jej autor, praktyk z wieloletnim doświadczeniem, zawarł w niej informacje o narzędziach i procesach, opisał również własne doświadczenia związane z konkretnymi projektami. Dowiesz się między innymi, jak radzić sobie na kolejnych etapach weryfikacji jakości oprogramowania — wybrać odpowiedni typ testu i przejść przez proces jego projektowania — a także jak uporać się ze znużeniem nieustannym testowaniem. Odkryjesz też, do czego służy automatyzacja i jak przejrzyście dokumentować całe przedsięwzięcie. Usuń błędy, zanim zaczną sprawiać Ci kłopoty! Poziomy wykonywania testów Typy testów Wprowadzenie do projektowania testów Psychologiczne aspekty procesu testowania Syndrom zniechęcenia testami Testowanie usług sieciowych (WebServices) Wprowadzenie do automatyzacji testów Generowanie sumy kontrolnej i danych testowych Membrane HTTP/SOAP Monitor SoapUI Postaw na jakość! To się opłaca!
Sztuka kodowania. Sekrety wielkich programistów
Peter Seibel
Zajrzyj bezkarnie programiście przez ramię! Czym naprawdę jest programowanie? Jak swoją przygodę rozpoczynali wielcy tej branży? Czy istnieje bezbłędny program? Programiści to tajemnicze osoby, które potrafią zmusić komputery do wykonywania karkołomnych zadań, wymyślanych przez zwykłych użytkowników. Spędzają cały dzień przed komputerem, a ich świat to monitor, klawiatura i hektolitry kawy. Czy to prawda? Na to pytanie odpowiada książka, którą trzymasz w rękach. Dzięki niej spojrzysz na ten zawód z zupełnie innego punktu widzenia. Jej autor przeprowadza wywiady z najbardziej rozpoznawalnymi osobami z tej branży. Mówią one o swoich pierwszych krokach w świecie programowania, opowiadają, jak nauczyły się swojego pierwszego języka oraz jak widzą tę gałąź wiedzy w przyszłości. Czym naprawdę jest programowanie? Rzemiosłem, sztuką, a może nauką? Te pytania stawia autor we wprowadzeniu i ma nadzieję, że wypowiedzi jego gości choć trochę zbliżą go do znalezienia odpowiedzi. Ta unikalna książka pozwoli Ci poznać bliżej wybitne osoby, od lat związane z informatyką. Anegdoty, ciekawe opowieści, wiele przykładów to tylko niektóre z proponowanych przez nią atrakcji. Zagłębiając się w kolejne wypowiedzi, przekonasz się, jak często przypadek decyduje o sukcesie lub porażce. W trakcie lektury będziesz mieć okazję zapoznać się z wypowiedziami takich sław, jak: Jamie Zawinski — wybitny programista Lisp, pracujący przy pierwszych wersjach przeglądarki Netscape Brad Fitzpatrick — najmłodsza osoba w gronie, programista "od zawsze" Douglas Crockford — starszy architekt JavaScript w Yahoo!; pomysłodawca formatu JSON Brendan Eich — twórca języka JavaScript Joshua Bloch — szef Java Architect w Google; w trakcie pracy w Sun Microsystem był kierownikiem zespołu projektującego i implementującego Java Collections Framework Joe Armstrong — autor języka programowania Erlang Simon Peyton Jones — rozpoczął projekt, którego efektem było powstanie języka Haskell Peter Norvig — dyrektor działu badań w Google, wcześniej pracujący dla NASA Guy Steele — znawca języków; Cobol, Fortran, PDP-10, Java, Haskell to tylko niektóre z jego repertuaru Dan Ingalls — współtwórca języka Smalltalk L. Peter Deutsch — programista od końca lat pięćdziesiątych; zaczynał w wieku jedenastu lat Ken Thompson — współtwórca systemu UNIX Fran Allen — przez czterdzieści pięć lat pracował dla firmy IBM; instruktor języka Fortran Bernie Cosell — współautor oprogramowania wykorzystywanego w pierwszych węzłach sieci ARPANET Donald Knuth — autor jedynego najprawdopodobniej bezbłędnego programu — TeX Poznaj tajemny świat programistów, hakerów i wybitnych specjalistów!
Marek Kasperski
Czy można zbudować świadomą maszynę, sztuczny mózg? Czy też w naszych umysłach tkwi jakiś element, którego nie da się uchwycić w programach komputerowych? Może takim nieuchwytnym elementem jest ludzka świadomość? Systemy komputerowe wykazujące zdrowy rozsądek i dysponujące ogromną wiedzą, zdolne do dialogu z człowiekiem mogą się pojawić jeszcze w tym dziesięcioleciu. Celem i przedmiotem badań specjalistów od Sztucznej Inteligencji są maszyny, które potrafiłyby rozwiązywać zadania, podejmować decyzje, a mówiąc ogólniej -- rozumowałyby na wzór człowieka. Badania nad Sztuczną Inteligencją rozwijają się obecnie bardzo dynamicznie, a ich wyniki są wykorzystywane w wielu dziedzinach: począwszy od gier komputerowych, przez robotykę po systemy rozpoznawania mowy i obrazów. Książka niniejsza ma jednak dużo szerszy zakres - tematycznie obejmuje zagadnienia z zakresu ogólnie rozumianej Sztucznej Inteligencji, filozofii tej dziedziny i nauk kognitywnych. Zagadnienia te można powiązać m.in. z logiką, informatyką, lingwistyką, psychologią. Przedstawia bogatą historię badań nad SI, współczesne osiągnięcia, a także prezentuje kierunki, w których badania te mają szansę się rozwinąć. Znajdziesz w niej próbę odpowiedzi na pytania, związane z tematem SI praktycznie od samego początku: Czy maszyna może myśleć? Czy myśląca maszyna będzie równoznaczna ze sztucznym człowiekiem? Dlaczego chcemy budować maszyny myślące? Czy maszyna myśląca będzie mieć prawa człowieka? Czy grozi nam "bunt robotów"?
Tailwind CSS. Projektowanie stron WWW i podejście utility-first
Michał Kortas
Poznaj rewelacyjną nowość na rynku frontendu Framework Tailwind CSS to prawdziwy webmasterski hit ostatniego roku. Wyjątkowym i nowatorskim czyni go przyjęta filozofia pracy. Twórcy frameworka proponują bowiem oryginalne podejście do tworzenia stron i aplikacji internetowych. Zamiast ściśle semantycznego sposobu tworzenia klas CSS Tailwind opiera się na fundamencie zwanym Utility-First. Dzięki temu architekt interfejsu nie marnuje czasu na generowanie wymyślnych nazw opisujących poszczególne elementy, a podchodzi do nich bardziej pragmatycznie - definiuje je w taki sposób, który najlepiej odpowiada rzeczywistości. Ta książka przeznaczona jest przede wszystkim dla początkujących i średniozaawansowanych projektantów stron WWW. Czytelnik znajdzie w niej mnóstwo praktycznych informacji dotyczących frameworka Tailwind. Pozna jego możliwości, mocne i słabe strony. Opanuje rządzące nim zasady oraz dostępne w nim narzędzia. Ich użycia nauczy się w praktyce, ponieważ znaczną część podręcznika zajmuje realizacja konkretnego zadania - autor przeprowadzi Czytelnika przez przygotowanie kompletnego konceptu interfejsu z wykorzystaniem wszystkiego, co oferuje w swoich zasobach Tailwind.
Tao mikrousług. Projektowanie i wdrażanie
Richard Rodger
Systemy oparte na mikrousługach różnią się od aplikacji monolitycznych. Są bardziej skalowalne, efektywniejsze, a także łatwiejsze w implementacji, rozwijaniu i utrzymaniu. Architektura mikrousług pozwala na doskonalenie danego elementu bez zastanawiania się nad działaniem całości aplikacji. Tego rodzaju systemy opierają się na nowoczesnych wzorcach, takich jak asynchroniczna komunikacja za pomocą komunikatów, usługi API i hermetyzacja. Po odpowiedniej optymalizacji dobrze działają zarówno w chmurach, jak i w scentralizowanych środowiskach opartych na kontenerach. Niniejsza książka jest przeznaczona dla programistów, menedżerów projektów i architektów oprogramowania. Wyjaśniono tu niezbędne pojęcia oraz różnice dzielące systemy oparte na mikrousługach i aplikacje monolityczne, a także zasady ich projektowania. Wyczerpująco omówiono techniki rozwiązywania problemów z mikrousługami oraz sposoby kontrolowania ryzyka wystąpienia awarii. Pokazano, w jaki sposób mikrousługi mogą współpracować z trwałymi danymi i jak wygląda ich współpraca z bazami danych. Sporo miejsca poświęcono technikom oceny kondycji działających systemów mikrousługowych, a także studiom przypadków oraz najlepszym praktykom pracy zespołu, planowania zmian i wyboru narzędzi. Najważniejsze zagadnienia: mikrousługi i ich architektura mikrousługi a wymagania biznesowe i korporacyjne komunikaty i ich wzorce wdrażanie systemów o dużej skali wady systemów opartych na mikrousługach Pracuj mądrzej i bardziej humanitarnie. Wdrażaj mikrousługi!
TDD. Programowanie w Javie sterowane testami
Viktor Farcic, Alex Garcia
Programowanie sterowane testami (ang. test-driven development — TDD) nie jest nową metodyką. Jej praktyczne zastosowanie pozwala na rozwiązanie wielu problemów związanych z procesami rozwijania i wdrażania oprogramowania. Mimo ogromnych zalet, programowanie sterowane testami nie jest zbyt popularne wśród programistów. Wynika to z tego, że techniki TDD nie są łatwe do opanowania. Choć teoretyczne podstawy wydają się logiczne i zrozumiałe, nabranie wprawy w stosowaniu TDD wymaga długiej praktyki. Książka, którą trzymasz w ręce, została napisana przez programistów dla programistów. Jej celem jest przekazanie podstaw TDD i omówienie najważniejszych praktyk związanych z tą metodyką, a przede wszystkim — nauczenie praktycznego stosowania TDD w pracy. Autorzy nie ukrywają, że nabranie biegłości w takim programowaniu wymaga sporo wysiłku, jednak korzyści płynące z metodyki TDD są znaczne: skrócenie czasu wprowadzania produktów na rynek, łatwiejsza refaktoryzacja, a także wyższa jakość tworzonych projektów. Z tą książką dogłębnie zrozumiesz metodykę TDD i uzyskasz wystarczającą pewność siebie, by z powodzeniem stosować to podejście w trakcie programowania aplikacji w Javie. Dzięki tej książce: Nauczysz się podstaw metodyki TDD Poznasz potrzebne narzędzia, platformy i środowiska wraz ze szczegółami ich konfiguracji Wykonywasz praktyczne ćwiczenia i stopniowo wdrożysz się w TDD Poznasz proces „czerwone, zielone, refaktoryzacja” Dowiesz się, jak pisać testy jednostkowe wykonywane w izolacji od reszty kodu Dowiesz się, jak tworzyć prosty i łatwy w konserwacji kod, nauczysz się refaktoryzować już istniejący Nauczysz się pracować z atrapami, stosować programowanie sterowane zachowaniami, a także udostępniać połowicznie ukończone funkcje w środowisku produkcyjnym za pomocą przełączników funkcji Programowanie sterowane testami to metodyka dla prawdziwych profesjonalistów!