Facebook - konwersja
Pobierz fragment

ASP.NET Core 2 i Angular 5. Przewodnik dla Full-Stack Web Developera - ebook

Wydawnictwo:
Tłumacz:
Data wydania:
7 grudnia 2018
Format ebooka:
PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
Pobierz fragment
79,00

ASP.NET Core 2 i Angular 5. Przewodnik dla Full-Stack Web Developera - ebook

Framework ASP.NET Core odzwierciedla zmianę podejścia do technologii strony klienta: niezależność od platformy sprzętowej, łatwiejsze prowadzenie testów jednostkowych i rozbudowa tworzonych systemów. Kolejna wersja frameworka odzwierciedla dalszą ewolucję koncepcji: od aplikacji, które miały być reaktywne i responsywne, do progresywnej realizacji zadań. Również technologia strony serwera poczyniła postępy w zakresie stabilności i wydajności pracy, co w widoczny sposób przyczyniło się do radykalnych zmian kolejnych wersji Angulara. Poprzednie wersje ASP.NET Core i Angulara były znakomitą propozycją dla projektantów całościowych rozwiązań. Czy bezproblemowe stosowanie obu tych narzędzi będzie możliwe w przypadku ich najnowszych wersji?

Dzięki tej książce dowiesz się, w jaki sposób zrealizować kompleksowy projekt aplikacji internetowej, zapewniając efektywną pracę jej części klienckiej i serwerowej za pomocą frameworków ASP.NET Core 2 i Angular 5. Dowiesz się, jak zapewnić obsługę wywołań API oraz routingu po stronie serwera, czym jest dowiązanie dwukierunkowe, jak wykorzystać obiekty Observable i jak wstrzykiwać zależności. Nauczysz się stosować framework Entity Framework Core do tworzenia modelu danych, a framework Bootstrap i narzędzie LESS do nadania odpowiednich stylów. Poznasz różne techniki uwierzytelniania klientów, w tym protokół OAuth 2. Dowiesz się też, jak poprawnie skonfigurować mechanizm odwrotnego pośrednika miedzy serwerami IIS i Kestrel.

W tej książce między innymi:

  • Solidne wprowadzenie do frameworków i przygotowanie środowiska pracy
  • Entity Framework Core i implementacja modelu danych
  • Nowoczesne podejście do interfejsu graficznego
  • Zaawansowane funkcje formularzy, w tym walidacja i weryfikacja danych
  • Uwierzytelnianie i autoryzacja oraz praca z tokenami
  • Wdrażanie aplikacji w środowisku produkcyjnym

Nowoczesne aplikacje: oszałamiająca wydajność, wszechobecna prostota!

