23284
Все самое полезное для C#-разработчика в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/b60af5a4 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
💻 15 продвинутых лайфхаков для работы в терминале Linux
Рассказываем, как использовать малоизвестные, но мощные инструменты терминала: от редактирования длинных команд в текстовом редакторе до автоматизации сложных процессов с помощью tmux.
👉 Ссылка
🌐 9 основных паттернов для проектирования распределенных систем
В этой статье мы рассмотрим 9 основных паттернов и области их применения, что поможет вам в проектировании высоконагруженных приложений.
Читать статью
⬆️🆕 Какой дополнительный soft skill вы бы добавили в список?
📈 Как вы развиваете свои soft skills?
Поделитесь своими мыслями и опытом в комментариях! Самые интересные идеи и предложения мы обязательно включим в статью. Спасибо за участие! 🙏
💉 ThreadPool – инъекция потоков
ThreadPool в .NET часто воспринимается нами как данность. Надежно укрытый от глаз за простым интерфейсом async-await, он выполняет трудную работу по обеспечению эффективной работы с потоками.
Два главных способа понять устройство ThreadPool — чтение кода и, конечно, эксперименты с многопоточностью. Автор статьи начинает с небольшого погружения в код ThreadPool’a, а заканчивает интересным кейсом применения матанализа в одной из самых важных частей многопоточности в .NET.
👉 Читать
🛠 Использование MSBuild.Sdk.SqlProj — альтернативы для SQL Database Projects
Если вы используете SQL Database Projects aka файлы .dacpac для разработки, вам стоит обратить внимание на альтернативный подход — MSBuild.Sdk.SqlProj.
📌 И вот почему:
1. Сборка SQL Database Project на любой платформе .NET и в любом .NET IDE и CI pipeline:
dotnet build
dotnet pack
dotnet publish
<RunSqlCodeAnalysis>True</RunSqlCodeAnalysis>
🍒 Подборка лучших статей «Библиотеки программиста» за июль: сохраняй в заметки, чтобы не пропустить #самыйсок
🆚 Docker или Podman: что лучше подойдет для вашего проекта
🏅🏃 Кто такие Junior, Middle, Senior и чем они различаются между собой
🎓 Как я перешел из математиков в аналитики данных
🏝️ Решаем очень сложную SQL-задачу об островах и проливах
🚩 Как понять, что с компанией точно что-то не так: 11 красных флагов на собеседовании
🐬🐘 PostgreSQL или MySQL: что лучше подойдет для вашего проекта
🐛 5 признаков неопытного разработчика: как избежать типичных ошибок и ускорить профессиональный рост
🎮🚀 Saturated Outer Space: как инди-разработчики перезапускают игру и бросают вызов жанровым стереотипам
Разработчики S.O.S. рассказывают, как создавать и продвигать инди-игру с нулевым бюджетом и что делать, если не хватает ресурсов продолжать дальше.
👉 Статья
👉 Группа игры ВК
👉 Стим
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👩💻 Пошаговое руководство по Docker для .NET-разработчиков
Гайд охватывает все, что вам нужно знать о Docker: от основ до продвинутых концепций, контейнеризации простого .NET-приложения, расширения его сервисами баз данных и Docker Compose.
👉 Читать
🏬 Разработка масштабируемого веб-API для приложения e-commerce с использованием .NET и MongoDB: пошаговый гайд
Гайд проведет вас через ключевые компоненты и принципы проектирования чистой архитектуры .NET, интеграцию MongoDB и различные функции и возможности приложения электронной коммерции.
👉 Читать
💬 Как вы оцениваете свой текущий уровень владения Git?
🤔 — начальный (основы: clone, commit, push)
👍 — средний (ветвление, слияние, разрешение конфликтов)
🔥 — продвинутый (rebase, cherry-pick, сложные сценарии слияний)
💯 — эксперт (внутреннее устройство Git, разработка собственных скриптов и инструментов)
🥱 — свой вариант (напишу в комментариях)
#холивар
🤔 Конечный автомат в C# с async/await
Вы могли слышать, что ключевые слова async и await в C# приводят к созданию конечного автомата. Но что это значит?
📌 Создание конечного автомата:
Компилятор разбивает метод на части вдоль границ await и создает конечный автомат, который управляет состоянием выполнения кода. Каждый раз, когда метод встречает await, выполнение приостанавливается, и создается состояние, которое будет продолжено после завершения асинхронной операции.
📌 Управление состояниями с помощью TaskScheduler:TaskScheduler управляет продолжением выполнения конечного автомата, запускает его, когда завершится ожидаемая задача. Конечный автомат синхронно выполняет код между await, а затем использует колбэки для продолжения выполнения.
📌 Хранение состояния:
Конечный автомат хранится в объекте Task или Task<T>, который также сохраняет текущие состояния и результаты выполнения задач, а также возможные исключения.
👉 Подробнее в гайде от Steven Giesel
👾 Слабоумие и отвага: разработка игры Disciples 2 на Avalonia и WPF
Поступая в университет на программиста, автор статьи мечтал стать разработчиком игр. Но жизненный путь привёл в десктоп на WPF, поэтому в пет-проекте объединились опыт десктоп-разработчика и стремление писать игры. Так родился Disciples II на Avalonia и WPF.
Под катом — история о получившемся движке, об оригинальных ресурсах игры и их адаптации под проект.
👉 Читать
✍️ «Библиотека программиста» находится в поиске автора на написание книжных рецензий
Кто нужен?
● Энтузиасты (джуны и выше), которые которые разбираются в IT
● Любители книг, которые хотели бы получать деньги за чтение и написание рецензий
● Работаем с самозанятыми (компенсируем налог), ИП
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
✉️ Станьте частью нашей команды — присылайте резюме и примеры работ hello@proglib.io
👍 Хочешь создавать собственных Telegram-ботов, но не знаешь, с чего начать?
⏰ 25 июля в 20:00 мск ты узнаешь все секреты создания простого интерактивного приложения TelegramBot на примере игры в крестики-нолики!
Подключайся к открытому вебинару и стань мастером телеграм-ботов!
✅После урока ты сможешь легко зарегистрировать и настроить своего бота, получать сообщения от пользователей и отправлять им ответы.
➡️Раскрой свой потенциал и окунись в мир интерактивной разработки: https://vk.cc/cyAI1t
🎁 Встречаемся в преддверии старта курса C# Developer. До 31.07 на курс действует скидка 10%.
Реклама. ООО «Отус онлайн-образование», ОГРН 117774661857
Erid 2VtzquvqKg6
🤔 Cloned Dictionary 🆚 Immutable Dictionary 🆚 Frozen Dictionary в условиях высокой нагрузки на систему: сравнение эффективности различных реализаций словарей в условиях высокой нагрузки на систему
Автор делится опытом и рассказывает о том, какой тип словаря может быть неэффективным из-за больших затрат на выделение памяти и какой работает медленно из-за необходимости выделения памяти для каждой операции.
👉 Читать
🔥 Non-allocating split finally: совсем скоро в .NET 9
Читать полностью…
😨 Страх ошибок: как он мешает вам писать код
Страх совершить ошибку при внесении изменений в код может серьезно ограничивать профессиональный рост программиста. Как преодолеть этот психологический барьер и стать более эффективным разработчиком? Ответы — в нашей статье.
🦄 5 мифов о работе в IT, которые мешают начать карьеру программиста
Разоблачаем в нашей статье 5 распространенных мифов о карьере в IT: от замены программистов нейросетями до необходимости технического образования.
🔗 Ссылка
🍇 18 основных паттернов микросервисной архитектуры
Рассказываем о паттернах, которые представляют собой набор проверенных решений типичных проблем и задач в микросервисной архитектуре. Их правильное применение может значительно улучшить масштабируемость и надежность системы.
Читать статью
🚀 Зависимость заменена одной строкой кода, что позволило уменьшить еженедельный трафик на 440 ГБ. Миф? По словам Андрея Акиньшина, реальность!
#perfomance
🛤 .NET Backend Developer Roadmap: 12 ключевых разделов
Другие дорожные карты по .NET/C#/ASP.NET/Game Dev вы найдете с помощью хештега #roadmap 😉
👉 Источник
🤖 ИИ в действии в реальных .NET приложениях
В рамках недавней сессии .NET AI Community Standup Bruno Capuano и Shaltiel Shmidman погрузились в реальное применение совместной работы .NET и ИИ.
Вы на практике увидите, как ASP.NET, ONNX Runtime и TorchSharp используются для создания приложения, обрабатывающего более 100 000 запросов в день на каждом серверном инстансе.
Ведущие также рассказали об интеграции различных архитектур глубокого обучения, таких как модели BERT и RNN, которые направлены на минимизацию задержек и максимальную производительность.
▶ Смотреть
Разработка десктопных Linux-приложений с .NET и Uno Platform: видеогайд от Jérôme Laban (CTO Uno Platform)
⏳ Таймкоды:
00:00:00 Discussing App Development for Linux with Uno Platform
00:01:59 Discussing the Architecture and Platform Advantages of Uno
00:07:02 Introduction to Uno Platform and Its Features
00:12:37 Discussing the Functionality and Support of C# Markup
00:13:45 Demonstration and Discussion of the Features and Capabilities of Uno App Development
00:19:46 Exploring the Features and Capabilities of the Uno Platform
🤔 Как максимально канонично и современно писать на .NET для GNU/Linux и одноплатников: статья, которая родилась из холивара об использовании Mono в 2024 году
Автор на примерах показывает, что .NET 8 отлично работает на ARM.
💬 А вы что думаете?
👉 Читать
⚡️Как С#-разработчику вырасти до уровня Senior в 2024?
💪Изучить .NET Framework, Scrum-методики и многое другое на онлайн-курсе «C# Developer. Professional» от OTUS.
Программа идеально подходит для начинающих C#-разработчиков, которые хотят развиваться в серверной разработке, создании приложений и микросервисов.
🎯На курсе вас ждут:
▫️ живые вебинары с возможностью задать вопросы экспертам;
▫️ много практики и сильные проекты для портфолио;
▫️ поддержка профессионального комьюнити.
🎁 Все кто приобретет курс до 29 июля получат в подарок подготовительный курс по С# для освоения основной программы Middle+!
👉Пройдите бесплатный тест прямо сейчас и узнайте, готовы ли вы сделать следующий шаг в карьере.
Erid 2VtzqvUsq6r
💵⚡ДАРИМ 40 000₽ ЗА ВИДЕО
Конкурс года в «Библиотеке программиста»: смонтируйте короткий вертикальный ролик формата Shorts/Reels* на тему программирования и разработки — лучший автор получит 40 тысяч рублей 🤑
Подробные условия:
➡️смонтируйте короткий смешной вертикальный ролик (можно и нужно использовать мемы)
➡️отправьте нам в бота @ProglibContest_bot
➡️лучшие ролики (по мнению редакции) мы будем выкладывать в канал и в наш инстаграм*
➡️тот, чей ролик соберет больше всего просмотров в инстаграм*, получит приз — 40 тысяч рублей
Какие ролики мы не принимаем:
😟не вашего авторства (проверим!)
😟длинные, не вертикальные, несмешные
Таймлайн:
2 августа — заканчиваем принимать видео
⬇️
3 августа — начинаем загружать лучшие видео в инстаграм
⬇️
9 августа — подводим итоги
*Организация Meta признана экстремистской в РФ
🐛 5 признаков неопытного разработчика: как избежать типичных ошибок и ускорить профессиональный рост
Независимо от уровня теоретической подготовки, переход от обучения к реальной практике всегда сопряжен с множеством вызовов. Начинающие разработчики часто сталкиваются с рядом типичных проблем, которые могут существенно замедлить их профессиональный рост.
В этой статье мы рассмотрим наиболее распространенные проблемы, с которыми сталкиваются начинающие разработчики:
🔗 Читать статью
🤖💸 «Создание торгового бота на F#» — доклад Nikhil Barthwal на LambdaCond 2024, основная цель которого — показать, как создать торгового бота на F# и продемонстрировать, насколько легко различные торговые стратегии могут быть переведены в функционально корректный код.
▶ Смотреть
🐬🐘 PostgreSQL или MySQL: что лучше подойдет для вашего проекта
PostgreSQL и MySQL — самые популярные реляционные СУБД. Обе обеспечивают надежное хранение и эффективное извлечение данных, и потому сделать выбор между ними не так-то просто.
В этой статье мы углубимся в сравнение PostgreSQL и MySQL: рассмотрим их особенности, основные отличия, функциональность и производительность, a также обсудим типичные сценарии использования, чтобы определить, какая из них лучше подходит для конкретного проекта.
👉 Читать статью
👉 Зеркало