C# 7 и .NET Core. Кросс-платформенная разработка для профессионалов. 3-е издание

C# 7 и .NET Core. Кросс-платформенная разработка для профессионалов. 3-е издание
sku: 51693294
ACCORDING TO OUR RECORDS THIS PRODUCT IS NOT AVAILABLE NOW
998.00 грн.
Shipping from: Ukraine
   Description
[html]C# 7 - новая мощная и многофункциональная версия популярнейшего языка программирования от Майкрософт. Вы встретите немало интересных книг по языку C# и платформе .NET, однако, в большинстве из них лишь мельком рассматривается столь важный аспект, как кросс-платформенная разработка. С книгой "C# 7 и .NET Core. Кросс-платформенная разработка для профессионалов" Научитесь писать приложения, которые работают всегда и везде, на ПК и мобильных устройствах. Познакомьтесь с инструментом Xamarin.Forms, освойте тонкости работы с Visual Studio 2017, добейтесь многогранности и универсальности ваших программ на C#.Оглавление книги "C# 7 и .NET Core. Кросс-платформенная разработка для профессионалов" Об авторе....................................................................................................................26О рецензентах.............................................................................................................28Предисловие................................................................................................................29Структура издания.................................................................................................29Часть I. C# 7.1.................................................................................................30Часть II. .NET Core 2.0 и .NET Standard 2.0.......................................................30Часть III. Модели приложений.........................................................................31Необходимое программное обеспечение................................................................32Для кого эта книга.................................................................................................32Условные обозначения...........................................................................................33Загрузка примеров кода.........................................................................................34Цветные изображения из книги..............................................................................34Глава 1. Привет, C#! Здравствуй, .NET Core! ............................................................ 35Настройка среды разработки..................................................................................36Альтернативные среды разработки C#.............................................................37Кросс-платформенное развертывание..............................................................38Установка Microsoft Visual Studio 2017..............................................................38Установка Microsoft Visual Studio Code..............................................................42Установка Microsoft Visual Studio для Mac.........................................................45Знакомство с .NET..................................................................................................48Обзор .NET Framework......................................................................................48Проекты Mono и Xamarin..................................................................................48Обзор .NET Core...............................................................................................48Обзор .NET Standard.........................................................................................50Обзор .NET Native.............................................................................................52Сравнение технологий .NET.............................................................................52Написание и компиляция кода с помощью интерфейса команднойстроки .NET Core....................................................................................................52Кодирование в простом текстовом редакторе...................................................53Создание и компиляция приложений с помощью интерфейса команднойстроки .NET Core..............................................................................................55Решение проблем компиляции.........................................................................57Знакомство с промежуточным языком..............................................................57Написание и компиляция кода с применением Microsoft Visual Studio 2017.............58Кодирование в Microsoft Visual Studio 2017.......................................................58Компиляция кода в Visual Studio 2017...............................................................62Работа над ошибками.......................................................................................63Добавление ранее созданных проектов в Visual Studio 2017.............................64Автоматическое форматирование кода.............................................................65Интерактивный C#...........................................................................................65Другие полезные окна......................................................................................67Написание и компиляция кода с использованием Microsoft Visual Studio Code.........68Кодирование в Visual Studio Code.....................................................................68Компиляция кода в Visual Studio Code..............................................................70Автоматическое форматирование кода.............................................................70Написание и компиляция кода с помощью Microsoft Visual Studio для Mac..............71Управление исходным кодом с применением GitHub...............................................73Использование системы Git в Visual Studio 2017...............................................73Использование системы Git в Visual Studio Code...............................................75Практические задания............................................................................................77Проверочные вопросы......................................................................................77Упражнение 1.1................................................................................................77Дополнительные ресурсы.................................................................................77Резюме...................................................................................................................78Часть I. C# 7.1Глава 2. Говорим на языке C# .................................................................................. 81Основы языка C#...................................................................................................81Visual Studio 2017.............................................................................................82Visual Studio Code в среде macOS, Linux или Windows.......................................84Грамматика языка C#.......................................................................................85Словарь языка C#............................................................................................87Помощь в написании корректного кода............................................................88Глаголы = методы............................................................................................90Существительные = типы данных, поля и переменные.....................................91Подсчет количества типов и методов...............................................................91Объявление переменных........................................................................................93Присвоение имен переменным.........................................................................94Литеральные значения.....................................................................................94Хранение текста...............................................................................................95Хранение чисел................................................................................................95Хранение логических значений......................................................................100Тип object......................................................................................................100Тип dynamic...................................................................................................101Локальные переменные.................................................................................101Создаем тип, допускающий значение null.......................................................102Обзор ссылочных типов, допускающих значение null.....................................103Хранение группы значений в массиве............................................................105Анализ консольных приложений...........................................................................106Отображение вывода пользователю...............................................................106Получение пользовательского ввода..............................................................107Импорт пространства имен.............................................................................107Упрощение работы с командной строкой........................................................108Чтение аргументов и работа с массивами.......................................................109Работа с переменными.........................................................................................113Экспериментируем с унарными операторами..................................................113Экспериментируем с арифметическими операторами.....................................114Логические операторы и операторы сравнения..............................................115Практические задания..........................................................................................115Проверочные вопросы....................................................................................115Упражнение 2.1. Числовые размеры и диапазоны..........................................116Дополнительные ресурсы...............................................................................116Резюме.................................................................................................................117Глава 3. Управление потоком выполнения и преобразование типов ....................... 118Инструкции выбора..............................................................................................118Visual Studio 2017...........................................................................................118Visual Studio Code в среде macOS, Linux или Windows.....................................119Инструкция if.................................................................................................119Инструкция switch..........................................................................................121Инструкции перебора...........................................................................................123Инструкция while............................................................................................124Инструкция do................................................................................................124Инструкция for...............................................................................................125Инструкция foreach........................................................................................125Приведение и преобразование типов...................................................................126Приведение от числа к числу.........................................................................126Использование типа System.Convert...............................................................128Округление чисел..........................................................................................128Преобразование любого типа в строку...........................................................129Конвертация бинарного объекта в строку......................................................130Разбор строк для преобразования в числа или значения даты и времени......131Обработка исключений при преобразовании типов..............................................132Инструкция try...............................................................................................132Перехват всех исключений.............................................................................133Перехват определенных исключений.............................................................133Проверка переполнения.......................................................................................135Инструкция checked.......................................................................................135Инструкция unchecked....................................................................................136Поиск документации.............................................................................................137Сайты Microsoft Docs и MSDN..........................................................................137Переход к определению.................................................................................138Сайт StackOverflow.........................................................................................138Поисковая система Google..............................................................................140Подписка на блоги.........................................................................................142Паттерны проектирования.............................................................................142Практические задания..........................................................................................142Проверочные вопросы....................................................................................142Упражнение 3.1. Циклы и переполнение........................................................143Упражнение 3.2. Циклы и операторы.............................................................143Упражнение 3.3. Обработка исключений........................................................144Дополнительные ресурсы...............................................................................144Резюме.................................................................................................................145Глава 4. Создание, отладка и тестирование функций ............................................. 146Написание функций..............................................................................................146Написание функции таблицы умножения.......................................................147Написание функции, возвращающей значение...............................................148Написание математических функций..............................................................150Отладка приложений в процессе разработки........................................................154Создание приложения с умышленной ошибкой..............................................154Установка точек останова..............................................................................155Панель Debugging..........................................................................................156Дополнительные панели отладки...................................................................157Пошаговое выполнение кода..........................................................................158Настройка точек останова..............................................................................160Ведение журнала во время разработки и выполнения..........................................161Реализация прослушивателей Debug и Trace..................................................162Переключение уровней трассировки..............................................................165Функции модульного тестирования.......................................................................167Создание библиотеки классов для тестирования в Visual Studio 2017.............167Создание проекта модульного тестирования в Visual Studio 2017...................168Создание библиотеки классов для тестирования в Visual Studio Code.............170Разработка модульных тестов........................................................................171Выполнение модульных тестов в Visual Studio 2017........................................172Выполнение модульных тестов в Visual Studio Code........................................173Практические задания..........................................................................................175Проверочные вопросы....................................................................................175Упражнение 4.1. Отладка и модульное тестирование.....................................175Дополнительные ресурсы...............................................................................176Резюме.................................................................................................................176Глава 5. Создание пользовательских типов с помощьюобъектно-ориентированного программирования ...................................................... 177Вкратце об объектно-ориентированном программировании..................................177Сборка библиотек классов....................................................................................178Создание библиотек классов в Visual Studio 2017...........................................178Создание библиотек классов в Visual Studio Code...........................................179Определение классов.....................................................................................180Создание экземпляров классов.......................................................................181Управление проектами в Visual Studio Code....................................................184Наследование System.Object..........................................................................185Хранение данных в полях.....................................................................................186Определение полей........................................................................................186Хранение значения с помощью ключевого слова enum..................................188Хранение группы значений с помощью коллекций.........................................191Создание статического поля...........................................................................192Создание константного поля..........................................................................193Создание поля только для чтения..................................................................194Инициализация полей с помощью конструкторов...........................................194Настройка полей через символьные константы default...................................195Запись и вызов методов.......................................................................................197Комбинация нескольких значений с помощью кортежей................................197Определение и передача параметров в методы.............................................200Перегрузка методов.......................................................................................201Необязательные параметры и именованные аргументы.................................202Управление передачей параметров......................................................................203Разделение классов с помощью ключевого слова partial.......................................205Управление доступом с помощью свойств и индексаторов....................................205Определение свойств только для чтения........................................................206Определение настраиваемых свойств.............................................................207Определение индексаторов............................................................................208Практические задания..........................................................................................209Проверочные вопросы....................................................................................209Дополнительные ресурсы...............................................................................209Резюме.................................................................................................................210Глава 6. Реализация интерфейсов и наследование классов .................................... 211Настройка библиотеки классов и консольного приложения..................................211Visual Studio 2017...........................................................................................212Visual Studio Code...........................................................................................212Определение классов.....................................................................................214Упрощение методов с помощью операторов.........................................................214Реализация функционала с применением метода...........................................214Реализация функционала с помощью оператора............................................216Определение локальных функций........................................................................217Вызов и обработка событий..................................................................................218Вызов методов с помощью делегатов.............................................................218Определение событий....................................................................................219Реализация интерфейсов......................................................................................221Универсальные интерфейсы...........................................................................221Сравнение объектов при сортировке..............................................................222Многократное использование типов с помощью универсальных шаблонов...........225Создание универсальных типов......................................................................226Создание универсального метода...................................................................228Управление памятью с применением ссылочных типов и типов значений.............229Определение структур...................................................................................229Освобождение неуправляемых ресурсов........................................................230Обеспечение вызова метода Dispose..............................................................232Наследование классов..........................................................................................233Расширение классов.......................................................................................233Скрытие членов класса..................................................................................234Переопределение членов...............................................................................235Предотвращение наследования и переопределения.......................................236Полиморфизм.................................................................................................236Приведение в иерархиях наследования................................................................238Неявное приведение......................................................................................238Явное приведение..........................................................................................238Обработка исключений приведения...............................................................238Наследование и расширение типов .NET..............................................................239Наследование исключений.............................................................................239Расширение типов при невозможности наследования....................................241Практические задания..........................................................................................243Проверочные вопросы....................................................................................243Упражнение 6.1. Создание иерархии наследования........................................243Дополнительные ресурсы...............................................................................243Резюме.................................................................................................................244Часть II. .NET Core 2.0 и .NET Standard 2.0Глава 7. Обзор и упаковка типов .NET Standard ..................................................... 247Использование сборок и пространств имен..........................................................247Стандартные библиотеки классов и CoreFX....................................................248Добавление ссылок на зависимые сборки.......................................................249Связанные сборки и пространства имен.........................................................250Связывание ключевых слов C# с типами .NET................................................255Совместное кросс-платформенное использование кода с помощью библиотек классов .NET Standard 2.0.....................................................................................256Создание библиотеки классов .NET Standard 2.0............................................257Использование NuGet-пакетов..............................................................................258Метапакеты....................................................................................................259Платформы....................................................................................................260Исправление зависимостей............................................................................263Публикация приложений......................................................................................263Подготовка консольного приложения к публикации.......................................263Публикация в Visual Studio 2017.....................................................................264Публикация в Visual Studio Code.....................................................................267Упаковка библиотек для распространения с помощью NuGet................................268Команды dotnet..............................................................................................268Добавление ссылки на пакет..........................................................................269Упаковка библиотеки для распространения с помощью NuGet.......................271Тестирование пакетов....................................................................................275Портирование кода в .NET Core............................................................................276Можно ли портировать?.................................................................................277Нужно ли портировать?..................................................................................277Анализатор портируемости .NET....................................................................277Сравнение .NET Framework и .NET Core..........................................................278Использование библиотек, не относящихся к .NET Standard...........................278Практические задания..........................................................................................279Проверочные вопросы....................................................................................280Дополнительные ресурсы...............................................................................280Резюме.................................................................................................................280Глава 8. Использование распространенных типов .NET Standard ............................ 281Работа с числами..................................................................................................281Крупные целые числа.....................................................................................282Работа с комплексными числами....................................................................283Работа с текстом..................................................................................................283Извлечение длины строки..............................................................................284Извлечение символов строки.........................................................................284Разделение строк...........................................................................................284Извлечение фрагмента строки.......................................................................284Проверка содержимого строк.........................................................................285Другие члены класса string.............................................................................285Эффективное оперирование строками...........................................................286Сопоставление шаблонов с регулярными выражениями.................................287Работа с коллекциями..........................................................................................289Общие характеристики всех коллекций..........................................................290Понятие коллекции........................................................................................291Работа со списками........................................................................................293Работа со словарями......................................................................................294Сортировка коллекций...................................................................................295Использование специализированных коллекций............................................295Использование неизменяемых коллекций.......................................................296Работа с сетевыми ресурсами...............................................................................296Работа с идентификаторами URI, DNS и IP-адресами.....................................297Опрос сервера................................................................................................298Работа с типами и атрибутами..............................................................................299Указание версий сборок.................................................................................299Чтение метаданных о сборке..........................................................................300Создание собственных атрибутов...................................................................301Другие возможности Reflection.......................................................................303Глобализация кода...............................................................................................303Практические задания..........................................................................................305Проверочные вопросы....................................................................................305Упражнение 8.1. Регулярные выражения.......................................................306Упражнение 8.2. Методы расширения............................................................306Дополнительные ресурсы...............................................................................306Резюме.................................................................................................................307Глава 9. Работа с файлами, потоками и сериализация ........................................... 308Управление файловой системой...........................................................................308Работа в кросс-платформенных средах и файловых системах........................308Работа с дисками...........................................................................................311Работа с каталогами.......................................................................................312Управление файлами.....................................................................................314Управление путями........................................................................................316Извлечение информации о файле..................................................................316Управление файлами.....................................................................................317Чтение и запись с помощью потоков....................................................................318Запись в текстовые и XML-потоки...................................................................322Освобождение файловых ресурсов.................................................................324Сжатие потоков..............................................................................................326Кодирование текста..............................................................................................328Преобразование строк в последовательности байтов.....................................328Кодирование/декодирование текста в файлах................................................331Сериализация графов объектов............................................................................331XML-сериализация..........................................................................................331XML-десериализация......................................................................................334Контроль результата XML-сериализации.........................................................335JSON-сериализация........................................................................................335Сериализация в другие форматы....................................................................336Практические задания..........................................................................................337Проверочные вопросы....................................................................................337Упражнение 9.1. XML-сериализация...............................................................337Дополнительные ресурсы...............................................................................338Резюме.................................................................................................................338Глава 10. Защита данных и приложений ................................................................ 339Терминология безопасности.................................................................................339Ключи и их размеры.......................................................................................340Векторы инициализации (IV) и размеры блоков.............................................340Соли...............................................................................................................341Генерация ключей и векторов инициализации...............................................341Шифрование и дешифрование данных.................................................................342Симметричное шифрование с помощью алгоритма AES..................................344Хеширование данных...........................................................................................348Подписывание данных..........................................................................................352Подписывание с помощью алгоритмов SHA256 и RSA.....................................352Проверка подписи и валидация......................................................................354Генерация случайных чисел.................................................................................355Генерация случайных чисел для игр..............................................................356Генерация случайных чисел для криптографии..............................................356Тестирование генерации случайного числа или проверки подлинности.........357Аутентификация и авторизация пользователей....................................................358Реализация аутентификации и авторизации...................................................359Тестирование аутентификации и авторизации...............................................360Защита функций приложения.........................................................................362Практические задания..........................................................................................363Проверочные вопросы....................................................................................363Упражнение 10.1. Защита данных с помощью шифрованияи хеширования...............................................................................................363Упражнение 10.2. Дешифрование данных......................................................364Дополнительные ресурсы...............................................................................364Резюме.................................................................................................................364Глава 11. Работа с базами данных с помощью Entity Framework Core ..................... 365Современные базы данных...................................................................................365Использование образца реляционной базы данных........................................366Microsoft SQL Server........................................................................................366SQLite.............................................................................................................371Настройка Entity Framework Core..........................................................................375Выбор поставщика данных .NET.....................................................................375Подключение к базе данных..........................................................................376Определение моделей Entity Framework Core........................................................378Соглашения EF Core.......................................................................................378Атрибуты аннотации EF Core..........................................................................379EF Core Fluent API...........................................................................................379Создание модели EF Core...............................................................................380Запрос данных из модели EF Core.........................................................................384Логирование EF Core......................................................................................386Соотнесение шаблонов с помощью Like..........................................................390Определение глобальных фильтров...............................................................391Схемы загрузки данных в EF Core...................................................................392Управление данными с помощью EF Core.............................................................395Добавление элементов...................................................................................395Обновление элементов...................................................................................396Удаление элементов.......................................................................................397Группировка контекстов базы данных............................................................398Транзакции....................................................................................................398Определение явной транзакции.....................................................................399Практические задания..........................................................................................400Проверочные вопросы....................................................................................400Упражнение 11.1. Практика экспорта данных с помощью различныхформатов сериализации.................................................................................401Упражнение 11.2. Изучение документации EF Core.........................................401Резюме.................................................................................................................401Глава 12. Создание запросов и управление данными с помощью LINQ .................. 402Написание запросов LINQ.....................................................................................402Расширение последовательностей с помощью перечислимого класса............403Фильтрация элементов с помощью метода Where..........................................403Сортировка элементов...................................................................................408Фильтрация по типу.......................................................................................409Работа с множествами..........................................................................................411Применение LINQ на платформе EF Core..............................................................413Проекция элементов с помощью ключевого слова select................................413Создание модели EF Core...............................................................................413Присоединение и группировка.......................................................................416Агрегирование последовательностей.............................................................419Подслащение синтаксиса с помощью синтаксического сахара..............................419Использование нескольких потоков с помощью PLINQ..........................................420Создание собственных методов расширения LINQ................................................424Работа с LINQ to XML............................................................................................427Генерация XML с помощью LINQ to XML.........................................................427Чтение XML с применением LINQ to XML........................................................428Практические задания..........................................................................................429Проверочные вопросы....................................................................................429Упражнение 12.1. Создание запросов LINQ....................................................429Дополнительные ресурсы...............................................................................430Резюме.................................................................................................................430Глава 13. Улучшение производительности и масштабируемости с помощью многозадачности ..................................................................................................... 431Мониторинг производительности и использования ресурсов................................431Оценка эффективности типов........................................................................431Мониторинг производительности и использования памяти.............................432Процессы, потоки и задачи...................................................................................437Асинхронное выполнение задач...........................................................................439Синхронное выполнение нескольких действий...............................................439Асинхронное выполнение нескольких действий с помощью задач..................441Ожидание выполнения задач.........................................................................443Задачи продолжения......................................................................................444Вложенные и дочерние задачи.......................................................................445Синхронизация доступа к общим ресурсам...........................................................446Доступ к ресурсу из нескольких потоков........................................................447Применение к ресурсу взаимоисключающей блокировки................................449Инструкция lock..............................................................................................449Выполнение атомарных операций..................................................................451Использование других типов синхронизации..................................................451Методы async и await............................................................................................452Увеличение скорости отклика консольных приложений..................................452Увеличение скорости отклика приложений с GUI...........................................454Улучшение масштабируемости веб-приложений и веб-сервисов.....................454Часто используемые типы, поддерживающие многозадачность......................454Ключевое слово await в блоках catch.............................................................455Практические задания..........................................................................................455Проверочные вопросы....................................................................................455Дополнительные ресурсы...............................................................................456Резюме.................................................................................................................456Часть III. Модели приложенийГлава 14. Создание сайтов с помощью ASP.NET Core Razor Pages ........................... 461Веб-разработка....................................................................................................461Протокол передачи гипертекста.....................................................................461Клиентская веб-разработка............................................................................464ASP.NET Core........................................................................................................466Классический ASP.NET и современный ASP.NET Core.......................................467Создание проекта ASP.NET Core в Visual Studio 2017.......................................467Создание проекта ASP.NET Core в Visual Studio Code.......................................468Обзор шаблона пустого проекта ASP.NET Core Empty......................................468Тестирование пустого веб-сайта....................................................................470Включение статических файлов.....................................................................472Включение файлов по умолчанию..................................................................474Технология Razor Pages........................................................................................475Включение страниц Razor...............................................................................475Определение страницы Razor.........................................................................475Использование общих макетов с Razor Pages..................................................476Использование отдельных файлов кода программной частис технологией Razor Pages..............................................................................479Использование Entity Framework Core совместно с ASP.NET Core...........................481Создание сущностных моделей для базы данных Northwind...........................481Создание базы данных Northwind на сайте.....................................................489Настройка Entity Framework Core в качестве сервиса......................................490Работа с данными..........................................................................................492Практические задания..........................................................................................494Упражнение 14.1. Создание сайта, ориентированного на данные...................494Дополнительные ресурсы...............................................................................494Резюме.................................................................................................................495Глава 15. Разработка сайтов с помощью ASP.NET Core MVC .................................... 496Создание и настройка сайта ASP.NET Core MVC.....................................................496Создание сайта ASP.NET Core MVC..................................................................497Структура проекта веб-приложения ASP.NET Core MVC...................................500Миграция баз данных.....................................................................................502Тестирование сайта ASP.NET MVC...................................................................504Проверка подлинности с помощью системы ASP.NET Identity..........................505Структура сайта ASP.NET Core MVC.......................................................................507Запуск ASP.NET Core.......................................................................................507Маршрутизация по умолчанию.......................................................................509Контроллеры ASP.NET Core MVC.....................................................................509Модели ASP.NET Core MVC..............................................................................510Пр
   Technical Details
categoryTitle: Научная и техническая литература
rating: 0
   Price history chart & currency exchange rate

Customers also viewed