Programowanie w języku Rust. Wydajność i bezpieczeństwo. Wydanie II
- Wydawnictwo:
- Helion
- Ocena:
- 4.3/6 Opinie: 0
- Stron:
- 688
- Druk:
- oprawa miękka
- Dostępne formaty:
-
PDFePubMobi
Opis książki: 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!
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...(0,00 zł najniższa cena z 30 dni)
237.15 zł
279.00 zł(-15%) -
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
(0,00 zł najniższa cena z 30 dni)64.35 zł
99.00 zł(-35%) -
O tym, ile problemów sprawia niedbale napisany kod, wie każdy programista. Nie wszyscy jednak wiedzą, jak napisać ten świetny, „czysty” kod i czym właściwie powinien się on charakteryzować. Co więcej – jak odróżnić dobry kod od złego? Odpowiedź na te pytania oraz sposoby tworzen...(0,00 zł najniższa cena z 30 dni)
51.35 zł
79.00 zł(-35%) -
Po przyswojeniu zagadnień związanych z językiem C# i aplikacjami konsoli dowiesz się, jak tworzyć praktyczne aplikacje i usługi z wykorzystaniem biblioteki ASP.NET Core, a także wzorzec MVC i technologię Blazor. Zapoznasz się z metodami stosowania wielozadaniowości do poprawy wydajności i skalowa...
C# 10 i .NET 6 dla programistów aplikacji wieloplatformowych. Twórz aplikacje, witryny WWW oraz serwisy sieciowe za pomocą ASP.NET Core 6, Blazor i EF Core 6 w Visual Studio 2022 i Visual Studio Code. Wydanie VI C# 10 i .NET 6 dla programistów aplikacji wieloplatformowych. Twórz aplikacje, witryny WWW oraz serwisy sieciowe za pomocą ASP.NET Core 6, Blazor i EF Core 6 w Visual Studio 2022 i Visual Studio Code. Wydanie VI
(0,00 zł najniższa cena z 30 dni)103.35 zł
159.00 zł(-35%) -
Oto intuicyjny przewodnik dla średnio zaawansowanych programistów Pythona, pomyślany tak, by przyswajać zasady programowania zorientowanego obiektowo podczas praktycznych ćwiczeń. Dowiesz się, jakie problemy wiążą się z zastosowaniem podejścia proceduralnego i jak dzięki podejściu obiektowemu pis...
Python zorientowany obiektowo. Programowanie gier i graficznych interfejsów użytkownika Python zorientowany obiektowo. Programowanie gier i graficznych interfejsów użytkownika
(0,00 zł najniższa cena z 30 dni)57.85 zł
89.00 zł(-35%) -
To drugie, zaktualizowane i poprawione wydanie bestsellerowego podręcznika Programowania w Pythonie pozwoli Ci błyskawicznie zacząć tworzyć kod, który działa! Zaczniesz od zrozumienia podstawowych koncepcji programistycznych, następnie nauczysz się zapewniać programom interaktywność i wykształcis...(0,00 zł najniższa cena z 30 dni)
64.35 zł
99.00 zł(-35%) -
Ta książka powinna zostać przestudiowana przez każdego architekta nowoczesnych systemów rozproszonych. Jej celem jest pokazanie sposobów rozwiązywania trudnych problemów związanych z projektowaniem takiego oprogramowania. W krytyczny i wszechstronny sposób omówiono w niej najważniejsze problemy u...
Złożone zagadnienia architektury oprogramowania. Jak analizować kompromisy i podejmować trudne decyzje Złożone zagadnienia architektury oprogramowania. Jak analizować kompromisy i podejmować trudne decyzje
(0,00 zł najniższa cena z 30 dni)64.35 zł
99.00 zł(-35%) -
Dzięki tej książce nauczysz się przekształcać suche dane liczbowe w pełną empatii narrację! Aby spełniły one swoje zadanie, ktoś musi przedstawić zawarte w nich informacje w postaci opowieści. W tej publikacji wyczerpująco i praktycznie opisano przebieg tego procesu. Jej lektura sprawi, że rozwin...
Opowieści ukryte w danych. Wyjaśnij dane i wywołaj działania za pomocą narracji Opowieści ukryte w danych. Wyjaśnij dane i wywołaj działania za pomocą narracji
(0,00 zł najniższa cena z 30 dni)20.90 zł
67.00 zł(-69%) -
To książka przeznaczona dla programistów, którzy chcą zacząć pracę z Gitem i GitHubem. W każdym rozdziale zawarto wyłącznie przydatne informacje, a te uzupełniono licznymi ćwiczeniami. Dzięki temu równocześnie możesz się uczyć Gita i nabierać sprawności w posługiwaniu się tym systemem. Przewodnik...
Git i GitHub. Kontrola wersji, zarządzanie projektami i zasady pracy zespołowej Git i GitHub. Kontrola wersji, zarządzanie projektami i zasady pracy zespołowej
(0,00 zł najniższa cena z 30 dni)44.85 zł
69.00 zł(-35%) -
Dzięki tej książce przekonasz się, jak wspaniałą przygodą jest programowanie i jak łatwo ją zacząć! Poznasz podstawy Pythona, dowiesz się, jak pisać i formatować kod, a także szybko nauczysz się uruchamiać swoje programy. Instrukcje sterujące, operatory, typy danych, funkcje, klasy i moduły nie b...
Python 3. Projekty dla początkujących i pasjonatów Python 3. Projekty dla początkujących i pasjonatów
(0,00 zł najniższa cena z 30 dni)38.94 zł
59.90 zł(-35%)
O autorach książki
3 Jim Blandy, Jason Orendorff, Leonora F. S. TindallJim 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.
Ebooka przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook 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 posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video zobaczysz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP4 (pliki spakowane w ZIP)
Szczegóły książki
- 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@helion.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ę
- Kategorie:
Programowanie » Inne - Programowanie
Spis treści książki
- 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
-
W tej książce omówiono techniki wdrażania systemów na platformie AWS i zasady zarządzania nimi. Zaprezentowano podstawy korzystania z usługi Identity and Access Management oraz narzędzia sieciowe i monitorujące chmury AWS. Poruszono tematy Virtual Private Cloud, Elastic Compute Cloud, równoważeni...
AWS dla administratorów systemów. Tworzenie i utrzymywanie niezawodnych aplikacji chmurowych AWS dla administratorów systemów. Tworzenie i utrzymywanie niezawodnych aplikacji chmurowych
(0,00 zł najniższa cena z 30 dni)51.35 zł
79.00 zł(-35%) -
Ta książka jest przeznaczona dla osób, które chcą zrozumieć działanie Lightning Network i wykorzystać możliwości tej technologii we własnych aplikacjach. Z lektury tej pozycji skorzystają programiści, architekci systemowi i inżynierowie. Omówiono w niej podstawy funkcjonowania sieci LN i sposoby ...
Lightning Network dla praktyków. Protokół drugiej warstwy i jego wykorzystanie do obsługi płatności bitcoinami Lightning Network dla praktyków. Protokół drugiej warstwy i jego wykorzystanie do obsługi płatności bitcoinami
(0,00 zł najniższa cena z 30 dni)77.35 zł
119.00 zł(-35%) -
Nie trzeba siedzieć po uszy w programowaniu, by zauważyć pewną regułę: lwia część książek poświęconych temu zagadnieniu została napisana w podobny sposób. I nie chodzi o styl, środowisko czy język, lecz o strukturę. Prawidłowość tę zauważył Łukasz Sosna, który do zagadnienia programowania w język...
Visual Studio 2022, C# i .NET. Programowanie kontrolek Visual Studio 2022, C# i .NET. Programowanie kontrolek
(0,00 zł najniższa cena z 30 dni)32.44 zł
49.90 zł(-35%) -
IT przeżywa rozkwit, czego dowodem jest to, że w pierwszym półroczu 2022 roku 25 procent ogłoszeń o pracy było skierowanych właśnie do przedstawicieli tej branży. Na ten imponujący wynik składają się oferty dla specjalistów do spraw rozwoju oprogramowania (16 procent wszystkich ogłoszeń). Nic wię...
Ścieżka testera. Certyfikat ISTQB w pytaniach i odpowiedziach Ścieżka testera. Certyfikat ISTQB w pytaniach i odpowiedziach
(0,00 zł najniższa cena z 30 dni)44.85 zł
69.00 zł(-35%) -
Dzięki tej książce nauczysz się programować w języku VBA. Dowiesz się także, w jaki sposób można zautomatyzować wiele żmudnych czynności wykonywanych w Excelu i w innych aplikacjach pakietu MS Office. Naukę rozpoczniesz od podstaw, które podano tu w przystępnej i zrozumiałej formie. Dowiesz się, ...
Automatyzacja w VBA dla Excela 2019. Receptury. Jak przyspieszać rutynowe zadania i zwiększać efektywność pracy Automatyzacja w VBA dla Excela 2019. Receptury. Jak przyspieszać rutynowe zadania i zwiększać efektywność pracy
(0,00 zł najniższa cena z 30 dni)51.35 zł
79.00 zł(-35%) -
Oto pierwszy tom dzieła, które stanowi inspirujące spojrzenie na sztuczną inteligencję. Jego zrozumienie nie wymaga wybitnej znajomości informatyki i matematyki. Książka jest wspaniałą syntezą wczesnych i późniejszych koncepcji, a także technik, przeprowadzoną we frameworku idei, metod i technolo...
Sztuczna inteligencja. Nowe spojrzenie. Wydanie IV. Tom 1 Sztuczna inteligencja. Nowe spojrzenie. Wydanie IV. Tom 1
(0,00 zł najniższa cena z 30 dni)109.85 zł
169.00 zł(-35%) -
Ta książka jest znakomitym wprowadzeniem do Power BI. Dzięki niej nauczysz się modelowania danych, technik definiowania relacji oraz tworzenia modeli danych. Dowiesz się też, jak prowadzić obliczenia za pomocą funkcji modelowania. Poznasz także podstawy pisania kodu w języku DAX i korzystania z n...
Modelowanie danych z Power BI dla ekspertów analityki. Jak w pełni wykorzystać możliwości Power BI Modelowanie danych z Power BI dla ekspertów analityki. Jak w pełni wykorzystać możliwości Power BI
(0,00 zł najniższa cena z 30 dni)77.35 zł
119.00 zł(-35%) -
To drugi tom klasycznego podręcznika wiedzy o sztucznej inteligencji. Podobnie jak w wypadku pierwszej części, lektura tej książki nie wymaga wybitnej znajomości tematu. Dzięki przejrzystości tekstu i umiejętnemu unikaniu nadmiernego formalizmu można w dość łatwy sposób zrozumieć kluczowe idee i ...
Sztuczna inteligencja. Nowe spojrzenie. Wydanie IV. Tom 2 Sztuczna inteligencja. Nowe spojrzenie. Wydanie IV. Tom 2
(0,00 zł najniższa cena z 30 dni)83.85 zł
129.00 zł(-35%) -
Autor tego zbioru zadań jest programistą i nauczycielem. To prawdziwy pasjonat programowania ― w tym w języku C++ ― które traktuje jak przedłużenie ludzkiej mowy. Uważa, że praktycznie na wszystko, co robimy w życiu, można spojrzeć jak na wykonywanie funkcji i algorytmów, które opisuj...(0,00 zł najniższa cena z 30 dni)
22.20 zł
37.00 zł(-40%) -
Znalezienie odpowiedzi na zaprzątające umysł pytania z zakresu automatyzacji zwykle wiąże się ze spędzeniem długich godzin na wertowaniu niespójnej dokumentacji lub przeszukiwaniu forum Atlassian Community, gdzie swoimi problemami (a także autorskimi pomysłami na ich rozwiązanie) dzielą się inni ...
Atlassian Jira Server & Data Center. Programowanie rozwiązań w projektach biznesowych Atlassian Jira Server & Data Center. Programowanie rozwiązań w projektach biznesowych
(0,00 zł najniższa cena z 30 dni)44.85 zł
69.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.
W przypadku usługi "Druk na żądanie" termin dostarczenia przesyłki może obejmować także czas potrzebny na dodruk (do 10 dni roboczych)
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.


Oceny i opinie klientów: Programowanie w języku Rust. Wydajność i bezpieczeństwo. Wydanie II Jim Blandy, Jason Orendorff, Leonora F. S. Tindall (0)
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.