Programowanie w języku Rust. Wydajność i bezpieczeństwo. Wydanie II
- Autorzy:
- Jim Blandy, Jason Orendorff, Leonora F. S. Tindall
- Ocena:
- 4.0/6 Opinie: 5
- Stron:
- 688
- Druk:
- oprawa miękka
- Dostępne formaty:
-
PDFePubMobi
Opis ebooka: Programowanie w języku Rust. Wydajność i bezpieczeństwo. Wydanie II
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!
Programowanie w języku Rust
Oprogramowanie systemowe stanowi podstawę dla wszystkich obliczeń wykonywanych przez komputery. Tworzenie bardzo szybkiego kodu wymaga języka programowania dającego programistom kontrolę nad zużyciem pamięci, czasu procesora oraz wszelkich innych zasobów systemowych. Język do tworzenia oprogramowania systemowego Rust łączy te wszystkie cechy z nowoczesnym systemem typów, zdolnym do wykrywania obszernych klas najczęściej popełnianych błędów związanych z wieloma aspektami tworzonego kodu, zaczynając od zarządzania pamięcią, a kończąc na rywalizacji o dostęp do danych współdzielonych przez wiele wątków.
Dzięki temu praktycznemu przewodnikowi doświadczeni programiści systemowi nauczą się jak korzystać z języka Rust by pomyślnie połączyć wydajność oraz bezpieczeństwo. Jim Blandy, Jason Orendorff oraz Leonora Tindall pokazują jak używać możliwości Rusta by zyskać kontrolę nad zużyciem pamięci oraz procesora, używając do tego celu przewidywalnej wydajności, bezpiecznego wykorzystania pamięci oraz godnych zaufania operacji współbieżnych.
W tej książce poznasz:
- Podstawowe typy danych języka Rust, jak również podstawowe pojęcia związane z własnością oraz pożyczaniem.
- Podstawy języka, a w tym: obsługę błędów, paczki i moduły, struktury i typy wyliczeniowe.
- Jak pisać elastyczny, wydajny kod wykorzystując do tego celu zestawy metod i typy generyczne.
- Kluczowe narzędzia Rusta: domknięcia, iteratory oraz techniki oprogramowania asynchronicznego.
- Kolekcje, łańcuchy znaków i teksty, operacje wejścia i wyjścia, współbieżność, makra, kod niebezpieczny oraz interakcje z funkcjami pisanymi w innych językach programowania
"Osobom dysponujący doświadczeniem w programowaniu systemowym w innych językach, książka Programowanie w języku Rust zapewni możliwość błyskawicznego poznania Rusta. Autorzy wyjaśniają w niej jak Rust działa, prezentując przy tym wiele przykładów oraz projektów."
Carol Nichols, współautorka książki Programowanie w języku Rust i współzałożycielka Integer 32, LLC
Wybrane bestsellery
-
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 przedsta...
Programowanie w języku Rust. Wydajność i bezpieczeństwo Programowanie w języku Rust. Wydajność i bezpieczeństwo
(9.90 zł najniższa cena z 30 dni)49.50 zł
99.00 zł(-50%) -
Systems programming provides the foundation for the world's computation. Writing performance-sensitive code requires a programming language that puts programmers in control of how memory, processor time, and other system resources are used. The Rust systems programming language combines that cont...(211.65 zł najniższa cena z 30 dni)
220.15 zł
259.00 zł(-15%) -
Jak sądzisz, co stanowi bazę informatyki? Od czego powinien zacząć przyszły programista? Może od opanowania jednego z najpopularniejszych języków programowania? Oczywiście mógłby od tego rozpocząć, tyle że to trochę tak, jakby uczyć się korzystać z narzędzia bez świadomości, do czego ono właściwi...
Informacja i kodowanie. Krótkie wprowadzenie z przykładami zastosowań Informacja i kodowanie. Krótkie wprowadzenie z przykładami zastosowań
(47.20 zł najniższa cena z 30 dni)41.30 zł
59.00 zł(-30%) -
Książkę szczególnie docenią analitycy bezpieczeństwa, którzy chcą się zapoznać z zestawem poleceń ARM i zdobyć wiedzę umożliwiającą im efektywne korzystanie z technik inżynierii wstecznej. Poza zestawem potrzebnych poleceń znalazło się w niej mnóstwo przydatnych informacji. Znajdziesz tu przegląd...
Niebieski lis. Polecenia procesorów Arm i inżynieria wsteczna Niebieski lis. Polecenia procesorów Arm i inżynieria wsteczna
(57.84 zł najniższa cena z 30 dni)62.30 zł
89.00 zł(-30%) -
Ewolucja formularzy internetowych zaczęła się od prostych znaczników języka HTML 2.0 opublikowanego w 1993 roku. Z czasem HTML oferował bardziej zaawansowane funkcje obsługi formularzy. Późniejsze wersje, HTML4, a następnie HTML5, wprowadziły nowe typy pól, takie jak pola daty, koloru czy też adr...
Angular i formularze reaktywne. Praktyczny przewodnik Angular i formularze reaktywne. Praktyczny przewodnik
(44.85 zł najniższa cena z 30 dni)48.30 zł
69.00 zł(-30%) -
Jeśli w swojej pracy masz lub miewasz do czynienia z danymi, z pewnością orientujesz się, że do tego celu stworzono dotąd całkiem sporo narzędzi. Nic dziwnego – przy tej liczbie danych, z jaką spotykamy się w dzisiejszym cyfrowym świecie, zdolność do ich sprawnego analizowania i wyciągania ...
Grafana. Kurs video. Monitorowanie, analiza i wizualizacja danych w czasie rzeczywistym Grafana. Kurs video. Monitorowanie, analiza i wizualizacja danych w czasie rzeczywistym
(39.90 zł najniższa cena z 30 dni)39.90 zł
139.00 zł(-71%) -
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 na...
Przetwarzanie języka naturalnego z wykorzystaniem transformerów. Budowanie aplikacji językowych za pomocą bibliotek Hugging Face Przetwarzanie języka naturalnego z wykorzystaniem transformerów. Budowanie aplikacji językowych za pomocą bibliotek Hugging Face
(59.40 zł najniższa cena z 30 dni)69.30 zł
99.00 zł(-30%) -
Czym jest inżynieria wymagań? To systematyczne podejście do pozyskiwania i dokumentowania wymagań, a także zarządzania nimi. Polega na zrozumieniu potrzeb i oczekiwań interesariuszy, a następnie opisaniu, za pomocą wymagań, systemu, który je spełnia.
Certyfikowany inżynier wymagań. Na podstawie IREB CPRE. Poziom podstawowy Certyfikowany inżynier wymagań. Na podstawie IREB CPRE. Poziom podstawowy
(41.40 zł najniższa cena z 30 dni)48.30 zł
69.00 zł(-30%) -
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 pobierani...
Prometheus w pełnej gotowości. Jak monitorować pracę infrastruktury i wydajność działania aplikacji. Wydanie II Prometheus w pełnej gotowości. Jak monitorować pracę infrastruktury i wydajność działania aplikacji. Wydanie II
(53.40 zł najniższa cena z 30 dni)62.30 zł
89.00 zł(-30%) -
Czy wiesz, że większość ruchu w sieci pochodzi z urządzeń mobilnych? Smartfon stał się wiodącym urządzeniem do przeglądania Internetu i nadal przybiera na sile. Dzięki tej popularności dynamicznie rozwija się także rynek aplikacji mobilnych. W sklepach takich jak App Store i Google Play mamy do w...
iOS Developer. Kurs video. Opanuj Swift, framework UIKit i środowisko Xcode iOS Developer. Kurs video. Opanuj Swift, framework UIKit i środowisko Xcode
(39.90 zł najniższa cena z 30 dni)58.04 zł
129.00 zł(-55%)
O autorach ebooka
Jim Blandy programuje od niemal czterdziestu lat. W 1990 roku zaangażował się w tworzenie wolnego oprogramowania. Zajmował się projektami GNU Emacs, GNU Guile, a także GDB (debugger GNU). Obecnie rozwija narzędzia deweloperskie dostępne w przeglądarce Firefox. Interesuje się biologią, astronomią i gotowaniem.
Jason Orendorff napisał jeden z modułów silnika JavaScript przeglądarki Firefox. Jest aktywnym członkiem społeczności deweloperów w Nashville. Interesuje się gramatyką, pieczeniem i podróżami w czasie. Chętnie pomaga ludziom zrozumieć trudne zagadnienia.
Leonora Tindall jest inżynierem oprogramowania. Tworzy oprogramowanie systemowe w języku Rust. Pracuje nad wieloma projektami open source. W wolnym czasie konstruuje elektronikę do syntezy dźwięku.
Zobacz pozostałe książki z serii O'Reilly
-
Dzięki tej książce zrozumiesz bazowe koncepcje programowania funkcyjnego i przekonasz się, że możesz włączać je do kodu bez rezygnacji z paradygmatu obiektowego. Dowiesz się również, kiedy w swojej codziennej pracy używać takich opcji jak niemutowalność i funkcje czyste i dlaczego warto to robić....
Java. Podejście funkcyjne. Rozszerzanie obiektowego kodu Javy o zasady programowania funkcyjnego Java. Podejście funkcyjne. Rozszerzanie obiektowego kodu Javy o zasady programowania funkcyjnego
(52.20 zł najniższa cena z 30 dni)60.90 zł
87.00 zł(-30%) -
Ta książka będzie świetnym uzupełnieniem wiedzy o Flutterze i Darcie, sprawdzi się również jako wsparcie podczas rozwiązywania konkretnych problemów. Znalazło się tu ponad sto receptur, dzięki którym poznasz tajniki pisania efektywnego kodu, korzystania z narzędzi udostępnianych przez framework F...
Flutter i Dart. Receptury. Tworzenie chmurowych aplikacji full stack Flutter i Dart. Receptury. Tworzenie chmurowych aplikacji full stack
(41.40 zł najniższa cena z 30 dni)48.30 zł
69.00 zł(-30%) -
Ten przewodnik, który docenią programiści i architekci, zawiera wyczerpujące omówienie zagadnień projektowania, funkcjonowania i modyfikowania architektury API. Od strony praktycznej przedstawia strategie budowania i testowania API REST umożliwiającego połączenie oferowanej funkcjonalności na poz...
Architektura API. Projektowanie, używanie i rozwijanie systemów opartych na API Architektura API. Projektowanie, używanie i rozwijanie systemów opartych na API
(41.40 zł najniższa cena z 30 dni)48.30 zł
69.00 zł(-30%) -
W tej książce omówiono ponad 20 najprzydatniejszych wzorców projektowych, dzięki którym tworzone aplikacje internetowe będą łatwe w późniejszej obsłudze technicznej i w trakcie skalowania. Poza wzorcami projektowymi przedstawiono wzorce generowania i wydajności działania, których znaczenie dla uż...
Wzorce projektowe w JavaScripcie. Przewodnik dla programistów JavaScriptu i Reacta. Wydanie II Wzorce projektowe w JavaScripcie. Przewodnik dla programistów JavaScriptu i Reacta. Wydanie II
(41.40 zł najniższa cena z 30 dni)48.30 zł
69.00 zł(-30%) -
To gruntownie zaktualizowane i uzupełnione wydanie praktycznego przewodnika po wdrażaniu i testowaniu kontenerów Dockera. Przedstawia proces przygotowania pakietu aplikacji ze wszystkimi ich zależnościami, a także jego testowania, wdrażania, skalowania i utrzymywania w środowiskach produkcyjnych....
Docker. Niezawodne kontenery produkcyjne. Praktyczne zastosowania. Wydanie III Docker. Niezawodne kontenery produkcyjne. Praktyczne zastosowania. Wydanie III
(52.20 zł najniższa cena z 30 dni)60.90 zł
87.00 zł(-30%) -
To książka przeznaczona dla osób, które pracują ze zbiorami danych. Jest praktycznym przewodnikiem po koncepcjach algebry liniowej, pomyślanym tak, by ułatwić ich zrozumienie i zastosowanie w użytecznych obliczeniach. Poszczególne zagadnienia przedstawiono za pomocą kodu Pythona, wraz z przykłada...
Praktyczna algebra liniowa dla analityków danych. Od podstawowych koncepcji do użytecznych aplikacji w Pythonie Praktyczna algebra liniowa dla analityków danych. Od podstawowych koncepcji do użytecznych aplikacji w Pythonie
(46.20 zł najniższa cena z 30 dni)53.90 zł
77.00 zł(-30%) -
Ta książka stanowi wszechstronne omówienie wszystkich bibliotek Pythona, potrzebnych naukowcom i specjalistom pracującym z danymi. Znalazł się tu dokładny opis IPythona, NumPy, Pandas, Matplotlib, Scikit-Learn i innych narzędzi. Podręcznik uwzględnia przede wszystkim ich aspekty praktyczne, dzięk...
Python Data Science. Niezbędne narzędzia do pracy z danymi. Wydanie II Python Data Science. Niezbędne narzędzia do pracy z danymi. Wydanie II
(77.40 zł najniższa cena z 30 dni)90.30 zł
129.00 zł(-30%) -
Oto kolejne wydanie zwięzłego podręcznika dla programistów Javy, który ma ułatwić maksymalne wykorzystanie technologii tego języka w wersji 17. Treść została skrupulatnie przejrzana i uzupełniona o materiał dotyczący nowości w obiektowym modelu Javy. Pierwsza część książki obejmuje wprowadzenie d...(53.40 zł najniższa cena z 30 dni)
62.30 zł
89.00 zł(-30%) -
Dzięki tej książce dowiesz się, w jaki sposób uczynić architekturę oprogramowania wystarczająco plastyczną, aby mogła odzwierciedlać zachodzące zmiany biznesowe i technologiczne. W nowym wydaniu rozbudowano pojęcia zmiany kierowanej i przyrostowej, a także przedstawiono najnowsze techniki dotyczą...
Architektura ewolucyjna. Projektowanie oprogramowania i wsparcie zmian. Wydanie II Architektura ewolucyjna. Projektowanie oprogramowania i wsparcie zmian. Wydanie II
(40.20 zł najniższa cena z 30 dni)46.90 zł
67.00 zł(-30%) -
Oto zwięzły i praktyczny przewodnik po usłudze GA4 i jej integracji z chmurą. Szczególnie skorzystają z niego analitycy danych, biznesu i marketingu. Opisano tu wszystkie istotne kwestie dotyczące tego nowego, potężnego modelu analitycznego. Szczególną uwagę poświęcono bardziej zaawansowanym funk...
Google Analytics od podstaw. Analiza wpływu biznesowego i wyznaczanie trendów Google Analytics od podstaw. Analiza wpływu biznesowego i wyznaczanie trendów
(41.40 zł najniższa cena z 30 dni)48.30 zł
69.00 zł(-30%)
Ebooka "Programowanie w języku Rust. Wydajność i bezpieczeństwo. Wydanie II" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Programowanie w języku Rust. Wydajność i bezpieczeństwo. Wydanie II" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Programowanie w języku Rust. Wydajność i bezpieczeństwo. Wydanie II" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- Tytuł oryginału:
- Programming Rust: Fast, Safe Systems Development, 2nd Edition
- Tłumaczenie:
- Piotr Rajca, Adam Bochenek, Krzysztof Sawka
- ISBN Książki drukowanej:
- 978-83-283-9525-1, 9788328395251
- Data wydania książki drukowanej:
- 2022-11-22
- ISBN Ebooka:
- 978-83-283-9526-8, 9788328395268
- Data wydania ebooka:
- 2022-11-22 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Format:
- 165x235
- Numer z katalogu:
- 182117
- Rozmiar pliku Pdf:
- 6.7MB
- Rozmiar pliku ePub:
- 8.8MB
- Rozmiar pliku Mobi:
- 21.4MB
- Pobierz przykładowy rozdział PDF
- Przykłady na ftp
Ebook zawiera materiały dodatkowe, które możesz pobrać z serwera FTP - link znajdziesz na stronie redakcyjnej.
- Erraty / Zgłoś erratę
- Serie wydawnicze: O'Reilly
Spis treści ebooka
- Rust zdejmuje ciężar z naszych barków
- Programowanie współbieżne zostaje ujarzmione
- A na dodatek Rust wciąż jest szybki
- Rust ułatwia współpracę
- rustup i Cargo
- Funkcje w języku Rust
- Pisanie i uruchamianie testów
- Obsługa argumentów wiersza poleceń
- Prosty serwer WWW
- Programowanie współbieżne
- Czym jest zbiór Mandelbrota?
- Parsowanie argumentów wiersza poleceń
- Odwzorowanie pikseli na liczby zespolone
- Rysowanie zbioru
- Zapis obrazu do pliku
- Program Mandelbrota działający współbieżnie
- Uruchomienie programu
- Przezroczyste bezpieczeństwo
- Narzędzia systemów plików i wiersza poleceń
- Interfejs wiersza poleceń
- Odczyt i zapis plików
- Znajdowanie i zastępowanie
- Typy numeryczne o ustalonej długości
- Typy całkowite
- Sprawdzane, przenoszące, nasycające i przepełniające operacje arytmetyczne
- Typy zmiennoprzecinkowe
- Typ logiczny
- Typ znakowy
- Krotki
- Typy wskaźnikowe
- Referencje
- Pudełka
- Wskaźniki niechronione
- Tablice, wektory i podzbiory
- Tablice
- Wektory
- Podzbiory
- Typ String
- Literały łańcuchowe
- Łańcuchy bajtów
- Łańcuchy znaków w pamięci
- Typ String
- Podstawowe cechy typu String
- Inne typy znakowe
- Nazwy zastępcze typów
- Co dalej?
- Reguła własności
- Przenoszenie własności
- Więcej operacji związanych z przeniesieniem własności
- Przeniesienie własności a przepływ sterowania
- Przeniesienie własności a struktury indeksowane
- Typy kopiowalne - wyjątki od reguł przenoszenia własności
- Rc i Arc: własność współdzielona
- Referencje do wartości
- Stosowanie referencji
- Referencje Rusta kontra referencje C++
- Referencje a operacja przypisania
- Referencje do referencji
- Porównywanie referencji
- Referencje nigdy nie są puste
- Referencje do wyrażeń
- Referencje do podzbiorów i zestawów metod
- Bezpieczeństwo referencji
- Referencja do zmiennej lokalnej
- Przekazywanie referencji jako argumentów funkcji
- Przekazywanie referencji do funkcji
- Zwracanie referencji
- Struktura zawierająca referencje
- Odrębny cykl życia
- Pomijanie parametrów cyklu życia
- Referencje współdzielone kontra mutowalne
- Walka ze sztormem na morzu obiektów
- Język wyrażeń
- Priorytety i łączność operatorów
- Bloki kodu i średniki
- Deklaracje
- if i match
- if let
- Pętle
- Sterowanie przepływem w pętlach
- Wyrażenie return
- Analiza przepływu sterowania
- Wywołania funkcji i metod
- Pola i elementy
- Operatory referencji
- Operatory arytmetyczne, bitowe, porównania i logiczne
- Przypisanie
- Rzutowanie typów
- Domknięcia
- Co dalej?
- Błąd panic
- Odwinięcie stosu
- Przerywanie procesu
- Typ Result
- Przechwytywanie błędów
- Nazwy zastępcze typu Result
- Wyświetlanie informacji o błędach
- Propagacja błędów
- Jednoczesna obsługa błędów różnych typów
- Błędy, które nie powinny się zdarzyć
- Ignorowanie błędów
- Obsługa błędów w funkcji main()
- Definiowanie własnego typu błędu
- Co daje nam typ Result?
- Paczki
- Edycje
- Profile budowania
- Moduły
- Moduły zagnieżdżone
- Umieszczanie modułów w oddzielnych plikach
- Ścieżki i importy
- Standardowe preludium
- Publiczne deklaracje use
- Publiczne pola struktur
- Stałe i zmienne statyczne
- Zmiana programu w bibliotekę
- Katalog src/bin
- Atrybuty
- Testy i dokumentacja
- Testy integracyjne
- Dokumentacja
- Doc-testy
- Definiowanie zależności
- Wersje
- Cargo.lock
- Publikowanie paczek na stronie crates.io
- Obszary robocze
- Więcej fajnych rzeczy
- Struktury z polami nazywanymi
- Struktury z polami numerowanymi
- Struktury puste
- Reprezentacja struktur w pamięci
- Definiowanie metod w bloku impl
- Przekazywanie self z użyciem typów Box, Rc lub Arc
- Funkcje powiązane z typami
- Powiązane stałe
- Struktury generyczne
- Struktury z parametrem cyklu życia
- Dziedziczenie standardowych zestawów metod
- Zmienność wewnętrzna
- Typy wyliczeniowe
- Typy wyliczeniowe zawierające dane
- Typ wyliczeniowy w pamięci
- Większe struktury danych stosujące typy wyliczeniowe
- Generyczne typy wyliczeniowe
- Wzorce
- Literały, zmienne i symbole wieloznaczne
- Wzorce w postaci krotki lub struktury
- Wzorce typu tablica i fragment
- Wzorce z referencjami
- Strażniki wzorców
- Dopasowanie do wielu wartości
- Wzorce @
- Gdzie używamy wzorców
- Wypełnianie drzewa binarnego
- Podsumowanie
- Stosowanie zestawów metod
- Obiekt implementujący zestaw metod
- Funkcje generyczne i parametry typów
- Na co się zdecydować?
- Definiowanie i implementacja zestawów metod
- Metody domyślne
- Implementacja zestawów metod dla istniejących już typów
- Zestaw metod a słowo kluczowe Self
- Rozszerzanie zestawu metod (dziedziczenie)
- Funkcje powiązane z typami
- W pełni kwalifikowana nazwa metody
- Zestawy metod definiujące relacje między typami
- Typy powiązane
- Generyczny zestaw metod (czyli jak działa przeciążanie operatorów)
- Impl Zestaw jako typ wyniku
- Stałe powiązane
- Inżynieria wsteczna ograniczeń
- Zestawy metod u podstaw
- Operatory arytmetyczne i bitowe
- Operatory jednoargumentowe
- Operatory dwuargumentowe
- Operatory przypisania złożonego
- Test równości
- Porównania szeregujące
- Interfejsy Index i IndexMut
- Inne operatory
- Drop
- Sized
- Clone
- Copy
- Deref i DerefMut
- Default
- AsRef i AsMut
- Borrow i BorrowMut
- From i Into
- TryFrom i TryInto
- ToOwned
- Borrow i ToOwned w działaniu
- Przechwytywanie zmiennych
- Domknięcia, które pożyczają wartość
- Domknięcia, które przejmują własność
- Typy funkcji i domknięć
- Domknięcia a wydajność
- Domknięcia a bezpieczeństwo
- Domknięcia, które zabijają
- FnOnce
- FnMut
- Copy i Clone dla domknięć
- Funkcje zwrotne
- Skuteczne korzystanie z domknięć
- Iterator i IntoIterator
- Tworzenie iteratorów
- Metody iter i iter_mut
- Implementacje interfejsu IntoIterator
- Funkcje from_fn i successors
- Metody drain
- Inne źródła iteratorów
- Adaptery iteratorów
- map i filter
- filter_map i flat_map
- flatten
- take i take_while
- skip i skip_while
- peekable
- fuse
- Iteratory obustronne i rev
- inspect
- chain
- enumerate
- zip
- by_ref
- cloned i copied
- cycle
- Konsumowanie iteratorów
- Proste agregaty: count, sum i product
- max i min
- max_by i min_by
- max_by_key i min_by_key
- Porównywanie sekwencji elementów
- any i all
- position, rposition oraz ExactSizeIterator
- fold i rfold
- try_fold i try_rfold
- nth i nth_back
- last
- find, rfind i find_map
- Tworzenie kolekcji: collect i FromIterator
- Zestaw metod Extend
- partition
- for_each i try_for_each
- Implementacja własnych iteratorów
- Przegląd kolekcji
- Vec<T>
- Dostęp do elementów
- Iteracja
- Zwiększanie i zmniejszanie wielkości wektora
- Łączenie
- Podział
- Zamiana
- Sortowanie i wyszukiwanie
- Porównywanie podzbiorów
- Elementy losowe
- Reguły zapobiegające konfliktom w czasie iteracji
- VecDeque<T>
- BinaryHeap<T>
- HashMap<K, V> i BTreeMap<K, V>
- Entry
- Iterowanie map
- HashSet<T> i BTreeSet<T>
- Iteracja zbioru
- Kiedy równe wartości są różne
- Operacje dotyczące całego zbioru
- Haszowanie
- Niestandardowe algorytmy haszujące
- Kolekcje standardowe i co dalej?
- Podstawy Unicode
- ASCII, Latin-1 i Unicode
- UTF-8
- Kierunek tekstu
- Znaki (typ char)
- Klasyfikacja znaków
- Obsługa cyfr
- Zmiana wielkości liter
- Konwersja znaku do i z liczby całkowitej
- Typy String i str
- Tworzenie łańcuchów znaków
- Prosta inspekcja
- Dołączanie i wstawianie tekstu
- Usuwanie i zastępowanie tekstu
- Konwencje nazewnicze dotyczące wyszukiwania i iterowania
- Wyszukiwanie tekstu i wzorce
- Wyszukiwanie i zamiana
- Iterowanie tekstu
- Obcinanie
- Zmiana wielkości liter w łańcuchach
- Konwersja tekstu do wartości innego typu
- Konwersja wartości innego typu do tekstu
- Tworzenie referencji innego typu
- Tekst jako UTF-8
- Tworzenie tekstu na podstawie danych UTF-8
- Alokacja warunkowa
- Łańcuchy znaków jako kolekcje generyczne
- Formatowanie wartości
- Formatowanie tekstu
- Formatowanie liczb
- Formatowanie innych typów
- Formatowanie wartości z myślą o debugowaniu
- Formatowanie i debugowanie wskaźników
- Wiązanie argumentów za pomocą indeksu i nazwy
- Dynamiczne definiowanie długości i precyzji
- Formatowanie własnych typów
- Użycie języka formatowania we własnym kodzie
- Wyrażenia regularne
- Podstawowe użycie wyrażeń regularnych
- Wyrażenia regularne w trybie leniwym
- Normalizacja
- Rodzaje normalizacji
- Biblioteka unicode-normalization
- Obiekty typu reader i writer
- Obiekty typu reader
- Buforowany obiekt typu reader
- Przeglądanie tekstu
- Pobieranie tekstu
- Obiekty typu writer
- Pliki
- Wyszukiwanie
- Inne rodzaje obiektów reader i writer
- Dane binarne, kompresja i serializacja
- Pliki i katalogi
- OsStr i Path
- Metody typów Path i PathBuf
- Funkcje dostępu do systemu plików
- Odczyt zawartości katalogu
- Funkcje bezpośrednio związane z platformą
- Obsługa sieci
- Podział i łączenie wątków
- spawn i join
- Obsługa błędów w różnych wątkach
- Współdzielenie niemutowalnych danych przez różne wątki
- Rayon
- Zbiór Mandelbrota raz jeszcze
- Kanały
- Wysyłanie wartości
- Odczyt wartości
- Uruchomienie potoku
- Cechy kanałów i ich wydajność
- Bezpieczeństwo wątków: Send i Sync
- Współpraca iteratora i kanału
- Potoki i co dalej?
- Stan współdzielony mutowalny
- Czym jest muteks?
- Mutex<T>
- mut i Mutex
- Dlaczego Mutex to nie zawsze dobry pomysł?
- Zakleszczenie (deadlock)
- Zatruty muteks
- Kanały z wieloma nadawcami stosujące muteksy
- Blokady odczytu/zapisu (RwLock<T>)
- Zmienne warunkowe (Condvar)
- Typy atomowe
- Zmienne globalne
- Rust i pisanie programów wielowątkowych
- Od kodu synchronicznego do asynchronicznego
- Interfejs Future
- Funkcje asynchroniczne i wyrażenia await
- Wywoływanie funkcji asynchronicznych z kodu synchronicznego: block_on
- Uruchamianie asynchronicznych zadań
- Asynchroniczne instrukcje blokowe
- Tworzenie funkcji asynchronicznych z wykorzystaniem asynchronicznych instrukcji blokowych
- Uruchamianie zadań asynchronicznych w pulach wątków
- Czy operacje asynchroniczne implementują Send?
- Wykonywanie długotrwałych obliczeń: yield_now i spawn_local
- Porównanie różnych rozwiązań asynchronicznych
- Rzeczywisty asynchroniczny klient HTTP
- Asynchroniczny klient i serwer
- Typy błędów i wyników
- Protokół
- Pobieranie danych od użytkownika: strumienie asynchroniczne
- Wysyłanie pakietów
- Pobieranie pakietów: więcej strumieni asynchronicznych
- Funkcja main klienta
- Funkcja main serwera
- Obsługa połączeń z klientami: asynchroniczne muteksy
- Tablica grup: muteksy synchroniczne
- Grupy: kanały rozgłoszeniowe paczki tokio
- Podstawowe wartości future i wykonawcy: kiedy warto ponownie sprawdzać wartość future?
- Wywoływanie funkcji aktywujących: spawn_blocking
- Implementacja funkcji block_on
- Typ Pin i jego stosowanie
- Dwa etapy życia danych typ future
- Przypięte wskaźniki
- Zestaw metod Unpin
- Kiedy warto stosować kod asynchroniczny?
- Podstawy
- Rozwijanie makra
- Niezamierzone skutki
- Powtórzenia
- Makra wbudowane
- Debugowanie makr
- Pisanie makra json!
- Typy składników
- Makra a rekurencja
- Makra i zestawy metod
- Zakres i higiena
- Import i eksport makr
- Unikanie błędów składniowych w procesie dopasowywania
- macro_rules! i co dalej?
- Dlaczego niebezpieczny?
- Bloki unsafe
- Przykład: wydajny typ łańcucha znaków ASCII
- Funkcje unsafe
- Kod niebezpieczny czy funkcja niebezpieczna?
- Działanie niezdefiniowane
- Zestawy metod unsafe
- Wskaźniki niechronione
- Bezpieczne tworzenie dereferencji wskaźników niechronionych
- Przykład: RefWithFlag
- Wskaźniki dopuszczające wartość pustą
- Rozmiary i rozmieszczanie typów
- Operacje arytmetyczne na wskaźnikach
- Wchodzenie do pamięci i wychodzenie z pamięci
- Przykład: GapBuffer
- Bezpieczeństwo błędów paniki w kodzie niebezpiecznym
- Ponowna interpretacja pamięci z użyciem unii
- Dopasowywanie unii
- Pożyczanie unii
- Wyszukiwanie wspólnych reprezentacji danych
- Deklarowanie obcych funkcji i zmiennych
- Korzystanie z funkcji i bibliotek
- Interfejs niechroniony dla biblioteki libgit2
- Interfejs bezpieczny dla biblioteki libgit2
- Podsumowanie
Wstęp
Rozdział 1. Programiści systemowi mogą mieć fajne zabawki
Rozdział 2. Pierwsze spotkanie z Rustem
Rozdział 3. Typy proste
Rozdział 4. Reguła własności i przenoszenie własności
Rozdział 5. Referencje
Rozdział 6. Wyrażenia
Rozdział 7. Obsługa błędów
Rozdział 8. Paczki i moduły
Rozdział 9. Struktury
Rozdział 10. Typy wyliczeniowe i wzorce
Rozdział 11. Zestawy metod i typy generyczne
Rozdział 12. Przeciążanie operatorów
Rozdział 13. Interfejsy narzędziowe
Rozdział 14. Domknięcia
Rozdział 15. Iteratory
Rozdział 16. Kolekcje
Rozdział 17. Tekst i łańcuchy znaków
Rozdział 18. Operacje wejścia - wyjścia
Rozdział 19. Programowanie współbieżne
Rozdział 20. Programowanie asynchroniczne
Rozdział 21. Makra
Rozdział 22. Kod niebezpieczny
Rozdział 23. Funkcje obce
Skorowidz
Helion - inne książki
-
Oto zaktualizowane wydanie popularnego przewodnika, dzięki któremu skorzystasz z ponad dwustu sprawdzonych receptur bazujących na najnowszych wydaniach bibliotek Pythona. Wystarczy, że skopiujesz i dostosujesz kod do swoich potrzeb. Możesz też go uruchamiać i testować za pomocą przykładowego zbio...
Uczenie maszynowe w Pythonie. Receptury. Od przygotowania danych do deep learningu. Wydanie II Uczenie maszynowe w Pythonie. Receptury. Od przygotowania danych do deep learningu. Wydanie II
(57.84 zł najniższa cena z 30 dni)62.30 zł
89.00 zł(-30%) -
Dzięki tej przystępnej książce zrozumiesz metody działania wielkich modeli językowych i techniki szkolenia modeli generatywnych. Następnie zapoznasz się z przypadkami użycia, w których ChatGPT sprawdzi się najlepiej, a w efekcie zwiększy produktywność i kreatywność. Dowiesz się też, jak wchodzić ...
Generatywna sztuczna inteligencja z ChatGPT i modelami OpenAI. Podnieś swoją produktywność i innowacyjność za pomocą GPT3 i GPT4 Generatywna sztuczna inteligencja z ChatGPT i modelami OpenAI. Podnieś swoją produktywność i innowacyjność za pomocą GPT3 i GPT4
(51.35 zł najniższa cena z 30 dni)55.30 zł
79.00 zł(-30%) -
Ta książka jest przewodnikiem dla profesjonalistów do spraw cyberbezpieczeństwa. Przedstawia podstawowe zasady reagowania na incydenty bezpieczeństwa i szczegółowo, na przykładach, omawia proces tworzenia zdolności szybkiej i skutecznej reakcji na takie zdarzenia. Zaprezentowano tu techniki infor...
Informatyka śledcza. Narzędzia i techniki skutecznego reagowania na incydenty bezpieczeństwa. Wydanie III Informatyka śledcza. Narzędzia i techniki skutecznego reagowania na incydenty bezpieczeństwa. Wydanie III
(79.20 zł najniższa cena z 30 dni)69.30 zł
99.00 zł(-30%) -
Czy wiesz, co kryje się w centrum naszej Galaktyki? Czy zastanawiasz się czasem, jak powstają czarne dziury i co one oznaczają dla naszego zrozumienia wszechrzeczy? Czy chcesz poznać tajemnice tych niesamowitych obiektów, które wykraczają poza granice wyobraźni? Jeśli tak, to bestseller Czarne dz...(47.20 zł najniższa cena z 30 dni)
41.30 zł
59.00 zł(-30%) -
To piąte, gruntownie zaktualizowane wydanie podręcznika, który doceni każdy student informatyki i inżynier oprogramowania. Książka obejmuje szeroki zakres zagadnień, od podstawowych pojęć po zaawansowaną problematykę związaną z najnowszymi trendami w systemach operacyjnych. Wyczerpująco omawia pr...(143.20 zł najniższa cena z 30 dni)
125.30 zł
179.00 zł(-30%) -
Oto drugie, zaktualizowane wydanie znakomitego przewodnika dla analityków danych. Dzięki niemu dowiesz się, w jaki sposób używać języka R do importowania, przekształcania i wizualizowania danych, a także do przekazywania uzyskanych wyników analizy. Nauczysz się też rozwiązywać najczęściej występu...
Język R w data science. Importowanie, porządkowanie, przekształcanie, wizualizowanie i modelowanie danych. Wydanie II Język R w data science. Importowanie, porządkowanie, przekształcanie, wizualizowanie i modelowanie danych. Wydanie II
(103.20 zł najniższa cena z 30 dni)90.30 zł
129.00 zł(-30%) -
Bez Photoshopa, Illustratora i InDesigna wielu profesjonalnych grafików nie wyobraża sobie pracy. Każda z tych aplikacji jest znakomita, ale często do uzyskania jakiegoś spektakularnego efektu trzeba użyć dwóch lub trzech. Musisz więc zrozumieć zależności między tymi aplikacjami i dokładnie wiedz...
Adobe Photoshop, Illustrator i InDesign. Współdziałanie i przepływ pracy. Oficjalny podręcznik Adobe Photoshop, Illustrator i InDesign. Współdziałanie i przepływ pracy. Oficjalny podręcznik
(65.40 zł najniższa cena z 30 dni)76.30 zł
109.00 zł(-30%) -
ChatGPT wywołał wstrząs w branży technologicznej. Programiści i wynalazcy otrzymali niesamowite możliwości dostępne na wyciągnięcie ręki. Interfejs API OpenAI i towarzyszące mu biblioteki stanowią gotowe rozwiązanie dla każdego twórcy aplikacji opartych na sztucznej inteligencji. Programista za p...
Tworzenie aplikacji z wykorzystaniem GPT-4 i ChatGPT. Buduj inteligentne chatboty, generatory treści i fascynujące projekty Tworzenie aplikacji z wykorzystaniem GPT-4 i ChatGPT. Buduj inteligentne chatboty, generatory treści i fascynujące projekty
(35.40 zł najniższa cena z 30 dni)41.30 zł
59.00 zł(-30%) -
Ta książka pomoże Ci się przygotować do pracy na stanowisku testera oprogramowania, a także zapewni wsparcie podczas wykonywania nowych zadań. Znajdziesz tu dokładne omówienie podstaw testowania, jego różnych rodzajów i poziomów w odniesieniu do zastosowania na różnych etapach pracy nad projektem...
Tester samouk. Praktyczny przewodnik po testowaniu oprogramowania na bazie gotowego projektu Tester samouk. Praktyczny przewodnik po testowaniu oprogramowania na bazie gotowego projektu
(35.40 zł najniższa cena z 30 dni)41.30 zł
59.00 zł(-30%) -
Książka stanowi zbiór praktycznych informacji dotyczących najpopularniejszych wzorców projektowych. Lekturę rozpoczniesz od zapoznania się z możliwościami korzystania z wzorców projektowych na platformie Javy. Dowiesz się także, jakich zasad trzeba przestrzegać, aby zapewnić czytelność i łatwość ...
Wzorce projektowe dla programistów Javy. Udoskonal swoje umiejętności projektowania oprogramowania Wzorce projektowe dla programistów Javy. Udoskonal swoje umiejętności projektowania oprogramowania
(40.20 zł najniższa cena z 30 dni)46.90 zł
67.00 zł(-30%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
Oceny i opinie klientów: Programowanie w języku Rust. Wydajność i bezpieczeństwo. Wydanie II Jim Blandy, Jason Orendorff, Leonora F. S. Tindall (5) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(1)
(2)
(0)
(1)
(0)
(1)
Oceny i opinie poprzedniego wydania
więcej opinii