В C# метод в производном классе может иметь то же имя, что и метод в базовом классе. С помощью модификаторов
Разница проявляется в случае полиморфизма. Если вы работаете с экземпляром класса-наследника через его родительский класс, то в случае, если вы будете вызывать переопределенный виртуальный метод (
override
и new
можно задать способ взаимодействия методов. При этом override
расширяет метод virtual
базового класса, а new
скрывает доступный метод базового класса. Разница проявляется в случае полиморфизма. Если вы работаете с экземпляром класса-наследника через его родительский класс, то в случае, если вы будете вызывать переопределенный виртуальный метод (
override
), то будет вызвана его реализация из наследника, а если перекрытый (new
), то будет вызван метод базового класса.Разработчик инди-игр из Филиппин делится десятилетним опытом работы в геймдеве.
https://proglib.io/w/a3be8c99
https://proglib.io/w/a3be8c99
Хабр
Мои десять лет в геймдеве
Привет! Меня зовут Нико Туасон, я разработчик инди-игр из Филиппин. В этом году исполняется десять лет с того момента, как я начал свой путь в геймдеве. Я хотел...
Мы снова проводим конкурс (с увеличенным призовым фондом) во ВКонтакте для самых креативных из вас на лучший мем для статьи с нашего сайта. Правила простые:
1. Вы берете произвольную статью с сайта, не утратившую свою актуальность
2. Делаете для нее мем
3. Отправляете в предложенные новости ссылку и вашу картинку
4. Мы оформляем и публикуем.
Автор картинки с публикацией с наибольшим охватом среди всех нам отправленных получит 15 тысяч рублей. Поехали: https://vk.com/proglib
Срок окончания конкурса — 18 августа 2020 года.
1. Вы берете произвольную статью с сайта, не утратившую свою актуальность
2. Делаете для нее мем
3. Отправляете в предложенные новости ссылку и вашу картинку
4. Мы оформляем и публикуем.
Автор картинки с публикацией с наибольшим охватом среди всех нам отправленных получит 15 тысяч рублей. Поехали: https://vk.com/proglib
Срок окончания конкурса — 18 августа 2020 года.
В статье обсуждается выбор между SPA, разработанного с помощью Blazor, и традиционным веб-приложением, а также объясняется разница между рендерингом на стороне сервера и на стороне клиента.
https://proglib.io/w/23c4b2ef
https://proglib.io/w/23c4b2ef
Christianfindlay
Blazor Vs. Traditional Web Apps
.NET: Read about single page applications made with Blazor compared to traditional web applications.
Разбираем 7 опасных ошибок в C # / . NET, которые легко допустить: https://proglib.io/w/7edb0692
chrisstclair.co.uk
7 dangerous mistakes in C#/.NET that are easy to make
C# is a great language, and the .NET Framework is pretty damn good too. C#'s strong typing reduces the amount of bugs that you'll create when compared to other languages. Plus its general common sense design helps a lot, when compared to something like JavaScript…
Круто разбираешь в 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
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();
Абстрактные классы нужны для того, чтобы выделять общий функционал от нескольких классов в обособленный класс. От этого отдельного класса потом можно унаследовать либо просто сигнатуру функционала, либо вместе с реализацией.
Класс обязательно нужно объявлять как абстрактный, если класс является наследником абстрактного класса, но не все методы базового класса перекрыты и имеют реализацию, а также в том случае, если хотя бы один метод класса является абстрактным.
Разбираемся с поведенческим автоматизированным тестированием в .NET Core с использованием BDTest: https://proglib.io/w/cbfcaf95
Medium
Behaviour driven automation testing in .NET Core using BDTest
A walkthrough of behaviour driven testing and a guide to setting up BDTest to get more benefits out of your tests
Forwarded from C# jobs — вакансии по C#, .NET, Unity
C# разработчик
Формат работы: #fulltime #remote
Зарплата: $ 40 000 - 50 000 в год
Мы — платформа 6nomads, и прямо сейчас мы ищем опытного C# разработчика в компанию, которая решает задачи игровой индустрии в областях искусственного интеллекта, машинного обучения и больших данных. Продукт — многокомпонентное, сложное windows-приложение для внутреннего использования.
Технологии: С#, .NET core, .Net, Unmanaged code, RPC протоколы (JSON RPC, protobuf).
Инструменты: GitLab + GitLab CI, ProGet, GitFlow, Git submodules, общаемся в Slack, задачи ведем в YouTrack.
Условия: полная занятость, удаленная работа, до $5,000 в месяц.
Что предлагают:
— Сложные задачи, в которых можно сильно прокачать свои навыки;
— Участие в построении архитектуры разрабатываемых продуктов;
— Гибкий график;
— Оплата обучения внутри и вне компании.
Чтобы откликнуться, необходимо пройти короткий отбор по ссылке https://6nomads.com/. После этого мы сможем рекомендовать вас работодателю и свести к минимуму затяжные согласования и лишние собеседования.
Формат работы: #fulltime #remote
Зарплата: $ 40 000 - 50 000 в год
Мы — платформа 6nomads, и прямо сейчас мы ищем опытного C# разработчика в компанию, которая решает задачи игровой индустрии в областях искусственного интеллекта, машинного обучения и больших данных. Продукт — многокомпонентное, сложное windows-приложение для внутреннего использования.
Технологии: С#, .NET core, .Net, Unmanaged code, RPC протоколы (JSON RPC, protobuf).
Инструменты: GitLab + GitLab CI, ProGet, GitFlow, Git submodules, общаемся в Slack, задачи ведем в YouTrack.
Условия: полная занятость, удаленная работа, до $5,000 в месяц.
Что предлагают:
— Сложные задачи, в которых можно сильно прокачать свои навыки;
— Участие в построении архитектуры разрабатываемых продуктов;
— Гибкий график;
— Оплата обучения внутри и вне компании.
Чтобы откликнуться, необходимо пройти короткий отбор по ссылке https://6nomads.com/. После этого мы сможем рекомендовать вас работодателю и свести к минимуму затяжные согласования и лишние собеседования.
6Nomads
Senior Talent Acquisition for B2B SaaS Startups
We know who you're looking for
Библиотека шарписта | C#, F#, .NET, ASP.NET pinned «C# разработчик Формат работы: #fulltime #remote Зарплата: $ 40 000 - 50 000 в год Мы — платформа 6nomads, и прямо сейчас мы ищем опытного C# разработчика в компанию, которая решает задачи игровой индустрии в областях искусственного интеллекта, машинного обучения…»
DevSecOps for .NET Core.epub
7.9 MB
DevSecOps for .NET Core
Securing Modern Software Applications (2020)
Автор(ы):
Вы знаете про DevOps и наверняка уже слышали про DevSecOps. В общем случае модель DevSecOps подразумевает обеспечение безопасности на всех этапах разработки приложений. Ее также можно назвать философией интеграции методов безопасности в процесс DevOps.
С помощью книги вы научитесь автоматизировать основные задачи безопасности, внедрив элементы управления безопасностью и процессы на ранних этапах рабочего процесса DevOps через DevSecOps. Кроме того, вы ознакомитесь с SDK с открытым исходным кодом и наборами инструментов, которые помогут вам внедрить автоматизацию, безопасность и соответствие требованиям. Вы получите практические знания, касаемые встраивания безопасности в pipeline, деплоя в безопасный Docker, Kubernetes и публичные облака.
Securing Modern Software Applications (2020)
Автор(ы):
Вы знаете про DevOps и наверняка уже слышали про DevSecOps. В общем случае модель DevSecOps подразумевает обеспечение безопасности на всех этапах разработки приложений. Ее также можно назвать философией интеграции методов безопасности в процесс DevOps.
С помощью книги вы научитесь автоматизировать основные задачи безопасности, внедрив элементы управления безопасностью и процессы на ранних этапах рабочего процесса DevOps через DevSecOps. Кроме того, вы ознакомитесь с SDK с открытым исходным кодом и наборами инструментов, которые помогут вам внедрить автоматизацию, безопасность и соответствие требованиям. Вы получите практические знания, касаемые встраивания безопасности в pipeline, деплоя в безопасный Docker, Kubernetes и публичные облака.
Операторы
Оператор
is
и as
применяются для выполнения проверки или преобразования типов. При этом оператор is
проверяет, совместим ли тип среды выполнения для определенного выражения с указанным типом, а также проверяет соответствие результата выражения указанному шаблону (с версии C# 7.0). Например, выражение E is T
возвращает true
, если результат выражения E
отличен от NULL и может быть преобразован в тип T
. В противном случае он возвращает false
.Оператор
as
явным образом преобразует результат выражения в указанный ссылочный или поддерживающий значения NULL тип. Если такое преобразование невозможно, оператор as
возвращает значение NULL. Кроме того, оператор as
никогда не создает исключение.Отличная статья, которая поможет закрыть пробелы в понимании внедрения зависимостей в C#: https://proglib.io/w/44033d04
Dot Net Tutorials
Dependency Injection Design Pattern in C#
In this article, I am going to discuss the Dependency Injection Design Pattern in C# with examples. Dependency Injection is a process in which
Основы обеспечения безопасности приложений Blazor WebAssembly с помощью Auth0, в частности процесса аутентификации и авторизации.
https://proglib.io/w/4a2acdec
https://proglib.io/w/4a2acdec
Auth0 - Blog
How to Secure Blazor WASM Applications with Auth0
Learn how to secure Blazor WebAssembly applications with Auth0.
Многие слышали про отличный курс факультета веб-разработки GeekBrains. Но не всем по душе корпеть над базами данных и разбираться в бэкенде. Хочется сразу видеть результат 👀
Для интересующихся фронтендом открылась возможность поступить на факультет Frontend-разработки. Практикующие специалисты со стажем учат всему, что нужно: адаптивно верстать, кроить веб-приложения, понимать Vue и React, использовать концепции Flux и Redux, работать с Node.js и Git. ➕ 5 проектов в портфолио.
Самое классное, что это не просто обучение «для галочки» ✅, а университет с гарантированным трудоустройством 💸. Интересно? Смотрите сами: https://proglib.io/w/7bed040d
Для интересующихся фронтендом открылась возможность поступить на факультет Frontend-разработки. Практикующие специалисты со стажем учат всему, что нужно: адаптивно верстать, кроить веб-приложения, понимать Vue и React, использовать концепции Flux и Redux, работать с Node.js и Git. ➕ 5 проектов в портфолио.
Самое классное, что это не просто обучение «для галочки» ✅, а университет с гарантированным трудоустройством 💸. Интересно? Смотрите сами: https://proglib.io/w/7bed040d
#вопросы_для_самопроверки
Для чего в C# используются методы Dispose() и Finalize()? В чем их разница?
Для чего в C# используются методы Dispose() и Finalize()? В чем их разница?