23284
Все самое полезное для C#-разработчика в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/b60af5a4 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
🏪 eShop на основе ИИ: пример интеллектуального приложения
Пример представляет собой сайт поддержки, на котором клиенты могут задавать вопросы о товарах. Работники интернет-магазина отслеживают эти запросы, общаются с клиентами, классифицируют и в конечном итоге закрывают эти запросы.
Благодаря множеству функций этот пример выходит за рамки популярного сценария чат-бота и иллюстрирует несколько способов, с помощью которых ИИ может повысить производительность разработчиков и уровень индивидуальной поддержки клиентов.
👉 Читать гайд
📊🚀 Почему все говорят о Kafka?
Хочешь узнать, как обрабатывать миллионы событий в секунду и почему такие гиганты, как Netflix и Uber, без ума от Kafka? Давай разберемся, как этот инструмент может превратить поток данных в золотую жилу для твоего проекта.
Читать статью
💡 Parameter Object Pattern
Если метод принимает много связанных параметров, рассмотрите возможность группировки их в объект, чтобы упростить модификацию и сигнатуры.
Очень полезно, когда группа параметров часто используется повторно.
#dotnet #csharp #tip by Dave Callan
💬 А вы отдыхаете на выходных?
Ну это такие дни в течение недели, когда другие люди не работают, а отдыхают, то есть дают возможность организму/психике самовосстановиться.
👍 — да, только этим и занимаюсь
🤔 — нет, доделываю «хвосты» по работе
💯 — не работаю, но занимаюсь пет-проектами
🤩 — свой вариант (напишу в комментариях)
#интерактив
🔥 Инициализация объекта по индексу «от конца», partial свойства и индексаторы, params коллекции, атрибут приоритизации перегрузок, новый класс Lock и новая escape-последовательность: это и многое другое в обзоре нововведений, которые ждут нас в C# 13.
Автор — Валентин Прокофьев, C#-разработчик из PVS-Studio.
👉 Читать
👨💻 Если вы пишете веб-приложения на Blazor, обязательно присмотритесь к репозиторию Kristoffer Strube. Вот только несколько полезных проектов:
🛠️ Blazor.FileSystemAccess — обертка Blazor для File System Access browser API.
🛠️ Blazor.WebAudio — обертка Blazor для Web Audio browser API.
🛠️ Blazor.SVGEditor — базовый редактор SVG, написанный на Blazor.
🎮⚙️ Неправильные настройки импорта в Unity убивают вашу игру
Есть много вещей, которые могут пойти не так при разработке вашей игры. Модели могут иметь больше треугольников, чем может обработать целевая платформа, у них может быть слишком много материалов, поэтому батчинг не будет работать эффективно, а алгоритмы могут быть слишком затратными для процессора.
Это сложные проблемы, и вы, как разработчик игр, всегда должны помнить о необходимости соблюдать баланс между визуальной составляющей и производительностью. Тем не менее, есть некоторые вещи настолько простые, что мы часто забываем об их существовании, но они могут серьезно повлиять на производительность вашей игры:
☑️ Настройки импорта текстур: тип текстуры, размер и формат.
☑️ Настройки импорта аудиоклипов (звуковых файлов) и оптимизация звуковых эффектов.
👉 Подробнее об этом читайте в нашей статье
👉 Зеркало
❗Вакансии «Библиотеки программиста» — ждем вас в команде!
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
👉Переводчик и автор оригинальных статей
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
🔥 Работа с паттерном result: серия статей для C#-разработчика от Эндрю Лока
🔸 Первая часть посвящена замене использования исключений для управления потоком выполнения на паттерн result. Это позволяет избежать ряда проблем, но часто добавляет лишний шаблонный код.
🔸 Вторая часть показывает, как с помощью синтаксиса LINQ можно уменьшить этот шаблонный код. В результате методы становятся проще для чтения, точно описывают возвращаемые значения без исключений и корректно обрабатывают ошибки на промежуточных этапах.
👾🎮 Инди-студия StarlightLabsCo закрылась, а разработчик и её основатель Харрис Ротаермель опубликовал исходный код своих проектов.
Студия специализировалась на разработке игр с применением моделей машинного обучения для NPC и генерации сценариев.
Ну а теперь все желающие могут улучшать эти проекты или разрабатывать на их основе новые. Команда PVS-Studio решила не оставаться в стороне и разобрала основные ошибки в кодовой базе. Под катом — краткий обзор👇
🔗 Читать
🔥 Продвинутый C#: серия статей для начинающих
▪️ Intro
▪️ Delegates
▪️ Multicast Delegates
▪️ Anonymous Functions, and Lambdas
▪️ Understanding Action and Func
▪️ Events
▪️ Subscribing to Events
▪️ Passing Data into Event Handlers
▪️ Unsubscribing from Events
▪️ Operator Overloading
▪️ Extension Methods
▪️ Extension Methods Demo
▪️ Creating Reusable Extension Methods
🔒🔥 В .NET 9 появится новый тип Lock()
Отличный вариант для выделенного типа lock, поскольку это дает нам способ более четко выразить намерение нашего кода.
#dotnet #tip by Steven Giesel
💬 А вы используете ; section separator в C#?
В C# символ ; в строках форматирования чисел служит разделителем секций, каждая из которых применяется в зависимости от знака числа (положительное, отрицательное или ноль).
Строка формата может содержать до трёх секций, разделённых точкой с запятой. Это позволяет настраивать отображение чисел в зависимости от их значения ☝️
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
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 запрещена на территории РФ
🪶 Как следовать принципу DRY при настройке Apache APISIX
DRY — один из самых известных принципов разработки ПО: он помогает избежать ненужного повторения фрагментов кода, которые выполняют одни и те же действия. DRY также стоит применять при настройке конфигурации сложных систем, поскольку этот принцип:
☑️ Делает конфигурацию более компактной и легкой для понимания.
☑️ Упрощает поддержку — когда нужно внести изменения, вы делаете это только в одном месте.
☑️ Повышает читаемость — конфигурация становится более структурированной и логичной, что облегчает ее понимание.
☑️ Улучшает масштабируемость — при усложнении конфигурации принципы DRY помогают сохранять ее управляемой и расширяемой.
☑️ Сокращает время на настройку — используя переиспользуемые компоненты, можно быстрее создавать новые конфигурации или модифицировать существующие.
В качестве примера в статье рассматриваем, как применять DRY при настройке конфигурации API-шлюза Apache APISIX.
🔗 Читать статью
🔗 Зеркало
Вакансия: Разрабодчик С#
Локация: Россия;
Формат работы: удаленно;
Оплата: от 200.000 до 400.000 p. net
Добрый день! Ищем разработчика С# в инвестиционный фонд, занимающийся торговлей на фондовым рынке.
ALT Invest. – научно-техническая организация, которая стремится к максимально глубокому пониманию рыночных процессов и извлечению высокой прибыли на основе полученных знани
Максимально подходящий стек:
– Kubernetes, Docker
– .NET 7
– Работа с системами контроля версий git. В частности gitlab Работа сетевыми протоколами: grpc, SignalR
– Работа со сторонними технологиями:
Zookeeper PostgreSql ClickHouse
– Работа с библиотеками: EntityFramework (EF core) Asp.NET
Требования к компетенциям:
Знание базовых алгоритмов и структур данных
Понимание работы сети
Понимание телеметрии сервисов (метрики +, логи +, трассировки -)
Понимание многопоточности и асинхронности
Базовое понимание популярных архитектурных паттернов
Микросервисы
Синхронное/Асинхронное взаимодействие
Базовое понимание как устроена работа с памятью в .NET
📌 Пишите сюда @gal_keller
⚡️Разыгрываем флагманский смартфон
«Библиотека программиста» разыгрывает один из трех смартфонов на выбор:
🔹Samsung Galaxy S24 Ultra на 1 ТБ
🔹Xiaomi 14 Ultra на 512 ГБ
🔹iPhone 16 Pro Max на 512 ГБ
🔥 А еще 99 участников розыгрыша получат скидку 50% на наш курс Базовые модели ML и приложения!
Промокод будет действителен до 20 ноября.
Условия просты:
→ подписаться на Библиотека нейротекста
→ подписаться на Библиотека нейрозвука
→ подписаться на Библиотека нейрокартинок
→ нажать на кнопку «Участвовать» под этим постом
Итоги появятся 30 октября в 20:00 по московскому времени в нашем канале Библиотека программиста. Затем мы свяжемся с победителем, который сам выберет смартфон. Тем, кто получит промокод, мы вышлем его в течение недели после окончания розыгрыша.
⚠️ Убедитесь, что вам можно написать в личные сообщения или следите за результатами — если мы не сможем с вами связаться, то не сможем и отправить приз. Доставить мы можем только в города России и Беларуси.
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
🛠️ NetEscapades.AspNetCore.SecurityHeaders — небольшой пакет, позволяющий добавлять заголовки безопасности для веб-приложений на ASP.NET Core.
👉 Устанавливаем:
dotnet add package NetEscapades.AspNetCore.SecurityHeaders --version 1.0.0-preview.1
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp5.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="NetEscapades.AspNetCore.SecurityHeaders" Version="1.0.0-preview.1" />
</ItemGroup>
</Project>
🎃 Промокод на хеллоуин
50% на курс по Machine Learning
BIGDRAW😄 Тут мы подробно рассмотрели, из чего состоит курс:Онлайн-курс «Базовые модели ML и приложения»
Как научиться писать эффективный код на C#?
🔥 Команда Microsoft представила .NET 9 Release Candidate 2 и System.Text.Json 9.0
Выпуск System.Text.Json 9.0 включает множество функций, в первую очередь с упором на схему JSON и интеллектуальную поддержку приложений + вас ждет поддержка ссылочных типов nullable, настройка имен членов enum, out-of-order metadata deserialization и customizing serialization indentation.
В анонсе релиз-кандидата вы можете найти заметки о следующих улучшениях:
📚 Библиотеки
⏱️ Рантайм
🛠️ SDK
🌐 ASP.NET Core с обновлением до последних версий Bootstrap, jQuery и jQuery Validation
📱.NET MAUI, включая Xcode 16 и последние версии SDK
#новости
🔤 Код без боли: шрифты, которые спасут твои глаза
Если ты всё ещё не нашел идеальный шрифт для работы, эта статья может спасти твоё зрение.
Рассказываем:
▪️как настроить шрифт в Visual Studio Code;
▪️что такое лигатуры шрифтов;
▪️какие шрифты для программирования популярны.
👉 Читать обо всём здесь
🤯 Ситуация:
Вам поступает задача, вы на глаз оцениваете ее в две недели и получаете одобрение по срокам. Сначала все идет хорошо, пилите проект и ничто не предвещает беды.
Со временем задача усложняется, потому что данные приходят с задержками и вразнобой. Вы не делитесь с руководителем своими трудностями, потому что тогда это можно посчитать за некомпетентность.
А когда приходит время сдачи работы, выясняется, что большинство работы сделано неправильно.
💬 Как думаете, как стоило поступить исполнителю?
😎 Тем временем до .NET Conf 2024 осталось меньше месяца. Программа очень насыщенная, поэтому добавляйте в календарь, чтобы не пропустить 📆
👉 Ознакомиться с программой
💬 Пусть Т9 продолжит эту фразу за вас:
Как же меня бесит в программировании...
#интерактив
🤔 Основы математики в 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
⚒️ 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);
⚙️ Разработка масштабируемого векторного расширения в .NET
Kunal Pathak, разработчик в JIT-команде .NET Runtime, рассказывает о внедрении поддержки Scalable Vector Extension (SVE) на процессорах Arm в .NET.
SVE — это технология, позволяющая обрабатывать данные в параллельных потоках с гибкой длиной векторов, что значительно повышает производительность приложений, таких как машинное обучение и научные вычисления.
Команда Microsoft интегрировала поддержку SVE в .NET как экспериментальную функцию, позволяя разработчикам писать высокопроизводительный код, который использует современные архитектуры. Особое внимание уделено вызовам векторов и предикатов в API .NET, что упрощает адаптацию к различным аппаратным конфигурациям.
👉 Подробнеее
🤯 Что вам помогает работать, когда устаете? Когда в отпуск ну вообще никак, а сил уже нет.
💬 Может быть, чтение отвлеченной литературы, спорт, дневной сон, прогулки, встречи с друзьями, что-то ещё?
#интерактив