Это новое издание фундаментальной книги Иэна Гриффитса по языку C# и платформе .NET на примере версий C# 12 и .NET 8. Книга много лет остается настольными для .NET-разработчиков и является одним из наиболее подробных справочников по C# и .NET, учитывающим всевозможные нюансы программирования и поддержки приложений для платформ Microsoft. Рассмотрены новейшие возможности языка, особое внимание уделяется структуре языка C#, структурам данных, принципам объектно-ориентированного программирования. Отдельные главы посвящены работе с обобщенными типами, асинхронному выполнению кода, работе с памятью и разнообразным библиотекам классов, языку запросов LINQ.
Для специалистов по C# и .NET
Книга поможет вам:
Понять, как платформа .NET изменилась за последние годы и как это отражается на разработке приложений
Актуализировать информацию об объектно-ориентированном программировании на платформе .NET
Подбирать подходящие языковые возможности C# для решения любой задачи
Решать, когда лучше воспользоваться новыми возможностями, а когда придерживаться старых
Исследовать весь спектр функциональных возможностей применяемых в .NET библиотек классов
Использовать библиотеки классов для решения задач прикладного программирования
Разобраться с многочисленными небольшими нововведениями .NET, благодаря которым код становится гораздо выразительнее
Книга предсказуемо отличная.
Стивен Тауб, главный архитектор в компании Microsoft
В книге разобрано самое ядро языка — как раз тот материал, который необходим для создания хорошего ПО. Книга подробная, тщательно проработанная и затрагивает именно те языковые тонкости и нюансы, которым редко уделяется внимание в других книгах. Здесь всё, что нужно знать о C#.
Джереми Морган, программист, DevOps
Иэн Гриффитс (Ian Griffiths) — признанный эксперт в мире информационных технологий, чье имя является синонимом глубокого понимания и мастерства в работе с платформой Microsoft.
Более 20 лет Иэн посвятил проектированию и разработке сложных программных систем, консультированию и обучению специалистов. Его карьера — это яркий путь от ведущего разработчика и архитектора до сооснователя и ключевого технического советника в endjin, британской консалтинговой компании, специализирующейся на передовых решениях в области данных, искусственного интеллекта и облачных технологий.
Иэн является не только практикующим профессионалом высочайшего класса, но и блестящим преподавателем и автором. Он обладает уникальным даром — разлагать самые сложные концепции на понятные и логичные составляющие. Это качество сделало его одним из самых востребованных инструкторов в знаменитой серии курсов O’Reilly, где его лекции по C# и платформе .NET считаются золотым стандартом.
Именно этот богатейший опыт — глубокая практика, экспертные знания и страсть к преподаванию — лег в основу книги «Современный C#». Иэн Гриффитс не просто рассказывает о языке; он погружает читателя в самую суть, учит мыслить как настоящий профессионал и создавать элегантные, эффективные и надежные приложения для любых задач.
Даны основы программирования на С++ по стандартам С++17 и С++20, базовые структуры данных и методы работы с ними. С позиций разработки ПО рассмотрено программирование функций: обычных и рекурсивных, constexpr-функций, лямбда-выраженй и лямбда-функций, перегрузка и шаблоны функций. Раскрыты более сложные вопросы С++: указатели и динамическая память, структуры и классы, конструкторы и деструкторы, методы и перегрузка операций, работа с текстовыми файлами, устройство чисел и битовые операции.
Рассмотрены важные для начинающих темы: интегрированная среда Code::Blocks, русификация ввода и вывода, ошибки при написании кода, неопределенное поведение, тестирование и написание тестового кода. В книге 150 примеров программ и более 90 заданий для самостоятельной работы. Материал проверен на практике при обучении студентов и школьников и подготовке их к экзаменам.
Электронное приложение-архив на сайте издательства содержит исходные коды всех примеров.
Для начинающих программистов
Лаптев Валерий Викторович, кандидат технических наук, профессиональный программист и преподаватель, работает с компьютерами с 1971 года, программирует на С++ с 1989 года, преподает в вузе с 1993 года. За это время разработал большое количество программ на многих языках программирования. В вузе читал разнообразные курсы по программированию на С++, алгоритмам и структурам данных, системному программированию и операционным системам. Обучил и воспитал сотни учеников. Написал ряд книг по С++ для студентов вузов и колледжей. Его статьи публиковались в журналах “Программист” и “RSDN Magazine”, на портале программистов rsdn.org.
Подробно рассмотрены все аспекты безопасности от теории до реальных реализаций .NET-приложений на языке C#. Рассказано, как обеспечивать безопасную регистрацию, авторизацию и поддержку сессий пользователей. Перечислены уязвимости, которые могут быть присущи веб-сайтам и Web API, описано, как хакеры могут эксплуатировать уязвимости и как можно обеспечить безопасность приложений. Даны основы оптимизации кода для обработки максимального количества пользователей с целью экономии ресурсов серверов и денег на хостинг. Рассмотрены сетевые функции: проверка соединения, отслеживание запроса, доступ к микросервисам, работа с сокетами и др. Приведены реальные примеры атак хакеров и способы защиты от них. Во втором издании добавлены новые примеры безопасности, рассмотрены вопросы реализации технологий OAuth2 и Single Sign On.
Для веб-программистов, администраторов и специалистов по безопасности
В книге заново разобраны и переосмыслены классические паттерны объектно-ориентированного проектирования на примере и с учётом всех возможностей современного языка C++. Указаны сильные стороны базовых паттернов проектирования, даны рекомендации по их сочетаемости, рассмотрены роли различных паттернов при инкапсуляции, обеспечении полиморфизма и в особенности наследования. Приведены примеры выразительного идиоматического языка C++, рассказано о работе с шаблонами стандартной библиотеки STL, затронуты сложные аспекты теории типов, интеграции больших приложений и работы с унаследованным кодом.
Для специалистов по C++ и архитекторов больших программных систем
Принципы и паттерны
С этой книгой Вы:
Научитесь оценивать свой код, сверяя его с проверенными паттернами проектирования
Разберитесь, что такое проектирование программ, какие цели ставятся при проектировании, в частности, что такое изменяемость и расширяемость программ
Исследуйте преимущества и недостатки каждого подхода к проектированию
Узнайте, как паттерны проектирования помогают решать поставленные задачи
Выбирайте именно тот паттерн проектирования, который наиболее уместен в конкретной ситуации
Игльбергер Клаус – разработчик-фрилансер и консультант, специализирующийся на C++. Автор популярных видеокурсов, в которых делится своим более чем пятнадцатилетним опытом, объездил весь мир, выступая на конференциях по С++. Получив степень PhD в 2010 году, занимается проектированием крупномасштабных программных систем.
Книга о разработке нативных, кросc-платформенных и веб-приложений на платформе .NET с использованием языка C#. Подробно рассмотрена экосистема платформы .NET, средства связи в распределённых системах (gRPC и SignalR), инструменты современной веб-разработки – Blazor, библиотека машинного обучения ML.NET, фреймворк для веб-разработки ASP.NET Core, инструментарий Entity Framework Core 7. Объяснены возможности подготовки микросервисной архитектуры, а также развёртывание контейнеров и управление ими с применением Docker Swarm и Kubernetes.
Для разработчиков
Создаём кросс-платформенные приложения на базе .NET Core
Платформа .NET – это развитая среда, в которой можно разрабатывать и выполнять приложения любых типов. Хотя официально на платформе .NET поддерживается несколько языков программирования, наиболее популярен среди них именно язык C#, и его можно считать флагманским.
В этой книге разобраны основы .NET, пошагово объяснено, как создавать нативные приложения, которые легко адаптировать для работы на многих платформах. Уделено внимание взаимодействию с базами данных и работе с Entity Framework Core 7. Рассматривается ASP.NET Core, главный фреймворк .NET, предназначенный для веб-разработки.
Обсуждаются и более современные веб-технологии, в частности Blazor (технология на основе WebAssembly, специально предназначенная для платформы .NET), а также настройка двунаправленной коммуникации с использованием SignalR и gRPC. В последней части книги описано развёртывание и контейнеризация приложения с применением Docker Swarm и Kubernetes.
Прочитав книгу, вы научитесь уверенно создавать приложения на языке C# для платформы .NET.
В этой книге
Знакомство с новейшими возможностями языка C#
Работа с новыми возможностями .NET 7, в том числе, SDK и библиотеками
Создание веб-приложений с применением ASP.NET Core 7
Подготовка моделей машинного обучения с использованием ML.NET
Приёмы, позволяющие быстро и безопасно собирать и развёртывать распределённые приложения
Для кого эта книга
Книга рассчитана на широкую аудиторию разработчиков: для тех, кто хочет изучить язык C# и платформу .NET в их современной редакции, для желающих освоить веб-разработку на платформе .NET и для тех, кому требуется разрабатывать нативные и кросс-платформенные приложения с применением C# и .NET.
Книгу “C# 11 и .NET 7.0” можно купить со скидкой в интернет-магазине издательства “БХВ“.
Об авторе……………………………………………………………………………………………….. 15
О рецензентах………………………………………………………………………………………… 16
Сазанавец Фёдор (Sazanavets Fiodar) — профессиональный инженер-программист, который широко использует программное обеспечение компании Microsoft. Основные области его специализации включают ASP.NET (Framework и Core), SQL Server, Azure, Docker, Интернет вещей (IoT), архитектуру микросервисов и различные интерфейсные технологии. Фёдор имеет большой практический опыт разработки программного обеспечения в различных отраслях, включая гидротехнику, финансы, розничную торговлю, железную дорогу и оборону. С энтузиазмом обучает других людей навыкам программирования. Автор ряда книг и курсов по программированию.
Книга посвящена программированию на языке C# для платформы Microsoft .NET, начиная с основ языка и разработки программ для работы в режиме командной строки и заканчивая созданием современных веб-приложений. Материал сопровождается большим количеством практических примеров. Подробно описывается логика выполнения каждого участка программы. Уделено внимание вопросам повторного использования кода. В 6-м издании примеры переписаны с учетом современной платформы .NET 7, большой упор сделан на веб–приложения и фреймворк доступа к данным Entity Framework. На сайте издательства находятся коды программ, дополнительная справочная информация и копия базы данных для выполнения примеров из книги.
Для программистов
Программирование может быть доступно каждому!
Книга будет полезна всем, кто хочет научиться писать программы для платформы Microsoft .NET на современном и удобном языке программирования C#. Большое количество практических примеров, легкость изложения материала и интересные комментарии призваны сделать обучение занимательным и нескучным, а подробное описание логики выполнения каждого участка кода поможет читателю использовать полученные знания при разработке собственных приложений.
Дополнительным источником знаний в процессе дальнейшего обучения служит электронный архив к книге, содержащий коды программ, дополнительную справочную информацию и копию базы данных для выполнения примеров из книги.
Программирование для .NET на C#
Платформа .NET
Базы данных
Веб-программирование
Сетевое программирование
Повторное использование кода
Изучение языка на полезных примерах
…Невозможно научить программировать с помощью одной книги, но я попытаюсь заинтересовать вас этим великолепным миром. На сайте издательства выложено множество дополнительных материалов, которые пригодятся вам в самостоятельном изучении. Книга дает основную и необходимую информацию, чтобы вы сразу после ее прочтения смогли приступить к написанию своих собственных приложений …
Михаил Фленов
Книгу “Библия C#. 6-е издание” можно купить со скидкой в интернет-магазине издательства “БХВ“.
Подробно рассмотрены все аспекты безопасности от теории до реальных реализаций .NET-приложений на языке C#. Рассказано, как обеспечивать безопасную регистрацию, авторизацию и поддержку сессий пользователей. Перечислены уязвимости, которые могут быть присущи веб-сайтам и Web API, описано, как хакеры могут эксплуатировать уязвимости и как можно обеспечить безопасность приложений. Даны основы оптимизации кода для обработки максимального количества пользователей с целью экономии ресурсов серверов и денег на хостинг. Рассмотрены сетевые функции: проверка соединения, отслеживание запроса, доступ к микросервисам, работа с сокетами и др. Приведены реальные примеры атак хакеров и способы защиты от них.
Для веб-программистов, администраторов и специалистов по безопасности
В течение 8 лет я работал над сайтами Sony с высокой нагрузкой и высокими требованиями по безопасности. За все это время сайты ни разу не были взломаны. Есть мнение, что безопасность – это сложно. Отчасти это верно. Но и сложное – возможно!
В этой книге я решил поделиться своим опытом работы над сайтами e-commerce с высокой нагрузкой, рассмотреть все аспекты безопасности от теории до реальных реализаций .NET-приложений на языке C# и рассказать, как обеспечить безопасность, оптимизировать код и обрабатывать высокие нагрузки с минимальными ресурсами.
Михаил Фленов, автор книги