O seu período de teste terminou!
Para acesso total à funcionalidade, pague uma subscrição premium
RU
Руслан Шишмарев | Программист
https://t.me/ruslan_shishmarev
Idade do canal
Criado
Linguagem
Russo
-
ER (semana)
-
ERRAR (semana)

Блог о программировании. Пишу, что думаю. За консультацией и наставничеством: @ruslan_sh_dev Канал на YouTube: https://www.youtube.com/@RuslanShishmarev Автор NVP Studio: nvp-studio.ru

Mensagens Estatísticas
Repostagens e citações
Redes de publicação
Satélites
Contatos
História
Principais categorias
As principais categorias de mensagens aparecerão aqui.
Principais menções
Não foram detectadas menções significativas.
Encontrado 15 resultados
Привет всем.
Мы сделали информационный канал о нашем новом стартапе по расчетам опорных конструкций. Будем рады вашей поддержке. Мы активно работаем над выпуском первой демки. Все интересные события по развитию приложения будут там!

https://t.me/csanalysis_app
23.04.2025, 11:08
t.me/ruslan_shishmarev/180
Новый отзыв на курс по разработке приложений на C# WPF. Очень рад, что он до сих пор актуален и помогает людям изучать программирование.

Ссылка на курс: https://stepik.org/a/108281
21.04.2025, 12:13
t.me/ruslan_shishmarev/179
Когда проект затянулся на полгода. И сожрал нервы.

Ещё в прошлом году, когда я выпустил свой проект NVP (среда для визуального программирования), мы начали искать заказчиков.

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

Я подумал: «Да это же идеально ложится на мой движок!»
Накидали ТЗ, стартанули. Заложили примерно 2 месяца. Цена — меньше себестоимости, с хорошей скидкой. Предоплата 50%.

По началу всё шло бодро. Тестировали на их модели, придумали, как реализовать алгоритм, даже допилили пару штук от себя. Отдали на тест — и тут началось веселье…

Сначала не учли специальные колонны.
Добавили.
Скинули.
Начали тестить на других моделях — а там уже летят ошибки в алгоритме. Да, не было это в ТЗ, как и колонны, но мы не стали спорить. Сделали.

И так продолжалось… 7 месяцев.
Каждый раз находили что-то новое. То стены друг на друга залезают, то помещения пересекаются. Модели были ооочень кривыми.
Но мы всё равно бились: дописывали проверки, расширяли алгоритм, делали, что могли.

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

Они остались недовольны. Волшебной кнопки, понятное дело, не вышло. Но вроде как согласились закрыть договор. Получим ли оставшиеся деньги — не знаю. Да уже и пофиг, если честно. Морально это было прям тяжело.

Что думаете по поводу этой ситуации?
Попадали в похожее? Как бы вы поступили?
10.04.2025, 18:04
t.me/ruslan_shishmarev/177
Я очень старался сделать это видео так, чтобы процесс изучения устройства словаря был прост и понятен.

Пошагово объясняю, зачем нужны все эти проверки, массивы. Почему добавление элемента в словарь - затратно, а получение нет. Для чего HashCode и когда словарь может стать односвязным списком. Полезного просмотра!
https://youtu.be/wYPSleVAe9E
8.04.2025, 23:26
t.me/ruslan_shishmarev/176
😉Готовлю новый видеоурок: как устроен словарь в C#

Сегодня буду снимать, как работает Dictionary под капотом — с нуля реализовал свою версию со всеми важными штуками:

• Хэш-функции

• Коллизии и цепочки

• Рехеширование

• Своё перечисление элементов

Разобрался, почему словарь бывает «дырявым» при неправильной реализации, и как правильно переносятся элементы при изменении размера. Пришлось попотеть конечно, чтобы учесть многие моменты.

Если тебе интересно понять алгоритмы, а не просто использовать готовые классы, — будет полезно. Плюс это очень поможет проходить собеседования. Это один из популярных вопросов. Ждите!
6.04.2025, 09:02
t.me/ruslan_shishmarev/175
Как работает StringBuilder? Ответ хейтерам!

В новом уроке я показал, как можно реализовать свой StringBuilder на основе внутреннего массива char[]. Это упрощённая версия, созданная для объяснения основного принципа работы.

