hydranoscript v2.1.0
Наконец-то добил релиз новой версии языка
В него вошли различные улучшения, баг фиксы (аж 5 штук) и 1 новая фича
Из интересного огрёб опять новых приключений с GitHub Actions
Во-первых, чуваки в гитхабе решили, что маки на интелах больше никто покупать не будет, и усиленно задепрекейтила раннеры macos-x64
Что бы я ни делал, просто получал неизвестную внутреннюю ошибку, поэтому пришлось оставить сборку только для силиконовых чипов
Во-вторых, GitReleaseManager упорно продолжает не писать ошибки в логи, и отлаживаться приходится локально
Оказалось, что тулза запускается только под 7 дотнетом, а на раннерах его уже не ставят по дефолту, потому что ветер времени
Пришлось явно прописать в релизный воркфлоу его установку для каждой джобы
А ещё в гитхабе кривой rebase, делайте его локально своим гитом
И никогда, слышите, никогда не используйте кнопку rebase and merge в PR-ах
Тем не менее, релиз выкачен, почитать можно в репе прямо сейчас
Upd: в релизе оказался баг) фикс внутри версии 2.1.1
Наконец-то добил релиз новой версии языка
В него вошли различные улучшения, баг фиксы (аж 5 штук) и 1 новая фича
Из интересного огрёб опять новых приключений с GitHub Actions
Во-первых, чуваки в гитхабе решили, что маки на интелах больше никто покупать не будет, и усиленно задепрекейтила раннеры macos-x64
Что бы я ни делал, просто получал неизвестную внутреннюю ошибку, поэтому пришлось оставить сборку только для силиконовых чипов
Во-вторых, GitReleaseManager упорно продолжает не писать ошибки в логи, и отлаживаться приходится локально
Оказалось, что тулза запускается только под 7 дотнетом, а на раннерах его уже не ставят по дефолту, потому что ветер времени
Пришлось явно прописать в релизный воркфлоу его установку для каждой джобы
А ещё в гитхабе кривой rebase, делайте его локально своим гитом
И никогда, слышите, никогда не используйте кнопку rebase and merge в PR-ах
Тем не менее, релиз выкачен, почитать можно в репе прямо сейчас
Upd: в релизе оказался баг) фикс внутри версии 2.1.1
GitHub
Release v2.1.0 · Stepami/hydranoscript
As part of this release we had 19 commits which resulted in 17 issues being closed.
Новый способ печати объектов, а также багфиксы и прочие доработки
Bugs
#49 [bug] Нельзя использовать идентификат...
Новый способ печати объектов, а также багфиксы и прочие доработки
Bugs
#49 [bug] Нельзя использовать идентификат...
🔥8👍6❤3
В этом году я состою в Программном Комитете конференции Стачка и отвечаю за секцию C#
Приглашаю СтепВанчиков выступить с годным контентом
Если у вас только идея, пишите - доработаем и дойдём до доклада
Конференция пройдёт в Ульяновске 18-19 апреля, участие оффлайн
Вся информация тут👇
Информация спикерам: https://ul25.nastachku.ru/to-do-speaker-ul25
Регистрация: https://ul25.nastachku.ru/users-new
Подача доклада: https://ul25.nastachku.ru/lectures-new
Приглашаю СтепВанчиков выступить с годным контентом
Если у вас только идея, пишите - доработаем и дойдём до доклада
Конференция пройдёт в Ульяновске 18-19 апреля, участие оффлайн
Вся информация тут👇
Информация спикерам: https://ul25.nastachku.ru/to-do-speaker-ul25
Регистрация: https://ul25.nastachku.ru/users-new
Подача доклада: https://ul25.nastachku.ru/lectures-new
ul25.nastachku.ru
Спикерам 2025 Ульяновск
Стань спикером XIII международной IT-конференции «Стачка»!ПрограммаВ этом году программа конференции состоит из 45+ секций в рамках 4 направлений По всем вопросам связанными с докладами и программойTelegram @nastachku_program email friends@nastachku ru Как…
❤11👍6🔥2
Новый месяц, новый PR в hydranoscript
Товарищ в гитхабе с никнеймом hw2cb перевёл проект на девятый дотнет, внедрил упорядоченный по вставке словарь и увеличил тестовое покрытие
Этот PR вошёл в последний релиз)
Огромное тебе спасибо за энтузиазм и инициативу!
Накидаем реакций герою труда и обороны💪
Товарищ в гитхабе с никнеймом hw2cb перевёл проект на девятый дотнет, внедрил упорядоченный по вставке словарь и увеличил тестовое покрытие
Этот PR вошёл в последний релиз)
Огромное тебе спасибо за энтузиазм и инициативу!
Накидаем реакций герою труда и обороны
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
Feature/Перейти на OrderedDictionary в FunctionWithUndefinedReturnStorage (.NET 9+) by hw2cb · Pull Request #121 · Stepami/hydranoscript
Denoscription
Переход на лаконичный, более подходящий для данного сценария тип OrderedDictionary
Related Issues
#82
Переход на лаконичный, более подходящий для данного сценария тип OrderedDictionary
Related Issues
#82
❤18🔥7👍3
Топ-3 бесполезных фичи C# в 2025 по мнению StepOne
1️⃣ Кортежи - зачем они нужны, если есть рекорды, которые не раздувают сигнатуру и имеют сравнение по значению и печать в строку из коробки???
2️⃣ Короткий конструктор new(). Из моей коммерческой практики нигде не используется, все пишут var.
3️⃣ Ключевое слово new для перекрытия членов. Существует только для генерации задач на собесы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤🔥6😁5🔥1
StepOne | Степан Минин
Большой Шарпизм Начинаем забирать 2025) Сидел на днях, и в голову пришла мысль - есть svo ремиксы, гачи ремиксы, даже рыбалка ремиксы... А айти ремиксов никто не завёз И тогда я решил открыть этот жанр - бац, готов текст и сегодняшняя запись на студию…
50 сердечек ❤️ на этом посте и в конце февраля дропаю новый айти ремикс про созвоны
Please open Telegram to view this post
VIEW IN TELEGRAM
❤55❤🔥1🔥1
StepOne | Степан Минин
28 февраля дроп на ютубе
Сниппет доступен в StepOne Premium
P.S. Во вторник туда доедет запись эфира о ЗП переговорах
StepOne - 52 созвона
Сниппет доступен в StepOne Premium
👍7🔥4❤2
12 февраля в StepOne Premium прошёл легендарный эфир ZP 101:
Запись наконец-то доступна!
Внутри нереальная ultimate база по большому шарпизму и высокому окладу на карточку каждый месяц!
1. Когда начинаются зарплатные переговоры?
2. Позиционирование в диалоге, почему выгодно обозначить вилку в начале
3. Как выжать максимум по верху вилки
4. Два пути торга
5. Разбор моих кейсов повышения суммы трудоустройства + gem шаблон
Посмотреть запись можно по ссылке👇
https://news.1rj.ru/str/tribute/app?startapp=slOA
Зарплатные Переговоры 101
Запись наконец-то доступна!
Внутри нереальная ultimate база по большому шарпизму и высокому окладу на карточку каждый месяц!
1. Когда начинаются зарплатные переговоры?
2. Позиционирование в диалоге, почему выгодно обозначить вилку в начале
3. Как выжать максимум по верху вилки
4. Два пути торга
5. Разбор моих кейсов повышения суммы трудоустройства + gem шаблон
Посмотреть запись можно по ссылке👇
https://news.1rj.ru/str/tribute/app?startapp=slOA
Telegram
Tribute
This bot helps content creators receive financial support from their followers directly in the app.
❤🔥5❤2🔥2👍1😁1
Я против гейткипинга и люблю приводить людей в тусовки, в которые им трудно попасть
Аж два раза выдал инвайт Антону Назарову на Хабр, хоть и тщетно)
У него своя история отношений с ресурсом)
Недавно, пригласил ещё одного товарища, которого точно не заблокируют, потому что он профи фронтенда и рассказывает про это направление интересно!
Если вы не хотите ждать дебюта на Хабре, то почитайте его тг канал «Джун на фронте»
Автора зовут Юрий, он пилит интеграции для Web3 и пытается в инди-хакинг
Если вы хотите как и я разгадать тайны непонятного фронтенда, то welcome к @divatoz
Аж два раза выдал инвайт Антону Назарову на Хабр, хоть и тщетно)
У него своя история отношений с ресурсом)
Недавно, пригласил ещё одного товарища, которого точно не заблокируют, потому что он профи фронтенда и рассказывает про это направление интересно!
Если вы не хотите ждать дебюта на Хабре, то почитайте его тг канал «Джун на фронте»
Автора зовут Юрий, он пилит интеграции для Web3 и пытается в инди-хакинг
Если вы хотите как и я разгадать тайны непонятного фронтенда, то welcome к @divatoz
Telegram
Джун на фронте | IT Dev Log
▪︎ стартап @pravku без NDA
▪︎ исходный код моего пути в IT
▪︎ документирую каждый пивот жизни
▪︎ исходный код моего пути в IT
▪︎ документирую каждый пивот жизни
🔥7👍5❤2😁1
StepOne | Степан Минин
В этом году я состою в Программном Комитете конференции Стачка и отвечаю за секцию C# Приглашаю СтепВанчиков выступить с годным контентом Если у вас только идея, пишите - доработаем и дойдём до доклада Конференция пройдёт в Ульяновске 18-19 апреля, участие…
Напоминаю, что 28 февраля заканчивается приём заявок для выступления на Стачке
Призываю всех проактивных и заинтересованных подать доклад в C# секцию👇
https://ul25.nastachku.ru/lectures-new
Не стесняйтесь писать в личку, если что-то не получается или не понятно
Призываю всех проактивных и заинтересованных подать доклад в C# секцию
https://ul25.nastachku.ru/lectures-new
Не стесняйтесь писать в личку, если что-то не получается или не понятно
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2❤🔥1❤1
Настоящий эксперт - это не просто сотрудник, а продукт и бизнес
Вы думали, что жизнь в найме закончена после зарплатного потолка?
Глеб Лукьянов, автор канала Путь Экспансии, расскажет как преодолеть это плато с помощью внедрения маркетинговых механик в свою карьеру
Это не про резюме, не про отклики на вакансии, а про позиционирование себя как продукта, работу с ценностью, конверсией и выход на более высокий уровень дохода
Захват рынка начинается здесь
Вы думали, что жизнь в найме закончена после зарплатного потолка?
Глеб Лукьянов, автор канала Путь Экспансии, расскажет как преодолеть это плато с помощью внедрения маркетинговых механик в свою карьеру
Это не про резюме, не про отклики на вакансии, а про позиционирование себя как продукта, работу с ценностью, конверсией и выход на более высокий уровень дохода
Захват рынка начинается здесь
Telegram
Глеб и Карьера
Менторство по карьере с выводом на оффер ⚡️
✔ Обо мне — https://news.1rj.ru/str/gleblukianov/3
✔ Менторство — https://news.1rj.ru/str/gleblukianov/397
✔ Приватный канал — https://news.1rj.ru/str/gleblukianov/535
Говорю про маркетинг на @lukianovgleb
✔ Обо мне — https://news.1rj.ru/str/gleblukianov/3
✔ Менторство — https://news.1rj.ru/str/gleblukianov/397
✔ Приватный канал — https://news.1rj.ru/str/gleblukianov/535
Говорю про маркетинг на @lukianovgleb
👍3🔥3❤2😁1
StepOne | Степан Минин
StepOne - 52 Созвона
(ALBLAK 52 - +7(952)812 Remix)
Максимальные сердечки на пост ❤️
https://youtu.be/kLysty4bwhI
(ALBLAK 52 - +7(952)812 Remix)
Максимальные сердечки на пост ❤️
https://youtu.be/kLysty4bwhI
❤20🔥3👍2❤🔥1
StepOne | Степан Минин
Январь пролетел быстрее билда на девятом дотнете 💨 Месяц выдался продуктивным на канале 📱 запустил StepOne Premium через tribute 📱 Провёл там два эфира: 6 и 22 января 📱 Выпустил айти ремикс дотнеткор 📱 В предпоследний день месяца дропнул видос, но он…
Поздравляю с началом весны!
Март - месяц премий!
Поэтому, номинирую следующие посты:
👩💻 Обнаружил баг в Rider
👩💻 Выкатил hydranoscript 2.1.0
📣 Стал ПК конференции Стачка
👩💻 Раздал базы по зарплатным переговорам в Шарпизме
📱 Дропнул 52 созвона
Март - месяц премий!
Поэтому, номинирую следующие посты:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7❤🔥4🔥4
Вы не знали этот NuGet пакет!
Речь конечно же про Fare, но что эта штука умеет?
Инструмент генерирует строки, под заданное регулярное выражение.
ВНЕЗАПНО, порт джавовской либы, имеет ряд ограничений к регуляркам(
Пример, использования:
Очевидно, что применение в тестах - можно генерировать номера телефонов, имейлы, данные по спецификациям.
Есть вариант удобно интегрировать, поскольку пакет включён в
Чтобы понять подход, советую смотреть доклад про юнит тесты в Шарпизме
Пример из hydranoscript.
Создаём класс-обёртку над строкой, поле размечаем атрибутом
Далее берём автоданные и просим в тест массив от 10 до 25 токенов:
Реализацию контрактов
Речь конечно же про Fare, но что эта штука умеет?
Инструмент генерирует строки, под заданное регулярное выражение.
ВНЕЗАПНО, порт джавовской либы, имеет ряд ограничений к регуляркам(
Пример, использования:
using Fare;
var regex = "[a-zA-Z]+";
var xeger = new Xeger(regex);
var text = xeger.Generate();
Очевидно, что применение в тестах - можно генерировать номера телефонов, имейлы, данные по спецификациям.
Есть вариант удобно интегрировать, поскольку пакет включён в
AutoFixture.Пример из hydranoscript.
Создаём класс-обёртку над строкой, поле размечаем атрибутом
[RegularExpression], оттуда будет считываться паттерн.
public record TokenInput(
[property: RegularExpression(TokenInput.Pattern)]
string Value) :
IAdditiveIdentity<TokenInput, TokenInput>,
IAdditionOperators<TokenInput, TokenInput, TokenInput>
{
[StringSyntax(StringSyntaxAttribute.Regex)]
public const string Pattern = "[a-zA-Z]+|[0-9]+|[+]{2}";
public static TokenInput operator +(TokenInput left, TokenInput right) =>
new(left.Value + " " + right.Value);
public static TokenInput AdditiveIdentity { get; } = new(string.Empty);
}
Далее берём автоданные и просим в тест массив от 10 до 25 токенов:
[Theory, AutoData]
public void GetTokens_MockedRegex_ValidOutput(
[MinLength(10), MaxLength(25)] TokenInput[] tokenInputs
Реализацию контрактов
System.Numerics сделал для удобного склеивания через LINQ:
var text = tokenInputs.Aggregate(
TokenInput.AdditiveIdentity,
(x, y) => x + y).Value
www.nuget.org
Fare 2.2.1
.NET port of dk.brics.automaton - Project Fare is an effort to bring a DFA/NFA (finite-state automata) implementation from Java to .NET. There are quite a few implementations available in other languages today. This project aims to fill the gap in .NET.
1👍14❤4🔥4❤🔥1
StepOne | Степан Минин
А может это был не баг?
Спустя месяц борьбы мне таки удалось победить райдер и заставить его видеть результат работы сурс генератора
Не знаю, что случилось с обновлением и переходом на 9 net sdk, но стало очевидно, что IDE запускает билд и Roslyn плагины через MSBuild
А он гораздо капризнее, чем
Например, даже при заглушённом RS1041 MSBuild тупо отказывался создавать инстанс генератора
Вот TFM не netstandard2.0, значит не хочу не буду!
Дальше всё стало сложнее - генератор парсил JSON строку для сборки глобального паттерна, но в стандарте либы нет - она только в sdk)))
Но подключить в плагин NuGet reference, это та ещё боль - https://github.com/dotnet/roslyn/issues/52017
Надо позаботиться о том, чтобы зависимость и всё, что ей требуется вышли в папку analyzers!
А там начнутся неразрешимые конфликты версий…
В итоге отказался от JSON и перешёл на стрим объектов
А дальше ещё лучше - правило с перекладыванием DLL применяется не только к внешним пакетам, но и проектным референсам!
Но там проще, всего лишь выставляем
Результат борьбы в виде PR hydranoscript прикрепляю
Победил, но какой ценой…
Спустя месяц борьбы мне таки удалось победить райдер и заставить его видеть результат работы сурс генератора
Не знаю, что случилось с обновлением и переходом на 9 net sdk, но стало очевидно, что IDE запускает билд и Roslyn плагины через MSBuild
А он гораздо капризнее, чем
dotnet buildНапример, даже при заглушённом RS1041 MSBuild тупо отказывался создавать инстанс генератора
Вот TFM не netstandard2.0, значит не хочу не буду!
Дальше всё стало сложнее - генератор парсил JSON строку для сборки глобального паттерна, но в стандарте либы нет - она только в sdk)))
Но подключить в плагин NuGet reference, это та ещё боль - https://github.com/dotnet/roslyn/issues/52017
Надо позаботиться о том, чтобы зависимость и всё, что ей требуется вышли в папку analyzers!
А там начнутся неразрешимые конфликты версий…
В итоге отказался от JSON и перешёл на стрим объектов
А дальше ещё лучше - правило с перекладыванием DLL применяется не только к внешним пакетам, но и проектным референсам!
Но там проще, всего лишь выставляем
OutputItemType="Analyzer"Результат борьбы в виде PR hydranoscript прикрепляю
Победил, но какой ценой…
GitHub
Refactoring/constants by Stepami · Pull Request #140 · Stepami/hydranoscript
Related Issues
Closes #139 #138
Closes #139 #138
🔥8❤2👍2❤🔥1
12 марта 19-30 новый эфир в Шарпизме 👩💻
Так теперь называется закрытый канал
В течение получаса буду разбирать личный список компаний для работы дотнет по следующим критериям:
1. Деньги
2. Напряг
3. Собес
4. Легаси/скилл
Успей подписаться, потому что уже завтра я выключу скидку на первый месяц, и все новые шарписты будут платить по фулл прайсу
На скрине та мощная база, которая доступна уже сейчас
Вступай в шарпизм, и твой оффер пробьёт 450👩💻
Так теперь называется закрытый канал
В течение получаса буду разбирать личный список компаний для работы дотнет по следующим критериям:
1. Деньги
2. Напряг
3. Собес
4. Легаси/скилл
Успей подписаться, потому что уже завтра я выключу скидку на первый месяц, и все новые шарписты будут платить по фулл прайсу
На скрине та мощная база, которая доступна уже сейчас
Вступай в шарпизм, и твой оффер пробьёт 450
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥4❤🔥2❤2
StepOne | Степан Минин
Всем привет! Буквально через пару недель я выступлю на конференции DotNext 2024 с докладом про обобщенную математику в C# 11. Посмотрим на концепцию обобщенной математики с нуля, покажу участникам конференции как она выглядит в C# 11 и как она могла бы выглядеть…
Маленькие победы Generic Math в .NET
Осенью 2024 года я рассказывал всё, что нужно знать про обобщённую математику в C#
Она появилась в 7 дотнете, а в этом ноябре уже будет релиз 10 версии.
И с тех пор очевидный ответ на вопрос "зачем" проявляется отдельными частями только сейчас
Становится очевидно, что Microsoft готовят нечто похожее на платформу для создания экосистемы AI разработки
Например, в 9 .NET появился тип данных
Что интересно эти методы разработаны так, чтобы использовать SIMD ускорения CPU в зависимости от предоставляемых возможностей (AVX, SSE и так далее)
Получается некоторая долголетняя многоходовочка из Generic Math,
- Адепты ООП получают новый мощный архитектурный инструмент, решающий проблемы костылей из синглотонов и жалких попыток симуляции ad-hoc полиморфизма
- Microsoft приближается ещё на один шаг к обретению конкурентоспособности на рынке ML разработки, добиваясь возможности разработки глубоких моделей, чтобы нейросети тренировали не на Python, а на C#
- Любителям Производительности закрывают вопрос ускорения вычислений на
Ставьте 🔥 и ❤️ на пост, чтобы я написал пост про Generic Math в действии
Осенью 2024 года я рассказывал всё, что нужно знать про обобщённую математику в C#
Запись доклада доступна в Шарпизме👩💻
Она появилась в 7 дотнете, а в этом ноябре уже будет релиз 10 версии.
И с тех пор очевидный ответ на вопрос "зачем" проявляется отдельными частями только сейчас
Становится очевидно, что Microsoft готовят нечто похожее на платформу для создания экосистемы AI разработки
Например, в 9 .NET появился тип данных
Tensor<> для работы с тензорами и был расширен класс TensorPrimitives, содержащий (теперь обобщённые) операции над векторными типами данных в обёртке Span'овЧто интересно эти методы разработаны так, чтобы использовать SIMD ускорения CPU в зависимости от предоставляемых возможностей (AVX, SSE и так далее)
public class ManhattanDistance<T> : IDistanceCalculator<T>
where T : unmanaged, INumberBase<T>
{
public double ComputeDistance(T[] attributesOne, T[] attributesTwo)
{
Span<T> diff = stackalloc T[Math.Min(attributesOne.Length, attributesTwo.Length)];
TensorPrimitives.Subtract(attributesOne, attributesTwo, diff);
var l1Norm = TensorPrimitives.SumOfMagnitudes<T>(diff);
return double.CreateTruncating(l1Norm);
}
}
Получается некоторая долголетняя многоходовочка из Generic Math,
Span, stackalloc и много другого, которая убивает несколько зайцев сразу:- Адепты ООП получают новый мощный архитектурный инструмент, решающий проблемы костылей из синглотонов и жалких попыток симуляции ad-hoc полиморфизма
- Microsoft приближается ещё на один шаг к обретению конкурентоспособности на рынке ML разработки, добиваясь возможности разработки глубоких моделей, чтобы нейросети тренировали не на Python, а на C#
- Любителям Производительности закрывают вопрос ускорения вычислений на
Span, который не оптимизируется JIT'ом так, как массив или списокЧто дальше, Гейтс и Наделла?
Ставьте 🔥 и ❤️ на пост, чтобы я написал пост про Generic Math в действии
Please open Telegram to view this post
VIEW IN TELEGRAM
Docs
What's new in .NET libraries for .NET 9
Learn about the new .NET libraries features introduced in .NET 9.
🔥50❤12🤯5👍2❤🔥1
Generic Math in Action
Сейчас я работаю над закрытым пет-проектом, где понадобилась кластеризация данных
Погуглив варианты различных алгоритмов, я пришёл к выводу, что мне подходит класс иерархических кластеризаторов, поскольку они не требуют указания числа кластеров
DBSCAN и HDBSCAN по сути, однако HDBSCAN лучше, так как более устойчив к шуму, и его наличие не влияет на результат
Оказалось, что некий канадец реализовал HDBSCAN в NuGet пакете HdbscanSharp, однако код принуждал использовать тип данных
Взглянув на код, стало понятно, что его можно актуализировать внедрением обобщённой математики, поскольку функции вычисления расстояний отделены от алгоритма, и жёсткой зависимости в виде хранения векторов тоже нет
Открыл PR, подождал какое-то время, однако его не вмержили, поскольку было много breaking change, тогда я решил самостоятельно выпустить новый пакет
Получился HdbscanSharp.GenericMath - https://www.nuget.org/packages/HdbscanSharp.GenericMath
Код можно посмотреть на гитхабе - https://github.com/Stepami/HdbscanSharp-GenericMath
Сейчас я работаю над закрытым пет-проектом, где понадобилась кластеризация данных
Погуглив варианты различных алгоритмов, я пришёл к выводу, что мне подходит класс иерархических кластеризаторов, поскольку они не требуют указания числа кластеров
DBSCAN и HDBSCAN по сути, однако HDBSCAN лучше, так как более устойчив к шуму, и его наличие не влияет на результат
Оказалось, что некий канадец реализовал HDBSCAN в NuGet пакете HdbscanSharp, однако код принуждал использовать тип данных
double для датасета, что было неудобным для меня, поскольку я пользовался float и конвертациями заниматься не хотелосьВзглянув на код, стало понятно, что его можно актуализировать внедрением обобщённой математики, поскольку функции вычисления расстояний отделены от алгоритма, и жёсткой зависимости в виде хранения векторов тоже нет
Открыл PR, подождал какое-то время, однако его не вмержили, поскольку было много breaking change, тогда я решил самостоятельно выпустить новый пакет
Получился HdbscanSharp.GenericMath - https://www.nuget.org/packages/HdbscanSharp.GenericMath
Код можно посмотреть на гитхабе - https://github.com/Stepami/HdbscanSharp-GenericMath
www.nuget.org
HdbscanSharp.GenericMath 1.0.0
It is the fork of original HdbscanSharp package (2.0.0) refactored to support Generic Math with usage of SIMD accelerated tensor calculations
🔥18👍6❤🔥3❤2
Dapper больше не нужен
К такому выводу я пришёл, когда изучал последние версии EF Core
Вообще, необходимость linq2db тоже уже под вопросом...
Так вот, оказывается в 8 версии мелкомягкие тупо отжали рынок у библиотеки
Выглядит это так:
Причём такой запрос параметризируется с защитой от инъекции
Да и вообще там сейчас много всего крутого, особенно для проектирования DDD моделей
Советую присмотреться(я админ мне можно советовать)
К такому выводу я пришёл, когда изучал последние версии EF Core
Вообще, необходимость linq2db тоже уже под вопросом...
Так вот, оказывается в 8 версии мелкомягкие тупо отжали рынок у библиотеки
Выглядит это так:
public class BlogPost
{
public int Id { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public DateOnly PublishedOn { get; set; }
public int BlogId { get; set; }
}
var start = new DateOnly(2022, 1, 1);
var end = new DateOnly(2023, 1, 1);
var postsIn2022 =
await context.Database
.SqlQuery<BlogPost>($"SELECT * FROM Posts as p WHERE p.PublishedOn >= {start} AND p.PublishedOn < {end}")
.ToListAsync();
Причём такой запрос параметризируется с защитой от инъекции
Да и вообще там сейчас много всего крутого, особенно для проектирования DDD моделей
Советую присмотреться
👍32❤7🔥5❤🔥1
StepOne | Степан Минин
12 марта 19-30 новый эфир в Шарпизме 👩💻 Так теперь называется закрытый канал В течение получаса буду разбирать личный список компаний для работы дотнет по следующим критериям: 1. Деньги 2. Напряг 3. Собес 4. Легаси/скилл Успей подписаться, потому что…
В среду 26 марта в 19-30 кодирую hydranoscript в live
Эфир будет посвящен внедрению в язык перегрузки функций
Увидите, как я разрабатываю это чудо, и возможно даже дойдёт до релиза!
Присоединяйся по ссылке в Шарпизм, пока лошки на го пытаются в новый компилятор ts
Эфир будет посвящен внедрению в язык перегрузки функций
Увидите, как я разрабатываю это чудо, и возможно даже дойдёт до релиза!
Присоединяйся по ссылке в Шарпизм, пока лошки на го пытаются в новый компилятор ts
Telegram
Tribute
This bot helps content creators receive financial support from their followers directly in the app.
🔥6❤1❤🔥1👍1