Inne - Programowanie
Programowanie obiektowe dla studenta i technika programisty INF.04
Aleksander Bies
Książka "Programowanie obiektowe dla studenta i technika programisty" to podręcznik, dzięki któremu każdy czytelnik, bez względu na stopień zaawansowania, zrozumie podstawowe zasady programowania strukturalnego i obiektowego. Początkujący czytelnik będzie miał możliwość nauki prawie od podstaw, a programista zaawansowany utrwali i przećwiczy posiadaną przez siebie wiedzę i znacznie ją rozszerzy. W książce autor zgromadził pokaźny zasób podstawowych pojęć programistycznych, wytłumaczył pojęcie danych, ich typy i struktury bardziej złożone, czyli kolekcje wraz ze sposobami odwoływania się do nich poprzez nazwy i wskaźniki. Omówił instrukcje warunkowe, iteracje, funkcje, obiekty i klasy wraz z dziedziczeniem, polimorfizmem i zasadami dostępu. Dodatkową zaletą omawianych treści są pytania i zadania sprawdzające wraz z odpowiedziami oraz kody źródłowe wszystkich programów z możliwością ich pobrania wprost na komputer. Autorem książki jest Aleksander Bies, nauczyciel programowania, absolwent kierunków Informatyka i Informatyka Stosowana na Wydziale Nauk Ścisłych i Technicznych Uniwersytetu Śląskiego, doktorant badający metody sztucznej inteligencji w układach złożonych. Jest współautorem modelu wykorzystującego uczenie maszynowe, za którego zaimplementowanie zdobył II miejsce w międzynarodowym konkursie Orange Datahack with Energy.
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 z wykorzystaniem C++. Wydanie III
Bjarne Stroustrup
Zaczerpnij wiedzę o C++ od samego twórcy języka! Jak zacząć pracę w zintegrowanym środowisku programistycznym? Jak profesjonalnie tworzyć programy użytkowe? Jak korzystać z biblioteki graficznego interfejsu użytkownika? Jeśli zależy Ci na tym, aby zdobyć rzetelną wiedzę i perfekcyjne umiejętności programowania z użyciem języka C++, powinieneś uczyć się od wybitnego eksperta i twórcy tego języka - Bjarne Stroustrupa, który jako pierwszy zaprojektował i zaimplementował C++. Podręcznik, który trzymasz w ręku, daje Ci szansę odkrycia wszelkich tajników tego języka, obszernie opisanego w międzynarodowym standardzie i obsługującego najważniejsze techniki programistyczne. C++ umożliwia pisanie wydajnego i eleganckiego kodu, a większość technik w nim stosowanych można przenieść do innych języków programowania. Książka Programowanie w C++. Teoria i praktyka zawiera szczegółowy opis pojęć i technik programistycznych, a także samego języka C++, oraz przykłady kodu. Znajdziesz tu również omówienia zagadnień zaawansowanych, takich jak przetwarzanie tekstu i testowanie. Z tego podręcznika dowiesz się, na czym polega wywoływanie funkcji przeciążonych i dopasowywanie wyrażeń regularnych. Zobaczysz też, jaki powinien być standard kodowania. Poznasz sposoby projektowania klas graficznych i systemów wbudowanych, tajniki implementacji, wykorzystywania funkcji oraz indywidualizacji operacji wejścia i wyjścia. Korzystając z tego przewodnika, nauczysz się od samego mistrza pisać doskonałe, wydajne i łatwe w utrzymaniu programy. Techniki programistyczne Infrastruktura algorytmiczna Biblioteka standardowa C++ Instrukcje sterujące i obsługa błędów Implementacja i wykorzystanie funkcji Kontrola typów Interfejsy klas Indywidualizacja operacji wejścia i wyjścia Projektowanie klas graficznych Wektory i pamięć wolna Kontenery i iteratory Programowanie systemów wbudowanych Makra Wykorzystaj wiedzę Bjarne Stroustrupa i pisz profesjonalne programy w C++!
Programowanie w języku Go. Koncepcje i przykłady. Wydanie II
Mat Ryer
Go jest nowoczesnym językiem programowania rozwijanym przez firmę Google. Ostatnie zmiany sprawiły, że stał się on komfortowym narzędziem do tworzenia wydajnych aplikacji. Programiści Go mogą korzystać z wciąż rosnącego zbioru pakietów dostępnych jako open source, dzięki czemu tworzą i wdrażają oprogramowanie o znakomitej jakości. Taki kod od pierwszego dnia działa dobrze, a przy tym imponuje skalowalnością. Wbudowane mechanizmy Go, takie jak współbieżność, zapewniają możliwość uzyskiwania fantastycznych wyników nawet na najprostszym sprzęcie. Niniejsza książka stanowi znakomite wprowadzenie do programowania w Go. Przyda się zarówno początkującym, jak i zaawansowanym programistom. Podstawą prezentowanych tu projektów są skalowalność, wydajność działania oraz wysoka dostępność. Poza opisem języka przedstawiono tu sporo istotnych koncepcji architektury oprogramowania. Wykorzystano aspekty filozofii wykorzystywanej przez „zwinnych” programistów. Opisano zasady tworzenia aplikacji korzystających z Google App Engine, pisania i korzystania z mikrousług czy też tworzenia obrazów Dockera. Wiedza zdobyta dzięki tej książce ułatwi każdemu stosowanie rozwiązań najwyższej klasy. Najważniejsze zagadnienia: aplikacje internetowe korzystające z pakietu NET/HTTP programy obsługiwane z poziomu wiersza poleceń systemy rozproszone i elastyczne dane usługi typu RESTful programistyczne korzystanie z magazynu Google Cloud Datastore dobre praktyki przygotowywania aplikacji w Go Język Go. Idź i programuj! Mat Ryer — programuje od szóstego roku życia. Swoje pierwsze eksperymenty przeprowadzał wraz z ojcem w języku BASIC, a następnie w językach AmigaBASIC i AMOS. Jego kariera zawodowa od początku była związana z programowaniem. Używał wielu różnych języków, aż w końcu zwrócił uwagę na rozwijany przez Google język Go. Ryer od lat używa języka Go do tworzenia przeróżnych produktów, usług i projektów typu open source. Jest gorącym orędownikiem tego rozwiązania. Pisze o Go artykuły, a podczas różnych wykładów i konferencji zachęca programistów, by go wypróbowali.
Programowanie w języku Java. Podejście interdyscyplinarne. Wydanie II
Robert Sedgewick, Kevin Wayne
Programowania uczą się już najmłodsi w szkole podstawowej. Umiejętność kodowania będzie wkrótce jednym z wyznaczników dobrego wykształcenia. Rozwiązywanie złożonych problemów za pomocą specjalnie napisanego kodu jest dogodnym sposobem pracy nie tylko inżyniera czy informatyka, ale również biologa, fizyka czy nawet socjologa. Oznacza to, że znajomość języka programowania i choćby podstawowych zagadnień algorytmiki jest cennym uzupełnieniem warsztatu każdego, kto zajmuje się nauką czy techniką. Jeśli więc w programie Twoich studiów zabrakło kursu programowania, warto uzupełnić tę lukę! Trzymasz w rękach znakomity, interdyscyplinarny podręcznik programowania, w którym skupiono się na zastosowaniu kodu Javy do badań z wielu ciekawych dziedzin. Przedstawiono tu zagadnienia podstawowe (zmienne, typy danych, przepływ sterowania, operacje wejścia-wyjścia) oraz bardziej zaawansowane (funkcje, zagadnienia programowania obiektowego, własne typy danych). W książce znalazło się również solidne wprowadzenie do algorytmów i struktur danych z uwzględnieniem charakterystyki wydajności implementacji. Kluczowym elementem wyróżniającym tę publikację spośród innych jest jednak zastosowanie prezentowanych koncepcji do rozwiązania konkretnych problemów nauki i inżynierii. Najważniejsze zagadnienia ujęte w książce: Podstawowe zasady budowania programów w Javie Instrukcje warunkowe, pętle, tablice Sterowanie grafiką i dźwiękiem z poziomu Javy Funkcje, biblioteki, rekurencja Projektowanie API, hermetyzacja, dziedziczenie Studia przypadków i przykłady zastosowań w nauce i technice Java - najlepsze narzędzie dla inżynierów, informatyków i naukowców! Robert Sedgewick jest profesorem informatyki na Uniwersytecie Princeton, jednym z założycieli Wydziału Informatyki tej uczelni. Pracował również w Xerox PARC, Institute for Defense Analyses, INRIA oraz w Adobe Systems. Jest autorem wielu książek, naukowo zajmuje się kombinatoryką analityczną, projektowaniem i analizą algorytmów oraz struktur danych. Kevin Wayne wykłada na Wydziale Informatyki Uniwersytetu Princeton. Otrzymał tytuł ACM Distinguished Educator. Obronił doktorat w dziedzinie badań operacyjnych i informatyki przemysłowej.
Programowanie w języku Kotlin. The Big Nerd Ranch Guide
Josh Skeen, David Greenhalgh
Gdy w 2017 roku na konferencji Google ogłoszono, że Kotlin jest jednym z oficjalnie wspieranych języków programowania aplikacji dla Androida, język ten błyskawicznie stał się popularny. Najpoważniejsze firmy technologiczne doceniają jego zalety, takie jak zwarta składnia i integracja z kodem Javy. Co ważne, twórcy Kotlina czerpali z doświadczeń projektantów Javy i zapewnili, że te dwa języki są ze sobą ściśle powiązane. W ten sposób świeżość rozwiązań i nowoczesne mechanizmy zostały znakomicie połączone z najlepszymi cechami Javy, a Kotlin stał się wszechstronnym wieloplatformowym językiem programowania. Ta książka jest przeznaczona dla programistów, którzy chcą poznać język o możliwościach wykraczających poza Javę i pisać solidne aplikacje dla różnych platform. Pozwala w praktyczny sposób zapoznać się z unikalnymi możliwościami Kotlina i - na podstawie licznych przykładowych projektów - stopniowo zgłębiać złożone zagadnienia. Znakomitym uzupełnieniem prezentowanych treści są informacje o wewnętrznych mechanizmach działania języka wraz z ćwiczeniami do samodzielnego wykonania. Dzięki tej książce nawet początkujący programista szybko zacznie pisać efektywne i solidne aplikacje, które będą służyć użytkownikom różnych platform. W tej książce między innymi: wprowadzenie do Kotlina funkcje w Kotlinie, w tym funkcje anonimowe praca na obiektach: dziedziczenie, klasy, klasy abstrakcyjne programowanie funkcyjne w Kotlinie najciekawsze biblioteki i współdziałanie z Javą Big Nerd Ranch mieści się w Atlancie w USA. Firma została założona w 2001 roku przez Aarona Hillegassa, znakomitego programistę i trenera programowania. Jej misją jest krzewienie wiedzy o rozwijających się technologiach mobilnych. Słynie ze świetnych szkoleń i znakomitych trenerów. Kotlin: najlepsze rozwiązania nie tylko dla Androida!
Programowanie w języku Rust. Wydajność i bezpieczeństwo
Jim Blandy, Jason Orendorff
Programowanie systemowe zwykle nie interesuje twórców aplikacji. Niemniej warunkiem jej poprawnego działania jest właśnie kod systemowy. Programowanie systemowe zapewnia między innymi działanie systemu operacyjnego, sterowników, systemu plików, kodeków, a także zarządzanie pamięcią czy obsługę sieci. Jako że dotyczy wykorzystania zasobów, każdy szczegół, każdy bajt pamięci operacyjnej i każdy cykl procesora ma znaczenie. Rust - wyjątkowe narzędzie, cenione za szybkość, współbieżność i bezpieczeństwo - sprawi, że tworzenie kodu systemowego będzie łatwiejsze. Jednak tym, którzy dotychczas używali C#, Javy czy Pythona, język ten może się wydawać dość trudny do zrozumienia. Ta książka jest znakomitym wprowadzeniem do języka Rust, pozwala też rozeznać się w zasadach programowania systemowego. Pokazuje, w jaki sposób zapewnić w kodzie bezpieczeństwo pamięci i wątków oraz sprawić, aby program był wykonywany szybko i bez błędów. Poszczególne zagadnienia zostały przedstawione jasno i przystępnie, a prezentowane koncepcje - zilustrowane licznymi przykładami kodu. Nie zabrakło również wskazówek ułatwiających bezproblemowe tworzenie wydajnego i bezpiecznego kodu. Książka jest przeznaczona przede wszystkim dla programistów systemowych, jednak przyda się także twórcom aplikacji, którym pozwoli zrozumieć zasady rządzące językiem Rust, a w efekcie tworzyć lepszy i łatwiejszy w utrzymaniu kod. W tej książce między innymi: solidne wprowadzenie do języka Rust podstawowe typy danych, własności i referencje obsługa błędów w języku Rust obsługa wejścia-wyjścia, makra i współbieżność obsługa niebezpiecznego kodu Rust. Programowanie systemowe. Najlepiej zacząć od podstaw!
Programowanie w języku Rust. Wydajność i bezpieczeństwo. Wydanie II
Jim Blandy, Jason Orendorff, Leonora F. S....
Twórcy aplikacji często zapominają o kodzie systemowym, a to dzięki niemu funkcjonują system operacyjny, sterowniki, system plików czy zarządzanie pamięcią. Żadna aplikacja nie będzie działać bez poprawnego kodu systemowego. Język Rust jest dla programistów systemowych wyjątkowym narzędziem, rozwiązującym wiele znanych od dziesięcioleci problemów. Pozwala uniknąć mnóstwa powszechnie popełnianych błędów i tworzyć należytej jakości kod systemowy. Dzięki tej książce zaczniesz kodować w języku Rust. Zrozumiesz też istotę programowania systemowego. Dowiesz się, w jaki sposób zapewnić bezpieczeństwo pamięci i wątków, a także jak sprawić, aby program był wykonywany szybko i bez błędów. Nauczysz się bezpiecznego stosowania operacji współbieżnych i poznasz zasady obsługi błędów. Przekonasz się, w jaki sposób Rust umożliwia kontrolę nad zużyciem pamięci i procesora, dodatkowo otrzymasz mnóstwo wskazówek ułatwiających tworzenie wydajnego i bezpiecznego kodu. Przewodnik jest przeznaczony głównie dla programistów systemowych, na lekturze jednak skorzystają również twórcy aplikacji, którzy dowiedzą się, jak mogą pisać lepszy, efektywniejszy i łatwiejszy w utrzymaniu kod. W książce między innymi: solidne wprowadzenie do języka Rust podstawowe typy danych, a także pojęcia związane z własnością i pożyczaniem obsługa błędów, paczki i moduły zestawy metod i typy generyczne domknięcia, iteratory i programowanie asynchroniczne zaawansowane mechanizmy języka Rust Rust: zadbasz o najwyższą jakość oprogramowania systemowego!