Видеозапись доклада Алексея Голуб на .NET fwdays'20 про работу с деревьями выражений в C#, в ходе которого поднимались следующие вопросы:
– что такое дерево выражений;
– как скомпилировать код во время выполнения программы;
– как сделать рефлексию быстрее;
– как реализовать обобщенные операторы;
– как превратить доменный язык в дерево выражений;
– как утилизировать систему типов, чтобы сделать метапрограммирование безопасным;
– как перевести лямбду с одной речи в другую.
https://proglib.io/w/c9d53bdc
– что такое дерево выражений;
– как скомпилировать код во время выполнения программы;
– как сделать рефлексию быстрее;
– как реализовать обобщенные операторы;
– как превратить доменный язык в дерево выражений;
– как утилизировать систему типов, чтобы сделать метапрограммирование безопасным;
– как перевести лямбду с одной речи в другую.
https://proglib.io/w/c9d53bdc
YouTube
Работаем с деревьями выражений в C# [ru] / Алексей Голуб
Видео с онлайн-конференции .NET fwdays'20, которая прошла 11 апреля 2020 года.
Описание доклада:
В ходе этого доклада, рассматривается инструмент "expression trees" в деталях, и обращают внимание на реальные примеры, где он может принести настоящую пользу.…
Описание доклада:
В ходе этого доклада, рассматривается инструмент "expression trees" в деталях, и обращают внимание на реальные примеры, где он может принести настоящую пользу.…
Набор практических советов для начинающих и не только по работе с числами и датами: https://proglib.io/w/6988f748
Code with Shadman
C# Number And DateTime Tips
In this article, we're going to be learning about a whole host of different tips and tricks related to numbers and dates in C# and .NET.
Небольшая и интересная статья об истории и альтернативах платформы .NET: https://proglib.io/w/270b51ce
Хабр
История и альтернативы платформы .NET
Недавно мне повезло пообщаться с Крисом Бэйконом, который написал DotNetAnywhere (альтернативный вариант .NET Runtime), и я остроумно заметил:
… ты, наверное, один из тех немногих, кто создал...
… ты, наверное, один из тех немногих, кто создал...
Необходимость генерировать новый тип класса во время выполнения программы может обусловлена незнанием свойств вашего класса до выполнения, удовлетворением требований к производительности, необходимостью добавления функциональности в ваш новый тип и другим. Если такая задача возникнет, то можно обратиться к следующему мануалу: https://proglib.io/w/0bc2a53e
blog.wedport.co.uk
Generating C# .NET Core Classes at Runtime
There’s been several times in my C# career where I’ve had to generate new class types at runtime. Hopefully writing about it will help others in the same situation. It also means I won’t have to look up the same StackOverflow articles again in the future!…
Что выведет программа?
Anonymous Quiz
7%
10 20 и 5 25
2%
20 10 и 25 5
81%
10 20 и 5 125
2%
20 10 и 125 5
9%
Посмотреть результаты
Доступ к функции
set
осуществляется с использованием объекта класса z
, значения которого передаются в качестве параметров a
и b
. Поскольку переменные c1
и c2
являются публичными членами класса z
, то они доступны с помощью имени класса. В результате мы получаем 10
20
и 5
125
.Подборка из 15 видеоуроков, представляющих из себя реальные проекты на C# начального и экспертного уровня: https://proglib.io/w/e9b32576
DEV Community
15 C# Project Ideas: Beginner to Expert [With tutorial]
I got a huge request from my Instagram friends to make a post like this. I am not a c# developer. I j...
В .NET Core 3 Microsoft представила ряд новых и полезных инструментов для диагностики приложений:
– dotnet-counters для просмотра счетчиков производительности;
– dotnet-dump для сбора и анализа дампов;
– dotnet-trace для захвата событий времени выполнения, эквивалентных событиям ETW и образцам стеков ЦП.
В этой статье автор проводит некоторый анализ производительности с помощью dotnet-trace и PerfView на Linux.
https://proglib.io/w/96e5f70e
– dotnet-counters для просмотра счетчиков производительности;
– dotnet-dump для сбора и анализа дампов;
– dotnet-trace для захвата событий времени выполнения, эквивалентных событиям ETW и образцам стеков ЦП.
В этой статье автор проводит некоторый анализ производительности с помощью dotnet-trace и PerfView на Linux.
https://proglib.io/w/96e5f70e
Michael's Coding Spot
Performance Profiling of .NET Core 3 applications on Linux with dotnet-trace and PerfView
Performance issues never seem to disappear from the world, no matter how fast new computers become. To deal with those issues we need proper tools. We have some great tools on Windows. On .NET Core with Linux, things are not so great. But they're getting…
💸 12 способов зарабатывать с помощью программного кода
Все в курсе, что у программистов высокие зарплаты. Но обычная работа в компании – лишь один из источников, с помощью которых можно зарабатывать на программировании. В этой статье обсудим другие способы.
https://proglib.io/sh/u7tJsmH5S4
Все в курсе, что у программистов высокие зарплаты. Но обычная работа в компании – лишь один из источников, с помощью которых можно зарабатывать на программировании. В этой статье обсудим другие способы.
https://proglib.io/sh/u7tJsmH5S4
👨💻 Как выбрать сервер для 1С
Рассказываем, как выбрать сервер для продуктов 1С в зависимости от числа активных пользователей и других требований к системе.
https://proglib.io/sh/bL4TeHxcQy
Рассказываем, как выбрать сервер для продуктов 1С в зависимости от числа активных пользователей и других требований к системе.
https://proglib.io/sh/bL4TeHxcQy
Серия статей, где автор представляет практическую точку зрения на два принципиально противоположных подхода в разработке программ: объектно-ориентированный и функциональный.
Часть 1
Часть 2
Часть 3
Часть 1
Часть 2
Часть 3
Vasil Kosturski
Clash of Styles, Part #1 – Operations Matrix via OOP - Vasil Kosturski
OOP or FP? C# or F#? Is it just a matter of style? These series will give you a lot of food for thought. Enjoy Part #1
#вопросы_для_самопроверки
Что такое ковариантность и контвариантность делегата?
Представленный ниже делегат является ковариантным или контрвариантным?
Что такое ковариантность и контвариантность делегата?
Представленный ниже делегат является ковариантным или контрвариантным?
delegate T Factory<out T>();
Ковариантность
предполагает возможность возвращать из метода объект, тип которого является производным от типа, возвращаемого делегатом, а контрвариантность
предполагает возможность передавать в метод объект, тип которого является более универсальным по отношению к типу параметра делегата. Делегат, указанный в задании, являвется ковариантным.
Gui.cs — простой набор инструментов для разработки кросплатформенных консольных графических приложений для .NET, .NET Core и Mono.
https://github.com/migueldeicaza/gui.cs
https://github.com/migueldeicaza/gui.cs
GitHub
GitHub - gui-cs/Terminal.Gui: Cross Platform Terminal UI toolkit for .NET
Cross Platform Terminal UI toolkit for .NET. Contribute to gui-cs/Terminal.Gui development by creating an account on GitHub.
Что бы там ни говорили, а данные – это не только аналитика. Кто-то должен эти данные найти, сохранить и подготовить для анализа. Теперь всему можно научиться на факультете Data Engineering онлайн-университета GeekBrains:
🛠 Автоматизировать сбор данных
🚠 Создать конвейер обработки информации
🏗 Разработать архитектуру хранения и мониторинга
👓 Подготовить результаты для аналитиков
При успешном прохождении курсов компания гарантирует не только диплом, но и трудоустройство. Список осваиваемых инструментов и отзывы учеников здесь: https://proglib.io/w/5508d80c
🛠 Автоматизировать сбор данных
🚠 Создать конвейер обработки информации
🏗 Разработать архитектуру хранения и мониторинга
👓 Подготовить результаты для аналитиков
При успешном прохождении курсов компания гарантирует не только диплом, но и трудоустройство. Список осваиваемых инструментов и отзывы учеников здесь: https://proglib.io/w/5508d80c
Konrad_Kokosa_Pro_NET_Memory_Management_For_Better_Code,_Performance.pdf
24.2 MB
Pro .NET Memory Management: For Better Code, Performance, and Scalability (2018)
Автор(ы): Konrad Kokosa
Книга научит понимать внутреннюю работу, подводные камни и методы управления памятью .NET, чтобы эффективно избегать проблемы производительности и масштабируемости вашего программного обеспечения.
Несмотря на автоматическое управление памятью в .NET, есть много преимуществ в понимании того, как работает память .NET, и как вы можете наилучшим образом написать программное обеспечение, которое взаимодействует с ней эффективно и результативно.
В ходе чтения книги вы научитесь понимать теоретические основы автоматического управления памятью, использовать инструменты, связанные с управлением памятью .NET, для диагностики различных проблем; окунитесь в каждый аспект управления памятью .NET, включая подробное описание реализации сборки мусора (GC); получите практические советы о том, как эти знания могут быть применены в реальной разработке программного обеспечения.
Автор(ы): Konrad Kokosa
Книга научит понимать внутреннюю работу, подводные камни и методы управления памятью .NET, чтобы эффективно избегать проблемы производительности и масштабируемости вашего программного обеспечения.
Несмотря на автоматическое управление памятью в .NET, есть много преимуществ в понимании того, как работает память .NET, и как вы можете наилучшим образом написать программное обеспечение, которое взаимодействует с ней эффективно и результативно.
В ходе чтения книги вы научитесь понимать теоретические основы автоматического управления памятью, использовать инструменты, связанные с управлением памятью .NET, для диагностики различных проблем; окунитесь в каждый аспект управления памятью .NET, включая подробное описание реализации сборки мусора (GC); получите практические советы о том, как эти знания могут быть применены в реальной разработке программного обеспечения.
История о том, как на практике внедрить в команду ML без соответствующих hard-скиллов: https://proglib.io/w/cfdd8153
Habr
Как внедрить в команду ML, не имея соответствующих hard-скиллов
Привет, Хабр! Сегодня делимся историей нашего коллеги из партнерской компании о том, как он занимался внедрением машинного обучения в свою команду. Передаю слово автору. Я работаю тимлидом во...