Spis treści

  • Zespół wydania oryginalnego
  • O autorze
  • O redaktorach merytorycznych
  • Wstęp
    • Zawartość książki
    • Oprogramowanie wymagane do wykonania przykładów
    • Do kogo skierowana jest ta książka?
    • Konwencje typograficzne
    • Pomoce dla czytelnika
      • Przykładowy kod
  • Rozdział 1. Przygotowanie środowiska
    • Dwóch graczy, jeden cel
      • Rewolucja ASP.NET
      • Co nowego w Angularze?
    • Podejście od początku do końca
    • Aplikacja typu SPA
      • Typowe funkcjonalności nowoczesnych aplikacji SPA
      • Oczekiwania właściciela produktu
    • Projekt przykładowej aplikacji SPA
      • Wizja
        • To nie będzie typowa aplikacja Witaj, świecie
        • Aplikacja TestMakerFree
      • Podstawowe funkcjonalności i wymagania
    • Przygotowanie środowiska pracy
      • Uwaga pomyśl, zanim to zrobisz
        • Mit niedziałającego kodu
        • Pozostań otwarty na nowości, ale wprowadzaj je odpowiedzialnie
        • Wersje narzędzi i bibliotek
      • Konfiguracja projektu
        • Alternatywna konfiguracja z wykorzystaniem wiersza poleceń
        • Test konfiguracji środowiska
    • Poznawanie projektu
      • Pliki konfiguracyjne
        • Plik Program.cs
        • Plik Startup.cs
        • Plik appsettings.json
        • Plik package.json
          • Aktualizacja (lub dezaktualizacja) Angulara
          • Aktualizacja (lub dezaktualizacja) pozostałych pakietów
        • Plik tsconfig.json
        • Pliki konfiguracyjne narzędzia Webpack
          • Aktualizacja pliku webpack.config.js
          • Uaktualnienie pliku webpack.config.vendor.js
          • Dlaczego warto korzystać z dynamicznego mechanizmu pakowania modułów?
          • Odświeżenie plików generowanych przez Webpack
      • Kod po stronie serwerowej
        • Plik Controllers/HomeController.cs
        • Plik Controllers/SampleDataController.cs
        • Folder /Views/
      • Kod po stronie klienckiej
        • Folder /ClientApp/app/
    • Przygotowanie projektu
      • Pamięć podręczna i pliki statyczne
        • Mechanizm stosowany w przeszłości
        • Powrót do przyszłości
        • Czas na test
          • Podejście z użyciem silnego typowania
      • Czyszczenie aplikacji klienckiej
        • Ograniczenie liczby komponentów
        • Klasy AppModule
        • Aktualizacja NavMenu
    • Odnośniki
    • Poruszana tematyka
    • Podsumowanie
  • Rozdział 2. Część serwerowa wykorzystująca .NET Core
    • Przepływ danych
      • Zadania modelu widoku
    • Pierwszy model widoku
      • Klasa QuizViewModel
      • Klasa QuizController
        • Dodatkowe metody akcji
          • Metoda ByTitle
          • Metoda Random()
        • Sprawdzenie, czy wszystko działa
    • Dodawanie pozostałych kontrolerów
      • Klasa QuestionViewModel
      • Klasa QuestionController
      • Klasa AnswerViewModel
      • Klasa AnswerController
      • Klasa ResultViewModel
      • Klasa ResultController
    • Działanie routingu
      • Definiowanie routingu
        • Routing dawniej i dziś
        • Obsługa routingu w .NET Core
          • Trzy sposoby routingu
      • Dodawanie nowych ścieżek
        • Atrapa dostawcy danych
    • Obsługa pojedynczych elementów
    • Poruszana tematyka
    • Podsumowanie
  • Rozdział 3. Część kliencka korzystająca z frameworka Angular
    • Wzorzec nawigacji
    • Powiązanie ogół-szczegóły
      • Kliencka część interfejsu dotyczącego quizu
      • Komponent QuizListComponent
        • Nowa klasa HttpClient
          • Porównanie ze starszym standardem
          • Jak zainstalować klasę HttpClient?
          • Jak jej użyć?
          • Wstrzyknięcie jako zależności
          • Pobranie i subskrypcja
        • Metoda onSelect()
        • Plik szablonu
        • Plik arkusza stylów
        • Dodanie komponentu
          • Plik modułu (klasa AppModule)
          • Szablon komponentu HomeComponent
        • Test
      • Klasa QuizComponent
        • Dodanie plików komponentu
        • Dodanie komponentu
        • Test
    • Dołączanie dodatkowych list
      • Wiele instancji jednego komponentu
        • Testowanie i debugowanie
        • Interfejs OnInit i zdarzenia cyklu życia
        • Implementacja metody ngOnInit
        • Testowanie poprawionej wersji
    • Dwukierunkowe dowiązanie danych
      • Wyłączenie dwukierunkowego dowiązania danych
    • Routing po stronie klienckiej
      • Strategie PathLocationStrategy i HashLocationStrategy
      • Refaktoryzacja aplikacji
      • Rejestracja nowej ścieżki
        • Aktualizacja komponentu QuizComponent
          • Pobranie identyfikatora quizu
          • Dodanie obiektu HttpClient
          • Pobieranie danych
        • Aktualizacja komponentu QuizListComponent
        • Test routingu
      • Dodanie nowych komponentów
        • Komponent AboutComponent
        • Komponent LoginComponent
        • Komponent PageNotFoundComponent
        • Aktualizacja klasy AppModule
    • Test całej aplikacji
    • Poruszana tematyka
    • Podsumowanie
  • Rozdział 4. Model danych wykorzystujący Entity Framework Core
    • Przygotowania
      • Instalacja Entity Framework Core
      • Podejścia do modelowania danych
        • Najpierw model
        • Najpierw baza danych
        • Najpierw kod
        • Podjęcie decyzji
    • Tworzenie encji
      • Klasa ApplicationUser
      • Klasa Quiz
      • Klasa Question
      • Klasa Answer
      • Klasa Result
    • Definiowanie relacji
      • Wzorzec leniwego wczytywania danych w relacjach jeden-do-wielu
    • Konfiguracja obiektu DbContext
    • Strategie inicjalizacji bazy danych
      • Wybór bazy danych
      • Aktualizacja pliku appsettings.json
      • Tworzenie bazy danych
        • Aktualizacja pliku Startup.cs
      • Dodanie migracji początkowej
        • Błąd braku pliku
        • Działanie mechanizmu migracji
    • Implementacja wypełniania bazy danymi
      • Utworzenie klasy DbSeeder
      • Użycie DbSeeder w Startup.cs
      • Wypełnienie bazy danymi początkowymi
    • Aktualizacja klasy QuizController
      • Narzędzie Mapster
        • Instalacja
        • Podstawy użycia
        • Aktualizacja klasy
      • Testowanie dostawcy danych
    • Poruszana tematyka
    • Podsumowanie
  • Rozdział 5. Interakcje po stronie klienckiej
    • Dodawanie, aktualizacja i usuwanie quizów
      • Aktualizacja klasy QuizController
      • Dostosowanie części klienckiej
        • Dodanie komponentu QuizEditController
        • Aktywacja trybu edycji
          • Obsługa zdarzeń lub linki routera
          • Dodanie ścieżki edycji
        • Implementacja funkcjonalności usuwania
          • Kilka słów o obiektach Observable
      • Pierwszy test poważnej interakcji klienta z serwerem
      • Przepływ komunikacji między klientem i serwerem
    • Pytania, odpowiedzi i wyniki
      • Zadania po stronie serwerowej
        • Klasa QuestionController
        • Klasa AnswerController
        • Klasa ResultController
        • Klasa BaseApiController
          • Zastosowanie klasy BaseApiController
      • Zadania po stronie klienckiej
        • Dodanie interfejsów
        • Komponent QuestionListComponent
          • Wprowadzenie do metody ngOnChanges()
          • Dlaczego powinniśmy się tym przejmować?
          • Plik szablonu
          • Dodanie referencji
        • Komponent QuestionEditComponent
          • Referencje i routing
        • Komponent AnswerListComponent
        • Komponent AnswerEditComponent
          • Plik szablonu
          • Referencje i routing
        • Komponent ResultListComponent
          • Referencje i routing
        • Komponent ResultEditComponent
    • Pełnowymiarowy test aplikacji
    • Poruszana tematyka
    • Podsumowanie
  • Rozdział 6. Arkusze stylów i układ interfejsu graficznego
    • Czy jest aż tak źle?
    • Wprowadzenie do LESS
      • Języki arkuszy stylów
      • CSS
        • Przykładowy kod CSS
      • Czym jest LESS i dlaczego warto go używać?
        • Zmienne
        • Dyrektywy importu
        • Zagnieżdżanie selektorów
        • Domieszki (mixin)
        • Pseudoklasa :extend
      • Dokumentacja LESS
      • Sass, Stylus i inne możliwości
    • Implementacja LESS
      • Instalacja kompilatora LESS
      • Kompilacja plików LESS za pomocą narzędzia Webpack
    • Samodzielne definiowanie stylów kontra użycie frameworka CSS
      • Podejście zróbmy wszystko sami
        • Zalety
        • Wady
      • Podejście wykorzystujące framework CSS
        • Zalety
        • Wady
      • Wnioski
    • Praca z Bootstrapem
      • Zmiana motywu
        • Przebudowanie plików dystrybucyjnych zewnętrznych dostawców
          • Usunięcie folderu /wwwroot/dist/
          • Uaktualnienie pliku .csproj
          • Utworzenie pliku update-webpack.bat
        • Sprawdzenie nowego motywu
      • Zmiana struktury interfejsu użytkownika
        • Komponent AppComponent
        • Komponent NavMenuComponent
        • Komponent QuizSearchComponent
          • Rejestracja komponentu QuizSearchComponent
        • Plik SVG z logo
        • Szybki test
      • Stylowanie komponentów
        • Enkapsulacja CSS
          • Wbudowana enkapsulacja wykorzystująca Shadow DOM
          • Wyłączenie enkapsulacji
        • Komponent HomeComponent
        • Komponent QuizListComponent
          • Następny test interfejsu użytkownika
        • Komponent QuizComponent
          • Test interfejsu użytkownika
        • Komponent QuizEditComponent
        • Komponenty pytania, odpowiedzi i wyniku
          • Przyciski i ikony
          • Tabele i elementy div
          • Formularze i pola tekstowe
      • Całościowy test zmian interfejsu
    • Poruszana tematyka
    • Podsumowanie
  • Rozdział 7. Formularze i weryfikacja danych
    • Walidacja danych
      • Formularze we frameworku Angular
        • Formularze sterowane szablonami
          • Zalety
          • Wady
        • Formularze sterowane modelem
      • Pierwszy reaktywny formularz
        • Dodanie referencji do ReactiveFormsModule
        • Uaktualnienie komponentu QuizEditComponent
        • Dodanie walidatorów
          • Dodanie skrótów
      • Uaktualnienie komponentów
        • Komponent QuestionEditComponent
        • Komponent AnswerEditComponent
        • Komponent ResultEditComponent
    • Debugowanie i testowanie
      • Jak wygląda model formularza?
        • Operator potoku
      • Reagowanie na zmiany
        • Obserwowanie obiektu Observable
        • Rozbudowa dziennika aktywności
      • Debugowanie po stronie klienta
      • Testy jednostkowe formularzy
    • Poruszana tematyka
    • Podsumowanie
  • Rozdział 8. Uwierzytelnianie i autoryzacja
    • Uwierzytelniać czy tego nie robić?
      • Uwierzytelnianie
        • Uwierzytelnianie przy udziale strony trzeciej
          • Wzlot i upadek OpenID
          • OpenID Connect
      • Autoryzacja
        • Autoryzacja przy udziale strony trzeciej
      • Rozwiązania własne czy firm trzecich?
    • Mechanizmy uwierzytelniania wbudowane w .NET Core
      • Konfiguracja .NET Core Identity
        • Konfiguracja usługi Identity
        • Klasa ApplicationUser jako klasa potomna
        • Uaktualnienie klasy DbContext
        • Modyfikacja klasy DbSeeder
          • Kilka słów na temat zadań asynchronicznych i blokad wzajemnych
    • Aktualizacja bazy danych
      • Dodanie migracji dotyczącej usługi Identity
      • Zastosowanie migracji
        • Opcja 1. aktualizacja
        • Opcja 2. usunięcie i ponowne utworzenie
      • Wypełnienie bazy danymi
    • Sposoby uwierzytelniania
      • Sesje
      • Tokeny
      • Sygnatury
      • Uwierzytelnianie dwuetapowe
      • Wnioski
    • Implementacja uwierzytelniania JWT
      • Dodanie usługi uwierzytelniania do klasy startowej
      • Aktualizacja plików AppSettings
      • Klasa TokenController
        • Aktualizacja klasy BaseApiController
          • Aktualizacja kontrolerów dziedziczących po klasie bazowej
        • Dodanie klasy TokenController
        • Klasa TokenRequestViewModel
        • Klasa TokenResponseViewModel
        • Test narzędziem Postman
      • Formularz logowania w Angularze
        • Interfejs TokenResponse
        • Klasa AuthService
          • Aktualizacja klasy AppModule
        • Nowa wersja komponentu LoginComponent
          • Pierwszy test logowania
        • Dodanie tokena do nagłówka żądania HTTP
          • Klasa AuthInterceptor
          • Dodanie AuthInterceptor do AppModule
    • Wymuszenie autoryzacji
      • Dostosowanie klienta
        • Komponent NavMenuComponent
        • Komponent QuizComponent
      • Ochrona serwera
        • Pobranie identyfikatora aktualnego użytkownika
      • Sprawdzenie uwierzytelniania na styku klient-serwer
    • Poruszana tematyka
    • Podsumowanie
  • Rozdział 9. Tematy zaawansowane
    • Wygasanie tokena i tokeny odświeżania
      • Czym jest token odświeżania?
      • Zadania po stronie serwerowej
        • Dodanie encji dla tokena
          • Aktualizacja encji użytkownika
          • Aktualizacja ApplicationDbContext
          • Przygotowanie i zastosowanie migracji w EF Core
        • Implementacja tokena odświeżania
          • Aktualizacja klasy TokenResponseViewModel
          • Aktualizacja klasy TokenRequestViewModel
          • Aktualizacja klasy TokenController
      • Zadania po stronie klienckiej
        • Aktualizacja interfejsu TokenResponse
        • Aktualizacja klasy AuthService
        • Dodanie klasy AuthResponseInterceptor
          • Dodanie nowej klasy AuthResponseInterceptor do AppModule
      • Test działania aplikacji
    • Rejestracja nowego użytkownika
      • Zadania po stronie serwerowej
        • Klasa UserController
        • Klasa UserViewModel
      • Zadania po stronie klienckiej
        • Interfejs User
        • Klasa RegisterComponent
          • Własne walidatory
          • Pliki szablonu i arkusza stylów
        • Plik AppModule
        • Komponent LoginComponent
        • Komponent NavMenu
      • Test działania aplikacji
    • Uwierzytelnianie dzięki firmom trzecim
      • Działanie uwierzytelniania OAuth2
        • Mechanizm jawny czy niejawny?
          • Zalety i wady podejścia niejawnego
          • Zalety i wady podejścia jawnego
        • Wnioski
      • Logowanie do Facebooka
        • Tworzenie aplikacji Facebooka
      • Mechanizm niejawny
        • Aktualizacja klasy TokenController
          • Dodanie metody GenerateRandomPassword()
        • Dodanie komponentu LoginFacebookComponent
          • Działanie stref
          • Dodanie pliku szablonu
          • Aktualizacja AppModule
          • Użycie komponentu LoginFacebookComponent
        • Test działania aplikacji
      • Mechanizm jawny
        • Instalacja pakietu Authentication.Facebook
        • Konfiguracja usługi uwierzytelniania poprzez Facebooka
        • Aktualizacja pliku appsettings.json
        • Aktualizacja klasy TokenController
          • Metoda ExternalLogin
          • Dodanie klasy SignInManager
          • Metoda ExternalLoginCallback
        • Komponent LoginExternalProvider
          • Aktualizacja AppModule
          • Użycie komponentu LoginExternalProvidersComponent
        • Test działania aplikacji
    • Poruszana tematyka
    • Podsumowanie
  • Rozdział 10. Prace wykończeniowe i wdrożenie
    • Przejście na SQL Server
      • Instalacja SQL Server 2017 Express Edition
      • Instalacja SQL Server Management Studio
        • Konfiguracja bazy danych
          • Zmiana sposobu uwierzytelniania
          • Dodanie bazy danych TestMakerFree
          • Dodanie nowego użytkownika dla bazy danych
          • Powiązanie loginu z bazą danych
      • Dodanie konfiguracji połączenia z bazą SQL Server
        • Modyfikacja konfiguracji połączenia z bazą danych
      • Dodanie produkcyjnego adresu URL u zewnętrznych dostawców
      • Aktualizacja pliku launchSettings.json
    • Publikacja aplikacji internetowej
      • Tworzenie profilu publikacji
        • Publikacja poprzez protokół FTP
        • Profil publikacji do folderu
      • Publikacja aplikacji internetowej
    • Konfiguracja serwera i IIS
      • Instalacja modułu ASP.NET Core dla IIS
      • Dodanie nowej witryny
      • Konfiguracja puli aplikacji
    • Uruchamianie silnika
      • Analiza typowych błędów po wdrożeniu
        • Przeanalizowanie komunikatu w przeglądarce
          • Plik web.config
        • Narzędzie Event Viewer
        • Moduł logowania w ASP.NET Core
        • Sprawdzenie serwera Kestrel
          • Uruchomienie serwera Kestrel w Visual Studio
        • Wyłączenie renderowania po stronie serwera
    • Poruszana tematyka
    • Podsumowanie
Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-283-4644-4
Rozmiar pliku: 17 MB

BESTSELLERY

Kategorie: