Span<T>
— это структура данных, которая предоставляет доступ к диапазону элементов в памяти. Это меньше чем массив, потому что Span<T> является сегментом памяти, а не целым массивом. Memory<T>
— очень похож на Span, но с возможностью работать с данными в куче. Он может быть использован в асинхронных операциях и может сохраняться как переменная.Работа с памятью без копий данных
Span и Memory позволяют работать с данными, не создавая новых копий.
public static void ProcessData()
{
// Создаем массив данных
int[] data = new int[100];
// Создаем Span, который ссылается на часть массива
Span<int> span = new Span<int>(data);
// Модифицируем данные через Span
span[0] = 42;
span[1] = 84;
// Выводим измененные данные
Console.WriteLine(data[0]); // 42
Console.WriteLine(data[1]); // 84
}
Использование Memory в асинхронных операциях
Если вам нужно передать данные в асинхронную задачу, используйте Memory, так как Span не может быть использован вне методов.
public async Task ProcessMemoryAsync()
{
byte[] data = new byte[100];
Memory<byte> memory = new Memory<byte>(data);
// Передаем данные в асинхронный метод
await SomeAsyncOperation(memory);
}
public async Task SomeAsyncOperation(Memory<byte> memory)
{
// Работа с Memory
memory.Span[0] = 1;
await Task.Delay(100); // асинхронная операция
}
Использование Memory с большими объемами данных
Если у вас есть большие данные, которые не помещаются в стек, используйте Memorу. Это позволит эффективно работать с кучей, сохраняя данные в памяти и передавая их по мере необходимости.
Span и Memory — это настоящие маги производительности в C#. Они позволяют работать с памятью быстро, избавляя от необходимости копировать данные и снижая нагрузку на сборщик мусора
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁48👍2
🤖 Когда под рукой нет фронта
Не у всех команд есть фронт-разрабы — это нормально. Мы подготовили для вас промпт, который поможет сгенерировать фронт-код прямо по вашим эндпоинтам.
Промпт:
API есть — интерфейс будет.
🐸 Библиотека шарписта #буст
Не у всех команд есть фронт-разрабы — это нормально. Мы подготовили для вас промпт, который поможет сгенерировать фронт-код прямо по вашим эндпоинтам.
Промпт:
Вы — эксперт Frontend-разработчик с опытом создания пользовательских интерфейсов для .NET приложений. Ваша задача — создавать чистый, эффективный и поддерживаемый код фронтенда на React, Angular или Vue, который легко интегрируется с .NET бэкендом через указанные API-эндпоинты. Каждый ответ должен включать:
1. Полноценно рабочий компонент с комментариями по ключевым решениям.
2. Обоснование выбора архитектурных подходов, методик маршрутизации и управления состоянием.
3. Использование лучших практик современных фреймворков.
Предоставляю список эндпоинтов (укажите формат: URL, методы, схема данных). Создавайте код, учитывая эти эндпоинты и специфику взаимодействия с API.
API есть — интерфейс будет.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7😁1
🫣 Боитесь математики в ML?
Думаете, для этого нужно вспоминать университетские интегралы и решать сложные уравнения?
У нас хорошая новость: машинное обучение — это в первую очередь инженерная практика, а не математическая олимпиада. Здесь важнее понимать суть, а не выводить формулы.
Именно на таком подходе — через логику, интуицию и наглядные примеры — и построен наш курс «ML для старта в Data Science», где мы объясняем всё на пальцах, без боли и зубрёжки.
Регистрируйтесь, пока есть свободные места 😉
Думаете, для этого нужно вспоминать университетские интегралы и решать сложные уравнения?
У нас хорошая новость: машинное обучение — это в первую очередь инженерная практика, а не математическая олимпиада. Здесь важнее понимать суть, а не выводить формулы.
Именно на таком подходе — через логику, интуицию и наглядные примеры — и построен наш курс «ML для старта в Data Science», где мы объясняем всё на пальцах, без боли и зубрёжки.
Регистрируйтесь, пока есть свободные места 😉
1😁2
В команде всегда важен баланс: навыков, взаимодействия, доверия.
Но что делать, если приходится выбирать?
Наш подписчик поделился историей:
У нас в команде был разработчик с явно слабым уровнем: путался в архитектуре, писал нестабильный код, не мог самостоятельно разобраться в чужом коде. Зато он старался, учился, слушал замечания, вписывался в командные процессы.
Потом пришёл другой — опытный, уверенный, местами даже впечатляющий. Быстро понимал задачу, показывал нестандартные решения, но при этом он постоянно спорил с тем, как устроена архитектура, игнорировал договорённости команды, воспринимал ревью как придирки, предлагал «как надо» на каждом шагу.
В итоге один тянул вниз, а второй — разрывал команду изнутри.
Какой тип разработчика на самом деле опаснее?
Админ думает, что токсику не место в командной разработке. Большие проекты это зачастую стресс, а если в этом стрессе кто-то будет подливать масла, то взорвутся все.
💬 А теперь вопрос: кого бы вы оставили, если нужно выбрать одного?
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔4❤2👍1
Proglib Academy — это место, где вы превращаете теорию в практику. Здесь ваши знания становятся проектами для портфолио, а вы — более уверенным специалистом.
Выберите курс, который поможет сделать следующий шаг ⬇️
🚀 Для тех, кто начинает путь в IT:
— Основы IT для непрограммистов
— Программирование на Python (обновлённый)
— Frontend-разработчик с нуля: HTML, CSS, JavaScript
🧠 Для будущих и настоящих Data Scientist'ов:
— ML для старта в Data Science (начинается в сентябре)
— Базовые модели ML и приложения
— Математика для Data Science
— AI-агенты для DS-специалистов (скоро второй поток)
🛠️ Для опытных разработчиков, готовых к росту:
— Алгоритмы и структуры данных
— Архитектуры и шаблоны проектирования
Независимо от вашей цели, у нас есть курс, который поможет её достичь. Переходите в Proglib Academy, выбирайте свой путь и инвестируйте в навыки, которые всегда будут в цене!
Выберите курс, который поможет сделать следующий шаг ⬇️
🚀 Для тех, кто начинает путь в IT:
— Основы IT для непрограммистов
— Программирование на Python (обновлённый)
— Frontend-разработчик с нуля: HTML, CSS, JavaScript
🧠 Для будущих и настоящих Data Scientist'ов:
— ML для старта в Data Science (начинается в сентябре)
— Базовые модели ML и приложения
— Математика для Data Science
— AI-агенты для DS-специалистов (скоро второй поток)
🛠️ Для опытных разработчиков, готовых к росту:
— Алгоритмы и структуры данных
— Архитектуры и шаблоны проектирования
Независимо от вашей цели, у нас есть курс, который поможет её достичь. Переходите в Proglib Academy, выбирайте свой путь и инвестируйте в навыки, которые всегда будут в цене!
❤3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🧑💻 Локальные рефакторинги без мыши
Обычно, чтобы обернуть код в
Есть быстрый путь:
1. Выделите фрагмент кода
2. Нажмите Ctrl+K, затем Ctrl+S
3. Выберите сниппет для обёртки
4. Готово — без единого клика
Пример:
За неделю таких мелочей набегает целый час, который лучше потратить на решение задач, а не на кликание в меню.
🐸 Библиотека шарписта #буст
Обычно, чтобы обернуть код в
try/catch
или using
, многие тянутся к мыши: выделить → ПКМ → Refactor → Surround With… и только потом выбрать нужный шаблон.Есть быстрый путь:
1. Выделите фрагмент кода
2. Нажмите Ctrl+K, затем Ctrl+S
3. Выберите сниппет для обёртки
4. Готово — без единого клика
Пример:
// Было:
DoSomething();
// Стало:
try
{
DoSomething();
}
catch (Exception ex)
{
// log or handle
}
За неделю таких мелочей набегает целый час, который лучше потратить на решение задач, а не на кликание в меню.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤3
This media is not supported in your browser
VIEW IN TELEGRAM
💰 Сколько ты стоишь как разработчик
Многие годами работают за «среднюю» зарплату, даже не проверяя, сколько на самом деле стоят их навыки.
Рынок меняется, технологии обновляются, а ваша цена на него — нет.
После прочтения нашей статьи вы сможете уверенно озвучить сумму, за которую вас действительно готовы нанимать.
➡️ Читать статью
🐸 Библиотека шарписта
Многие годами работают за «среднюю» зарплату, даже не проверяя, сколько на самом деле стоят их навыки.
Рынок меняется, технологии обновляются, а ваша цена на него — нет.
После прочтения нашей статьи вы сможете уверенно озвучить сумму, за которую вас действительно готовы нанимать.
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱6😁1🤔1
Please open Telegram to view this post
VIEW IN TELEGRAM
1😁34
Anonymous Quiz
14%
Whidbey — остров у побережья штата Вашингтон
23%
Vienna — столица Австрии
50%
Redmond — город, где находится штаб-квартира Microsoft
14%
Orcas — остров в архипелаге Сан-Хуан
🧐 Зоопарк моделей в ML: с чего начать?
Открываешь статью по машинному обучению — и в тебя летят слова: трансформеры, бустинги, SVM, регрессии.
Кажется, придётся учить всё это, иначе в ML не пустят.
Хорошая новость: 90% задач можно закрыть 2–3 классическими методами. Разберёшь их — уже сможешь собирать работающие проекты. А хайповые названия подождут.
Важно: не распыляйся на всё подряд. Начни с базового — это фундамент, на котором держится остальное.
👉 Успей попасть на курс «ML для старта в Data Science»
Открываешь статью по машинному обучению — и в тебя летят слова: трансформеры, бустинги, SVM, регрессии.
Кажется, придётся учить всё это, иначе в ML не пустят.
Хорошая новость: 90% задач можно закрыть 2–3 классическими методами. Разберёшь их — уже сможешь собирать работающие проекты. А хайповые названия подождут.
Важно: не распыляйся на всё подряд. Начни с базового — это фундамент, на котором держится остальное.
👉 Успей попасть на курс «ML для старта в Data Science»
❤2😁1
Уделите пару минут этой подборке и будете в теме прошедших дней.
— Visual Studio 2015: завершение поддержки
14 октября 2025 г. Microsoft прекращает поддержку всех редакций VS 2015 и связанных компонентов. Обновлений безопасности больше не будет.
— Dependabot для NuGet стал быстрее и умнее
Новый движок на нативном .NET ускорил обновления на 65 %, повысил успешность с 82 % до 94 % и научился корректно работать с транзитивными зависимостями.
— Оценка качества AI-агентов в .NET
В библиотеке
Microsoft.Extensions.AI.Evaluation
появились новые инструменты: метрики для проверки понимания намерений, фокуса на задаче и корректности вызова инструментов— Обновления .NET 8.0 и .NET 9.0
Обновлён рантайм, SDK, контейнерные образы и пакеты для Linux. Изменений в безопасности .NET нет.
— Промпты от Microsoft
Microsoft собрала пять готовых промптов к Copilot, которые помогут быстрее разбираться в чужом коде, писать модульные тесты, переводить синхронный код на async/await, находить уязвимости и генерировать тестовые данные.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Forwarded from Библиотека задач по C# | тесты, код, задания
Какое утверждение корректно описывает поведение struct с полями-ссылками (ref fields) и использованием ref struct в C#?
👾 — ref struct можно хранить в куче, если он вложен в класс, но доступ к нему осуществляется только по ссылке
👍 — ref struct запрещает захват в замыканиях, хранение в полях классов и boxing, чтобы гарантировать расположение в стеке
🥰 — Обычный struct с полями-ссылками (ref T) компилятор не ограничивает, и их можно хранить в куче без последствий
🥱 — ref struct может быть полем обычного struct, если оба находятся в куче
Библиотека задач по C#
👾 — ref struct можно хранить в куче, если он вложен в класс, но доступ к нему осуществляется только по ссылке
👍 — ref struct запрещает захват в замыканиях, хранение в полях классов и boxing, чтобы гарантировать расположение в стеке
🥰 — Обычный struct с полями-ссылками (ref T) компилятор не ограничивает, и их можно хранить в куче без последствий
🥱 — ref struct может быть полем обычного struct, если оба находятся в куче
Библиотека задач по C#
👍37❤2🤔1👾1
C# Unity Developer — удалёнка.
Разработчик C# (Middle+) — от 230 000 ₽, гибрид (Москва).
Senior C# developer — от 4 500 до 5 500 €, удалёнка.
Senior C#-разработчик — удалёнка.
C# разработчик — от 240 000 до 300 000 .
Бустер — Удалённо (в любом городе мира).
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
📀 Как настроить SQLite в .NET
SQLite — это легковесная база данных, которая идеально подходит для локальных приложений, тестирования или небольших проектов.
Давайте разберём, как настроить SQLite в проекте на .NET и начать работать с данными.
• Прежде всего, нужно добавить SQLite в ваш проект.
Для этого пишем команду:
• Создание базы данных
После установки пакета можно приступать к созданию базы данных. Пример простого кода для создания базы данных и таблицы:
Здесь мы создаем базу данных, если её ещё нет, и таблицу пользователей.
Добавляем данные: вставка записей
Чтобы извлечь данные, используем SQL-запрос и ExecuteReader:
Параметризированные запросы
Для защиты от своих же SQL-инъекций важно использовать параметризированные запросы:
Теперь вы знаете, как легко настроить SQLite в вашем проекте на .NET.
🐸 Библиотека шарписта
#буст
SQLite — это легковесная база данных, которая идеально подходит для локальных приложений, тестирования или небольших проектов.
Давайте разберём, как настроить SQLite в проекте на .NET и начать работать с данными.
• Прежде всего, нужно добавить SQLite в ваш проект.
Для этого пишем команду:
Install-Package Microsoft.Data.Sqlite
• Создание базы данных
После установки пакета можно приступать к созданию базы данных. Пример простого кода для создания базы данных и таблицы:
using Microsoft.Data.Sqlite;
public class SQLiteExample
{
public void CreateDatabase()
{
var connectionString = "Data Source=example.db"; // Путь к базе данных
using (var connection = new SqliteConnection(connectionString))
{
connection.Open();
var command = connection.CreateCommand();
command.CommandText =
@"
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT NOT NULL
);
";
command.ExecuteNonQuery();
}
}
}
Здесь мы создаем базу данных, если её ещё нет, и таблицу пользователей.
Добавляем данные: вставка записей
public void InsertData()
{
var connectionString = "Data Source=example.db";
using (var connection = new SqliteConnection(connectionString))
{
connection.Open();
var command = connection.CreateCommand();
command.CommandText =
@"
INSERT INTO users (name, email)
VALUES ('John Doe', 'johndoe@example.com');
";
command.ExecuteNonQuery();
}
}
Чтобы извлечь данные, используем SQL-запрос и ExecuteReader:
public void ReadData()
{
var connectionString = "Data Source=example.db";
using (var connection = new SqliteConnection(connectionString))
{
connection.Open();
var command = connection.CreateCommand();
command.CommandText =
"SELECT id, name, email FROM users;";
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine($"ID: {reader.GetInt32(0)}, Name: {reader.GetString(1)}, Email: {reader.GetString(2)}");
}
}
}
}
Параметризированные запросы
Для защиты от своих же SQL-инъекций важно использовать параметризированные запросы:
public void InsertDataWithParameters(string name, string email)
{
var connectionString = "Data Source=example.db";
using (var connection = new SqliteConnection(connectionString))
{
connection.Open();
var command = connection.CreateCommand();
command.CommandText =
@"
INSERT INTO users (name, email)
VALUES (@name, @email);
";
command.Parameters.AddWithValue("@name", name);
command.Parameters.AddWithValue("@email", email);
command.ExecuteNonQuery();
}
}
Теперь вы знаете, как легко настроить SQLite в вашем проекте на .NET.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🥱7
🧑💻 Сёрфить .NET без Blazor
Можно ли запустить .NET-приложение в браузере без Blazor? Да, существуют несколько альтернативных методов, которые могут подойти для различных проектов.
Один из таких методов — это WebAssembly. Эта технология позволяет компилировать .NET-код в байткод, который выполняется в браузере. Однако WebAssembly не поддерживает все возможности .NET, а настройка может быть сложной.
Если нужна большая гибкость, можно использовать JavaScript Interop. Этот подход позволяет обмениваться данными между JavaScript и .NET, что дает возможность интегрировать их в одно приложение.
Это решение для тех, кто хочет сохранить существующий JavaScript-код, но при этом использовать возможности .NET в клиентской части.
Также можно использовать инструменты вроде Mono и CoreRT для компиляции .NET-приложений в WebAssembly, или платформы, такие как Ooui и Uno Platform, которые упрощают перенос .NET-кода в браузер.
➡️ Подробнее про запуск с WebAssembly можно почитать в статье
🐸 Библиотека шарписта
#буст
Можно ли запустить .NET-приложение в браузере без Blazor? Да, существуют несколько альтернативных методов, которые могут подойти для различных проектов.
Один из таких методов — это WebAssembly. Эта технология позволяет компилировать .NET-код в байткод, который выполняется в браузере. Однако WebAssembly не поддерживает все возможности .NET, а настройка может быть сложной.
Если нужна большая гибкость, можно использовать JavaScript Interop. Этот подход позволяет обмениваться данными между JavaScript и .NET, что дает возможность интегрировать их в одно приложение.
Это решение для тех, кто хочет сохранить существующий JavaScript-код, но при этом использовать возможности .NET в клиентской части.
Также можно использовать инструменты вроде Mono и CoreRT для компиляции .NET-приложений в WebAssembly, или платформы, такие как Ooui и Uno Platform, которые упрощают перенос .NET-кода в браузер.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4
📺 Хватит коллекционировать туториалы!
Десятки роликов по ML, сотни вкладок, папка «Посмотреть позже» трещит по швам. В голове — обрывки знаний о нейросетях и Pandas.
Знания без системы — это просто «шум». Они не превращаются в навыки и проекты.
Наш курс «ML для старта в Data Science» — это не ещё один туториал. Это система. Чёткий путь от «каши» в голове до первого сильного проекта в портфолио.
И да, чтобы старт был ещё проще — при покупке курса по ML вы получаете курс по Python в подарок
👉 Превратите «шум» в навык
А вы сталкивались с «информационной кашей»? Как выбирались? 👇
Десятки роликов по ML, сотни вкладок, папка «Посмотреть позже» трещит по швам. В голове — обрывки знаний о нейросетях и Pandas.
Знания без системы — это просто «шум». Они не превращаются в навыки и проекты.
Наш курс «ML для старта в Data Science» — это не ещё один туториал. Это система. Чёткий путь от «каши» в голове до первого сильного проекта в портфолио.
И да, чтобы старт был ещё проще — при покупке курса по ML вы получаете курс по Python в подарок
👉 Превратите «шум» в навык
А вы сталкивались с «информационной кашей»? Как выбирались? 👇
❤4🥱4
🛠 Как оживить протухшую ветку без merge-хаоса
Бывает: вы увлеклись разработкой, прошло пару недель (или месяцев), а основная ветка уже ушла далеко вперёд. В итоге — боль, конфликты и бесконечные merge-коммиты.
В таких случаях может спасати ребейз на свежую ветку:
Она подтянет последние изменения из релизной ветки и наложит ваши коммиты поверх, сохранив линейную историю.
Конфликты всё равно придётся разруливать, но по одному — в контексте конкретного коммита, а не в гигантской свалке.
После успешного ребейза пушим с
🐸 Библиотека шарписта
#буст
Бывает: вы увлеклись разработкой, прошло пару недель (или месяцев), а основная ветка уже ушла далеко вперёд. В итоге — боль, конфликты и бесконечные merge-коммиты.
В таких случаях может спасати ребейз на свежую ветку:
git pull --rebase origin release/1.2.0
Она подтянет последние изменения из релизной ветки и наложит ваши коммиты поверх, сохранив линейную историю.
Конфликты всё равно придётся разруливать, но по одному — в контексте конкретного коммита, а не в гигантской свалке.
После успешного ребейза пушим с
--force-with-lease
, чтобы аккуратно обновить удалённую ветку, и продолжаем работать так, как будто отставания и не было.#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🌚2
🔥 Успей поднять квалификацию по выгодной цене!
Только до 17 августа у вас есть последняя возможность купить наши курсы по старым ценам.
🔹 Математика для Data Science:
— Базовый: (сейчас)
— Ультра:
— VIP:
🔹 Программирование на Python:
🔹 Алгоритмы и структуры данных:
🔹 Архитектуры и шаблоны проектирования:
🔹 AI-агенты для DS специалистов:
🔹 Основы IT для непрограммистов:
🔹 Базовые модели ML:
❗ Важно: Курсы из линейки Frontend Basic полностью снимаются с продажи. 17 августа — буквально последний день, когда их можно будет приобрести.
Успей купить до повышения — осталось 4 дня!
👉 Зафиксировать цену и начать учиться
Только до 17 августа у вас есть последняя возможность купить наши курсы по старым ценам.
🔹 Математика для Data Science:
— Базовый: (сейчас)
26 399₽
→ (будет) 33 900₽
— Ультра:
35 199₽
→ 44 900₽
— VIP:
59 829₽
→ 75 900₽
(выгода больше 16 000₽!)🔹 Программирование на Python:
24 990₽
→ 32 900₽
🔹 Алгоритмы и структуры данных:
31 669₽
→ 39 900₽
🔹 Архитектуры и шаблоны проектирования:
24 890₽
→ 32 900₽
🔹 AI-агенты для DS специалистов:
54 000₽
→ 59 000₽
🔹 Основы IT для непрограммистов:
14 994₽
→ 19 900₽
🔹 Базовые модели ML:
6 990₽
→ 9 900₽
❗ Важно: Курсы из линейки Frontend Basic полностью снимаются с продажи. 17 августа — буквально последний день, когда их можно будет приобрести.
Успей купить до повышения — осталось 4 дня!
👉 Зафиксировать цену и начать учиться
❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁20❤1