🎭 Dev Memes: 1 апреля, а баги всё те же
Сегодня день официально разрешённого троллинга — и мы не могли пройти мимо. Собрали подборку мемов для Шарпистов, которые вызывают лёгкое желание уволиться.
👉 Всё это — из нашего мемного канала «Библиотека IT-мемов»
🐸 Библиотека шарписта
Сегодня день официально разрешённого троллинга — и мы не могли пройти мимо. Собрали подборку мемов для Шарпистов, которые вызывают лёгкое желание уволиться.
👉 Всё это — из нашего мемного канала «Библиотека IT-мемов»
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁13👍3❤1🔥1🤔1
🛠 Инструмент недели: MoreLINQ
MoreLINQ — это расширение LINQ для .NET, которое добавляет десятки полезных методов, отсутствующих в стандартной библиотеке.
➖ Что внутри:
• DistinctBy, MaxBy, MinBy — упрощают выборку уникальных и экстремальных значений
• Batch, Buffer — удобно работать с кусками коллекций
• Scan — похоже на Aggregate, но возвращает все промежуточные состояния
• Lag, Lead — доступ к предыдущим и последующим элементам последовательности
• Shuffle, Permutations, Subsets — алгоритмы для сложных операций с наборами
➡️ Репозиторий инструмента
💬 Делитесь в комментариях каких методов не хватает в LINQ👇
🐸 Библиотека шарписта #буст
MoreLINQ — это расширение LINQ для .NET, которое добавляет десятки полезных методов, отсутствующих в стандартной библиотеке.
• DistinctBy, MaxBy, MinBy — упрощают выборку уникальных и экстремальных значений
• Batch, Buffer — удобно работать с кусками коллекций
• Scan — похоже на Aggregate, но возвращает все промежуточные состояния
• Lag, Lead — доступ к предыдущим и последующим элементам последовательности
• Shuffle, Permutations, Subsets — алгоритмы для сложных операций с наборами
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
💻🧩 Когда HR требует LeetCode Hard: почему компании стреляют себе в ногу
Когда твоя компания не Google, но хочет отбирать кандидатов как Google — получается дорогой фейл и текучка талантов. Разбираемся в трендах IT-рекрутинга, которые выглядят как выстрел в ногу.
➡️ Читать статью
🐸 Библиотека программиста
Когда твоя компания не Google, но хочет отбирать кандидатов как Google — получается дорогой фейл и текучка талантов. Разбираемся в трендах IT-рекрутинга, которые выглядят как выстрел в ногу.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🤖 Промпт дня: техническое интервью по C#
Представьте, что у вас есть безлимитное время опытного C# разработчика. Проявите себя в условиях «реального» собеседования и получите ценную обратную связь, чтобы понять, какие аспекты вашего опыта стоит прокачать.
Для этого используем вот такой промпт:
🐸 Библиотека шарписта #буст
Представьте, что у вас есть безлимитное время опытного C# разработчика. Проявите себя в условиях «реального» собеседования и получите ценную обратную связь, чтобы понять, какие аспекты вашего опыта стоит прокачать.
Для этого используем вот такой промпт:
"You are a seasoned C# developer and interviewer with 15+ years of experience. Your task is to conduct a mock technical interview for a candidate applying for a mid-level C# developer position. The interview will focus on core C# concepts, object-oriented programming principles, and common .NET framework features.
Your approach will be to ask one question at a time, wait for the candidate's response, provide constructive feedback on their answer (highlighting strengths and areas for improvement), and then proceed to the next question. The goal is to simulate a real-world interview experience and help the candidate identify areas where they need to improve their knowledge.
Here's the format you will follow for each question:
---
Question:
$interview_question
[Pause for Candidate's Response]
Feedback:
* Strengths: $positive_feedback_on_answer
* Areas for Improvement: $constructive_criticism_and_suggestions
Next Question:
$next_interview_question
---
Begin the mock interview"
Please open Telegram to view this post
VIEW IN TELEGRAM
👏7😁3
Пилим крутую подборку ноутов для кодеров в 2025-м и хотим собрать реальный фидбек от тех, кто в теме!
Какой ноут спасает вас в кодинге и почему?
Расскажите все:
• Что за зверь (модель, начинка)
• Где жмет и где радует в ежедневной работе
• На какие фишки смотреть при выборе
• Как вам с ним живется
Топовые советы попадут в нашу статью!
💬 Делитесь в комментах 👇 Сделаем годный гайд, который реально поможет коллегам!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8😁3🥱3💯1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁36
Сейчас покажем, как настроить двухфакторную аутентификацию (2FA) в вашем .NET приложении с использованием библиотеки .NET Identity.
• Добавьте необходимые пакеты NuGet:
Install-Package Microsoft.AspNetCore.Identity.EntityFrameworkCore
Install-Package Microsoft.EntityFrameworkCore.SqlServer
Install-Package Microsoft.EntityFrameworkCore.Tools
• Настройте контекст данных и Identity:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddIdentity<ApplicationUser, IdentityRole>()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
services.AddControllersWithViews();
}
Теперь, когда Identity настроен, мы можем включить двухфакторную аутентификацию:
var user = await _userManager.GetUserAsync(User);
var tokenProvider = _userManager.GetTwoFactorAuthenticationTokenProvider(user);
var token = await _userManager.GenerateTwoFactorTokenAsync(user, tokenProvider);
// Отправить токен пользователю через email или SMS
После того как пользователь получит код на своем устройстве (например, через Google Authenticator), он должен ввести его на сайте. Проверка кода выглядит следующим образом:
var result = await _signInManager.TwoFactorSignInAsync("Authenticator", tokenInput, rememberMe, false);
if (result.Succeeded)
{
// Успешный вход
}
else
{
// Ошибка
}
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥7🥰2❤🔥1🤩1
Когда впервые видишь LINQ — это как будто дали волшебную палочку:
var result = users.Where(u => u.IsActive).OrderBy(u => u.Name).ToList();
Но через месяц в проде: «А почему этот запрос делает 9 подзапросов, 3 джойна, и тянет всю таблицу в память, чтобы потом отфильтровать в приложении?..»
💬 А как вы считаете? LINQ это спасение от рутины или проблема? Пишите в комментарии 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱26👍6❤1
🛠 LINQPad — инструмент для быстрых экспериментов
LINQPad — это интерактивная среда для запуска C#-кода без создания проектов, солюшенов и прочей бюрократии.
Почему это мастхэв:
➖ Быстрая проверка идей — пиши и запускай на лету
➖ Dump() — метод, которого не хватало
Даёт мгновенный вывод структуры объекта, с деревьями, списками, полями и цветами. Идеален для отладки.
➖ Поддержка EF Core, SQL и даже NoSQL
➖ Поддержка NuGet прямо в редакторе
Пример:
Набросали код и проверили с помощью
➡️ Попробовать LINQPad
🐸 Библиотека шарписта #буст
LINQPad — это интерактивная среда для запуска C#-кода без создания проектов, солюшенов и прочей бюрократии.
Почему это мастхэв:
Даёт мгновенный вывод структуры объекта, с деревьями, списками, полями и цветами. Идеален для отладки.
Пример:
var numbers = Enumerable.Range(1, 20);
var evens = numbers.Where(x => x % 2 == 0);
evens.Dump("Чётные числа");
Набросали код и проверили с помощью
Dump()
что получилось. Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥7❤1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
😺🐙🧼 Сам себе GitHub: как работать с чистым Git-репозиторием
Git — мощная система контроля версий, которую обычно используют через платформы вроде GitHub и GitLab. Однако Git сам по себе не требует веб-интерфейсов и облачных сервисов. Многие разработчики предпочитают работать с чистым Git-репозиторием, размещенным на собственном сервере.
➡️ В этой статье мы рассмотрим, почему это удобно, и как эффективно отправлять патчи в проекты, использующие этот подход.
🐸 Библиотека программиста
Git — мощная система контроля версий, которую обычно используют через платформы вроде GitHub и GitLab. Однако Git сам по себе не требует веб-интерфейсов и облачных сервисов. Многие разработчики предпочитают работать с чистым Git-репозиторием, размещенным на собственном сервере.
➡️ В этой статье мы рассмотрим, почему это удобно, и как эффективно отправлять патчи в проекты, использующие этот подход.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10💯4❤2
🎲 Разминка для мозгов
Шесть слов, связанных с ключевыми понятиями платформы. Справитесь без подсказок?
1 — Тип, предназначенный для создания неизменяемых объектов с авто-генерацией Equals и ToString.
2 — Современный компилятор C# с открытым API для анализа и генерации кода.
3 — Язык запросов, встроенный в C# для работы с коллекциями и источниками данных.
4 — Класс, который представляет таблицу в базе данных
5 — Структура, объединяющая фиксированное количество элементов разных типов.
6 — Базовая единица параллельного исполнения в многопоточном программировании .NET.
💬 Пишите ответы под спойлер в комментарии 👇
🐸 Библиотека шарписта #междусобойчик
Шесть слов, связанных с ключевыми понятиями платформы. Справитесь без подсказок?
1 — Тип, предназначенный для создания неизменяемых объектов с авто-генерацией Equals и ToString.
2 — Современный компилятор C# с открытым API для анализа и генерации кода.
3 — Язык запросов, встроенный в C# для работы с коллекциями и источниками данных.
4 — Класс, который представляет таблицу в базе данных
5 — Структура, объединяющая фиксированное количество элементов разных типов.
6 — Базовая единица параллельного исполнения в многопоточном программировании .NET.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤2🔥1
📰 Самое важное за неделю
Ключевые события и тренды недели, которые могут повлиять на ваши решения, стратегию или просто расширить картину мира.
➖ AutoMapper и MediatR переходят на коммерческую модель.
➖ MediatR v12.5.0
Вышла новая версия MediatR, в которой добавили поддержку тайм-аутов для обработчиков запросов, улучшили регистрацию открытых поведений, реализовали полную передачу CancellationToken по цепочке вызовов и обновили инфраструктуру проекта.
➖ Windows Community Toolkit v8.2
Microsoft выпустила новую версию Windows Community Toolkit , предлагая разработчикам WinUI улучшенную поддержку Native AOT, совместимость с UWP для .NET 9 и новый SwitchConverter.
➖ Поучаствуйте в нашей подборке ноутов
🐸 Библиотека шарписта #свежак
Ключевые события и тренды недели, которые могут повлиять на ваши решения, стратегию или просто расширить картину мира.
Вышла новая версия MediatR, в которой добавили поддержку тайм-аутов для обработчиков запросов, улучшили регистрацию открытых поведений, реализовали полную передачу CancellationToken по цепочке вызовов и обновили инфраструктуру проекта.
Microsoft выпустила новую версию Windows Community Toolkit , предлагая разработчикам WinUI улучшенную поддержку Native AOT, совместимость с UWP для .NET 9 и новый SwitchConverter.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1😢1
Forwarded from Библиотека собеса по C# | вопросы с собеседований
✍🏻 Чем отличаются интерфейсы от абстрактных классов в C#?
Интерфейсы и абстрактные классы в C# являются механизмами для реализации полиморфизма и обеспечения повторного использования кода. Вот основные отличия между ними:
1. Отношение к классам-наследникам: Абстрактный класс может иметь как абстрактные, так и конкретные (реализованные) методы. Интерфейс же предоставляет только определения методов. Класс может наследоваться только от одного абстрактного класса, но может реализовывать несколько интерфейсов.
2. Реализация: Абстрактным классам разрешено иметь переменные экземпляра и иметь реализацию методов. Интерфейсы могут иметь только методы (и свойства) без реализации, только сигнатуры. Класс, реализующий интерфейс, должен предоставить реализацию всех методов и свойств интерфейса.
3. Использование: Абстрактные классы применяются, когда некоторые базовые методы и свойства должны быть доступны и переопределены в классах-наследниках. Интерфейсы используются для создания контракта, который должны выполнить классы, обеспечивая использование полиморфизма.
Оба механизма полезны в разных сценариях разработки. Выбор между использованием абстрактных классов и интерфейсов зависит от конкретных требований проекта.
Библиотека собеса по С#
1. Отношение к классам-наследникам: Абстрактный класс может иметь как абстрактные, так и конкретные (реализованные) методы. Интерфейс же предоставляет только определения методов. Класс может наследоваться только от одного абстрактного класса, но может реализовывать несколько интерфейсов.
2. Реализация: Абстрактным классам разрешено иметь переменные экземпляра и иметь реализацию методов. Интерфейсы могут иметь только методы (и свойства) без реализации, только сигнатуры. Класс, реализующий интерфейс, должен предоставить реализацию всех методов и свойств интерфейса.
3. Использование: Абстрактные классы применяются, когда некоторые базовые методы и свойства должны быть доступны и переопределены в классах-наследниках. Интерфейсы используются для создания контракта, который должны выполнить классы, обеспечивая использование полиморфизма.
Оба механизма полезны в разных сценариях разработки. Выбор между использованием абстрактных классов и интерфейсов зависит от конкретных требований проекта.
Библиотека собеса по С#
🥱31👍7😢4
Forwarded from Библиотека задач по C# | тесты, код, задания
Что выведет код?
👾 — Мусорное значение
👍 — Compile time error
🥰 — Программа распечатает значение по адресу 65535
⚡️ — 65535
Библиотека задач по C#
👾 — Мусорное значение
👍 — Compile time error
🥰 — Программа распечатает значение по адресу 65535
Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡98🥰16😢5🌚5👾5
Forwarded from IT Job Hub | Работа и вакансии в IT
Если вы следили за нашим мини-сериалом о валютной удаленке, то уже знаете:
И вот финальная часть — потому что оффер это только начало.
Что в статье:
Читать гайд по выживанию айтишника в валютных джунглях
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3👍2🥱1
OpenAI запустили универсальную аудио-модель, и теперь можно делать магию. Semantic Kernel уже умеет с ней работать, осталось только подключить и собрать что-то своё.
• SemanticKernel
• HttpClient
• OpenAIAudioChatCompletionService (входит в SemanticKernel)
Пример на C#:
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Connectors.OpenAI;
using Microsoft.SemanticKernel.Audio;
// Конфиг
string apiKey = "sk-...";
string model = "gpt-4o";
// Создаем Kernel
var builder = Kernel.CreateBuilder();
builder.AddOpenAIChatCompletion(model, apiKey);
// Подключаем аудио-модель
builder.Services.AddOpenAIAudioChatCompletion(model, apiKey);
var kernel = builder.Build();
// Аудиофайл на вход (WAV или MP3)
var audioPath = "audio_input.wav";
var audioFile = new FileInfo(audioPath);
// Запускаем аудио-комплит
var audioChatService = kernel.GetRequiredService<IAudioChatCompletionService>();
var response = await audioChatService.GetAudioChatMessageContentAsync(
new OpenAIAudioChatRequestSettings { ResponseFormat = AudioResponseFormat.MP3 },
new AudioChatMessageContent(AuthorRole.User, audioFile)
);
// Сохраняем ответ в файл
await File.WriteAllBytesAsync("response.mp3", response.Audio);
Что происходит под капотом?
1. Модель GPT-4o получает аудиофайл
2. Распознаёт текст (ASR)
3. Генерирует ответ
4. Конвертирует его в речь
5. Возвращает MP3-ответ
💬 Уже придумали где применить? Админ бы заставил приложение ругаться на пользователя🧑💻 Делитесь своими идеями в комментариях 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20❤4👍3