💬 Сколько у вас кабачков в зарплате?
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👨💻 ImmutableCollection и многозадачность в C#
При разработке многозадачных приложений важнейшей задачей является безопасная работа с общими данными, особенно когда несколько потоков одновременно обращаются к коллекциям.
Таким вопросом и задался наш подписчик:
Когда не стоит использовать:
• Каждый раз при изменении коллекции создается новая копия, что может снизить производительность.
• Частое создание новых коллекций может привести к большим затратам памяти. При ограниченных ресурсах может стать проблемой.
Когда ImmutableCollection — это идеальный выбор:
• Когда данные не изменяются часто
• Когда важна безопасность многозадачности
• В функциональном программировании
💬 Как вы используете
🐸 Библиотека шарписта
#междусобойчик
При разработке многозадачных приложений важнейшей задачей является безопасная работа с общими данными, особенно когда несколько потоков одновременно обращаются к коллекциям.
ImmutableCollection
помогает решить эту задачу, предоставляя коллекции, которые нельзя изменять после их создания. Но стоит ли использовать их везде?Таким вопросом и задался наш подписчик:
Как ImmutableCollection помогает при разработке многозадачных приложений? Стоит ли использовать их везде, где возможно?
Когда не стоит использовать:
• Каждый раз при изменении коллекции создается новая копия, что может снизить производительность.
• Частое создание новых коллекций может привести к большим затратам памяти. При ограниченных ресурсах может стать проблемой.
Когда ImmutableCollection — это идеальный выбор:
• Когда данные не изменяются часто
• Когда важна безопасность многозадачности
• В функциональном программировании
💬 Как вы используете
ImmutableCollection
? Поделитесь опытом в комментариях 👇#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2
👨💻 Нужен ли разработчику сайт-визитка или это лишнее
Сейчас у каждого есть GitHub, LinkedIn, Telegram и куча других платформ.
Казалось бы — зачем ещё и свой сайт-портфолио?
Давайте разберёмся.
✅ Аргументы за сайт-визитку
• Контроль над брендом — соцсети меняются, сайты блокируют, а домен и сервер — ваша территория.
• Выделяетесь среди резюме — вместо унылого PDF можно показать проекты, интерактивные демки, блог.
• SEO и видимость — вас могут найти рекрутеры или клиенты через поиск.
• Тренировка навыков — сайт сам по себе демонстрирует, что вы умеете в верстку, дизайн, деплой и инфраструктуру.
❌ Аргументы против или «пустая трата времени»
• Все и так смотрят GitHub/LinkedIn — работодателям важнее код и опыт, а не красивый лендинг.
• Поддерживать сложно — технологии быстро устаревают, сайт превращается в «заброшенный музей».
• Не решает ключевых задач — оффер дадут не за HTML-визитку, а за навыки и проекты.
• Время лучше потратить на реальные пет-проекты или open-source.
💬 Что думаете вы? Может у вас есть визитки? Скидывайте в комменты 👇
🐸 Библиотека шарписта
#междусобойчик
Сейчас у каждого есть GitHub, LinkedIn, Telegram и куча других платформ.
Казалось бы — зачем ещё и свой сайт-портфолио?
Давайте разберёмся.
✅ Аргументы за сайт-визитку
• Контроль над брендом — соцсети меняются, сайты блокируют, а домен и сервер — ваша территория.
• Выделяетесь среди резюме — вместо унылого PDF можно показать проекты, интерактивные демки, блог.
• SEO и видимость — вас могут найти рекрутеры или клиенты через поиск.
• Тренировка навыков — сайт сам по себе демонстрирует, что вы умеете в верстку, дизайн, деплой и инфраструктуру.
❌ Аргументы против или «пустая трата времени»
• Все и так смотрят GitHub/LinkedIn — работодателям важнее код и опыт, а не красивый лендинг.
• Поддерживать сложно — технологии быстро устаревают, сайт превращается в «заброшенный музей».
• Не решает ключевых задач — оффер дадут не за HTML-визитку, а за навыки и проекты.
• Время лучше потратить на реальные пет-проекты или open-source.
💬 Что думаете вы? Может у вас есть визитки? Скидывайте в комменты 👇
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍1
Код-ревью — это не просто оценка вашего кода, это возможность для роста и улучшения. Не все умеют конструктивно «обзываться», поэтому нужно уметь правильно реагировать на ревью.
Критика = шанс для роста. Каждый комментарий — это возможность улучшить код и стать лучше. Не нужно воспринимать это как личную атаку.
Проблемы с кодом — это не проблемы с вами. Ошибки в коде — это нормальная часть работы. Главное — это стремление исправить их.
Порой избыточная критика может деморализовать. Главное — это знать, что каждый ошибается, и это не делает вас плохим разработчиком.
💬 Как вы реагируете на код-ревью? Стараетесь не пропускать через себя или отвечаете коллегам так же строго? Делитесь в комментариях 👇
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍6
🔐 Хэширование в C#: как и когда использовать
Хэширование — это процесс преобразования данных в фиксированное значение, которое затем можно использовать для быстрого поиска и сравнения.
Основная цель хэширования — ускорить операции, например, поиск элементов в коллекциях или в базах данных.
Как работает хэширование
В C# хэширование чаще всего встречается в таких структурах данных, как
Хэш-таблица использует хэш-функцию, которая принимает ключ и преобразует его в индекс, который указывает на место хранения данных в массиве.
Пример реализации собственного хэширования:
Когда стоит использовать хэширование
Если вам нужно быстро найти, добавить или удалить данные, хэширование может значительно ускорить эти операции. Когда вы добавляете или ищете элемент, хэш-функция преобразует его ключ в индекс, и вы сразу попадаете в нужную ячейку, не перебирая все данные.
Хэширование используется для защиты данных, например, в процессе хранения паролей. В этом случае важно использовать криптографически стойкие хэш-функции, такие как SHA-256 или bcrypt.
Хэш-функции могут использоваться для проверки, не изменились ли данные, например, для контроля над целостностью файлов.
💬 Как вы используете хэширование в своих проектах? Делитесь примерами в комментариях 👇
🐸 Библиотека шарписта
#междусобойчик
Хэширование — это процесс преобразования данных в фиксированное значение, которое затем можно использовать для быстрого поиска и сравнения.
Основная цель хэширования — ускорить операции, например, поиск элементов в коллекциях или в базах данных.
Как работает хэширование
В C# хэширование чаще всего встречается в таких структурах данных, как
Dictionary
и HashSet
, где хэш-функции используются для быстрого поиска элементов. Эти коллекции используют хэш-таблицы для того, чтобы операции поиска, добавления и удаления выполнялись за время O(1) в среднем.Хэш-таблица использует хэш-функцию, которая принимает ключ и преобразует его в индекс, который указывает на место хранения данных в массиве.
Пример реализации собственного хэширования:
// Переопределение метода GetHashCode для обеспечения корректного хэширования
public override int GetHashCode()
{
// Простой хэш-функции, использующей значения полей объекта
// Здесь мы комбинируем хэши Name и Age для создания уникального хэш-значения
int hashName = Name == null ? 0 : Name.GetHashCode();
int hashAge = Age.GetHashCode();
// Используем формулу для комбинирования хэшей, чтобы минимизировать коллизии
return hashName ^ hashAge;
}
Когда стоит использовать хэширование
Если вам нужно быстро найти, добавить или удалить данные, хэширование может значительно ускорить эти операции. Когда вы добавляете или ищете элемент, хэш-функция преобразует его ключ в индекс, и вы сразу попадаете в нужную ячейку, не перебирая все данные.
Хэширование используется для защиты данных, например, в процессе хранения паролей. В этом случае важно использовать криптографически стойкие хэш-функции, такие как SHA-256 или bcrypt.
Хэш-функции могут использоваться для проверки, не изменились ли данные, например, для контроля над целостностью файлов.
💬 Как вы используете хэширование в своих проектах? Делитесь примерами в комментариях 👇
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👾8👍4❤1
Разработчики всегда стояли на перепутье: либо углубляться в одну область, становясь мастерами в ней, либо учить всё и сразу, чтобы быть востребованными на рынке.
Сейчас не редкость, что на рынок труда выходят кандидаты, которые могут работать с абсолютно всем — от фронтенда до бэкенда, от баз данных до DevOps. В некоторых случаях это выглядит как «швейцарские ножи», которые знают всё, но ни в чём не являются экспертами.
Появление инструментов, таких как фреймворки и библиотеки, изменяет саму парадигму разработки. Сегодня мы можем использовать множество технологий, не будучи экспертами в каждой из них. Это позволяет нам быстро создавать сложные системы без необходимости углубляться в каждую деталь.
💬 Как думаете вы? Лучше углубиться в одну область или быть «швейцарским ножом»?
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2