Обновить
36
Сергей Рогатнев@srogatnev

Разработчик

6
Рейтинг
10
Подписчики
Отправить сообщение

Поиск в коллекциях или когда O(N) быстрее O(1)

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели8.2K

На собеседованиях мы слышим или говорим сами, что поиск в массиве медленнее, чем в хеш-таблице. Кто-то даже вспоминает, что поиск в массиве имеет линейную сложность или O(n), а в хеш-таблице — константную O(1). Но работает ли это на практике? Что, если есть ситуации, когда поиск в массиве оказывается быстрее? Давайте не будем торопиться с выводами.

Читать далее

Создаёте списки в C#? Ну тогда у вас могут быть проблемы

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели10K

Мы все привыкли писать new List<int> { 1, 2, 3, 4 } или new int[] { 1, 2, 3, 4}, чтобы инициализировать коллекции какими-то значениями. Синтаксически это выглядит похоже, но поведение отличается, и вам следует быть осторожными, если вы заботитесь о производительности.

Читать далее

Удаляем пробелы из строки

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели9.4K

Недавно мы разбирали популярную задачу — проверяли строку на наличие цифр. Еще одна популярная задача при работе со строками — удалить из них пробельные символы. Можно представить, что нам нужно очистить пользовательский ввод: удалить пробелы вначале и конце строк в имени или удалить пробелы из телефонного номера. .NET предоставляет нам несколько возможностей для решения этой задачи, давайте рассмотрим самые популярные и попробуем найти наиболее эффективные. Заодно проверим, какие изменения произошли в новой версии .NET 10.

Читать далее

Мои ценности

Время на прочтение6 мин
Охват и читатели8.6K

Привет, Хабр! На связи Сергей, ведущий разработчик в Контуре. Я уже рассказывал про свои правила в разработке — вы тепло приняли ту статью. В ней было про инструменты, решения и подходы, которые я использую постоянно — они позволяют мне получать предсказуемый результат в ежедневной работе. Но что делать, если передо мной нетривиальная задача? Сложный выбор? Ситуация, с которой я не сталкивался раньше и по которой у меня нет накопленного опыта?

И тут я спускаюсь на уровень своих ценностей, которые сформулировал для себя в работе. Это те ориентиры, которые указывают мне направление в случае неопределённости. Какой проект выбрать среди нескольких вариантов, как поступить в конфликтной ситуации, как вообще принимать решения, среди которых нет единственно правильного — в этом всём я полагаюсь на ценности, о которых расскажу в этой статье.

Читать далее

Строка из чисел

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели12K

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

Читать далее

Нельзя просто так взять и выбрать Any() или Count для проверки коллекции

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели24K

Сравнивая различный code-style в проектах, я упоминал про методы проверки коллекций на наличие элементов. Самые очевидные способы – это использование LINQ-метода Any() или сравнение свойства Count с нулем. И если вы выбрали первый вариант, то у вас могут быть проблемы. Поэтому предлагаю подробнее рассмотреть этот вопрос. Кстати, если вы выбрали второй вариант, то у вас тоже могут быть проблемы.

Читать далее

Собрали метрики из приложения и отдали их пользователям — они рады

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели1.6K

Каждое приложение пишет множество метрик: системных (потребление CPU, памяти, очереди на диск) и прикладных (количество операций, время их выполнения, коды ошибок). Это полезная информация для отслеживания состояния сервисов в моменте и динамики за период. А что если сделать из этого продукт, который полезен для пользователей?

Читать далее

Мои правила

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели7.2K

Можно считать эту статью второй частью в неком цикле про мои принципы в работе. В первой части я писал про какие-то неважные для меня вещи на примере code-style. Теперь логично рассказать о том, что для меня важно, про некоторые правила, которые помогают мне в работе. Это не только про написание кода, но и про процесс разработки в целом.

Читать далее

Мне всё равно, какой у вас код-стайл

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели33K

Привет, Хабр. Меня зовут Рогатнев Сергей. Я работаю в Контуре ведущим разработчиком уже более 7 лет. За это время я поработал как минимум над десятью разными проектами в разных командах. Это были и проекты с историей на 10 лет, и стартапы, делающие свои первые шаги. Где-то я был всего 2–3 месяца, а где-то задерживался на пару лет. Такой формат работы позволил мне увидеть совершенно разные подходы к работе и написанию кода. За это время я адаптировался к переходам и смене команд, но мой собственный code style практически исчез, потому что нет двух команд с одинаковым стилем.

В этой статье я хочу показать вам примеры таких холиваров, которые я встретил работая над разными C#-проектами.

Читать далее

Внедряем программу горизонтального премирования – получаем сотни благодарностей от разработчиков каждый месяц

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели4.6K

Привет, Хабр. Я работаю в Контуре ведущим разработчиком. 2 года назад я решил создать удобный, понятный и даже финансово приятный способ периодично благодарить своих коллег из разработки. И чтоб благодарили меня.

Что из этого вышло – читайте в статье.

Читать далее

Информация

В рейтинге
1 026-й
Откуда
Россия
Работает в
Дата рождения
Зарегистрирован
Активность