💡Предложение для type (discriminated) unions в C#
Type unions позволяют хранить в переменной значения разных типов, которые могут быть ограничены заранее определенным набором типов. Это полезно, когда необходимо обрабатывать данные разного типа, но связанные общей логикой.
📌 В C# предлагается четыре категории type unions:
🔻 Standard Unions — объединения, где типы членов и само объединение могут быть определены вместе, например, для сериализации или моделей данных.
🔻 Specialized Unions — для кейсов, когда необходимо избегать выделения памяти или использовать специальные типы, при этом допуская некоторые ограничения.
🔻 Ad Hoc Unions — анонимные объединения типов, которые могут состоять из существующих, возможно, несвязанных типов.
🔻 Custom Unions — для кейсов, которые не подходят под предыдущие категории, например, если требуется особая логика хранения данных или поведение API.
Type unions могут быть реализованы как классы, структуры или анонимные объединения с использованием предложенного синтаксиса. Это расширяет возможности C# по работе с различными типами данных и улучшает безопасность типизации на этапе компиляции.
💬 Как вам?
Type unions позволяют хранить в переменной значения разных типов, которые могут быть ограничены заранее определенным набором типов. Это полезно, когда необходимо обрабатывать данные разного типа, но связанные общей логикой.
📌 В C# предлагается четыре категории type unions:
🔻 Standard Unions — объединения, где типы членов и само объединение могут быть определены вместе, например, для сериализации или моделей данных.
🔻 Specialized Unions — для кейсов, когда необходимо избегать выделения памяти или использовать специальные типы, при этом допуская некоторые ограничения.
🔻 Ad Hoc Unions — анонимные объединения типов, которые могут состоять из существующих, возможно, несвязанных типов.
🔻 Custom Unions — для кейсов, которые не подходят под предыдущие категории, например, если требуется особая логика хранения данных или поведение API.
Type unions могут быть реализованы как классы, структуры или анонимные объединения с использованием предложенного синтаксиса. Это расширяет возможности C# по работе с различными типами данных и улучшает безопасность типизации на этапе компиляции.
💬 Как вам?
GitHub
csharplang/proposals/TypeUnions.md at 18a527bcc1f0bdaf542d8b9a189c50068615b439 · dotnet/csharplang
The official repo for the design of the C# programming language - dotnet/csharplang
🔥19👍6🤩2🤔1👾1
⚙️ Переход на конфигурацию Microsoft.Extensions.Configuration (IOptions): история команды 2ГИС
Андрей Рягузов работает над внутренним продуктом для актуализации справочных данных на .NET. Несколько лет назад для работы с настройками его команда пользовались самописным методом.
Пока приложения были простыми, команду всё устраивало, однако при масштабировании начали вылезать неприятности. Поиски альтернативы не заставили себя ждать.
📌 Андрей рассказывает:
• почему изначально решились на нестандартный метод;
• что за сложности возникли и что хотели улучшить;
• какие решения рассматривали;
• и какие преимущества получили от «коробочных» инструментов.
Андрей Рягузов работает над внутренним продуктом для актуализации справочных данных на .NET. Несколько лет назад для работы с настройками его команда пользовались самописным методом.
Пока приложения были простыми, команду всё устраивало, однако при масштабировании начали вылезать неприятности. Поиски альтернативы не заставили себя ждать.
📌 Андрей рассказывает:
• почему изначально решились на нестандартный метод;
• что за сложности возникли и что хотели улучшить;
• какие решения рассматривали;
• и какие преимущества получили от «коробочных» инструментов.
👍18🔥1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🏄 6+ главных алгоритмов балансировки нагрузки
Балансировка нагрузки — процесс распределения входящих запросов между доступными серверами. Популярные подходы к балансировке по-разному решают проблему перегрузки системы.
В этой статье мы рассмотрим принципы работы, преимущества, недостатки и оптимальные сценарии использования самых известных алгоритмов.
👉 Читать статью
👉 Зеркало
Балансировка нагрузки — процесс распределения входящих запросов между доступными серверами. Популярные подходы к балансировке по-разному решают проблему перегрузки системы.
В этой статье мы рассмотрим принципы работы, преимущества, недостатки и оптимальные сценарии использования самых известных алгоритмов.
👉 Читать статью
👉 Зеркало
👍7
💡В .NET 9 появилась новая возможность использования альтернативной структуры поиска для словарей (Dictionaries) и множеств (HashSets), а также некоторых других специализированных коллекций, позволяющая выполнять поиск по объектам типа
Span.
Это позволяет выполнять поиск без выделения памяти!👍21🥰18🔥5❤1🌚1
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
👍2🥰1👾1
👨💻 Узнайте, как использовать MongoDB с EF Core в C#. После изучения технических деталей с некоторыми базовыми примерами вы научитесь создавать полноценный проект с MongoB и Entity Framework Core. В проекте будут использоваться образцы данных MongoDB Atlas для создания системы бронирования ресторанов.
▶ Смотреть
▶ Смотреть
❤5👍3🔥2
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍3👏1
🤔6❤🔥4🔥3
Ответьте на 3 вопроса, чтобы получить вводные занятия к курсу «Алгоритмы и структуры данных»
🔥Получите вводные занятия, ответив на 3 вопроса – https://proglib.io/w/82684bb8
На вводной части вас ждут:
1. Лекция «Производительность алгоритмов» от руководителя разработки Яндекс.Самокатов;
2. Лекция «Итеративные сортировки и линейные сортировки» от аспирант департамента искусственного интеллекта ВШЭ;
3. Практические задания после лекций;
4. Ссылки на дополнительные материалы для самостоятельного изучения.
⚡️ Переходите и начинайте учиться уже сегодня – https://proglib.io/w/82684bb8
🔥Получите вводные занятия, ответив на 3 вопроса – https://proglib.io/w/82684bb8
На вводной части вас ждут:
1. Лекция «Производительность алгоритмов» от руководителя разработки Яндекс.Самокатов;
2. Лекция «Итеративные сортировки и линейные сортировки» от аспирант департамента искусственного интеллекта ВШЭ;
3. Практические задания после лекций;
4. Ссылки на дополнительные материалы для самостоятельного изучения.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🚀 Ускорьте свою базу данных: 7 проверенных методов масштабирования и оптимизации
Масштабирование улучшает производительность и повышает надежность систем хранения данных путем оптимизации использования ресурсов и распределения нагрузки. В этой статье мы рассмотрим 7 эффективных методов масштабирования и оптимизации базы данных.
🔗 Читать статью
🔗 Зеркало
Масштабирование улучшает производительность и повышает надежность систем хранения данных путем оптимизации использования ресурсов и распределения нагрузки. В этой статье мы рассмотрим 7 эффективных методов масштабирования и оптимизации базы данных.
🔗 Читать статью
🔗 Зеркало
😁7
Ответьте на 3 вопроса, чтобы получить вводные занятия к курсу «Алгоритмы и структуры данных»
🔥Получите вводные занятия, ответив на 3 вопроса – https://proglib.io/w/82684bb8
На вводной части вас ждут:
1. Лекция «Производительность алгоритмов» от руководителя разработки Яндекс.Самокатов;
2. Лекция «Итеративные сортировки и линейные сортировки» от аспирант департамента искусственного интеллекта ВШЭ;
3. Практические задания после лекций;
4. Ссылки на дополнительные материалы для самостоятельного изучения.
⚡️ Переходите и начинайте учиться уже сегодня – https://proglib.io/w/82684bb8
🔥Получите вводные занятия, ответив на 3 вопроса – https://proglib.io/w/82684bb8
На вводной части вас ждут:
1. Лекция «Производительность алгоритмов» от руководителя разработки Яндекс.Самокатов;
2. Лекция «Итеративные сортировки и линейные сортировки» от аспирант департамента искусственного интеллекта ВШЭ;
3. Практические задания после лекций;
4. Ссылки на дополнительные материалы для самостоятельного изучения.
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡1👍1
🔥 Сравнение технологий для написания оконных приложений
Автор сравнил существующие подходы в .NET для построения десктопных приложений, создав с помощью каждого фреймворка крестики-нолики и закрепив бенчмарками.
• Windows Forms
• WPF
• WinUI
• .NET MAUI
• Avalonia
• Uno Platform
👉 Читать
Автор сравнил существующие подходы в .NET для построения десктопных приложений, создав с помощью каждого фреймворка крестики-нолики и закрепив бенчмарками.
• Windows Forms
• WPF
• WinUI
• .NET MAUI
• Avalonia
• Uno Platform
👉 Читать
🔥25👍14🤔5😁1