Волны ИИ
رفتن به کانال در Telegram
6 696
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-137 روز
-4330 روز
آرشیو پست ها
6 696
🤔 Основы математики в Machine Learning / Deep Learning
🗓 16 октября мы разберем ряд Тейлора, собственные векторы и другие ключевые понятия в ML – https://proglib.io/w/f98345b3
Спикер: Иван Потапов – Staff Machine Learning Engineer at ShareChat. Руководит командой, отвечающей за качество рекомендаций, и имеет 8-летний опыт в сфере машинного обучения.
😮 Что будем обсуждать:
– Теорию вероятностей: случайные величины, математическое ожидание и дисперсию.
– Линейную алгебру: векторы, матрицы, собственные векторы и собственные значения.
– Математический анализ: производные и разложение функций в ряд Тейлора.
👨💻 А еще после каждого блока вас ждет практика в применении полученных знаний.
🎯 Почему это важно?
Понимание математических основ помогает глубже разобраться в работающих под капотом алгоритмах ML/DL и эффективно применять их на практике.
Присоединяйтесь к нам и совершенствуйте свои навыки в машинном обучении!
📌 Регистрация по ссылке: https://proglib.io/w/f98345b3
6 696
+1
💬 А вы используете
; section separator в C#?
В C# символ ; в строках форматирования чисел служит разделителем секций, каждая из которых применяется в зависимости от знака числа (положительное, отрицательное или ноль).
Строка формата может содержать до трёх секций, разделённых точкой с запятой. Это позволяет настраивать отображение чисел в зависимости от их значения ☝️6 696
⚒️ Fluent Assertions — .NET-библиотека, которая предназначена для более читабельного и удобного написания тестов. Она предоставляет методы для проверки ожидаемых значений в тестах с использованием синтаксиса, который делает код тестов более выразительным и понятным.
var recipe = new RecipeBuilder()
.With(new IngredientBuilder().For("Milk").WithQuantity(200, Unit.Milliliters))
.Build();
Action action = () => recipe.AddIngredient("Milk", 100, Unit.Spoon);
action
.Should().Throw<RuleViolationException>()
.WithMessage("*change the unit of an existing ingredient*")
.And.Violations.Should().Contain(BusinessRule.CannotChangeIngredientQuantity);
👉 GitHub & Сайт6 696
+2
⚙️ Разработка масштабируемого векторного расширения в .NET
Kunal Pathak, разработчик в JIT-команде .NET Runtime, рассказывает о внедрении поддержки Scalable Vector Extension (SVE) на процессорах Arm в .NET.
SVE — это технология, позволяющая обрабатывать данные в параллельных потоках с гибкой длиной векторов, что значительно повышает производительность приложений, таких как машинное обучение и научные вычисления.
Команда Microsoft интегрировала поддержку SVE в .NET как экспериментальную функцию, позволяя разработчикам писать высокопроизводительный код, который использует современные архитектуры. Особое внимание уделено вызовам векторов и предикатов в API .NET, что упрощает адаптацию к различным аппаратным конфигурациям.
👉 Подробнеее
6 696
🪶 Как следовать принципу DRY при настройке Apache APISIX
DRY — один из самых известных принципов разработки ПО: он помогает избежать ненужного повторения фрагментов кода, которые выполняют одни и те же действия. DRY также стоит применять при настройке конфигурации сложных систем, поскольку этот принцип:
☑️ Делает конфигурацию более компактной и легкой для понимания.
☑️ Упрощает поддержку — когда нужно внести изменения, вы делаете это только в одном месте.
☑️ Повышает читаемость — конфигурация становится более структурированной и логичной, что облегчает ее понимание.
☑️ Улучшает масштабируемость — при усложнении конфигурации принципы DRY помогают сохранять ее управляемой и расширяемой.
☑️ Сокращает время на настройку — используя переиспользуемые компоненты, можно быстрее создавать новые конфигурации или модифицировать существующие.
В качестве примера в статье рассматриваем, как применять DRY при настройке конфигурации API-шлюза Apache APISIX.
🔗 Читать статью
🔗 Зеркало
6 696
🤯 Что вам помогает работать, когда устаете? Когда в отпуск ну вообще никак, а сил уже нет.
💬 Может быть, чтение отвлеченной литературы, спорт, дневной сон, прогулки, встречи с друзьями, что-то ещё?
#интерактив
6 696
🌳 Основы деревьев выражений в .NET
Деревья выражений — одна из сложных тем в C#/.NET, которую необходимо понять. Они представляют код в виде древовидной структуры данных, где каждый узел является выражением (например, вызов метода, бинарная операция или константа). Они позволяют динамически создавать, исследовать и выполнять код во время выполнения.
Деревья выражений особенно полезны для создания динамического кода, анализа кода во время выполнения и для таких фреймворков, как LINQ to SQL и Entity Framework, для преобразования кода C# в SQL-запросы или других операций.
👉 Читать гайд
6 696
Привет, друзья! 👋
Мы готовим статью о распространенных ошибках в карьере программиста и хотели бы услышать ваше мнение! Поделитесь своими мыслями и опытом, и самые полезные советы мы включим в нашу статью.
Вот несколько вопросов для вас:
🤔 С какими ошибками в своей карьере программиста вы сталкивались? Как вы их преодолели?
📚 Какие советы вы бы дали начинающим разработчикам, чтобы избежать распространенных ловушек в программировании?
🖥️ Что, по вашему мнению, важно учитывать при планировании своей карьеры в IT, чтобы минимизировать сожаления в будущем?
Спасибо за ваше участие! 🚀
6 696
🎙101-й выпуск подкаста RadioDotNet про FrozenDictionary в деталях, Aspire для тестов, локальную БЯМ и многое другое
⏳ Таймкоды:
[00:02:50] — Getting started with testing and .NET Aspire
[00:13:40] — Заглядываем под капот FrozenDictionary
[00:37:00] — Run a Large Language Model (LLM) Locally With C#
[00:52:50] — Differences Between Onion and Clean Architecture
[01:02:10] — Avoid using enums in the domain layer
[01:14:48] — Подслушано
[01:16:00] — Кратко о разном
⏯ YouTube | Другие площадки
#подкасты
6 696
🐧 Тредпульное заклятие Dotnet-демонов на Linux
Все слышали о том, что иногда .NET на Linux потребляет больше ресурсов, чем на Windows. Порой эта разница практически незаметна. Но случается и такое, что одно и то же приложение потребляет на Linux в 2–3 раза больше CPU, чем на Windows.
Автор делится опытом, с которым столкнулся при миграции сервиса на Linux. Вы узнаете основные различия в примитивах синхронизации различных операционных систем и их влияние на приложение.
👉 Читать
6 696
🤔 Как можно аннотировать основной конструктор атрибутом?
Ранее, если у записи/класса/структуры было несколько конструкторов, возникала проблема с десериализацией, так как необходимо было указать атрибут
JsonConstructor в основном конструкторе.
Начиная с C# 12, можно использовать method attribute target для указания конструктора☝️
#dotnet #csharp #tip by Oleg Kyrylchuk6 696
🤖 В июне команда .NET запустила первую бета-версию библиотеки OpenAI, что позволило разработчикам интегрировать продвинутые ИИ-модели в свои приложения. Несколько дней назад представлен релиз официальной библиотеки OpenAI для .NET. Этот выпуск гарантирует плавную и надежную интеграцию для разработчиков, работающих с OpenAI и Azure OpenAI в своих .NET- приложениях.
Основные фичи:
✔️ Упрощение интеграции новых моделей OpenAI в .NET-приложения (GPT-4o, GPT-4o mini, o1-preview и o1-mini).
✔️ Полная поддержка REST API OpenAI: включает Assistants v2 и Chat Completions для гибкого взаимодействия.
✔️ Расширяемость: библиотека спроектирована с учетом возможностей расширения, что позволяет сообществу создавать дополнительные библиотеки.
✔️ Синхронные и асинхронные API: предоставляют разработчикам гибкость в использовании синхронных или асинхронных моделей.
✔️ Доступ к streaming completions через
IAsyncEnumerable<T>, что открывает новые динамичные модели взаимодействия.
✔️ Совместимость с .NET Standard 2.0: б...6 696
🍇 Подборка лучших статей «Библиотеки программиста» за сентябрь: сохраняй в заметки, чтобы не пропустить #самыйсок
🔟🏩 ТОП-10 перспективных студий разработки: лучшие компании для вашего карьерного роста
🏗 3 основных шаблона событийно-ориентированной архитектуры
⚡️🔫 Секретное оружие бэкендера: 6 инструментов, о которых вы не знали
🥜🔨 Динамическое программирование: как щелкать задачки, как орешки
🎁 256-й день года: 15 подарков, которые оценит каждый программист
🛠 API-документация без головной боли: ТОП-11 инструментов
6 696
🤔FluentValidation: прекратите проверять правила при первой ошибке
По умолчанию он проверяет все правила и объединяет сообщения об ошибках. Более эффективно устанавливать
CascadeMode либо на уровне класса, либо на уровне цепочки правил, особенно при использовании MustAsync и асинхронных операций.
#dotnet #csharp #tip by Saeed Esmaeelinejad6 696
👩💻 Работа с tar-файлами в .NET 8
Еще в 2022 году .NET 7 получил поддержку для работы с tar файлами в базовой библиотеке классов.
Эндрю Лок как обычно во всем разобрался и описал, как выполнять некоторые базовые операции с tar-файлами, как он обычно использую CLI-утилиту tar и как вместо этого использовать встроенную в .NET поддержку.
using System.Formats.Tar;
using System.IO.Compression;
string sourceDir = "./my-files";
string outputFile = "./myarchive.tar.gz";
using FileStream fs = new(outputFile, FileMode.CreateNew, FileAccess.Write);
using GZipStream gz = new(fs, CompressionMode.Compress, leaveOpen: true);
TarFile.CreateFromDirectory(sourceDir, gz, includeBaseDirectory: false);
👉 Читать6 696
+1
🥳 Новый формат .NET-решения .slnx теперь доступен в последней превью-версии Rider
Этот формат находится в режиме превью в Visual Studio, а теперь еще и в Rider. Кажется, с новым форматом улучшена читаемость и возможность слияния (mergeability). Выше — пример различий по сравнению с существующим форматом для простого решения.
#dotnet #csharp #tip by Dave Callan
