Programowanie w języku Rust. Wydajność i bezpieczeństwo. Wydanie II
- Autorzy: :
- Jim Blandy, Jason Orendorff, Leonora F. S. Tindall
- Wydawnictwo:
- Helion
- Wydawnictwo:
- Helion
- 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
-
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...(152.66 zł najniższa cena z 30 dni)
152.16 zł
249.00 zł(-39%) -
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...(49.50 zł najniższa cena z 30 dni)
49.50 zł
99.00 zł(-50%) -
FPGA pochodzi od angielskiego field-programmable gate array. Polski odpowiednik to: bezpośrednio programowalna macierz bramek. FPGA jest rodzajem programowalnego układu logicznego. Ma tę samą funkcjonalność co układ scalony, tyle że może być wielokrotnie programowany bez demontażu. Z tego powodu ...(39.92 zł najniższa cena z 30 dni)
39.92 zł
49.90 zł(-20%) -
Ta książka jest oficjalnym przewodnikiem po języku programowania systemów Rust, udostępnianym na licencji open source. Dzięki niej nauczysz się pisać szybsze i bardziej niezawodne oprogramowanie. Dowiesz się również, jak zapewnić sobie kontrolę nad niskopoziomowymi szczegółami wraz z wysokopoziom...(103.20 zł najniższa cena z 30 dni)
103.20 zł
129.00 zł(-20%) -
Dzięki tej książce ta trudna sztuka musi Ci się udać! Znajdziesz tu gruntowne, a przy tym zabawne wprowadzenie do tworzenia i używania struktur danych. Naukę oprzesz na przejrzystych schematach i dowcipnych porównaniach, aby już wkrótce móc tworzyć wydajniejszy i elastyczny kod. Nieistotne, jakim...(44.85 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł(-35%) -
Prawo w IT. Praktycznie i po ludzku to prawdziwe kompendium wiedzy nie tylko dla prawników, ale także konsultantów IT, menedżerów do spraw bezpieczeństwa informacji, wreszcie wszystkich tych, którym zależy na zrozumieniu i stosowaniu prawa w obszarze technologii informatycznych. Lektura niezbędna...(57.84 zł najniższa cena z 30 dni)
57.84 zł
89.00 zł(-35%) -
Tę książkę docenią w szczególności analitycy danych. Wyjaśniono w niej potencjał wnioskowania przyczynowego w zakresie szacowania wpływu i efektów w biznesie. Opisano klasyczne metody wnioskowania przyczynowego, w tym testy A/B, regresja liniowa, wskaźnik skłonności, metoda syntetycznej kontroli ...(48.69 zł najniższa cena z 30 dni)
48.69 zł
74.90 zł(-35%) -
W tej książce omówiono wewnętrzny sposób działania frameworka Kubernetes i pokazano, jak za jego pomocą budować wydajne, niezawodne i odporne na awarie aplikacje natywnej chmury. Dowiesz się, jak kontenery używają przestrzeni nazw w celu izolowania procesów, a także jak korzystają z funkcjonalnoś...(57.84 zł najniższa cena z 30 dni)
57.84 zł
89.00 zł(-35%) -
Jeśli zastanawiasz się nad przekwalifikowaniem i karierą w branży informatycznej albo chcesz poszerzyć swoje umiejętności o programowanie, ale wydaje Ci się ono czarną magią, zapewniamy - w programowaniu nie ma nic z magii. To proces polegający na tworzeniu zbioru instrukcji, dzięki którym komput...(25.92 zł najniższa cena z 30 dni)
25.92 zł
39.90 zł(-35%) -
Ta zwięzła publikacja przyda się profesjonalistom, którzy lubią drobne ulepszenia prowadzące do dużych korzyści. Zrozumiale wyjaśniono w niej, na czym polega proces tworzenia czystego i niezawodnego kodu. W rozsądnej dawce podano zagadnienia teoretyczne, takie jak sprzężenie, kohezja, zdyskontowa...(32.43 zł najniższa cena z 30 dni)
32.43 zł
49.90 zł(-35%)
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
-
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...(57.84 zł najniższa cena z 30 dni)
57.84 zł
89.00 zł(-35%) -
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ć....(56.55 zł najniższa cena z 30 dni)
56.55 zł
87.00 zł(-35%) -
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...(44.85 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł(-35%) -
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...(44.85 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł(-35%) -
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ż...(44.85 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł(-35%) -
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....(56.55 zł najniższa cena z 30 dni)
56.55 zł
87.00 zł(-35%) -
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...(50.05 zł najniższa cena z 30 dni)
50.05 zł
77.00 zł(-35%) -
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...(83.85 zł najniższa cena z 30 dni)
83.85 zł
129.00 zł(-35%) -
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...(57.84 zł najniższa cena z 30 dni)
57.84 zł
89.00 zł(-35%) -
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ą...(43.55 zł najniższa cena z 30 dni)
43.55 zł
67.00 zł(-35%)
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.
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
-
Trudno wyobrazić sobie dzisiejszy świat bez możliwości operowania na danych - tym samym bez arkuszy kalkulacyjnych, do których każdy z nas ma dostęp w swoich komputerach. Najpopularniejszy z nich, czyli Excel, jest masowo używany zarówno w firmach, jak i instytucjach publicznych, ale także w gosp...(31.92 zł najniższa cena z 30 dni)
31.92 zł
39.90 zł(-20%) -
Marzycie czasem, że potraficie latać niczym ptak? Szybowanie bez trudu ponad wierzchołkami drzew, wznoszenie się i opadanie, zabawa i uniki w trzecim wymiarze. Kiedy w Anglii wystukuję na klawiaturze niniejsze wyrazy, te „lecą” do chmury, gotowe „wylądować” w amerykańskim ...(44.85 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł(-35%) -
Język programowania ogólnego przeznaczenia Python należy obecnie do najpopularniejszych na świecie. Skąd się bierze jego fenomen? Niewątpliwie kluczowe znaczenie ma tu bardzo czytelna składnia, mocno zbliżona do składni języka naturalnego. Czyni to Pythona dość łatwym do opanowania, także dla poc...(38.35 zł najniższa cena z 30 dni)
38.35 zł
59.00 zł(-35%) -
Wszystkie znaki na niebie i ziemi wskazują wyraźnie: wkraczamy w erę, w której sztuczna inteligencja (SI) będzie wszechobecna. Wygra na tym ten, kto szybciej nauczy się z nią skutecznie porozumiewać. Nie czekaj zatem i już dziś opanuj sztukę tworzenia precyzyjnych i trafnych promptów, czyli instr...(38.35 zł najniższa cena z 30 dni)
38.35 zł
59.00 zł(-35%) -
Niezależnie od poziomu doświadczenia ten praktyczny przewodnik ułatwi Ci opanowanie Go. Znajdziesz tu kluczowe informacje, dzięki którym nauczysz się tworzyć przejrzysty, idiomatyczny kod w Go i myśleć jak programista Go. To wydanie uwzględnia nowości, które zostały udostępnione w ciągu ostatnich...(64.35 zł najniższa cena z 30 dni)
64.35 zł
99.00 zł(-35%) -
Najnowsze wydanie przewodnika, zaktualizowane pod kątem systemu Windows Server 2022, to bogate źródło wiedzy dla administratora serwerów. Przedstawia zasady instalacji i konfiguracji tego systemu, a także sposoby korzystania z centralnych narzędzi do administracji. Książka w głównej mierze jest p...(96.85 zł najniższa cena z 30 dni)
96.85 zł
149.00 zł(-35%) -
Tę książkę docenią średnio zaawansowani użytkownicy Pythona, którzy tworzą aplikacje korzystające z osiągnięć nauki o danych. Znajdziesz w niej omówienie możliwości języka, wbudowanych struktur danych Pythona, jak również takich bibliotek jak NumPy, pandas, scikit-learn i matplotlib. Nauczysz się...(44.85 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł(-35%) -
Dzięki tej książce dowiesz się, jak testować zabezpieczenia API GraphQL technikami ofensywnymi, takimi jak testy penetracyjne. Zdobędziesz i ugruntujesz wiedzę o GraphQL, niezbędną dla analityka bezpieczeństwa czy inżyniera oprogramowania. Nauczysz się skutecznie atakować API GraphQL, co pozwoli ...(51.35 zł najniższa cena z 30 dni)
51.35 zł
79.00 zł(-35%) -
Internet rozwija się w niesamowitym tempie. Dawniej sieć WWW była prostsza ― projektanci łączyli kod PHP, HTML i zapytania do MySQL w jednym pliku. Z czasem urosła do miliardów stron, co radykalnie zmieniło jej kształt. Zmieniły się też narzędzia i sposób pracy. Dziś idealnym wyborem dewelo...(44.85 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł(-35%) -
To prawda: świat kryptowalut jest skomplikowany. Możesz go jednak zrozumieć i nauczyć się po nim poruszać, w czym pomoże Ci ta książka — interesujący przewodnik, który przystępnie wyjaśnia technologiczne podstawy rynku kryptowalut i związanej z nim ekonomii cyfrowej. Dowiesz się stąd, jak f...(43.55 zł najniższa cena z 30 dni)
43.55 zł
67.00 zł(-35%)
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