🔥 UUID v7 в .NET 9
.NET изначально поддерживает UUID v4 через
📌 UUID v7
Так как
Основным преимуществом является включение метки времени в UUID. Это дает 122 бита энтропии, включая 6 бит для версии и варианта где-то посередине.
Главное преимущество заключается в том, что вы можете сортировать UUID по времени их создания, что делает их более подходящими для баз данных по сравнению с UUID v4.
📌 Контроль метки времени
Поскольку метод ожидает
#csharp #dotnet #tip by
Steven Giesel
.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);
Основным преимуществом является включение метки времени в UUID. Это дает 122 бита энтропии, включая 6 бит для версии и варианта где-то посередине.
Главное преимущество заключается в том, что вы можете сортировать UUID по времени их создания, что делает их более подходящими для баз данных по сравнению с UUID v4.
📌 Контроль метки времени
Поскольку метод ожидает
DateTimeOffset,
вызывающая функция может использовать TimeProvider для контроля UtcNow:
var uuid = Guid.CreateVersion7(timeProvider.GetUtcNow());
timeProvider
может быть получен через DI контейнер и подделан в тестовых сценариях.#csharp #dotnet #tip by
Steven Giesel
👍45🔥6
Forwarded from Библиотека тестировщика | QA, тестирование, quality assurance, manual testing, autotesting, ручное тестирование, автотесты
🚩 Как понять, что с компанией точно что-то не так: 11 красных флагов на собеседовании
В этой статье мы расскажем о красных флагах, которые могут сигнализировать о серьезных проблемах в компании и помочь вам сделать правильный выбор.
Читать статью
В этой статье мы расскажем о красных флагах, которые могут сигнализировать о серьезных проблемах в компании и помочь вам сделать правильный выбор.
Читать статью
👍11
▶ Введение в .NET и C#
▶ Переменные, алгебра, литералы, методы
▶ Строки, string, StringBuilder
▶ Приведение типов, Math, массивы, DateTime
▶ if else, switch case, for, foreach, while, do while
▶ Массивы и коллекции
▶ ООП в C# (ч. 2, ч. 3, ч. 4, ч. 5, ч. 6, ч. 7)
#матчасть
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🥱7
Какая версия .NET используется в вашем текущем рабочем проекте?
Anonymous Poll
15%
.NET Framework 4.8 или ниже
2%
.NET Core 3.1
2%
.NET 5
17%
.NET 6
8%
.NET 7
46%
.NET 8
0%
Другая (напишу в комментариях)
10%
Посмотреть результаты
❤1
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍1
Хотите лучше разобраться в
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
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍9❤3😁1
This media is not supported in your browser
VIEW IN TELEGRAM
✈ Сам написал, сам полетал: как и зачем автор статьи разработал 3D-игру на C# с нуля под компьютеры из 90-х в 2024 году?
Интересно, как происходит процесс разработки игры с нуля — от первого «тридэ» треугольника, до работающей на реальном железе демки? Тогда добро пожаловать под кат!
👉 Читать
Интересно, как происходит процесс разработки игры с нуля — от первого «тридэ» треугольника, до работающей на реальном железе демки? Тогда добро пожаловать под кат!
👉 Читать
👍28🔥3🥱1
Forwarded from Библиотека Go-разработчика | Golang
🤯 International Blue Screen Day
Собрали мини-подборку фото и мемов по мотивам сегодняшних событий.
#назлобудня
Собрали мини-подборку фото и мемов по мотивам сегодняшних событий.
#назлобудня
😁41👏3