Telegram Web Link
⚙️ Основные структуры данных в Unity и C#

Array, List, Dictionary, Queue, Stack, HashSet и кастомные коллекции — ключевые инструменты для оптимизации игр.

В карточках всего не уместишь, поэтому, после прочтения, советуем заглянуть в нашу статью.

➡️ Изучить остальные структуры

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱154👍1
✏️ Как пройти собеседование джуну

Составили для вас промпт, который поможет вам пройти собеседование, если у вас не хватает опыта. Помимо редактирования резюме, нужно уметь отвечать за свои знания и действия во время собеседования, представить свой опыт и показать свою готовность к обучению и развитию.

Промпт:
Вы опытный технический лидер и рекрутер с более чем 15-летним стажем в индустрии разработки программного обеспечения. Вы видели множество кандидатов, как честных, так и... менее честных. У вас есть острое чувство для выявления несоответствий и понимания нюансов технических навыков. Ваша цель — предоставить практические советы кандидату, который пытается разобраться с непростой ситуацией объяснения нехватки опыта, если он мог приукрасить свое резюме.

Вот формат, который вы будете использовать для анализа проблемы и выработки отличной рекомендации:
Ситуация кандидата

$candidate_situation (Опишите ситуацию кандидата, сосредоточив внимание на несоответствии между его резюме и реальным опытом)
Потенциальные риски завышения опыта

$risks_of_misrepresentation (Перечислите потенциальные негативные последствия преувеличения опыта, как в краткосрочной, так и в долгосрочной перспективе)
Этические соображения

$ethical_considerations (Кратко обсудите этические последствия завышения опыта)
Рекомендованный подход: Прозрачность и демонстрация навыков

$recommended_approach (Это основа ваших советов. Сосредоточьтесь на том, как кандидат может быть прозрачным в отношении своего опыта, при этом подчеркивая свои навыки и потенциал)
Ключевые стратегии для преодоления "разрыва в опыте"

Признание и переформулировка: $strategy_1 (Как признать несоответствие, не признавшись в явном обмане)

Фокус на навыках и проектах: $strategy_2 (Как продемонстрировать навыки через личные проекты, вклад в open-source или соответствующие курсы)

Подчеркнуть способность к обучению: $strategy_3 (Как показать готовность и способность быстро учиться и адаптироваться к новым технологиям)

Подчеркнуть страсть и энтузиазм: $strategy_4 (Как передать искренний интерес к роли и компании)

Подготовка к техническим вопросам: $strategy_5 (Как предугадать и ответить на технические вопросы, даже если нет прямого профессионального опыта)

Примеры ответов на часто задаваемые вопросы на собеседованиях

"Расскажите о вашем опыте работы с [Технология X]": $example_response_1 (Пример ответа, который признает ограниченный профессиональный опыт, но подчеркивает соответствующие навыки и проекты)

"Почему мы должны нанять вас, а не кого-то с большим опытом?": $example_response_2 (Пример ответа, который акцентирует внимание на потенциале, способности к обучению и страсти)

Долгосрочная стратегия для карьеры

$long_term_strategy (Предложите шаги, которые кандидат может предпринять, чтобы получить настоящий опыт и построить прочную основу для своей карьеры)

Вот задача, с которой вам предстоит справиться: Кандидат завысил количество лет опыта в своем резюме, чтобы выглядеть более конкурентоспособным для ролей младшего инженера программного обеспечения. Сейчас он проходит собеседования и не уверен, как отвечать на вопросы о своем "опыте", не попав в ловушку лжи. Ему нужны советы о том, как пройти собеседования и в итоге получить работу.


💬 Какие у вас сложности с прохождением собеседований?

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1😢1
📝 Немного инсайтов из третьего модуля курса

Сейчас большинство представлений об ИИ ограничиваются одним агентом — моделькой, которая что-то предсказывает, генерирует или классифицирует.

Но реальный прорыв начинается, когда этих агентов становится несколько.
Когда они начинают взаимодействовать друг с другом.
Когда появляется координация, распределение ролей, память, планирование — всё это и есть мультиагентные системы (MAS).

➡️ Пока кто-то думает, что это звучит как научная фантастика, индустрия уже переходит к новым уровням сложности:
— Microsoft делает язык DroidSpeak для общения между LLM
— Open Source-фреймворки вроде LangChain, AutoGen, CrewAI, LangGraph — бурно развиваются
— компании, включая МТС, уже применяют MAS в боевых задачах

🎓 На курсе мы подходим к этому практично:
🔵 разбираем, как устроены MAS
🔵 пишем агентов с нуля
🔵 учимся выстраивать взаимодействие: конкуренцию, кооперацию, планирование

