Знаете ли вы, что в .NET8+ можно разделить строку без дополнительных аллокаций? Несмотря на то, что span — не самый удобный тип для создания API, команде .NET удалось создать аккуратную, простую в использовании и более быструю реализацию.
#csharp #dotnet #tip by Сергей Тепляков
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡26👍12❤4🤔2😁1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
This media is not supported in your browser
VIEW IN TELEGRAM
💬 Open Source по-русски: путь к технологической независимости или обочина прогресса?
Для одних организаций open source является ключом к преодолению зависимости от иностранных вендоров и драйвером инноваций, для других — дырой в безопасности и обочиной технологического прогресса.
Мы хотим изучить текущее состояние и возможности открытого ПО в России. Пройдите опрос и помогите нам увидеть ситуацию глазами IT-профессионалов.
👉 Ссылка на опрос 👈
Прохождение займёт примерно 4 минуты
Для одних организаций open source является ключом к преодолению зависимости от иностранных вендоров и драйвером инноваций, для других — дырой в безопасности и обочиной технологического прогресса.
Мы хотим изучить текущее состояние и возможности открытого ПО в России. Пройдите опрос и помогите нам увидеть ситуацию глазами IT-профессионалов.
👉 Ссылка на опрос 👈
Прохождение займёт примерно 4 минуты
😁8❤2👍2
🛠 Garnet — новый убийца Redis удаленный cache-store от Microsoft Research, написанный на C# и предназначенный для обеспечения высокой производительности, масштабируемости и надежности. Инструмент поддерживает оптимизацию пропускной способности и задержки, восстановление данных, шардирование кластеров, миграцию ключей и репликацию. Совместим с существующими клиентами Redis, что делает его универсальным решением для различных приложений.
👀 Garnet начался в Microsoft Research в 2016 году как проект под названием FASTER, представляющий новый дизайн хранилища ключ-значение. Проект был опубликован в открытом доступе в 2018 году и получил широкое распространение. В 2021 году, учитывая большой интерес к удаленным кэш-системам и RESP API Redis, был разработан Garnet, который предлагает высокую производительность и эффективность в распределенных системах.
👉 Подробнее
👉 GitHub
👉 Сайт
👀 Garnet начался в Microsoft Research в 2016 году как проект под названием FASTER, представляющий новый дизайн хранилища ключ-значение. Проект был опубликован в открытом доступе в 2018 году и получил широкое распространение. В 2021 году, учитывая большой интерес к удаленным кэш-системам и RESP API Redis, был разработан Garnet, который предлагает высокую производительность и эффективность в распределенных системах.
👉 Подробнее
👉 GitHub
👉 Сайт
👍14🥰5🤔1
Разраб предложил создать HTTP-статус имени Олега Тинькова (признан иноагентом Министерством юстиции РФ) под названием 267 Doubtful But Okay, который означает, что запрос имеет сомнительную семантику, но он принят и обработан. Код статуса 267 выбран по году рождения Олега (1967 год).
💬 Как вам идея?
🤔 — сомнительно, но окэй
👍 — давно пора
#холивар
💬 Как вам идея?
🤔 — сомнительно, но окэй
👍 — давно пора
#холивар
🤔257👍123🥱15😁10🔥4
🆕 Эйджизм в IT: как возраст влияет на трудоустройство
Рекрутеры и работодатели могут отдавать предпочтение более молодым кандидатам, считая их более перспективными и соответствующими корпоративной культуре.
🔗Подробнее
Рекрутеры и работодатели могут отдавать предпочтение более молодым кандидатам, считая их более перспективными и соответствующими корпоративной культуре.
🔗Подробнее
😢20🥱3👍2🤔2👾1
🤦♂️ По мнению автора Akka.NET и многих других инструментов Aaron Stannard сообщество .NET в контексте этой дискуссии разделилось на две группы: те, кто топит за разнообразие опенсорсных инструментов, и те, кто на стороне единого стандарта для всех задач.
🤔 Посмотрим, к чему это приведет...
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔5⚡4❤2
💡 Знаете ли вы, что
Это полезная перегрузка, например, для реализации логирования или чего-то подобного, когда сообщение создается с использованием переиспользуемого экземпляра
#csharp #dotnet #tip by Сергей Тепляков
TextWriter.Write
(и WriteAsync
) в .NET Core теперь принимает StringBuilder
?Это полезная перегрузка, например, для реализации логирования или чего-то подобного, когда сообщение создается с использованием переиспользуемого экземпляра
StringBuilder
.#csharp #dotnet #tip by Сергей Тепляков
👍35
💪 Что не так с MVP: как создать конкурентоспособный продукт
Традиционная концепция MVP нуждается в пересмотре — авторы предлагают альтернативный подход, основанный на тесном взаимодействии с целевой аудиторией и непрерывных итерациях для создания действительно ценного продукта.
👉 Читать статью
👉 Зеркало
Традиционная концепция MVP нуждается в пересмотре — авторы предлагают альтернативный подход, основанный на тесном взаимодействии с целевой аудиторией и непрерывных итерациях для создания действительно ценного продукта.
👉 Читать статью
👉 Зеркало
👍4🥱3❤1
🤔 Каким вы видите для себя идеальный собес?
Пример недушного собеса по мотивам статьи опытного интервьюера Олега Плотникова:
1️⃣ Вопрос про предыдущий опыт: в двух словах описать самый интересный (сложный) проект.
❓ В чем суть проекта? Размер команды? Роль? Основной вклад? Срок проекта? И т. д.
2️⃣ Типовая задача, с которой реально придется сталкиваться, но решаемая за 5-15 минут + несколько вопрос в глубину про понимание инструмента (языка, фреймворка).
📌 Три основных аспекта, по которым оценивается кандидат:
🔸 Харды и наличие релевантного опыта.
🔸 Коммуникация (софт скиллы). Умение общаться, быстро и структурировано объяснить суть вопроса.
🔸 Проактивность в обучении и страсть к делу.
📌 За каждый навык дается до трех баллов. Есть хоть один ноль — сразу до свидания.
🔸 0 — все плохо
🔸 1 — с пивом покатит
🔸 2 — хорошо
🔸 3 — прекрасно
💬 Что думаете?
#холивар
Пример недушного собеса по мотивам статьи опытного интервьюера Олега Плотникова:
1️⃣ Вопрос про предыдущий опыт: в двух словах описать самый интересный (сложный) проект.
❓ В чем суть проекта? Размер команды? Роль? Основной вклад? Срок проекта? И т. д.
2️⃣ Типовая задача, с которой реально придется сталкиваться, но решаемая за 5-15 минут + несколько вопрос в глубину про понимание инструмента (языка, фреймворка).
📌 Три основных аспекта, по которым оценивается кандидат:
🔸 Харды и наличие релевантного опыта.
🔸 Коммуникация (софт скиллы). Умение общаться, быстро и структурировано объяснить суть вопроса.
🔸 Проактивность в обучении и страсть к делу.
📌 За каждый навык дается до трех баллов. Есть хоть один ноль — сразу до свидания.
🔸 0 — все плохо
🔸 1 — с пивом покатит
🔸 2 — хорошо
🔸 3 — прекрасно
💬 Что думаете?
#холивар
👍13❤1🔥1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
📈 По просьбе подписчиков «Библиотеки программиста» мы провели опрос и выяснили, что у большинства айтишников зарплата в 2023 году выросла.
⚡️ Как выглядит доход среднего айтишника и какие факторы окажут влияние на динамику ИТ-зарплат в 2024 году — расскажем в статье на VC.
👉 Читать
P. S. Свои предложения для исследований пишите в комменты👇
⚡️ Как выглядит доход среднего айтишника и какие факторы окажут влияние на динамику ИТ-зарплат в 2024 году — расскажем в статье на VC.
👉 Читать
P. S. Свои предложения для исследований пишите в комменты
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4😁3
🛠 Существует множество инструментов для проверки содержимого памяти процесса .NET:
dotnet-dump
, dotnet-gcdump
, ClrMD
, Visual Studio
и многие другие. 🤔 Но что, если бы мы могли сделать это изнутри самого приложения? По крайней мере, это отличный повод узнать о структуре управляемой кучи.
👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍3🤔2
🛣 .NET Developer Roadmap в 2024
Ник Чапсас обновил дорожную карту для .NET-разработчика, которая сосредоточена на бэкенде.
👉 Смотреть & Скачать roadmap
#roadmap
Ник Чапсас обновил дорожную карту для .NET-разработчика, которая сосредоточена на бэкенде.
👉 Смотреть & Скачать roadmap
#roadmap
🥱26👍18❤4😁1🌚1
#чтопроисходит
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14❤2
Forwarded from Библиотека Go-разработчика | Golang
❓ 20+ вопросов, которые стоит задать на собеседовании в стартап
Узнайте, на что обратить внимание, чтобы найти стартап, который не только «выстрелит», но и даст вам возможность вырасти как специалисту.
👉 Читать статью
👉 Зеркало
Узнайте, на что обратить внимание, чтобы найти стартап, который не только «выстрелит», но и даст вам возможность вырасти как специалисту.
👉 Читать статью
👉 Зеркало
❤1
🤔 MissingMethodException: разбор загадочного исключения в простом C#-приложении
Сергей Тепляков разбирается, почему он получал
Спойлер: multitargeting
Сергей Тепляков разбирается, почему он получал
MissingMethodException
, когда метод явно существовал. Dissecting the Code
Figuring out mysterious MissingMethodException in a simple C# application
As we already know from C# Language Features vs. Target Frameworks you can use most of the latest C# language features targeting .Net Standard or Full Framework. Some features just work with any target frameworks, but some require special attributes or types…
❤7❤🔥2🥰2👍1
StringComparison
, которое добавляет поддержку естественной сортировки (например, «abc1», «abc2», «abc10» вместо «abc1», «abc10», «abc2»).Это полезно в ситуациях, когда стандартная лексикографическая сортировка строк не соответствует ожидаемому порядку, особенно когда в строках присутствуют числовые сегменты.
var sequence = new[] { "img12.png", "img10.png", "img2.png", "img1.png" };
var ordered = sequence.OrderBy(x => x, StringComparison.OrdinalIgnoreCase.WithNaturalSort());
// ordered will be "img1.png", "img2.png", "img10.png", "img12.png"
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - tompazourek/NaturalSort.Extension: 🔀 Extension method for StringComparison that adds support for natural sorting (e.g.…
🔀 Extension method for StringComparison that adds support for natural sorting (e.g. "abc1", "abc2", "abc10" instead of "abc1"...
👍20🥰6
Андрей Потапов из Альфа-Банка погружается в детали работы с паттерном и рассматривает его сильные/слабые стороны.
👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11👏7😁1
ref
и unsafe
в итераторах и асинхронных методах.📌 Мотивация
В современном мире вы не можете сделать так:
async Task MyMethodAsync()
{
await AnAsyncMethod();
ref int x = ref GetRef();
DoSomething(ref x);
await AnohterAsnycMethod();
}
Проблема с
await
и ref
заключается в том, что компилятор не может гарантировать, что ссылка все еще будет действительна после выполнения await
. Но в данном случае это не должно быть проблемой, так как x
используется только между двумя вызовами await
, где ссылка все еще действительна.То же самое относится к
ref
структурам, таким как Span<T>
или ReadOnlySpan<T>
. Их нельзя использовать в итераторах (yield
) или асинхронных методах.Предложение как раз и позволит это делать:
async Task MyMethodAsync()
{
var result = await AnAsyncMethod();
ReadOnlySpan<char> span = result.AsSpan();
DoSomething(span);
await AnohterAsnycMethod();
}
#proposal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍7🤔5❤4🥱3
DebuggerDisplay
в действии, или Как изменить стандартное представление отладки для класса C##csharp #dotnet #tip by Dave Callan
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥51👍22❤3