23284
Все самое полезное для C#-разработчика в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/b60af5a4 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
⚒️ ReadOnlySet<T> в .NET 9: read-only set, похожий на ReadOnlyCollection<T>
Как он работает и почему был введен? Разбирается Steven Giesel👇
🔗 Читать
🎙Свежий выпуск подкаста RadioDotNet про обломный preview, правильные списки, спасительный кэш и многое другое
⏳ Таймкоды:
[00:01:07] — .NET 9 Preview 6 is now available
[00:34:35] — Readonly, Immutable, and Frozen Collections
[00:54:30] — Explore the latest preview features in C# 13
[01:04:00] — MemoryCache in C#, Practical Guide
[01:30:15] — Visual Studio 2022 17.11 Preview 3
⏯ YouTube | Apple Подкасты | Яндекс Музыка
#подкасты
📈 Улучшение производительности JSON-парсера в C#-проекте
Когда размер конфигураций и настроек в игре превышает десятки мегабайт, производительность даже самых тривиальных компонентов, таких как JSON-парсер конфигураций, становится критичной.
Автор инструмента для разработки игр Charon делится историей оптимизации одного из модулей. С примерами кода и интересными решениями.
👉 Читать
💡Явные транзакции EF Core помогают более гибко и надежно управлять операциями по сравнению с неявными транзакциями.
Это можно достичь с помощью следующих методов:
• BeginTransaction()• Commit() / RollBack()
#efcore #tip
✈ Сам написал, сам полетал: как и зачем автор статьи разработал 3D-игру на C# с нуля под компьютеры из 90-х в 2024 году?
Интересно, как происходит процесс разработки игры с нуля — от первого «тридэ» треугольника, до работающей на реальном железе демки? Тогда добро пожаловать под кат!
👉 Читать
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Хотите освоить исключения в С# и нюансы работы с ними?
Хорошие новости — всего за пару часов вы сможете:
▫️провести обзор по тому, что такое исключения и как можно отлавливать и обрабатывать их;
▫️рассмотреть общие и некоторые частные случаи по работе с исключительными ситуациями в .NET;
▫️получить ответы на все свои вопросы.
Ждём вас на открытом практическом уроке от OTUS!
Спикер Павел Нилов — опытный Fullstack-разработчик на стеке C#(.NET) и Javascript (React).
Встречаемся в преддверии старта курса «C# Developer. Professional». Все участники вебинара получат специальную цену на обучение!
➡ Пройдите короткий тест прямо сейчас, чтобы не пропустить бесплатный урок: https://otus.pw/xsor/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576 Erid 2VtzqwgVZow
🔥 UUID v7 в .NET 9
.NET изначально поддерживает UUID v4 через Guid.NewGuid(). Но начиная с предварительной версии 7, появилась поддержка UUID версии 7.
📌 UUID v7
Так как GUID является альтернативным названием для UUID, новый API находится в пространстве имен System.Guid:
var guid = Guid.CreateVersion7();
var guidWithTimestamp = Guid.CreateVersion7(DateTimeOffset.UtcNow);
DateTimeOffset, вызывающая функция может использовать TimeProvider для контроля UtcNow:
var uuid = Guid.CreateVersion7(timeProvider.GetUtcNow());
timeProvider может быть получен через DI контейнер и подделан в тестовых сценариях.
🏝️ Решаем очень сложную SQL-задачу об островах и проливах
Задача об островах и проливах — это классическая задача в SQL, часто используемая для оценки навыков программиста в работе с базами данных. Суть задачи заключается в том, чтобы в таблице, содержащей данные о событиях и их временных интервалах, объединить отдельные записи в непрерывные интервалы, представляющие собой «острова» (периоды, когда происходили события) и «проливы» (промежутки между ними).
👉В новой статье разбираем решение задачи👈
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
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 запрещена на территории РФ
Привет, друзья! 👋
Мы готовим статью о самых раздражающих вопросах на собеседованиях и хотим узнать ваше мнение! 🤔💼
📌 Какой вопрос на собеседовании вы считаете самым бесящим или нелепым? Почему?
🎭 Как вы обычно отвечаете на вопрос «Расскажите о своих недостатках»? Поделитесь своими лайфхаками!
🚀 Какой самый неожиданный или креативный вопрос вам задавали на собеседовании? Как вы на него ответили?
Ваши ответы помогут другим кандидатам подготовиться к собеседованиям! Самые интересные истории и советы попадут в нашу статью.
Ждём ваших комментариев! 👇😊
💡 Использование Find вместо FirstOrDefault с коллекциями
✅ Как FirstOrDefault, так и Find используются для поиска первого элемента в коллекции, удовлетворяющего определенному условию.
🚀 Find: потенциально может быть быстрее для коллекций в памяти (например, List<T>), поскольку потенциально может использовать прямое индексирование для поиска элемента.
💡 Это относится к следующим типам коллекций: List, Array, ImmutableList.
#tip #csharp #dotnet by Jalal Alzebda
Привет, друзья! 👋
Мы готовим статью о влиянии страха ошибок на работу программистов и хотим услышать ваше мнение! 💻🤔
🔍 Как вы справляетесь со страхом совершить ошибку в коде?
🛠️ Какие инструменты или практики в вашей команде помогают уменьшить страх перед внесением изменений в код?
🌱 Как вы превращаете свои ошибки в возможности для роста и развития?
💬 Поделитесь своим опытом! Ваши ответы могут помочь другим разработчикам! Лучшие идеи войдут в нашу статью.
🦮 Представлена новая версия .NET Upgrade Assistant
Инструмент помогает обновлять решения до новых версий .NET, независимо от того, обновляетесь ли вы с .NET Framework до .NET 8 или просто между версиями .NET Core.
.NET Upgrade Assistant просканирует ваши исходники и выявит потенциальные проблемы и зависимости, которые могут представлять трудности в процессе обновления.
Вам будет предоставлена комплексная панель инструментов, в которой представлены существующие проблемы и оценка того, сколько усилий потребуется для устранения каждой проблемы.
dotnet tool install -g upgrade-assistant
🛠 Траблшутинг 6 известных проблем в .NET MAUI
Если вы уже писали на .NET MAUI, наверняка сталкивались как минимум с одной из них:
✔️ Platform Version Isn’t Present
✔️ Type or Namespace ‘Default’ Doesn’t Exist When Using the Contacts API
✔️ Xcode Isn’t Currently Installed or Couldn’t Be Found
✔️ Duplicate Image Filename Errors
✔️ Xcode Version Can’t Be Located
✔️ Can’t Locate the .NET MAUI Workloads
👉 Читать
🔥 Collection expressions — уже в .NET corelib. PR от Stephen Toub смержен в пятницу.
#новости
Ответьте на 3 вопроса, чтобы получить вводные занятия к курсу «Алгоритмы и структуры данных»
🔥Получите вводные занятия, ответив на 3 вопроса – https://proglib.io/w/8b2c8452
На вводной части вас ждут:
1. Лекция «Производительность алгоритмов» от руководителя разработки Яндекс.Самокатов;
2. Лекция «Итеративные сортировки и линейные сортировки» от аспирант департамента искусственного интеллекта ВШЭ;
3. Практические задания после лекций;
4. Ссылки на дополнительные материалы для самостоятельного изучения.
⚡️Переходите и начинайте учиться уже сегодня – https://proglib.io/w/8b2c8452
🤯 International Blue Screen Day
Собрали мини-подборку фото и мемов по мотивам сегодняшних событий.
#назлобудня
Ozon Tech делится практиками микросервисной архитектуры на Route 256. Пройдите курс бесплатно и получите шанс попасть в команду.
Оставить заявку
/ для middle специалистов
с опытом от 3 лет /
Курсы проходят онлайн. Опытные инженеры Ozon Tech дважды в неделю проводят вебинары и воркшопы, разбирают домашку на код-ревью. У вас есть 2 месяца, чтобы набраться экспертизы ведущего e-com России.
🔥 Span в .NET: руководство от Stephen Toub
Хотите лучше разобраться в Span? Тогда этот вебинар для вас. Stephen Toub вместе со Scott Hanselman рассматривают System.Span, который обеспечивает безопасный способ доступа к непрерывным областям произвольной памяти.
⌛ Таймкоды:
00:00:00 Exploring the Impact and Evolution of Span in Software Engineering
00:03:09 Deep Dive into Assembly Code and its Translation
00:04:15 Exploring Methods to Disassemble and Analyze C# Function
00:05:43 Exploring the JIT Compiler and Assembly Code Optimization
00:12:03 Understanding Arrays and Pointers in Programming
00:16:46 Understanding Memory Management and Array Access in Programming
00:24:35 Discussing the Cost and Implementation of Memory Management Functions
00:26:23 Exploring the Intersection of Performance, Maintenance, and Interop in Programming
00:31:51 Understanding the Concept and Impact of Span in Computer Science
00:39:28 Discussion on Memory Protection and Immutability in Unix and Windows
00:45:59 Implementing and Understanding the Concept of Ref Functions in C#
00:51:08 Exploring JavaScript Optimal Notation and Memory Management
00:54:28 Exploring the Implementation and Functionality of Span in Programming
00:59:53 The Evolution and Impact of Span in .NET Development
👩💻 «C# Базовый курс» — мини-курс по C# для новичков от Ильи Фофанова (2022-2023)
▶ Введение в .NET и C#
▶ Переменные, алгебра, литералы, методы
▶ Строки, string, StringBuilder
▶ Приведение типов, Math, массивы, DateTime
▶ if else, switch case, for, foreach, while, do while
▶ Массивы и коллекции
▶ ООП в C# (ч. 2, ч. 3, ч. 4, ч. 5, ч. 6, ч. 7)
#матчасть
🚩 Как понять, что с компанией точно что-то не так: 11 красных флагов на собеседовании
В этой статье мы расскажем о красных флагах, которые могут сигнализировать о серьезных проблемах в компании и помочь вам сделать правильный выбор.
Читать статью
👩💻 Как работать с Tasks view: пошаговый гайд для .NET-разработчиков, которые используют Rider
Новый инструмент Rider (доступен в 2024.2 EAP) поможет визуализировать и оптимизировать планирование задач, а также обнаружить и исследовать взаимоблокировки в коде.
👉 Читать гайд
🛠 PowerShell Pro Tools — инструменты, которые упростят написание скриптов, автоматизацию и разработку для тех, кто работает с PowerShell. Установите с помощью следующей команды или как расширение в VS/VS Code.
Install-Module -Name PowerShellProTools
🤔 Если тестировать представленные выше методы на разных фреймворках .NET, то выясняется следующее:
• на .NET Framework и в ListRemove, и в SetRemove ожидаемо возникает исключение InvalidOperationException;
• на современном .NET в методе ListRemove ожидаемо возникает исключение, а вот в SetRemove — нет.
Почему так происходит? Разбирается .NET-разработчик Сергей Васильев👇
🔗 Читать
🚀 Представлена шестая предварительная версия .NET 9
Под капотом:
🔢 Усовершенствованная библиотека System.Numerics
🔍 Улучшения Regex
🔧 ARM64 Code Gen и поддержка AVX10v1 Runtime
📦 NuGetAudit для транзитивных зависимостей
🏠 C# Partial свойства и многое другое
#новости
🤦♂️ Забудьте о контроллерах и Minimal APIs в .NET
Ник Чапсас делится опытом разработки быстрых API в .NET с использованием библиотеки FastEndpoints.
▶ Смотреть
💬 А вы за какой подход?
💡Списки в .NET MAUI
Практический обзор различных элементов управления списками в .NET MAUI для мобильных приложений с упором на сильные и слабые стороны каждого варианта!
👉 Читать статью
👉 GitHub
🎓 Как я перешел из математиков в аналитики данных
Сменить профессию — нелегко, самое сложное — заставить себя получать новые знания. Но у вас есть прекрасная возможность взять под контроль ваш путь к карьере в области Data Science. Узнайте, как получить работу аналитиком данных.
🔗 Ссылка
🧹 Code Style для повышения производительности
Советы и инструменты от команды Metalama с примерами работы в Rider.
👉 Читать