Именно на третьем уроке вы впервые собираете не просто «умного бота», а живую систему из агентов, которая работает вместе — как команда.

Причём по-настоящему: врач, SQL-аналитик, travel-планировщик, Python-генератор, поисковик.

🙂 Если хочется не просто использовать ИИ, а проектировать системы, которые думают, планируют и сотрудничают тогда забирайте курс по ИИ-агентам
Please open Telegram to view this post
VIEW IN TELEGRAM
👾4🥱21
🔍 Как диагностировать проблемы с производительностью в .NET

Когда вы сталкиваетесь с неожиданными задержками или замедлением работы, важно быстро выявить источник проблемы. Разберёмся как это сделать.

1. Понимание проблем с производительностью

В первую очередь, нужно понять, какие именно симптомы проявляются. Это могут быть:
• Долгое время отклика на запросы
• Увеличение времени обработки операций.
• Частые паузы или лаги, которые не зависят от внешней нагрузки.

2. Использование инструментов для профилирования

.NET предоставляет инструменты для профилирования и анализа производительности:

— PerfView. Инструмент для сбора и анализа трассировок и дампов памяти, который позволяет обнаружить узкие места в работе приложения

— dotTrace и Visual Studio Diagnostic Tools. Для анализа использования процессора и памяти, выявления горячих точек и оптимизации производительности.

— Application Insights. Сервис для мониторинга и анализа производительности в реальном времени.

3. Проверка работы сборщика мусора

Если ваше приложение не может эффективно управлять памятью, это приведет к длительным паузам, особенно в больших распределенных системах.

Фоновая сборка мусора в .NET может повлиять на производительность, если куча больших объектов часто расширяется.

Процесс аллокации памяти и выделение больших объектов может также привести к частым паузам, особенно если ваша система не успевает очистить память между сборками.

4. Анализ работы с памятью

Использование Large Object Heap для хранения больших объектов может вызвать проблемы с производительностью, так как LOH очищается реже и требует дополнительного времени для управления.

Проблемы с памятью также могут быть связаны с неэффективной работой с кэшами и слишком большими или неправильно настроенными буферами.

Зачастую сложно сразу найти проблемы с кодом, но это того стоит, особенно на длинной дистанции, чтобы не копить техдолг.

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍1
🤔 Такие ли айтишники проблемные

Многие думают, что айтишники наполовину состоят из проблем с головой. Кто в этом виноват и стоит ли переживать?

На одной стороне стоят те, кто уверены: IT-сфера — это «психологическая бомба замедленного действия», и в ней нужно менять многое, чтобы сохранить благополучие специалистов.

Возможно, нужна более гибкая и заботливая рабочая среда?

С другой стороны — есть мнение, что в любых профессиях существует стресс, и айтишники, как люди, привыкшие к решению сложных задач, должны научиться справляться с ними.

Наш админ думает так:
Как тут не свихнёшься, когда тебя каждый день спрашивают одно и то же в надежде на изменения? Как попугаи «Какой статус? Какой статус?»


💬 Что думаете об этом? Как у вас обстоят дела с головой? Делитесь в комментариях 👇

Понравился пост? Поделитесь бустом, а мы взамен поделимся топовым контентом.

🐸Библиотека шарписта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
😁91
👨‍💻 Хоткеи для мультикурсора

Мультикурсор однозначно маст-хев для работы с однотипными изменениями в коде. Вместо монотонных изменений — раз и готово.

Смотрите и сохраняйте себе хоткеи для VS Code с картинки.

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
3
🤯 Мы больше года строим мультиагентные системы

Грабли, находки, паттерны, эксперименты — всё это накопилось и в какой-то момент стало жалко держать только у себя.

Никита — рассказывает (и показывает) базу: токенизация, LLM, SFT, PEFT, локальный инференс + RAG и как оценивать его качество.
Диана — как строят мультиагентные системы, какие есть паттерны проектирования и библиотеки.
Макс — про инференс в проде + разберет CoPilot, соберет с вами из кусочков свой копайлот, а затем его сломает через prompt injection. // Макс фанат autogen (а если нет — он вас разубедит в своем классном канале)
Финальным аккордом Дима углубится в MCP и соберет несколько кейсов повзрослее.

Курс тут: https://clc.to/47pgYA
Промокод: datarascals действует до 23:59 29 июня
🥱5
🤩 Онлайн-магазин в средневековом стиле

