🤝 Как определить оптимальный баланс в профессиональной сфере
Кажется, что в крупных компаниях вершина успеха и билет к большой жизни. Но часто за этим стоят бессонные ночи, жёсткие дедлайны и жизнь «на работе».
А что если попробовать по-другому? Спокойные компании могут подарить больше свободы, времени для себя и ощущение, что ты живёшь не только ради работы.
В карточках выяснили, что настоящий успех — это умение выбрать, что подходит именно вам.
➡️ Узнайте, что подходит вам
🐸 Библиотека шарписта
Кажется, что в крупных компаниях вершина успеха и билет к большой жизни. Но часто за этим стоят бессонные ночи, жёсткие дедлайны и жизнь «на работе».
А что если попробовать по-другому? Спокойные компании могут подарить больше свободы, времени для себя и ощущение, что ты живёшь не только ради работы.
В карточках выяснили, что настоящий успех — это умение выбрать, что подходит именно вам.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱4
🧑💻 Когда важна скорость сериализации
MemoryPack — это высокопроизводительный сериализатор. который ориентирован на максимальную скорость и минимальные накладные расходы
Особенности инструмента
— MemoryPack минимизирует накладные расходы, копируя данные напрямую из памяти C#, без дополнительного кодирования.
— Поддерживает современные API:
— Полностью совместим с Unity, включая поддержку сериализации и десериализации объектов в игровых проектах.
— Поддерживает сериализацию интерфейсов и абстрактных классов с помощью атрибута, а также обеспечивает устойчивость к изменениям версий данных.
Согласно данным из официального репозитория, MemoryPack значительно опережает другие популярные сериализаторы по производительности: он работает до 10 раз быстрее, чем
Пример:
Его использование особенно оправдано в игровых проектах, высоконагруженных API и системах, где критична скорость обработки данных.
📎 Репозиторий проекта
🐸 Библиотека шарписта #буст
MemoryPack — это высокопроизводительный сериализатор. который ориентирован на максимальную скорость и минимальные накладные расходы
Особенности инструмента
— MemoryPack минимизирует накладные расходы, копируя данные напрямую из памяти C#, без дополнительного кодирования.
— Поддерживает современные API:
IBufferWriter<byte>
и ReadOnlySequence<byte>
.— Полностью совместим с Unity, включая поддержку сериализации и десериализации объектов в игровых проектах.
— Поддерживает сериализацию интерфейсов и абстрактных классов с помощью атрибута, а также обеспечивает устойчивость к изменениям версий данных.
Согласно данным из официального репозитория, MemoryPack значительно опережает другие популярные сериализаторы по производительности: он работает до 10 раз быстрее, чем
System.Text.Json
и protobuf-net
при сериализации стандартных объектов, при работе с массивами структур до 50–200 раз.Пример:
[MemoryPackable]
public partial class WeatherForecast
{
public DateTime Date { get; set; }
public int TemperatureC { get; set; }
public string? Summary { get; set; }
}
// Сериализация
byte[] bytes = MemoryPackSerializer.Serialize(forecast);
// Десериализация
WeatherForecast? result = MemoryPackSerializer.Deserialize<WeatherForecast>(bytes);
Его использование особенно оправдано в игровых проектах, высоконагруженных API и системах, где критична скорость обработки данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🥱2❤1🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁28
C# и .NET прошли удивительную трансформацию, превратившись из тяжёлых корпоративных инструментов в современные, кроссплатформенные решения.
В видео рассказывается о том, как новые фичи, такие как records, pattern matching и улучшенный async/await, делают разработку проще и продуктивнее.
Теперь .NET поддерживает мобильные приложения, облачные функции и игры, всё через один SDK.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🥰5😁1
🆚 Как не ошибиться в процессе выбора
Один из наших подписчиков недавно задал вопрос:
Технические решения — это не просто выбор между «лучше» и «хуже». Это баланс между бизнес-целями, ограничениями технологии, ресурсами и командной динамикой.
Каждая команда решает это по-своему, но есть несколько важных шагов, которые помогают сделать процесс более осознанным и продуктивным.
1️⃣ Четкое понимание проблемы
Прежде чем что-то решать, нужно понять, с чем имеешь дело. Собираем данные, уточняем требования, учитываем ограничения.
Тут важно не упустить детали: от анализа текущей архитектуры до учета бизнес-задач.
2️⃣ Обсуждения с командой
Ни одно решение не должно быть монологом. Обсуждения с командой помогают вскрыть скрытые риски, взглянуть на проблему с разных сторон и найти новые пути решения.
3️⃣ Структурирование обсуждений
Чтобы не утонуть в множестве идей, стоит использовать визуализации: схемы, диаграммы, прототипы. Формальные практики, такие как архитектурные ревью обеспечивают системность.
4️⃣ Принятие решения и консенсус
Идеальный вариант — когда решение строится на фактах и аргументах. Иногда нужен быстрый выбор: голосование или прототипирование, чтобы проверить гипотезы.
В разногласиях роль лидера — взять ответственность и объяснить выбор.
5️⃣ Ретроспектива
После того как решение внедрено, важно его оценить. Что сработало? Что не так? Это шанс извлечь уроки и в следующий раз сделать процесс принятия решений еще более четким.
Открытость, системность и готовность анализировать результаты — вот что помогает работать слаженно и минимизировать конфликты в команде.
💬 Как в вашей команде принимаются решения? Делитесь опытом в комментариях 👇
🐸 Библиотека шарписта #междусобойчик
Один из наших подписчиков недавно задал вопрос:
Как вы принимаете технические решения в команде? Как правильно выбрать то, что действительно полезно и угодит всем?
Технические решения — это не просто выбор между «лучше» и «хуже». Это баланс между бизнес-целями, ограничениями технологии, ресурсами и командной динамикой.
Каждая команда решает это по-своему, но есть несколько важных шагов, которые помогают сделать процесс более осознанным и продуктивным.
Прежде чем что-то решать, нужно понять, с чем имеешь дело. Собираем данные, уточняем требования, учитываем ограничения.
Тут важно не упустить детали: от анализа текущей архитектуры до учета бизнес-задач.
Ни одно решение не должно быть монологом. Обсуждения с командой помогают вскрыть скрытые риски, взглянуть на проблему с разных сторон и найти новые пути решения.
Чтобы не утонуть в множестве идей, стоит использовать визуализации: схемы, диаграммы, прототипы. Формальные практики, такие как архитектурные ревью обеспечивают системность.
Идеальный вариант — когда решение строится на фактах и аргументах. Иногда нужен быстрый выбор: голосование или прототипирование, чтобы проверить гипотезы.
В разногласиях роль лидера — взять ответственность и объяснить выбор.
После того как решение внедрено, важно его оценить. Что сработало? Что не так? Это шанс извлечь уроки и в следующий раз сделать процесс принятия решений еще более четким.
Открытость, системность и готовность анализировать результаты — вот что помогает работать слаженно и минимизировать конфликты в команде.
💬 Как в вашей команде принимаются решения? Делитесь опытом в комментариях 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2😁2👍1🌚1
🚨 ИИ уже съел ваше место?
Стоп. Давайте без паники и хайпа.
Пока одни кричат «ИИ всех заменит!», другие спокойно получают оффер за оффером. Пока CEO сокращают команды «из-за ИИ», разработчики с нужными скиллами поднимают зарплаты.
Мы копаем глубже твиттеров «экспертов» и собираем данные от тех, кто каждый день коммитит, деплоит, фиксит баги — но в этом нам нужна ваша помощь.
❓Хотим понять:
— Кого действительно уволили и почему
— Как изменились задачи разработчиков
— Где ИИ помогает, а где только мешает
— Какие роли появились, какие исчезли
— Сколько платят тем, кто «дружит» с ИИ
Без буллшита — только цифры и факты. Результаты будут открыты для всех.
📊 Чем больше участников — тем точнее картина. Поделитесь опытом: https://clc.to/aFntFw
Стоп. Давайте без паники и хайпа.
Пока одни кричат «ИИ всех заменит!», другие спокойно получают оффер за оффером. Пока CEO сокращают команды «из-за ИИ», разработчики с нужными скиллами поднимают зарплаты.
Мы копаем глубже твиттеров «экспертов» и собираем данные от тех, кто каждый день коммитит, деплоит, фиксит баги — но в этом нам нужна ваша помощь.
❓Хотим понять:
— Кого действительно уволили и почему
— Как изменились задачи разработчиков
— Где ИИ помогает, а где только мешает
— Какие роли появились, какие исчезли
— Сколько платят тем, кто «дружит» с ИИ
Без буллшита — только цифры и факты. Результаты будут открыты для всех.
📊 Чем больше участников — тем точнее картина. Поделитесь опытом: https://clc.to/aFntFw
😁4
🧑💻 AI-инструменты, которые я использую каждый день
Искусственный интеллект всё активнее входит в нашу повседневную жизнь. Разработчики, как и многие другие профессионалы, широко применяют возможности нейросетей.
Мы опросили рядового разработчика — узнайте, как именно он использует нейросети. Смотрите интервью в карточках.
➡️ Как вам формат? Задавайте вопросы в комментариях, а мы найдём экспертов 👇
🐸 Библиотека шарписта
Искусственный интеллект всё активнее входит в нашу повседневную жизнь. Разработчики, как и многие другие профессионалы, широко применяют возможности нейросетей.
Мы опросили рядового разработчика — узнайте, как именно он использует нейросети. Смотрите интервью в карточках.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3🔥1😁1🌚1
dotnet-trace
Инструмент dotnet-trace предназначен для сбора runtime-трассировок .NET-приложений без сложной настройки.
Устанавливается командой:
dotnet tool install -g dotnet-trace
Сбор трассировки:
dotnet-trace collect \
--process-id <PID> \
--format speedscope \
-o profile.speedscope.json
Откройте profile.speedscope.json в Speedscope — получите интерактивную визуализацию горячих точек CPU, поведения GC и потоков.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍4🥱1
Please open Telegram to view this post
VIEW IN TELEGRAM
💯22😁9
📣 Исключения или Result — что выбрать для обработки ошибок
Когда речь заходит о том, как лучше обрабатывать ошибки в C#, многие разработчики оказываются в двух лагерях.
• Исключения — классический подход
Исключения используются в C# с самого начала. Они позволяют немедленно прерывать выполнение программы в случае ошибки и предоставить стек вызовов для диагностики проблемы.
Многие считают это стандартом, потому что исключения чётко отображают сбой, который требует внимания.
• Result-типы — альтернатива
С другой стороны, есть подход с явным использованием Result-типа, который помогает разработчику контролировать ошибки через возвращаемые значения.
Обеспечивает большую гибкость в работе с результатами, позволяет возвращать ошибки с дополнительной информацией.
💬 Когда вы предпочитаете использовать исключения? А когда лучше использовать Result? Делитесь мнениями в комментариях 👇
🐸 Библиотека шарписта #междусобойчик
Когда речь заходит о том, как лучше обрабатывать ошибки в C#, многие разработчики оказываются в двух лагерях.
• Исключения — классический подход
Исключения используются в C# с самого начала. Они позволяют немедленно прерывать выполнение программы в случае ошибки и предоставить стек вызовов для диагностики проблемы.
Многие считают это стандартом, потому что исключения чётко отображают сбой, который требует внимания.
• Result-типы — альтернатива
С другой стороны, есть подход с явным использованием Result-типа, который помогает разработчику контролировать ошибки через возвращаемые значения.
Обеспечивает большую гибкость в работе с результатами, позволяет возвращать ошибки с дополнительной информацией.
💬 Когда вы предпочитаете использовать исключения? А когда лучше использовать Result? Делитесь мнениями в комментариях 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🤔1
📌 Главное за неделю
Представляем самые важные новости и события, которые определяли повестку уходящей недели.
— C# сохраняет пятую позицию в TIOBE
C# продолжает оставаться одним из ведущих языков для разработки приложений, игр и веб-сервисов.
— 6 скрытых возможностей C# для геймдева
В видео делятся практическими примерами использования малоизвестных функций для повышения производительности и качества кода.
— От фотографий к задачам с помощью ИИ
В новой статье Microsoft описывается, как с помощью .NET MAUI и Microsoft.Extensions.AI можно преобразовать изображения в структурированные данные.
Пользователи могут делать снимки или выбирать фотографии, а ИИ анализирует их, извлекая задачи и проекты для приложения Telepathic.
— 5 ошибок, делающих ваш код неподдерживаемым
В статье выделяются пять распространённых ошибок в проектировании ПО, которые приводят к трудностям в поддержке кода.
— Пройдите наш опрос про ИИ
🐸 Библиотека шарписта #свежак
Представляем самые важные новости и события, которые определяли повестку уходящей недели.
— C# сохраняет пятую позицию в TIOBE
C# продолжает оставаться одним из ведущих языков для разработки приложений, игр и веб-сервисов.
— 6 скрытых возможностей C# для геймдева
В видео делятся практическими примерами использования малоизвестных функций для повышения производительности и качества кода.
— От фотографий к задачам с помощью ИИ
В новой статье Microsoft описывается, как с помощью .NET MAUI и Microsoft.Extensions.AI можно преобразовать изображения в структурированные данные.
Пользователи могут делать снимки или выбирать фотографии, а ИИ анализирует их, извлекая задачи и проекты для приложения Telepathic.
— 5 ошибок, делающих ваш код неподдерживаемым
В статье выделяются пять распространённых ошибок в проектировании ПО, которые приводят к трудностям в поддержке кода.
— Пройдите наш опрос про ИИ
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека задач по C# | тесты, код, задания
В чем различие между классом и структурой?
Для С# классы System.Object, System.Exception, System.File-Stream и System.Random — это ссылочные типы (память выделяется из упр. кучи). В свою очередь размерные типы в документации называются структурами (structure) и перечислениями (enumeration). Например, структуры System.In132, System.Boolean, System.Decimal, System.TimeSpan и перечисления System.DayOfWeek, System.10.FileAttributes и System.Drawing.FontStyle являются размерными типами (хранятся обычно в стеке потока, но могут быть встроены в ссылочные типы).
Библиотека задач по C#
Библиотека задач по C#
😢12😁6❤2🤔1🌚1
Tech Lead (C#) — гибрид в Москве.
Инженер-программист C# (Middle) — от 200 000 ₽, офис в Москве.
C# Developer (.Net) — до 370 000 ₽, удалёнка.
C#/.NET Developer (Middle, Senior) — удалёнка.
Senior .NET Developer — удалёнка.
Бустер — удалённо в метре от вас.
Please open Telegram to view this post
VIEW IN TELEGRAM
Проблема: создание эффективной системы инвентаря является ключевым элементом в разработке игр, требующим динамичного управления предметами и их взаимодействиями.
Решение: в книге «Unity 6 Game Development with C# Scripting» автор предлагает подробное руководство по разработке системы инвентаря, используя возможности Unity и C#. Он акцентирует внимание на создании гибкой структуры данных, которая позволяет эффективно управлять предметами, их свойствами и взаимодействиями в игровом процессе.
Пример кода:
public class InventoryItem
{
public string itemName;
public Sprite itemIcon;
public int itemID;
public string itemDescription;
public InventoryItem(string name, Sprite icon, int id, string description)
{
itemName = name;
itemIcon = icon;
itemID = id;
itemDescription = description;
}
}
public class InventorySystem : MonoBehaviour
{
private List<InventoryItem> items = new List<InventoryItem>();
public void AddItem(InventoryItem newItem)
{
items.Add(newItem);
Debug.Log("Item added: " + newItem.itemName);
}
public void RemoveItem(InventoryItem itemToRemove)
{
if (items.Contains(itemToRemove))
{
items.Remove(itemToRemove);
Debug.Log("Item removed: " + itemToRemove.itemName);
}
else
{
Debug.Log("Item not found: " + itemToRemove.itemName);
}
}
public void DisplayInventory()
{
foreach (var item in items)
{
Debug.Log("Item: " + item.itemName + " | ID: " + item.itemID);
}
}
}
Преимущества:
— Гибкость в управлении предметами и их свойствами.
— Упрощение процесса добавления и удаления предметов из инвентаря.
— Лёгкость в интеграции с другими системами игры, такими как квесты или торговля.
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱15❤3🌚2👾1