💰 Сколько вы реально стоите как разработчик
Переговоры о зарплате — это всегда искусство не продешевить. Но как точно определить свою стоимость?
Мы подготовили 3 эффективных способа, которые помогут вам без догадок понять, сколько вы действительно стоите, и уверенно озвучить свою цену работодателю.
Листайте карточки и торгуйтесь уже на следующем собесе
➡️ Читать статью
🐸 Библиотека шарписта
Переговоры о зарплате — это всегда искусство не продешевить. Но как точно определить свою стоимость?
Мы подготовили 3 эффективных способа, которые помогут вам без догадок понять, сколько вы действительно стоите, и уверенно озвучить свою цену работодателю.
Листайте карточки и торгуйтесь уже на следующем собесе
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁30🔥6
🤖 C# для машинного обучения
Когда речь идет о машинном обучении, обычно на ум приходит Python. Но C# с его мощной экосистемой и возможностями тоже может быть использован для решения задач машинного обучения.
Давайте разберемся, подходит ли C# для машинного обучения или всё-таки стоит обратить внимание на более традиционные инструменты.
Плюсы использования C# для машинного обучения:
• C# является частью экосистемы .NET, что даёт разработчикам доступ к множеству библиотек для работы с большими данными, многозадачностью и асинхронными операциями.
• Microsoft предлагает ML.NET — библиотеку, которая позволяет работать с алгоритмами машинного обучения в C#.
• C# известен своей высокой производительностью, благодаря чему можно эффективно обрабатывать большие объемы данных.
Минусы использования C# для машинного обучения:
• Хотя ML.NET предоставляет некоторые возможности, C# не имеет такого богатого выбора фреймворков и моделей, как Python.
• В интернете гораздо меньше примеров и документации по машинному обучению на C# по сравнению с Python
💬 Используете ли вы C# для машинного обучения или предпочли бы выбрать Python? Поделитесь своим мнением в комментариях 👇
🐸 Библиотека шарписта
#междусобойчик
Когда речь идет о машинном обучении, обычно на ум приходит Python. Но C# с его мощной экосистемой и возможностями тоже может быть использован для решения задач машинного обучения.
Давайте разберемся, подходит ли C# для машинного обучения или всё-таки стоит обратить внимание на более традиционные инструменты.
Плюсы использования C# для машинного обучения:
• C# является частью экосистемы .NET, что даёт разработчикам доступ к множеству библиотек для работы с большими данными, многозадачностью и асинхронными операциями.
• Microsoft предлагает ML.NET — библиотеку, которая позволяет работать с алгоритмами машинного обучения в C#.
• C# известен своей высокой производительностью, благодаря чему можно эффективно обрабатывать большие объемы данных.
Минусы использования C# для машинного обучения:
• Хотя ML.NET предоставляет некоторые возможности, C# не имеет такого богатого выбора фреймворков и моделей, как Python.
• В интернете гораздо меньше примеров и документации по машинному обучению на C# по сравнению с Python
💬 Используете ли вы C# для машинного обучения или предпочли бы выбрать Python? Поделитесь своим мнением в комментариях 👇
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍2
😎 Вы просили — мы сделали. Самый долгожданный анонс этого лета!
Мы открываем набор на второй поток курса «AI-агенты для DS-специалистов»!
На курсе мы учим главному навыку 2025 года: не просто «болтать» с LLM, а строить из них рабочие системы с помощью Ollama, RAG, LangChain и crew.ai.
📆 Старт потока — 15 сентября.
💸 Цена 49 000 ₽ действует только в эти выходные — до 17 августа. С понедельника будет дороже.
👉 Занять место
Мы открываем набор на второй поток курса «AI-агенты для DS-специалистов»!
На курсе мы учим главному навыку 2025 года: не просто «болтать» с LLM, а строить из них рабочие системы с помощью Ollama, RAG, LangChain и crew.ai.
📆 Старт потока — 15 сентября.
💸 Цена 49 000 ₽ действует только в эти выходные — до 17 августа. С понедельника будет дороже.
👉 Занять место
🥱9
📰 Дайджест новостей
Выловили из потока новостей только самое важное.
— Copilot теперь понимает код как человек
В обновлении Visual Studio 17.14.11 появился новый механизм поиска — Remote Semantic Search, интегрированный непосредственно в Copilot Chat. Теперь поиск кода выходит за рамки простого сопоставления ключевых слов.
— .NET 10 Preview 7 уже здесь
Microsoft представила .NET 10 Preview 7 — седьмой предварительный релиз, который включает обновления в .NET Runtime, SDK, библиотеках, ASP.NET Core, Blazor, .NET MAUI и других компонентах экосистемы.
— .NET задаёт новый темп в AI-интеграции
NuGet MCP Server — новый сервер в экосистеме .NET, позволяющий AI‑ассистентам (в частности, LLM) получать актуальную информацию о пакетах NuGet в режиме реального времени.
— GPT-5 теперь в Visual Studio
Microsoft объявила, что GPT‑5, последняя и наиболее продвинутая модель OpenAI, теперь доступна в GitHub Copilot внутри Visual Studio.
— Сколько вы реально стоите как разработчик
🐸 Библиотека шарписта
#свежак
Выловили из потока новостей только самое важное.
— Copilot теперь понимает код как человек
В обновлении Visual Studio 17.14.11 появился новый механизм поиска — Remote Semantic Search, интегрированный непосредственно в Copilot Chat. Теперь поиск кода выходит за рамки простого сопоставления ключевых слов.
— .NET 10 Preview 7 уже здесь
Microsoft представила .NET 10 Preview 7 — седьмой предварительный релиз, который включает обновления в .NET Runtime, SDK, библиотеках, ASP.NET Core, Blazor, .NET MAUI и других компонентах экосистемы.
— .NET задаёт новый темп в AI-интеграции
NuGet MCP Server — новый сервер в экосистеме .NET, позволяющий AI‑ассистентам (в частности, LLM) получать актуальную информацию о пакетах NuGet в режиме реального времени.
— GPT-5 теперь в Visual Studio
Microsoft объявила, что GPT‑5, последняя и наиболее продвинутая модель OpenAI, теперь доступна в GitHub Copilot внутри Visual Studio.
— Сколько вы реально стоите как разработчик
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1
Forwarded from Библиотека задач по C# | тесты, код, задания
Что из перечисленного является типом представления в MVC?
👾 — Partial view
👍 — Executable view
🥰 — Data view
⚡️ — Designer view
Библиотека задач по C#
👾 — Partial view
👍 — Executable view
🥰 — Data view
⚡️ — Designer view
Библиотека задач по C#
👾60🌚4😁1
🔆 Подборка вакансий для шарпистов
Developer .NET/C# — от 300 000 ₽, удалёнка.
Разработчик .NET/C# — удалёнка.
.NET Team Lead — удалёнка.
C# разработчик — удалёнка.
Разработчик C# (WPF, EF+SQL) — от 180 000 ₽, удалёнка.
Бустер — Удалённо (в любом городе мира).
➡️ Еще больше топовых вакансий — в нашем канале С# Jobs
Developer .NET/C# — от 300 000 ₽, удалёнка.
Разработчик .NET/C# — удалёнка.
.NET Team Lead — удалёнка.
C# разработчик — удалёнка.
Разработчик C# (WPF, EF+SQL) — от 180 000 ₽, удалёнка.
Бустер — Удалённо (в любом городе мира).
Please open Telegram to view this post
VIEW IN TELEGRAM
🫣 Хотите в Data Science, но боитесь высшей математики?
Хорошая новость: вам не нужно становиться математиком. Вам нужно освоить конкретные разделы, которые реально используются в работе и на собеседованиях.
Именно этому учат преподаватели ВМК МГУ на нашем курсе «Математика для Data Science».
Без лишней воды — только то, что нужно для:
✅ успешного поступления в ШАД Яндекса;
✅ прохождения собеседований уровня FAANG;
✅ глубокого понимания ML-алгоритмов.
Это самый прямой путь к математическому фундаменту, на котором строится вся карьера в Data Science.
👉 Начните строить свою карьеру уже сегодня
Хорошая новость: вам не нужно становиться математиком. Вам нужно освоить конкретные разделы, которые реально используются в работе и на собеседованиях.
Именно этому учат преподаватели ВМК МГУ на нашем курсе «Математика для Data Science».
Без лишней воды — только то, что нужно для:
✅ успешного поступления в ШАД Яндекса;
✅ прохождения собеседований уровня FAANG;
✅ глубокого понимания ML-алгоритмов.
Это самый прямой путь к математическому фундаменту, на котором строится вся карьера в Data Science.
👉 Начните строить свою карьеру уже сегодня
😁1
🔥 Последняя неделя, чтобы забрать курс по AI-агентам по старой цене!
Пока вы тестируете Copilot, другие уже учатся строить AI-агентов, которые реально работают на бизнес. Хватит отставать!
Наш курс — это концентрат практики по LangChain и RAG. Улучшенная версия, доработанная по отзывам первого потока.
📆 Старт — 15 сентября.
💸 Цена 49 000 ₽ — только до 24 августа.
👉 Зафиксировать цену
Пока вы тестируете Copilot, другие уже учатся строить AI-агентов, которые реально работают на бизнес. Хватит отставать!
Наш курс — это концентрат практики по LangChain и RAG. Улучшенная версия, доработанная по отзывам первого потока.
📆 Старт — 15 сентября.
💸 Цена 49 000 ₽ — только до 24 августа.
👉 Зафиксировать цену
😁2
🔍 Шпаргалка по рефлексии в C#
Рефлексия — это когда ты можешь во время выполнения программы подглядеть, что внутри класса, вызвать метод по имени или даже достучаться до приватного поля (немного читерства, но работает).
Получение типа:
Информация о типе:
Список методов:
Список свойств:
Создание экземпляра динамически:
Вызов метода через рефлексию:
Доступ к полю:
Доступ к приватному полю:
Вызов приватного метода:
Полезно для написания ORM, DI-контейнеров, сериализаторов.
🐸 Библиотека шарписта
#буст
Рефлексия — это когда ты можешь во время выполнения программы подглядеть, что внутри класса, вызвать метод по имени или даже достучаться до приватного поля (немного читерства, но работает).
Получение типа:
Type t = typeof(string); // по имени типа
Type t2 = "hello".GetType(); // у объекта
Type t3 = Type.GetType("System.Int32"); // по строке
Информация о типе:
Console.WriteLine(t.FullName); // полное имя типа
Console.WriteLine(t.Namespace); // пространство имён
Console.WriteLine(t.IsClass); // это класс?
Console.WriteLine(t.IsValueType); // это value-type?
Список методов:
foreach (var m in t.GetMethods())
{
Console.WriteLine(m.Name);
}
Список свойств:
foreach (var p in t.GetProperties())
{
Console.WriteLine($"{p.Name} : {p.PropertyType}");
}
Создание экземпляра динамически:
Type t = typeof(DateTime);
object obj = Activator.CreateInstance(t, 2025, 8, 19);
Console.WriteLine(obj);
Вызов метода через рефлексию:
Type t = typeof(string);
MethodInfo m = t.GetMethod("Contains", new[] { typeof(string) });
bool result = (bool)m.Invoke("ChatGPT", new object[] { "GPT" });
Console.WriteLine(result); // true
Доступ к полю:
class Person { public string Name = "Alice"; }
var p = new Person();
FieldInfo f = typeof(Person).GetField("Name");
Console.WriteLine(f.GetValue(p)); // Alice
f.SetValue(p, "Bob");
Console.WriteLine(p.Name); // Bob
Доступ к приватному полю:
class Secret { private int code = 1337; }
var s = new Secret();
FieldInfo f = typeof(Secret).GetField("code",
BindingFlags.NonPublic | BindingFlags.Instance);
Console.WriteLine(f.GetValue(s)); // 1337
Вызов приватного метода:
class Hidden { private void SayHi() => Console.WriteLine("Hi!"); }
var h = new Hidden();
MethodInfo m = typeof(Hidden).GetMethod("SayHi",
BindingFlags.NonPublic | BindingFlags.Instance);
m.Invoke(h, null); // Hi!
Полезно для написания ORM, DI-контейнеров, сериализаторов.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🥱3❤1🤔1👾1
🧑💻 Где большие зарплаты
Отчёты за первое полугодие 2025 года демонстрируют внушительные цифры — средние зарплаты переваливают за 190 тысяч рублей, а в отдельных ролях доходят до 400+.
Но на практике многие разработчики и тестировщики не чувствуют этого роста: требования растут быстрее, чем компенсации.
Почему на рынке возник «фантомный рост» и что ждёт отрасль дальше — читайте в статье.
🐸 Библиотека шарписта
Отчёты за первое полугодие 2025 года демонстрируют внушительные цифры — средние зарплаты переваливают за 190 тысяч рублей, а в отдельных ролях доходят до 400+.
Но на практике многие разработчики и тестировщики не чувствуют этого роста: требования растут быстрее, чем компенсации.
Почему на рынке возник «фантомный рост» и что ждёт отрасль дальше — читайте в статье.
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Бесплатный вебинар — прогнозируем цены и не сходим с ума
21 августа в 19:00 МСК будет бесплатный вебинар с Марией Жаровой — экспертом в ML и Data Science.
Тема:
Подробности рассказываю в гс выше — включай, чтобы не пропустить.
21 августа в 19:00 МСК будет бесплатный вебинар с Марией Жаровой — экспертом в ML и Data Science.
Тема:
«Введение в машинное обучение: как спрогнозировать стоимость недвижимости».
Подробности рассказываю в гс выше — включай, чтобы не пропустить.
😁1🤔1
🐳 Как уменьшить размер контейнера
Приготовили два практичных профиля для запуска: минимальный размер для утилит и микросервисов без тяжёлой динамики, и быстрый старт для веб-API.
Никаких хаков — только поддерживаемые фичи .NET 8.
Рецепт 1 — Минимальный размер
Шаги:
• Включите тримминг и сборку в один файл.
• Соберите self-contained бинарь.
• Упакуйте в chiseled/runtime-deps образ.
csproj:
Dockerfile:
Важно: триммер удаляет неиспользуемый код. При рефлексии используйте атрибуты
Рецепт 2 — Быстрый старт
Шаги:
• Включите ReadyToRun.
• Соберите framework-dependent (меньше JIT при старте).
• Упакуйте в chiseled ASP.NET образ.
csproj:
Dockerfile:
Холодный старт:
Мини-усиление безопасности в Dockerfile:
Два профиля покрывают 80% кейсов: минимальный образ для утилит/микросервисов без тяжёлой динамики и быстрый старт для веб-API. Дальше — NativeAOT, если нужен экстремальный старт и размер.
🐸 Библиотека шарписта
#буст
Приготовили два практичных профиля для запуска: минимальный размер для утилит и микросервисов без тяжёлой динамики, и быстрый старт для веб-API.
Никаких хаков — только поддерживаемые фичи .NET 8.
Рецепт 1 — Минимальный размер
Шаги:
• Включите тримминг и сборку в один файл.
• Соберите self-contained бинарь.
• Упакуйте в chiseled/runtime-deps образ.
csproj:
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<RuntimeIdentifier>linux-x64</RuntimeIdentifier>
<SelfContained>true</SelfContained>
<PublishSingleFile>true</PublishSingleFile>
<PublishTrimmed>true</PublishTrimmed>
<TrimMode>link</TrimMode>
<InvariantGlobalization>true</InvariantGlobalization>
<StripSymbols>true</StripSymbols>
</PropertyGroup>
Dockerfile:
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY . .
RUN dotnet publish -c Release -o /out
FROM mcr.microsoft.com/dotnet/runtime-deps:8.0-jammy-chiseled AS final
WORKDIR /app
COPY --from=build /out ./
USER 10001
ENTRYPOINT ["./YourApp"] # self-contained бинарь
Важно: триммер удаляет неиспользуемый код. При рефлексии используйте атрибуты
DynamicallyAccessedMembers
, DynamicDependency
или дескриптор ILLink.Descriptors.xml. InvariantGlobalization=true
экономит место, но отключает локали ICU.Рецепт 2 — Быстрый старт
Шаги:
• Включите ReadyToRun.
• Соберите framework-dependent (меньше JIT при старте).
• Упакуйте в chiseled ASP.NET образ.
csproj:
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<PublishReadyToRun>true</PublishReadyToRun>
<RuntimeIdentifier>linux-x64</RuntimeIdentifier>
<SelfContained>false</SelfContained>
<StripSymbols>true</StripSymbols>
</PropertyGroup>
Dockerfile:
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY . .
RUN dotnet publish -c Release -o /out
FROM mcr.microsoft.com/dotnet/aspnet:8.0-jammy-chiseled AS final
WORKDIR /app
COPY --from=build /out ./
USER 10001
ENTRYPOINT ["dotnet", "YourApp.dll"]
Холодный старт:
docker run -p 8080:8080 app:test &
curl -w '\nTime: %{time_total}s\n' -s http://localhost:8080/health/ready -o /dev/null
Мини-усиление безопасности в Dockerfile:
# после COPY и USER
VOLUME ["/app/data"]
ENV ASPNETCORE_URLS=http://0.0.0.0:8080
# файловая система только для чтения
READONLY rootfs
Два профиля покрывают 80% кейсов: минимальный образ для утилит/микросервисов без тяжёлой динамики и быстрый старт для веб-API. Дальше — NativeAOT, если нужен экстремальный старт и размер.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12😁2
This media is not supported in your browser
VIEW IN TELEGRAM
☝️ Один мудрый тимлид дал двум своим разработчикам по «таланту» — мощной, но своенравной LLM.
Первый разработчик испугался её «галлюцинаций». Он запер модель в песочнице, не давая ей доступа к свежим данным. На вопросы модель отвечала красиво, но часто придумывала факты, то есть врала. Он просто «закопал» свой талант, боясь им пользоваться.
Второй же разработчик не побоялся. Он построил для своей LLM систему RAG — дал ей «лопату и карту», чтобы находить сокровища в базе знаний компании. Его AI-агент отвечал точно по делу, ссылаясь на реальные документы. Он заставил свой «талант» работать и приносить пользу.
Именно такие системы мы и будем строить на втором потоке нашего курса «AI-агенты для DS-специалистов». Мы не просто поговорим о RAG, а соберём полный пайплайн с оценкой качества, чтобы ваш агент не врал.
Представьте, что вы сможете начать изучать эту сложную и востребованную тему уже 15 сентября, а не ждать официального старта в октябре. У вас будет фора в 3 недели, чтобы спокойно разобраться в векторных базах и подходе «LLM as a Judge».
💸 Цена 49.000 ₽ действует последние 4 дня — до 24 августа.
👉 Начать строить RAG раньше других
Первый разработчик испугался её «галлюцинаций». Он запер модель в песочнице, не давая ей доступа к свежим данным. На вопросы модель отвечала красиво, но часто придумывала факты, то есть врала. Он просто «закопал» свой талант, боясь им пользоваться.
Второй же разработчик не побоялся. Он построил для своей LLM систему RAG — дал ей «лопату и карту», чтобы находить сокровища в базе знаний компании. Его AI-агент отвечал точно по делу, ссылаясь на реальные документы. Он заставил свой «талант» работать и приносить пользу.
Мощь LLM раскрывается не в ней самой, а в системах, которые вы строите вокруг неё.
Именно такие системы мы и будем строить на втором потоке нашего курса «AI-агенты для DS-специалистов». Мы не просто поговорим о RAG, а соберём полный пайплайн с оценкой качества, чтобы ваш агент не врал.
Представьте, что вы сможете начать изучать эту сложную и востребованную тему уже 15 сентября, а не ждать официального старта в октябре. У вас будет фора в 3 недели, чтобы спокойно разобраться в векторных базах и подходе «LLM as a Judge».
💸 Цена 49.000 ₽ действует последние 4 дня — до 24 августа.
👉 Начать строить RAG раньше других
❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
💯5
Лайфхак: чтобы проводить ревью, а не «ставить галочки», вставьте код коллеги в промпт ниже. Нейросеть предложит конкретные точки для рефакторинга, которые можно отметить в комментариях.
Промпт:
Отрефактори приведённый ниже код, сохранив точное поведение. Главные цели (в порядке приоритета): 1) поведение без изменений; 2) читабельность; 3) снижение/упрощение сложности; 4) улучшение структуры и соблюдение принципов SOLID.
Обязательные ограничения:
- Нельзя менять публичные сигнатуры (имена и параметры публичных функций/методов, публичные классы и их публичные интерфейсы).
- Не менять внешние контракты (формат входов/выходов, исключения, побочные эффекты), если явно не согласовано.
Ожидаемый выход (deliverables):
1) Unified diff (git-style unified diff) с изменениями — только изменения, применимые к файлам. Если создаёте новые файлы, укажите их в diff как new file mode.
2) Полный итоговый вариант рефакторнутого(ых) файла(ов) (после изменений) для быстрой проверки.
3) Минимальный набор юнит-тестов или скрипт/команды для воспроизведения и проверки, что поведение идентично исходному (если исходных тестов не было, создайте базовые тесты покрывающие ключевые сценарии).
4) Короткая секция «Ключевые решения» — по каждому существенному изменению объяснить:
- Что было изменено (строки/функция/класс);
- Почему (чёткая связь с читабельностью/сложностью/структурой/SOLID);
- Влияние на поведение, производительность и сложность (оценка O-нотации или замеры при возможности);
- Потенциальные риски/ограничения.
5) Сводка применённых принципов SOLID: для каждого принципа — что конкретно сделано (например: «SRP: класс X разделён на A и B, т.к. имел две ответственности»).
6) Commit-style summary: короткий заголовок (<= 50 символов) и 1-2 абзаца описания.
7) Если какое-то требование невозможно выполнить (например, воспроизвести тесты), явно укажите причину и предложите компромисс.
Формат вывода:
- Первой секцией выведите unified diff (если изменений нет — верните комментарий и пояснение почему).
- Далее — «Полные файлы после рефакторинга».
- Затем — «Юнит-тесты / Проверка» и инструкция как запускать (команды).
- Завершите «Ключевыми решениями» и «Commit summary».
<вставьте исходный код здесь>
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2