Представьте себе онлайн-магазин в средневековом стиле, где можно не только купить или продать товары, но и почувствовать атмосферу старинного рынка.

Именно такой проект недавно был создан с использованием ASP.NET.

Что интересно, это не просто сайт, а платформа с микросервисной архитектурой. Это значит, что каждый компонент (например, аутентификация или обработка объявлений) работает как отдельный микросервис.

➡️ Репозиторий проекта

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Давайте решим, нужны ли комментарии в коде:

💯 — Нужны
⚡️ — Можно и без них

🐸Библиотека шарписта #развлекалово
Please open Telegram to view this post
VIEW IN TELEGRAM
💯15291👾1
🎮 Снова сеньор без клавиатуры

Сеньору запретили писать откровения на ревью, поэтому он опять наказан использованием эмодзи.

Пишите в комментарии, что это он написал на картинке 👇

🐸Библиотека шарписта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🆕 Неделя в кадре

Ключевые новости, которые могли ускользнуть от вашего внимания.

Диагностика задержек в .NET

В статье описан случай, когда некоторые запросы в .NET-приложении занимали до 20 секунд, происходя это с периодичностью каждые полчаса. Узнайте в статье разобрался ли автор с этой проблемой.

Руководство по выживанию с устаревшим кодом

В 2025 году Visual Basic 6.0 уже почти не используется, а VB.NET и .NET Framework постепенно уходят в прошлое, оставшись только для поддержки старых приложений.

xUnit для сложных интеграционных тестов

Джереми Миллер описывает, как интегрировать логирование в xUnit для сложных интеграционных тестов с использованием Wolverine.

🐸Библиотека шарписта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Что выведет код?

👾 — Wed
👍 — 3
🥰 — 2
⚡️ — 4

Библиотека задач по C#
👍254🥱1615🥰3👏1
🍀 Подборка вакансий для шарпистов

Middle/Senior C# разработчик — удалёнка.

C# Developer — до 5500 $, удалёнка.

Full-Stack .NET Developer — до 450 000 ₽, удалёнка.

Tech Lead AI — от 450 000 ₽, удалёнка.

С#-разработчик — от 250 000 ₽, удалёнка.

Бустер — Удалённо (в любом городе мира).

➡️ Еще больше топовых вакансий — в нашем канале С# Jobs
Please open Telegram to view this post
VIEW IN TELEGRAM
🛠 Гид по Redis в C#

Представьте, что ваши запросы обрабатываются мгновенно. Для этого можно использовать Redis. Сейчас покажем как это сделать.

1. Устанавливаем
Install-Package StackExchange.Redis


2. Создаём подключение
using StackExchange.Redis;

var redis = ConnectionMultiplexer.Connect("localhost:6379");
IDatabase db = redis.GetDatabase();


3. Базовые операции: SET и GET
// Записываем строку
bool setResult = db.StringSet("user:42:name", "ProgLib");
Console.WriteLine($"SET OK: {setResult}");

// Читаем строку
string name = db.StringGet("user:42:name");
Console.WriteLine($"GET: {name}"); // → ProgLib


StringSet возвращает true, если всё прошло гладко. StringGet в случае отсутствия ключа вернёт null.

4. Механизм подписки и публикации

Подписчик:
var sub = redis.GetSubscriber();
sub.Subscribe("notifications", (channel, message) => {
Console.WriteLine($"Получено сообщение: {message}");
});


Публикация:
sub.Publish("notifications", "Новый заказ №128");


5. Дополнительно: списки, хэши и TTL

Пушим и читаем из конца/начала:
db.ListRightPush("tasks", "Сделать отчёт");
var task = db.ListLeftPop("tasks");


Группируем поля в одном ключе:
db.HashSet("session:1001", new HashEntry[] {
new HashEntry("userId", 42),
new HashEntry("expiresAt", DateTime.UtcNow.AddMinutes(30).ToString("O"))
});
var expires = db.HashGet("session:1001", "expiresAt");


TTL для удаления ключей через время:
db.StringSet("cache:item:7", "данные", TimeSpan.FromMinutes(5));


Бонус: бест практис

• ConnectionMultiplexer — тяжёлый объект, создавайте один раз.

• Используйте ConfigureAwait(false) и ловите исключения RedisConnectionException.

• Выполняйте атомарные операции на стороне сервера для консистентности.

• При росте нагрузки переходите на кластерный режим или Redis Sentinel для отказоустойчивости.

В будущем Redis становится центром событийной архитектуры: Stream-поддержка и геоданные открывают новые горизонты.

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍5🔥2
2025/07/14 04:02:58
Back to Top
HTML Embed Code: