
Всем привет, меня зовут Артур Богданов. Я занимаюсь проектированием, разработкой и оптимизацией высоконагруженных веб-приложений на ASP.NET Core.

Всем привет, меня зовут Артур Богданов. Я занимаюсь проектированием, разработкой и оптимизацией высоконагруженных веб-приложений на ASP.NET Core.
В этой статье попробуем разобраться, почему ООП — худшее, что было придумано в программировании, как оно стало таким популярным, почему опытные программисты Java (C#, C++ и т.п.) в принципе не могут считаться крутыми инженерами, а код на Java - хорошим.
Всем привет. Не так давно добавлял поддержку кастования через 'as' к себе в компилятор и задался вопросом - в каких случаях я получу Compile Time ошибку? Если заинтересовал - прошу под кат.
Решил начать с простого:
class Dog { }
class Cat { }
Dog dog = new Dog();
Cat cat = dog as Cat; // error: CS0039 Cannot convert type 'Dog' to 'Cat'
Тут, вроде, все логично: при кастовании смотрим - является ли тип кастуемого экземпляра дочерним от типа, к которому кастуем; или является ли тип кастуемого экземпляра родительским от типа, к которому кастуем. Если одно из условий верно, то ошибок во время компиляции возникать не должно.
Всем привет, эта статья создана для ребят, которые знакомы с делегатами, но хотели бы разобраться, что это поподробнее.
Что же такое делегаты?
Делегаты - это указатели на методы
Такое понятие нам дает практически каждый сайт, на который мы перейдем по запросу "Делегаты C#".
Также, как мы уже знаем - делегаты это ссылочный тип. Но давайте подумаем, где они храняться, как передаются и просто работают?
Сами методы хранятся в метаданных класса/структуры. "ссылки на методы" для делегатов хранятся в хипе. Но только лишь ссылка на метод храниться в хипе у делегата или что - то еще? Давайте проверим
Пару лет назад для .NET в Linux не было не то чтобы production-ready фреймворков для создания native desktop приложений, но и экспериментальных. На тот момент существовали Uno Platform и Avalonia (тогда еще бета). Они запускались, работали, но написать реальное и относительно сложное приложение было практически нереально. Сегодня ситуация значительно лучше. Avalonia уже вполне production-ready продукт и является, на мой взгляд, лидером среди desktop фреймворков на .NET для Linux.
В этой статье я расскажу об экспериментальной связке технологий, которую я раньше не встречал нигде и основным мотиватором была проверка жизнеспособности этой идеи.
Каждый разработчик часто сталкивается с написанием большого объема рутинного и повторяющегося кода, который имеет один и тот же смысл. Начиная с C# версии 9 появилась возможность генерации кода, которая интегрирована напрямую с компилятором. Такой подход позволяет избавиться от множества строк шаблонного кода. О нём сегодня и поговорим.
В современном мире анализа данных регрессионный анализ занимает центральное место, предоставляя мощные инструменты для выявления и количественной оценки взаимосвязей между переменными. Он позволяет исследователям и аналитикам не только описывать существующие зависимости, но и прогнозировать поведение систем на основе имеющихся данных. Одним из наиболее распространенных методов регрессионного анализа является метод наименьших квадратов, который стремится минимизировать сумму квадратов отклонений между наблюдаемыми и предсказанными значениями.
Данная статья затрагивает некоторые аспекты при выборе подхода к проектированию предметной области для сложных корпоративных систем. В ней исследуются причины возникновения классических подходов и их анализ, для возможного улучшения. Это моя первая статья на данную тему.