Библиотека шарписта | C#, F#, .NET, ASP.NET
22.9K subscribers
2.26K photos
36 videos
85 files
4.43K links
Все самое полезное для C#-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/b60af5a4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
🤔 Сталкивались ли вы когда-нибудь с исключением System.InvalidOperationException: Collection was modified; enumeration operation may not execute.?

Чтобы узнать, что List был изменен, Steven Giesel предложил ввести механизм версионности, который заключается в следующем:

☑️ В классе списка вводится поле version, которое инкрементируется каждый раз при изменении списка (добавлении, удалении элементов или изменении существующих).
☑️ При создании итератора для перечисления элементов списка запоминается текущее значение version.
☑️ В каждом вызове метода MoveNext() итератора происходит проверка: если текущее значение version списка отличается от значения, зафиксированного при создании итератора, генерируется исключение InvalidOperationException. Это предотвращает непредвиденные последствия от изменения коллекции во время её перебора.

Таким образом, при попытке изменить список в процессе его перечисления, система обнаруживает несоответствие версий и активно препятствует продолжению некорректной операции, защищая от ошибок выполнения и потенциальных багов в программе.
👍16🥱3
🚫 Как потреблять API с ограничением по RPS в .NET приложениях

Сеньор .NET-разработчик Степан Минин рассказывает, как отправлять запросы из HttpClient так, чтобы не получать 429 Too Many Requests.

👉 Читать
👍95🔥3
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍3
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🎭 7 типов программистов, которых вы встретите на собеседовании

Осторожно! Данная статья носит шуточный характер и не преследует цели обидеть кого-либо. Все ситуации выдуманы, а совпадения — случайны.

🔗 Читать статью
🔗 Зеркало
😁21👍6🥱4
💬 А вы что думаете?

#холивар
🌚16🥰8👍5😢4🥱2
🎙 Подкаст DotNet & More: тестируем код без лишних интерфейсов и не только

В C# принято создавать отдельный интерфейс для каждой сущности ради обеспечения тестируемости. Но так ли это нужно? Можно ли обойтись без создания дублирующего кода?

🕘 Таймкоды:

00:00:00 Вступление
00:02:50 В чем проблема интерфейсов для тестов?
00:18:45 protected virtual метод вместо выноса интерфейса
00:34:40 Мокаем прямые зависимости, AutoMock
00:50:50 Производительность вызова виртуальных методов

⏯️ YouTube | Apple Подкасты | Google Подкасты | Яндекс Музыка

#подкасты
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱31
💡Кстати, Invoke-Command в PS можно использовать с флагом -AsJob для параллельного запуска команд на нескольких компьютерах.

#powershell #tip by Adam Bertman
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍7🥰5👾21
👩‍💻 «REST API клиенты для C#» — доклад Артёма Квашнина про типичные ошибки при работе со стандартным HttpClient и многое другое

Артем разбирает реализацию межсервисного взаимодействия от Microsoft и самое главное — рассматривает плюсы и минусы популярных генераторов для API клиентов.

▶️ Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19
💡Создавайте ER-диаграммы своей базы данных непосредственно из обозревателя серверов в Visual Studio — попробуйте это в последней ежедневной сборке EF Core Power Tools.

#efcore #tip
Please open Telegram to view this post
VIEW IN TELEGRAM
👍92🥱2🔥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 — вакансии по информационной безопасности

📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈

Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT

Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *

* Организация Meta запрещена на территории РФ
👍3😁3🔥21
🎙«Как мы перешли на Microsoft.Extensions.Configuration и стало хорошо» — доклад Андрея Рягузова про то, как компания перешла от самописного метода работы с настройками к стандартному варианту, предлагаемому Microsoft.

💡 Вы узнаете, почему они использовали нестандартный метод изначально, какие выгоды и новые возможности открываются при использовании «коробочных» инструментов и как можно интегрировать их в свои проекты.

▶️ Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
👍176