У вас закончился пробный период!
Для полного доступа к функционалу, пожалуйста, оплатите премиум подписку
RU
Руслан Шишмарев | Программист
https://t.me/ruslan_shishmarev
Возраст канала
Создан
Язык
Русский
-
Вовлеченность по реакциям средняя за неделю
-
Вовлеченность по просмотрам средняя за неделю

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

Сообщения Статистика
Репосты и цитирования
Сети публикаций
Сателлиты
Контакты
История
Топ категорий
Здесь будут отображены главные категории публикаций.
Топ упоминаний
Здесь будут отображены наиболее частые упоминания людей, организаций и мест.
Найдено 15 результатов
Привет всем.
Мы сделали информационный канал о нашем новом стартапе по расчетам опорных конструкций. Будем рады вашей поддержке. Мы активно работаем над выпуском первой демки. Все интересные события по развитию приложения будут там!

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
18.04.2025, 23:38
t.me/ruslan_shishmarev/178
Когда проект затянулся на полгода. И сожрал нервы.

Ещё в прошлом году, когда я выпустил свой проект 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
4.04.2025, 16:58
t.me/ruslan_shishmarev/174
Как работает 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
14.02.2025, 23:59
t.me/ruslan_shishmarev/170
13.02.2025, 09:04
t.me/ruslan_shishmarev/169
Друзья, у меня для вас крутейший гость! Сегодня в новом выпуске подкаста Сергей Бензенко.
.NET-разработчик с колоссальным опытом - целых 18 лет в IT, причем 17 из них в одной компании!
Да-да, вы все правильно поняли. В эпоху частых смен работы и проектов это звучит как настоящая легенда!
https://youtu.be/XMr6KP8U3pY
12.02.2025, 17:23
t.me/ruslan_shishmarev/168
9.02.2025, 16:41
t.me/ruslan_shishmarev/167
Наконец-то провел пробное собеседование на middle C# разработчика😎
Постарался задать более интересные вопросы. Во-первых, чтобы не повторяться. Во-вторых, для более широкого обучения зрителей. Поддержите комментарием!
https://youtu.be/oY725Xeaun
k
2.02.2025, 23:20
t.me/ruslan_shishmarev/166
Результаты поиска ограничены до 100 публикаций.
Некоторые возможности доступны только премиум пользователям.
Необходимо оплатить подписку, чтобы пользоваться этим функционалом.
Фильтр
Тип публикаций
Хронология похожих публикаций:
Сначала новые
Похожие публикации не найдены
Сообщения
Найти похожие аватары
Каналы 0
Высокий
Название
Подписчики
По вашему запросу ничего не подошло