Делегаты и события в C#

Автор: admin от Сегодня, 19:05, посмотрело: 6

Перевод статьи подготовлен специально для студентов курса «Разработчик С#».



Делегаты и события в C#


Что такое события в C#?



Событие может быть использовано для предоставления уведомлений. Вы можете подписаться на событие, если вам нужны эти уведомления. Вы также можете создавать свои собственные события, которые будут уведомлять вас о том, что случилось что-то, что вас интересует. .NET Framework предлагает встроенные типы, которые можно использовать для создания событий. Используя делегаты, лямбда-выражения и анонимные методы, вы можете создавать и использовать события удобным способом.

Категория: Программирование

 

Организаторы и ассистенты преподавателей об онлайн-программах CS центра

Автор: admin от Сегодня, 15:00, посмотрело: 18

14 ноября CS центр в третий раз запускает онлайн-программы «Алгоритмы и эффективные вычисления», «Математика для разработчиков» и «Разработка на C++, Java и Haskell». Они созданы, чтобы помочь погрузиться в новую область и заложить фундамент для обучения и работы в IT.



Чтобы поступить, вам нужно будет погрузиться в атмосферу обучения и сдать вступительный экзамен. Подробнее о программе, экзамене и стоимости читайте на code.stepik.org.



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



Организаторы и ассистенты преподавателей об онлайн-программах CS центра
Читать, как устроены программы

Категория: Программирование

 

«Для сообщества критически важно установить стандарты»: Марсин Москала о Kotlin

Автор: admin от Сегодня, 13:35, посмотрело: 13

«Для сообщества критически важно установить стандарты»: Марсин Москала о Kotlin


Пару лет назад было много блог-постов «смотрите, какой интересный язык Kotlin», где объяснялись основы. В 2019-м разжёвывать азы уже не требуется, зато теперь появляется публикация совсем другого формата. Марсин Москала, который уже не первый год учит людей этому языку, сейчас выпускает книгу «Effective Kotlin» — то есть уже не просто «как писать на Kotlin», а «как писать на Kotlin наилучшим образом».



А скоро Марсин приедет к нам на Mobius с докладом. Поэтому мы поспрашивали его и про новую книгу, и про доклад, и про обучение людей Kotlin, и о происходящем в индустрии вокруг этого языка. И про то, чем различаются слова «effective» и «efficient».

Категория: Game Development

 

Невангеры: Road is changed

Автор: admin от Сегодня, 13:35, посмотрело: 13

Всем доброго дня.

Время идёт и прототип странных гоночек, вдохновлённый классическими «Вангерами», немного подрос. Больше доступных машинок, локаций и игровых возможностей. Подробности — в статье.



Невангеры: Road is changed


Более подробно в курс дела вводит первая статья: Невангеры

Категория: Веб-разработка, Game Development

 

Создание собственных синтаксических конструкций для JavaScript с использованием Babel. Часть 2

Автор: admin от Сегодня, 13:25, посмотрело: 13

Сегодня мы публикуем вторую часть перевода материала о расширении синтаксиса javascript с использованием Babel.



Создание собственных синтаксических конструкций для JavaScript с использованием Babel. Часть 2



Головокружительная первая часть

Категория: Веб-разработка

 

F#10: Списки

Автор: admin от Сегодня, 11:30, посмотрело: 14

Любое серьезное программирование на любом языке всегда будет включать списки. Таким образом, вам будет приятно узнать, что F# очень и очень хорошо поддерживает списки с помощью своего модуля List. Список в F# — это упорядоченная, неизменная серия элементов одного типа.

Категория: Программирование

 

Планировщик ресурсов в HPE InfoSight

Автор: admin от Сегодня, 11:05, посмотрело: 12

Планировщик ресурсов в HPE InfoSight


HPE InfoSight – облачный сервис НРЕ, позволяющий проактивно выявлять возможные проблемы с надёжностью и с производительностью массивов HPE Nimble и HPE 3PAR. При этом сервис может также сразу рекомендовать и способы устранения возможных проблем, причём в ряде случаев устранение проблем может выполняться проактивно, в автоматическом режиме.



Про HPE InfoSight мы уже рассказывали на HABR, см., например, здесь или здесь.



В этом посте я хочу рассказать об одной новой фиче HPE InfoSight — Планировщике ресурсов (Resource Planner).

Категория: Информационная безопасность

 

Сравним инструменты для аудита изменений в Active Directory: Quest Change Auditor и Netwrix Auditor

Автор: admin от Сегодня, 11:05, посмотрело: 16

Сравним инструменты для аудита изменений в Active Directory: Quest Change Auditor и Netwrix Auditor


Оба продукта предназначены для выявления несанкционированных действий пользователей, подозрительной активности и контроля конфигураций в инфраструктуре Microsoft. Quest Change Auditor и Netwrix Auditor прямые конкуренты, которые вполне себе борются друг с другом за место на серверах заказчиков. Под катом выявленные нами особенности решений обоих вендоров.

Категория: Программирование, Информационная безопасность

 

OTUS. Наши любимые ошибки

Автор: admin от Сегодня, 11:00, посмотрело: 13

Два с половиной года назад мы запустили проект Otus.ru и я написал вот эту статью. Сказать, что я ошибся – это совсем ничего не сказать. Сегодня я хотел бы подвести промежуточный итог и немного рассказать о проекте, что у нас пока получилось, что у нас «под капотом». Начну я, пожалуй, с ошибок той самой статьи.



OTUS. Наши любимые ошибки

Категория: Android

 

Переупаковка пакетов в Gradle

Автор: admin от Сегодня, 11:00, посмотрело: 13

В своей статье хочу рассказать об очередной хитрости, которую можно довольно просто реализовать с помощью Gradle — переупаковке пакетов библиотек. Каждый, кто хоть чуть чуть работал с этой системой сборки, знает, что она автоматически умеет решать конфликты разных версий библиотек, а при желании можно повлиять на это, например зафорсить конкретную версию какой-нибудь библиотеки:



configurations.all {
    resolutionStrategy {
        force "org.ow2.asm:asm:7.2"
    }
}


К сожалению, это не всегда помогает решить проблему конфликта версий. Например, есть известная проблема, что некоторые устройства htc в прошивке уже имеют библиотеку gson и если ваша версия gson-а отличается от встроенной, то могут возникнуть проблемы, так как ClassLoader загрузит в память только один класс и в данном случае это будет системный.



Такая проблема также может возникнуть и при разработке библиотек. Если вы подключите в свой проект 2 библиотеки, использующие одну и ту же стороннюю библиотеку разных версий, например 1 и 2, то Gradle разрулит и возьмет самую новую версию, вторую. Но если в этой сторонней библиотеке нет обратной совместимости и вторая версия не может быть просто так использована вместо первой, то будут проблемы, которые наверняка будет очень сложно отследить по стектрейсу. Библиотека, ожидающая первую версию, получит классы второй и просто упадет.



Я столкнулся с конфликтом версий при написании градл плагина, в нем используется библиотека asm, которая и конфликтовала. После написания плагина, я проверил его работоспособность на тестовом проекте: все отлично, проверил на pet project-е, тоже все хорошо, но когда подключил к реальному рабочему проекту с кучей сторонних зависимостей, столкнулся с проблемой.



Переупаковка пакетов в Gradle

Решение проблемы под катом.

Категория: Android

 
Назад Вперед