📌 Из доклада вы узнаете о библиотеке автора под названием ConcurrencyToolkit с альтернативными реализациями async семафоров и key-value коллекций, а также о других библиотеках для написания производительного многопоточного кода, включая Disruptor.NET и NonBlocking.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Евгений Пешков «ConcurrencyToolkit»
В .NET из коробки есть разные примитивы синхронизации и concurrent-коллекции: SemaphoreSiim, ConcurrentDictionary, ConcurrentQueue, BlockingCollection, Channel и другие. Реализация подобных примитивов – всегда tradeoff: между сложностью кода, блокировками…
👍11🔥4
⚡️Самые полезные каналы по C# в одной папке
В ней:
➖ канал для подготовки к собеседованиям
➖ интересные задачи
➖ основной канал (этот)
➖ книги по C#
➖ лучшие вакансии из сферы
➖ и наш чат, в котором можно общаться и задавать вопросы
Добавляйте 👉 тык сюда
В ней:
Добавляйте 👉 тык сюда
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4❤3👍2🥱2🤔1
🛠12 методов отладки в Rider, о которых стоит следует знать
Гайд от Khalid Abuhakmeh, Developer Advocate в JetBrains 👇
1. Inline Watches
2. Return Values
3. Smart Step Into Debugging
4. Breakpoints Options
5. Drag Execution Pointer
6. Debugging External Decompiled Code
7. Exception Breakpoints
8. Run and Debug Static Methods
9. Edit and Continue
10. Memory View
11. Thread Specific Breakpoints
12. DebuggerDisplayAttribute Support
Гайд от Khalid Abuhakmeh, Developer Advocate в JetBrains 👇
1. Inline Watches
2. Return Values
3. Smart Step Into Debugging
4. Breakpoints Options
5. Drag Execution Pointer
6. Debugging External Decompiled Code
7. Exception Breakpoints
8. Run and Debug Static Methods
9. Edit and Continue
10. Memory View
11. Thread Specific Breakpoints
12. DebuggerDisplayAttribute Support
🔥19❤2👍1
📙Essential F# — бесплатная книга для тех, кто хочет изучить F# без предварительных знаний ни в языке, ни в функциональном программировании.
Опыт работы с C#/VB.NET, конечно, может быть полезен, но не является обязательным. И да, можно почитать в PDF/EPUB (в комментариях к посту) или посмотреть видеокурс на основе книги, который начнется совсем скоро 😉
👉 GitHub
Опыт работы с C#/VB.NET, конечно, может быть полезен, но не является обязательным. И да, можно почитать в PDF/EPUB (в комментариях к посту) или посмотреть видеокурс на основе книги, который начнется совсем скоро 😉
👉 GitHub
GitHub
essential-fsharp/Chapters at main · ijrussell/essential-fsharp
Markdown source of Essential F# ebook. Contribute to ijrussell/essential-fsharp development by creating an account on GitHub.
🔥5😁3👍2🤔1
Внутри каждого из нас живет критик. А как вы справляетесь со своим?
Anonymous Poll
23%
Хвалю себя за маленькие шаги
40%
Трезво оцениваю ситуацию
13%
Заменяю негативные мысли позитивными
14%
Критикую его в ответ
34%
Не справляюсь
3%
Свой вариант (напишу в комментарии)
🕹Хардкорный курс по Unity от Романа Сакутина
🕘 Таймкоды:
00:02:46 — Установка
00:04:40 — Основные понятия
00:29:01 — Создание уровня 3D
01:05:31 — Базовая физика
01:17:42 — Создание уровня 2D
01:38:51 — 2D физика
01:50:40 — 3D анимации
02:00:41 — 2D анимации
02:06:21 — Введение в скриптинг
02:55:19 — Code Style
03:01:07 — Связь компонентов
03:16:54 — Корутины
03:35:39 — Столкновения
03:40:48 — Эффектность
03:59:24 — Объекты в динамике
04:05:55 — Математика (Петр Земсков)
04:39:24 — Математика (Роман Сакутин)
05:02:12 — User Interface
06:07:07 — Flappy Bird
06:18:17 — Полезные инструменты
07:00:02 — Эффекты в Unity
07:30:38 — Монетизация (Евгений Гришаков)
08:12:34 — Основы 3D (Алексей Долгов)
10:04:46 — Моделирование
11:00:12 — Текстурирование
11:57:06 — Анимация
12:38:15 — Взаимодействие с 3D-художниками
12:50:30 — New Input System
13:15:51 — Оптимизация
13:31:05 — Продвинутая работа с редактором
13:54:55 — Подготовка к собесу (Антон Назаров)
14:38:28 — VR в Unity (Владимир Макушев)
🕘 Таймкоды:
00:02:46 — Установка
00:04:40 — Основные понятия
00:29:01 — Создание уровня 3D
01:05:31 — Базовая физика
01:17:42 — Создание уровня 2D
01:38:51 — 2D физика
01:50:40 — 3D анимации
02:00:41 — 2D анимации
02:06:21 — Введение в скриптинг
02:55:19 — Code Style
03:01:07 — Связь компонентов
03:16:54 — Корутины
03:35:39 — Столкновения
03:40:48 — Эффектность
03:59:24 — Объекты в динамике
04:05:55 — Математика (Петр Земсков)
04:39:24 — Математика (Роман Сакутин)
05:02:12 — User Interface
06:07:07 — Flappy Bird
06:18:17 — Полезные инструменты
07:00:02 — Эффекты в Unity
07:30:38 — Монетизация (Евгений Гришаков)
08:12:34 — Основы 3D (Алексей Долгов)
10:04:46 — Моделирование
11:00:12 — Текстурирование
11:57:06 — Анимация
12:38:15 — Взаимодействие с 3D-художниками
12:50:30 — New Input System
13:15:51 — Оптимизация
13:31:05 — Продвинутая работа с редактором
13:54:55 — Подготовка к собесу (Антон Назаров)
14:38:28 — VR в Unity (Владимир Макушев)
👍18😁9🥱5🤔3❤1
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍1
🔎 Глубокое исследование техники managed .NET hooking с использованием библиотеки Harmony
🤩 Jiri Vinopal из команды Check Point Research погружается в практику использования Harmony для динамического изменения поведения методов .NET во время выполнения, охватывая различные типы патчей: Prefix, Postfix, Transpiler, Finalizer и Reverse Patch.
📌 Для чего? Для решения конкретных задач с помощью Harmony, включая обход сложных обфускаторов, таких как ConfuserEx2.
👨🎓 Представленные Jiri методики сочетания отладки и перехвата могут значительно улучшить процесс разработки и отладки софта.
👉 Читать
🤩 Jiri Vinopal из команды Check Point Research погружается в практику использования Harmony для динамического изменения поведения методов .NET во время выполнения, охватывая различные типы патчей: Prefix, Postfix, Transpiler, Finalizer и Reverse Patch.
📌 Для чего? Для решения конкретных задач с помощью Harmony, включая обход сложных обфускаторов, таких как ConfuserEx2.
👨🎓 Представленные Jiri методики сочетания отладки и перехвата могут значительно улучшить процесс разработки и отладки софта.
👉 Читать
🥰4🤔4🔥2🥱2
Три фазы сборщика мусора в .NET на пальцах: на заметку C#-разработчику
1️⃣ Marking
На данной фазе сборщик мусора отмечает все объекты, которые можно будет удалить позже. Например, у нас есть небольшой локальный список внутри функции, которая завершает работу. Наш список теперь выходит из области видимости и может быть удален.
2️⃣ Sweeping
Теперь, когда у нас есть некоторые объекты, которые мы можем удалить, сборщик мусора пробегается и удаляет эти блоки памяти. Это может оставить неиспользуемые участки в памяти. Поэтому у нас есть следующая фаза.
3️⃣ Compacting
Данная фаза похожа на инструмент дефрагментации на старых жестких дисках, где файлы перемещаются в начало, а «пустое» пространство — в конец диска. Сборщик мусора делает что-то подобное с нашей памятью.
👉 Подробнее
#dotnet #csharp #tip by Steven Giesel
1️⃣ Marking
На данной фазе сборщик мусора отмечает все объекты, которые можно будет удалить позже. Например, у нас есть небольшой локальный список внутри функции, которая завершает работу. Наш список теперь выходит из области видимости и может быть удален.
2️⃣ Sweeping
Теперь, когда у нас есть некоторые объекты, которые мы можем удалить, сборщик мусора пробегается и удаляет эти блоки памяти. Это может оставить неиспользуемые участки в памяти. Поэтому у нас есть следующая фаза.
3️⃣ Compacting
Данная фаза похожа на инструмент дефрагментации на старых жестких дисках, где файлы перемещаются в начало, а «пустое» пространство — в конец диска. Сборщик мусора делает что-то подобное с нашей памятью.
👉 Подробнее
#dotnet #csharp #tip by Steven Giesel
👍29❤15🔥1🙏1
🧰 Copilot сегодня встроен в мобилки/Bing/Edge и основан на нескольких опенсорсных инструментах, включая SignalR, Adaptive Cards, Markdown и object-basin.
🤔 Но как все это работает вместе под капотом? Читайте подробнее про использование SignalR с другими инструментами на практике, потоковую передачу сообщений, ответы во внешний UI и другие аспекты, которые происходят стороне сервера.
👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3