Библиотека шарписта | C#, F#, .NET, ASP.NET
22.9K subscribers
2.26K photos
36 videos
85 files
4.43K links
Все самое полезное для C#-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/b60af5a4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
#вопросы_для_самопроверки

Объясните предназначение ключевого словоа stackalloc.
Ключевое слово stackalloc выделяет блок памяти в стеке. Выделенный в стеке блок памяти, который создает этот метод, автоматически удаляется по завершении выполнения метода. Вы не можете явным образом освободить память, выделенную stackalloc. Выделенный в стеке блок памяти не подвергается сборке мусора, поэтому его не нужно закреплять с помощью инструкции fixed.

При использовании stackalloc в среде CLR автоматически включается контроль переполнения буфера. Если буфер переполнен, процесс незамедлительно прерывается — это позволяет минимизировать риск исполнения вредоносного кода.
Что мотивирует вас откликнуться на вакансию?
❇️ Команда Библиотеки программиста ищет редактора-копирайтера для подготовки публикаций

Что делать:
— Подготовка нативных материалов по IT-тематике согласно контент-плану. Темы: программирование, информационная безопасность, Data Science и другие. Форматы материалов: лонгриды, обзоры, интервью, тесты, викторины и переводы англоязычных публикаций.
— Редакторская работа со структурой материала под ключ.
— Коммуникация с командой по внесению правок.
— Факт-чекинг, корректура написанных материалов.

Требования:
— Опыт написания материалов для IT-медиа, продукта или компании.
— Понимание целевой аудитории и SEO-оптимизации.
— Умение написания материалов, полезных как для читателя, так и заказчика.
— Знание английского языка для чтения и перевода иностранных источников.
— Приветствуется знание основ программирования и других направлений в IT-сфере.
— Готовность к выполнению тестового задания (оплачиваемое).
— Работа в команде с главным редактором.

Условия:
— Удаленная работа с соблюдением дедлайнов.
— Оплата 40-50 тыс.руб. в зависимости от опыта работы, выплаты два раза в месяц.

С кем связаться:
Откликнуться на вакансию: artem@proglib.io. Присылайте несколько предложений о себе и опыте работы, ссылки на примеры публикаций. Резюме присылать не нужно. В случае взаимного интереса, мы пришлем вам тестовое задание.
throw повторно выбрасывает исключение, которое было обнаружено, и сохраняет трассировку стека (путь к источнику исключения).

throw ex генерирует одно и то же исключение, но сбрасывает трассировку стека на этот метод.
Roger_Villela_Understanding_System_IO_for_NET_Core_3_Implementing.epub
7.2 MB
Understanding System.IO for .NET Core 3: Implementing Internal and Commercial Tools (2020)

Автор(ы): Roger Villela

Воспользуйтесь всеми преимуществами API .NET в System.IO для достижения фундаментальных операций ввода-вывода и создания более качественного программного обеспечения.

В данной книге вы начнете с основ создания собственной библиотеки .NET Core для System.IO. Вы узнаете назначение и преимущества настраиваемой кроссплатформенной библиотеки .NET Core вместе с архитектурой реализации компонентов настраиваемой библиотеки. В дальнейшем вы узнаете, как использовать .NET APIs System.IO для получения информации о ресурсах.

Вы познакомьтесь с внутренними принципами реализации System.IO BCL на платформе .NET Core; научитесь работать с механизмами System.IO, доступными через платформу .NET Core; создадите пользовательскую библиотеку, инкапсулирующую API-интерфейсы .NET из System.IO Design, и внедрите различные инструменты в System.IO.
Автор статьи описывает процесс модернизации проектов .NET Framework в .NET Core, .NET Standard и .NET 5, выпуск которых запланирован на этот год. Он также объясняет различия в уровне между платформами и последствия обновления для потребителей, разработчиков и сопровождающих.

https://proglib.io/w/d62f71d3
В C# метод в производном классе может иметь то же имя, что и метод в базовом классе. С помощью модификаторов override и new можно задать способ взаимодействия методов. При этом override расширяет метод virtual базового класса, а new скрывает доступный метод базового класса.

Разница проявляется в случае полиморфизма. Если вы работаете с экземпляром класса-наследника через его родительский класс, то в случае, если вы будете вызывать переопределенный виртуальный метод (override), то будет вызвана его реализация из наследника, а если перекрытый (new), то будет вызван метод базового класса.
​​Мы снова проводим конкурс (с увеличенным призовым фондом) во ВКонтакте для самых креативных из вас на лучший мем для статьи с нашего сайта. Правила простые:

1. Вы берете произвольную статью с сайта, не утратившую свою актуальность
2. Делаете для нее мем
3. Отправляете в предложенные новости ссылку и вашу картинку
4. Мы оформляем и публикуем.

Автор картинки с публикацией с наибольшим охватом среди всех нам отправленных получит 15 тысяч рублей. Поехали: https://vk.com/proglib

Срок окончания конкурса — 18 августа 2020 года.
В статье обсуждается выбор между SPA, разработанного с помощью Blazor, и традиционным веб-приложением, а также объясняется разница между рендерингом на стороне сервера и на стороне клиента.

https://proglib.io/w/23c4b2ef
​​Круто разбираешь в C Sharp? Готов решить кейсы по кибербезопасности или финтеху и выиграть денежный приз?? 😎

DigitalSuperHero ждет тебя! Успей зарегистрироваться до 27 июля на онлайн-хакатон Fintech & Security Superhero!🚀

Не пропусти, команды уже вовсю подают заявки! Хакатон пройдет с 1 по 8 августа, принять участие можно из любой точки России.

Кого ждем на хакатон 😎:
• Дата-сайентистов, С++
• Разработчиков C#, Java, Python, JavaSript
• ИТ-разработчиков (мат. модели)
• Разработчиков .Net
• Frontend-разработчиков (React предпочтительно)
• Аналитиков
• QA, DevOps
• Специалистов по анализу данных, видеоаналитике
• Специалистов по информационной безопасности

🏆Что тебя ждет?🏆
- задачи от Ак Барс Банка, Kaspersky Innovation Hub и InnoSTage
- общий призовой фонд в 700 000 рублей
- возможность получить предложение на работу
- поддержка в запуске пилота

Подавайте заявку до 27 июля тут: dshkazan.ru/its
#вопросы_для_самопроверки

Что такое абстрактный класс? В каком случае необходимо объявить класс абстрактным?
Абстрактный класс похож на обычный класс, он так же содержит обычные методы, свойства, поля, но при определении абстрактного класса используется ключевое слово abstract.

Главное его отличие от обычного класса в том, что нельзя использовать стандартный конструктор для создания объекта класса, т.е. так сделать не получится: Human chelik = new Human();

Абстрактные классы нужны для того, чтобы выделять общий функционал от нескольких классов в обособленный класс. От этого отдельного класса потом можно унаследовать либо просто сигнатуру функционала, либо вместе с реализацией.

Класс обязательно нужно объявлять как абстрактный, если класс является наследником абстрактного класса, но не все методы базового класса перекрыты и имеют реализацию, а также в том случае, если хотя бы один метод класса является абстрактным.