Verleger: Helion
Programowanie funkcyjne w Pythonie. Jak pisać zwięzły, wydajny i ekspresywny kod. Wydanie III
Steven F. Lott
Mimo że Python nie jest typowym językiem programowania funkcyjnego, umożliwia pisanie kodu w sposób właściwy dla tego podejścia. W efekcie można tworzyć zwięzłe i eleganckie programy, które działają szybciej i zużywają mniej zasobów. Jeśli uważasz, że te argumenty uzasadniają zapoznanie się z funkcyjnym podejściem do programowania w Pythonie, to ta książka jest dla Ciebie. Dzięki temu praktycznemu podręcznikowi zrozumiesz, kiedy i dlaczego warto zastosować myślenie funkcyjne, a także jak korzystać z technik funkcyjnych w różnych scenariuszach. Dowiesz się również, jakie narzędzia i biblioteki przeznaczone do tego celu są dostępne w Pythonie i jak używać wyrażeń generatorowych, list składanych i dekoratorów. W tym wydaniu znalazły się nowe rozdziały dotyczące złożonych obiektów bezstanowych, funkcji kombinatorycznych i pakietu toolz, zawierającego zbiór modułów wspomagających pisanie programów funkcyjnych. Umieszczono tu ponadto sporo ciekawych przykładów, dotyczących choćby eksploracyjnej analizy danych i ich czyszczenia. W książce między innymi: najciekawsze biblioteki i wbudowane funkcje wyższego rzędu w Pythonie tworzenie funkcji generatorowych i leniwe wartościowanie implementacja dekoratorów do kompozycji funkcyjnej podpowiedzi typów w Pythonie obsługa współbieżności i implementacja usług sieciowych biblioteka PyMonad i tworzenie symulacji z obsługą stanów Chcesz tworzyć wydajny kod? Naucz się programowania funkcyjnego!
Programowanie funkcyjne z JavaScriptem. Sposoby na lepszy kod
Luis Atencio
Każdy paradygmat programowania zakłada inne podejście do rozwiązywania problemów. Mimo że podejście obiektowe wciąż jest podstawowym modelem projektowania programowania, podejście funkcyjne pozwala na uzyskanie kodu lepszej jakości: modularnego, ekspresywnego, odpornego na błędy, a przy tym zrozumiałego i łatwego w testowaniu. Szczególnie interesujące jest stosowanie w modelu funkcyjnym języka JavaScript. Chociaż jest to język obiektowy, okazuje się, że taki sposób programowania pozwala na uzyskiwanie wyjątkowo efektywnego i elastycznego kodu. Niniejsza książka jest przeznaczona dla programistów, którzy chcą się nauczyć programowania funkcyjnego w JavaScripcie. Przedstawiono tu zarówno teoretyczne aspekty tego paradygmatu, jak i konkretne mechanizmy: funkcje wyższego poziomu, domknięcia, rozwijanie funkcji, kompozycje. Nieco trudniejszymi zagadnieniami, które tu omówiono, są monady i programowanie reaktywne. Ten poradnik pozwala też zrozumieć zasady tworzenia asynchronicznego kodu sterowanego zdarzeniami i w pełni wykorzystać możliwości JavaScriptu. W książce omówiono: techniki programowania funkcyjnego w JavaScripcie stosowanie łańcuchów funkcji oraz korzystanie z rekurencji techniki rozwijania i kompozycji funkcji oraz modularność kodu testowanie aplikacji oparte na właściwościach model pamięci w JavaScripcie zasady programowania reaktywnego i bibliotekę RxJS Programowanie funkcyjne — i kod staje się lepszy! Luis Atencio — jest inżynierem oprogramowania. Zajmuje się tworzeniem architektury aplikacji dla różnych przedsiębiorstw. Tworzy kod w JavaScripcie, Javie i PHP. Jest osobą o dużym talencie do przekazywania wiedzy. Bardzo często dzieli się swoimi doświadczeniami podczas konferencji branżowych. Prowadzi blog na temat inżynierii oprogramowania i pisze artykuły dla rozmaitych magazynów oraz serwisu DZone.
Programowanie obrabiarek sterowanych numerycznie w systemie CAD/CAM CATIA V5
Janusz Pobożniak
Wejdź w świat cyfrowego wytwarzania! System Catia i jego moduły - od czego zacząć naukę programowania obrabiarek sterowanych numerycznie? Cykle tokarskie i frezarskie - jak najszybciej i najwygodniej zaprogramować obróbkę? Procedury wspólne - które zaawansowane procedury programowania na pewno przydadzą się w praktyce? System Catia jest dziś jednym z najlepszych dostępnych na rynku systemów inżynierskich, używanych do komputerowo wspomaganych: projektowania CAD, wykonywania obliczeń inżynierskich CAE oraz wytwarzania CAM. Jego możliwości w zakresie integracji danych, narzędzi, metodologii oraz programowania współbieżnego są wprost niewiarygodne, a ich wykorzystanie pozwala znacząco obniżyć koszty wytwarzania niemal dowolnego elementu czy urządzenia. Jeśli jesteś członkiem zespołu projektowego opracowującego bądź udoskonalającego maszyny, instalacje, podzespoły czy elementy, które muszą spełniać ściśle określone wymagania, system Catia jest właśnie dla Ciebie. Jednak modelowanie geometrii to nie wszystko. Jeśli chcesz wyprodukować przedmiot zaprojektowany w systemie Catia, będziesz potrzebował także informacji, jak zaprogramować różnego typu obrabiarki. Z tej książki dowiesz się, jak wygląda procedura programowania i jak programować obróbkę części obrotowych czy pryzmatycznych. Poznasz szczegóły definiowania cyklów tokarskich i frezarskich oraz możliwości różnych narzędzi wspomagających. Zobaczysz, jak efektywnie symulować obróbkę, analizować poprawność programu, tworzyć bazy narzędzi oraz modele obrabiarek do symulacji czy automatycznie rozpoznawać obrabiane elementy przedmiotu. Niezwykle ułatwi Ci to pracę! Podstawowe informacje o obrabiarkach sterowanych numerycznie CNC i ich programowaniu Procedura programowania obróbki w systemie Catia V5 i środowisko pracy Programowanie obróbki części obrotowych i pryzmatycznych Modele geometryczne używane w czasie programowania Generowanie programu sterującego Programowanie obróbki w wielu zamocowaniach Budowa bazy danych narzędzi Rozpoznawanie cech technologicznych Budowa modeli obrabiarek Obróbka naroży i przejść (tylko dla frezowania) Pracuj (z) głową - wykorzystaj siłę Catii w programowaniu obrabiarek!
Programowanie równoległe i asynchroniczne w C# 5.0
Mateusz Warczak, Jacek Matulewski, Rafał Pawłaszek, Piotr...
Programowanie współbieżne - wykorzystaj w pełni moc procesorów! Opanuj wątki, zadania i TPL Poznaj sprytne rozwiązania z użyciem bibliotek DSS i CCR Wejdź na wyższy poziom z Reactive Extensions i CUDAfy.NET Programowanie współbieżne jest w dzisiejszych czasach absolutnym standardem, jedyną drogą pozwalającą w pełni wykorzystać moc wielordzeniowych procesorów, umieszczanych we współczesnych komputerach. Jednak nadal niewielu programistów potrafi poprawnie i efektywnie korzystać z tej technologii. Czas to zmienić! Jeśli chcesz być naprawdę świetnym programistą C#, tworzącym aplikacje na platformę .NET, a do tej pory nie przestudiowałeś jeszcze porządnie kwestii współbieżności, pora to nadrobić. W tej książce znajdziesz informacje o podstawach tej technologii, takich jak wątki, a także o klasycznych pułapkach związanych z programowaniem współbieżnym. Kolejne rozdziały odkryją przed Tobą tajemnice zadań oraz bibliotek TPL. Poznasz również technologie DSS i CCR oraz dowiesz się co nieco na temat asynchroniczności. Potem przyjdzie kolej na omówienie technologii Reactive Extensions oraz biblioteki CUDAfy.NET, pozwalającej efektywnie wykorzystać karty graficzne do obliczeń niezwiązanych z grafiką. Odkryj zalety programowania równoległego! Dla niecierpliwych: asynchroniczność i pętla równoległa Wątki i zadania Zmienne w aplikacjach wielowątkowych Synchronizacja wątków, zadań i kontrolek interfejsu z zadaniami Wątki i zadania a interfejs użytkownika Dane w programach równoległych Analiza aplikacji wielowątkowych. Debugowanie i profilowanie Wstęp do CCR i DSS Skalowalne rozwiązanie dla systemów rozproszonych na bazie technologii CCR i DSS Wprowadzenie do Reactive Extensions. Zarządzanie sekwencjami zdarzeń Współbieżność w Rx Przykłady użycia technologii Rx w aplikacjach WPF CUDA w .NET Biblioteka TPL w WinRT Dobre praktyki programowania aplikacji wielowątkowych Zostań mistrzem programowania współbieżnego!
Programowanie serwera Oracle 11g SQL i PL/SQL
Adam Pelikant
Twórz przejrzyste bazy danych i właściwie przetwarzaj informacje Podstawy -- organizacja serwera, instalacja bazy danych i końcówki klienta Język SQL -- tworzenie różnych rodzajów zapytań, funkcjonalności dodatkowe Język PL/SQL -- procedury, funkcje, dynamiczny SQL Bazy danych Oracle od lat stanowią najlepszą alternatywę dla wszystkich tych, którzy potrzebują funkcjonalnych i pojemnych struktur przechowywania danych, wyposażonych dodatkowo w możliwość wszechstronnego przeszukiwania i zestawiania potrzebnych informacji. Jednak podstawowa wiedza na temat środowiska Oracle nie wystarczy, aby zaprojektować naprawdę przejrzystą, prostą w obsłudze bazę. Do tego potrzebna jest solidna wiedza, którą znajdziesz właśnie w tym podręczniku. "Programowanie serwera Oracle 11g SQL i PL/SQL " to kontynuacja książki Adama Pelikanta "Bazy danych. Pierwsze starcie", a poruszane w niej zagadnienia są bardziej zaawansowane, choć przy odrobinie samozaparcia także nowicjusz w tej dziedzinie będzie w stanie przyswoić sobie zawartą tu praktyczną wiedzę. Oprócz organizacji serwera, instalacji bazy danych i składni języka SQL szczegółowo omówione są tutaj różne rodzaje zapytań w tym języku (prostych i złożonych), a także funkcje rozszerzenia proceduralnego PL/SQL. W książce opisano także zastosowanie Javy do tworzenia oprogramowania po stronie serwera oraz funkcje analityczne, stanowiące wstęp do przetwarzania OLAP. Całość uzupełniono praktycznymi przykładami, obrazującymi działanie poszczególnych konstrukcji i procedur. Organizacja serwera Instalacja bazy i końcówki klienta Zapytania wybierające, modyfikujące dane i tworzące tabele Dodatkowe funkcjonalności SQL Procedury składowane i wyzwalane Funkcje w PL/SQL Pakiety, kursory, transakcje Dynamiczny SQL Zastosowanie Javy do tworzenia oprogramowania po stronie serwera Elementy administracji -- zarządzanie uprawnieniami z poziomu SQL Obiektowość w Oracle Wydajna, bezpieczna i prosta w obsłudze -- zaprojektuj doskonałą bazę danych!
Programowanie sterowane testami w Pythonie. Jak tworzyć skalowalne zestawy testów i aplikacji
Alessandro Molina
Spośród wielu koncepcji tworzenia oprogramowania na szczególną uwagę zasługuje model programowania sterowanego testami, znany jako TDD. Technika ta opiera się na integracji procesów projektowania aplikacji i pisania kodu z prowadzeniem testów. Mimo że taki sposób pracy wydaje się dość wymagający dla zespołów deweloperów, łatwo się przekonać, że TDD pozwala na stałe uzyskiwanie dobrych efektów, a opracowane tą metodą aplikacje zaskakują stabilnością i przewidywalnością w środowisku produkcyjnym. W tej praktycznej książce dokładnie opisano koncepcje przeprowadzania testów oprogramowania, a szczególny akcent położono na model programowania sterowanego testami. Przedstawiono w niej również szeroką gamę przydatnych do testowania narzędzi, takich jak wbudowany w Pythona moduł testów jednostkowych unittest, frameworki pytest i Robot, a także biblioteka webtest. Omówiono też zasady projektowania testów, testowania kodu podczas implementacji nowych funkcjonalności i tworzenia pełnych zbiorów testów. Ponadto dokładnie zaprezentowano najlepsze praktyki związane z testami automatycznymi i modelem programowania TDD. Poszczególne koncepcje zostały zilustrowane praktycznymi przykładami zastosowania narzędzi dostępnych w Pythonie. W książce między innymi: najlepsze praktyki dotyczące projektowania testów praca z frameworkiem pytest przeznaczonym do testowania aplikacji tworzenie testów funkcjonalnych dla aplikacji WSGI za pomocą biblioteki webtest zasady programowania sterowanego testami techniki tworzenia niezawodnych aplikacji w Pythonie Najważniejsze jest testowanie kodu - od pierwszej linii!
Programowanie. Teoria i praktyka w C++. Wydanie IV
Bjarne Stroustrup
Książka twórcy języka C++ Chcesz naprawdę dobrze opanować C++? Ucz się od najlepszego! Bjarne Stroustrup, twórca tego języka, jak nikt inny potrafi wyjaśnić zarówno podstawy, jak i najbardziej zaawansowane metody programowania. To on zaprojektował i zaimplementował C++, a w tej książce dzieli się swoim bogatym doświadczeniem i ekspercką wiedzą. Teraz dostępną także dla Ciebie! Programowanie. Teoria i praktyka w C++ to kompletny przewodnik, który krok po kroku odkrywa tajniki jednego z najważniejszych i najpotężniejszych języków programowania. Najnowsze wydanie zostało zaktualizowane i uwzględnia standardy C++20 i C++23, dzięki czemu będziesz się uczyć na przykładach zgodnych z aktualnym kierunkiem rozwoju języka. Dzięki tej książce dowiesz się, jak pisać kod nie tylko wydajny, ale i elegancki. Poznasz zasady, które z powodzeniem zastosujesz również w innych językach programowania. Autor wprowadzi Cię w świat kluczowych paradygmatów programowania od proceduralnego, przez obiektowe, aż po generyczne i pokaże, jak tworzyć bezpieczne, praktyczne i łatwe w utrzymaniu programy. Oprócz technik programowania wysokopoziomowego opanujesz techniki niższego poziomu, niezbędne do efektywnego korzystania z możliwości sprzętu. Znajdziesz tu zarówno solidne podstawy, jak i bardziej zaawansowane zagadnienia, takie jak: opis pojęć i technik programistycznych instrukcje sterujące, obsługa błędów, funkcje i system typów obsługa danych liczbowych i tekstu praca z graficznym interfejsem użytkownika kontenery i algorytmy w bibliotece STL parametryzacja klas i funkcji Niezależnie od tego, czy dopiero zaczynasz przygodę z C++, czy chcesz rozwinąć swoje umiejętności tu znajdziesz wszystko, czego potrzebujesz, aby pisać doskonały kod. Chłoń wiedzę od samego twórcy języka C++!