Что внутри?
✅ Динамический массив для хранения символов
✅ Автоматическое расширение буфера при нехватке места
✅ Методы добавления символов и строк

Вот код, который я показал в видео:
internal class MyStringBuilder
{
private char[] _chars;
private int _count = 0;
private int _capacity = 16;
private double _factor = 0.9;

public MyStringBuilder()
{
_chars = new char[_capacity];
}

public void Add(char c)
{
if (_count / (double)_capacity > _factor)
{
_capacity *= 2;
var newChars = new char[_capacity];
for (int i = 0; i < _chars.Length; i++)
{
newChars[i] = _chars[i];
}
_chars = newChars;
}

_chars[_count] = c;
_count++;
}

public void Add(string str)
{
foreach (char c in str)
{
Add(c);
}
}

public override string ToString()
{
return new string(_chars, 0, _count);
}
}

Почему я убрал сложные детали?
☝️ Многие спрашивали, почему в коде нет связанного списка буферов, как в System.Text.StringBuilder. Ответ простой: это учебный код, цель которого – объяснить суть, а не копировать стандартную библиотеку 1 в 1.

В реальной реализации StringBuilder:
🔹 Данные хранятся в массиве буферов, а не в одном массиве
🔹 Буфер увеличивается не всегда в 2 раза – рост адаптивный
🔹 Используется mutable-архитектура, позволяющая избегать лишних аллокаций

💡 Если интересно, как работает настоящий StringBuilder, можете посмотреть его код в исходниках .NET.

Этот урок – объяснение базового принципа, а не полная копия стандартной библиотеки. Если хотите подробный разбор реального StringBuilder, дайте знать в комментариях! 🔥
3.04.2025, 11:50
t.me/ruslan_shishmarev/173
Привет всем. Сделал обучающий и очень полезный ролик о популярном классе для работы со строками.

StringBuilder – один из самых популярных классов в C#, особенно когда речь идет о работе со строками. Его часто спрашивают на собеседованиях, и сегодня мы разберемся, как он работает под капотом!

В этом видео ты узнаешь:
✅ Почему StringBuilder быстрее, чем обычные строки (string) в C#?
✅ Как устроен StringBuilder внутри?
✅ Реализуем свой собственный StringBuilder с нуля!

📌 Это полезный разбор для кодеров, которые хотят лучше понимать C# и успешно проходить собеседования.
https://www.youtube.com/watch?v=ba5XWbxP_e
8
2.04.2025, 18:34
t.me/ruslan_shishmarev/172
Привет всем. Выпал из блога на время, были проблемы по работе, по личным делам. Пришлось взять таймаут, чтобы разгрести дела... Но времени старался не терять. Выложил новый ролик на канал!
Полезного просмотра:
https://youtu.be/9aH5gPkYji4
30.03.2025, 22:22
t.me/ruslan_shishmarev/171
Друзья, у меня для вас крутейший гость! Сегодня в новом выпуске подкаста Сергей Бензенко.
.NET-разработчик с колоссальным опытом - целых 18 лет в IT, причем 17 из них в одной компании!
Да-да, вы все правильно поняли. В эпоху частых смен работы и проектов это звучит как настоящая легенда!
https://youtu.be/XMr6KP8U3pY
12.02.2025, 17:23
t.me/ruslan_shishmarev/168
Наконец-то провел пробное собеседование на middle C# разработчика😎
Постарался задать более интересные вопросы. Во-первых, чтобы не повторяться. Во-вторых, для более широкого обучения зрителей. Поддержите комментарием!
https://youtu.be/oY725Xeaun
k
2.02.2025, 23:20
t.me/ruslan_shishmarev/166
Os resultados da pesquisa são limitados a 100 mensagens.
Esses recursos estão disponíveis apenas para usuários premium.
Você precisa recarregar o saldo da sua conta para usá-los.
Filtro
Tipo de mensagem
Cronologia de mensagens semelhante:
Data, mais novo primeiro
Mensagens semelhantes não encontradas
Mensagens
Encontre avatares semelhantes
Canais 0
Alta
Título
Assinantes
Nenhum resultado corresponde aos seus critérios de pesquisa