Please open Telegram to view this post
VIEW IN TELEGRAM
😁25🔥4🤔1
🎮 Эмодзи клавиатура у сеньора
Вашему коллеге подсунули эмодзи клавиатуру вместо обыкновенной! Попробуйте расшифровать какой код он написал.
💬 Пишите свои догадки в комментариях👇
UPD: Ответvoid main (String[] args)
🐸 Библиотека шарписта #междусобойчик
Вашему коллеге подсунули эмодзи клавиатуру вместо обыкновенной! Попробуйте расшифровать какой код он написал.
💬 Пишите свои догадки в комментариях👇
UPD: Ответ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2❤1
📰 Еженедельный дайджест
Обновите картину мира: новости, аналитика, находки и инструменты.
— Апдейт Visual Studio 2022
Новая версия 17.14 сделала акцент на ИИ (снова).
— Microsoft сообщает, что количество активных пользователей Visual Studio и Visual Studio Code достигло 50 миллионов в месяц
— Поддержка мультиарендности в EF Core
Разработчик анонсировал, что в Wolverine 4 появится полноценная поддержка мультиарендности для EF Core.
Это позволит разработчикам использовать существующие возможности Wolverine, такие как транзакционный inbox/outbox и middleware, с EF Core, нацеливаясь на отдельные базы данных для каждого арендатора
— Грин-флаги в вакансиях: 10 признаков хорошего работодателя
— Смешные новости про IT теперь в одном канале
🐸 Библиотека шарписта #свежак
Обновите картину мира: новости, аналитика, находки и инструменты.
— Апдейт Visual Studio 2022
Новая версия 17.14 сделала акцент на ИИ (снова).
— Microsoft сообщает, что количество активных пользователей Visual Studio и Visual Studio Code достигло 50 миллионов в месяц
— Поддержка мультиарендности в EF Core
Разработчик анонсировал, что в Wolverine 4 появится полноценная поддержка мультиарендности для EF Core.
Это позволит разработчикам использовать существующие возможности Wolverine, такие как транзакционный inbox/outbox и middleware, с EF Core, нацеливаясь на отдельные базы данных для каждого арендатора
— Грин-флаги в вакансиях: 10 признаков хорошего работодателя
— Смешные новости про IT теперь в одном канале
Please open Telegram to view this post
VIEW IN TELEGRAM
Разработчик .net (Middle C#) — Удалёнка
.NET Developer — Удалёнка
C#/.NET-разработчик — Удалёнка
C# Developer — Гибрид (Москва)
Разработчик C# — Гибрид (Москва)
Бустер — Удалённо (в любом городе мира).
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2
Проблема: при проектировании баз данных часто возникает необходимость ускорить выполнение запросов, особенно при работе с большими объемами данных. Неправильное использование или отсутствие индексов может привести к значительным задержкам в обработке запросов, что негативно сказывается на производительности приложений.
Решение: в книге "Database Design and Modeling with PostgreSQL and MySQL" авторы подробно рассматривают методы оптимизации запросов с помощью индексов. Они объясняют, как правильно создавать и использовать индексы для ускорения выполнения запросов, а также как анализировать планы выполнения запросов для выявления узких мест.
Пример создания индекса и анализа плана выполнения запроса в PostgreSQL:
-- Создание индекса на столбец email в таблице users
CREATE INDEX idx_users_email ON users(email);
-- Анализ плана выполнения запроса
EXPLAIN ANALYZE
SELECT * FROM users WHERE email = '[email protected]';
В этом примере создается индекс на столбец email таблицы users, что позволяет значительно ускорить выполнение запроса поиска пользователя по email. Команда EXPLAIN ANALYZE используется для анализа плана выполнения запроса и оценки его эффективности.
Преимущества:
— Использование индексов позволяет существенно сократить время выполнения запросов, особенно при работе с большими таблицами.
— Анализ планов выполнения запросов помогает выявить и устранить узкие места в производительности базы данных.
— Правильное использование индексов способствует более эффективному использованию ресурсов сервера и улучшению отклика приложений.
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱8👍5❤2🔥1
Microsoft показали обновление для .NET Aspire. Кратко разберём что изменилось.
В новой версии под номером 9.3 улучшена производительность за счёт оптимизации сборщика мусора и компилятора. Расширена интеграция с Azure, обновлены SDK и упрощена аутентификация.
Улучшена поддержка Hot Reload в Visual Studio для быстрой отладки. Повышена безопасность с обновлёнными криптобиблиотеками.
Также улучшена работа с контейнерами Docker и Kubernetes и добавлены новые API для файлов и асинхронных операций.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🥱2
💻 Инструмент недели: палитра команд
Microsoft представила в составе PowerToys инструмент — Command Palette. Этот функционал призван упростить и ускорить выполнение повседневных задач на Windows, предоставляя быстрый доступ к командам и приложениям через единый удобный интерфейс.
Command Palette — это командная панель в стиле известных редакторов кода (например, Visual Studio Code), которая позволяет быстро искать и запускать команды, приложения и функции системы.
Вместо привычного поиска в меню Пуск или множества кликов — достаточно открыть палитру, начать вводить нужную команду, и инструмент покажет релевантные варианты.
➡️ Попробовать палитру команд
🐸 Библиотека шарписта #буст
Microsoft представила в составе PowerToys инструмент — Command Palette. Этот функционал призван упростить и ускорить выполнение повседневных задач на Windows, предоставляя быстрый доступ к командам и приложениям через единый удобный интерфейс.
Command Palette — это командная панель в стиле известных редакторов кода (например, Visual Studio Code), которая позволяет быстро искать и запускать команды, приложения и функции системы.
Вместо привычного поиска в меню Пуск или множества кликов — достаточно открыть палитру, начать вводить нужную команду, и инструмент покажет релевантные варианты.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤2🤔2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁49👍16⚡8🔥1🤩1
🥵 Устали от статей, где эйчары рассказывают, как на самом деле выглядит рынок труда в ИТ?
Мы тоже! Поэтому решили узнать правду и представить ее всем айтишникам — но нам нужен ваш голос. Опрос займет 3 минуты, а пользы — вагон для всего сообщества.
Результаты этого исследования помогут понять, как специалистам искать работу в 2025-м (а компаниям — специалистов).
👉 Если вы готовы сделать свой вклад в исследование — велком: https://clc.to/VGgyNA
Мы тоже! Поэтому решили узнать правду и представить ее всем айтишникам — но нам нужен ваш голос. Опрос займет 3 минуты, а пользы — вагон для всего сообщества.
Результаты этого исследования помогут понять, как специалистам искать работу в 2025-м (а компаниям — специалистов).
👉 Если вы готовы сделать свой вклад в исследование — велком: https://clc.to/VGgyNA
😁5❤1👍1👾1
Удобство LINQ стоит дорого: скрытые аллокации, замедления и GC-паузы.
ZLINQ решает эти проблемы. Это библиотека, которая заменяет стандартный LINQ на
ValueEnumerable
-подход без потери совместимости и с приростом производительности.Теперь можно писать Where, Select, Sum прямо по Span, и всё это — без аллокаций.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔22👍1
Недавно к нам поступил вопрос от подписчика:
Когда использование интерфейсов — это хорошее архитектурное решение, а когда излишек?
Интерфейсы — это важный элемент в разработке программного обеспечения. Но не всегда их стоит применять бездумно. Давайте разберёмся, когда интерфейсы играют ключевую роль, а когда они становятся лишними.
Интерфейс — это контракт, который задаёт набор методов и свойств, но не их реализацию. Реализация интерфейса предоставляет конкретное поведение этих методов.
public interface IAnimal
{
void Speak();
}
public class Dog : IAnimal
{
public void Speak()
{
Console.WriteLine("Гав!");
}
}
public class Cat : IAnimal
{
public void Speak()
{
Console.WriteLine("Мяу!");
}
}
// Использование:
IAnimal animal = new Dog();
animal.Speak(); // Выведет "Гав!"
• Интерфейсы помогают скрывать детали реализации и позволяют менять код без воздействия на остальную часть программы.
• Когда система зависит от интерфейсов, легко подменить реальную реализацию на мок-объект для юнит-тестов.
• Интерфейсы идеально подходят для расширяемых систем, где в будущем может потребоваться добавление новых реализаций.
• Когда вам нужно интегрировать различные системы или модули, интерфейсы обеспечивают чёткие контракты для взаимодействия.
• Если вам точно известно, что реализация интерфейса не будет меняться, интерфейс может стать лишней абстракцией.
• Интерфейсы добавляют код и могут усложнить систему, если использовать их для простых классов или когда изменений в поведении объекта не предполагается.
• В небольших проектах, где нет требований к расширению или изменениям, интерфейсы могут быть избыточными и добавлять ненужную сложность.
Интерфейсы полезны, но важно не переусердствовать. Применяйте их там, где это даёт реальную ценность, например, для повышения гибкости и тестируемости, а не для каждого объекта.
💬 Как вы используете интерфейсы в своих проектах? Пишите в комментариях, поделитесь своими примерами!👇
P.S. Если хотите задать вопрос сообществу, заполните нашу гугл-форму.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🌚2⚡1🔥1🎉1
Иногда полезно встраивать версию приложения или метаданные непосредственно в сборку. Это можно сделать с помощью флагов в
dotnet build
:dotnet build /p:Version=1.0.0 /p:CommitHash=$(git rev-parse --short HEAD)
/p:Version=1.0.0
: встраивает версию в сборку.
/p:CommitHash=$(git rev-parse --short HEAD)
: встраивает хэш текущего коммита в сборку, полученный с помощью Git.Вы можете использовать эти переменные в коде для отображения версии и метаданных в финальном приложении.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍2
Фича-флаги позволяют запускать функциональность по частям, тестировать на реальных пользователях и быстро отключать при проблемах — без перекомпиляции и деплоя.
Разбираемся в карточках: от простой переменной до кастомных фильтров и best practices в продакшене.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13👾2❤1