Архив за 14 января 2022

Найти значительное узкое место в производительности стандартной библиотеки или зрелого приложения — это редкость.

Я был удивлён, когда в top10 списке CPU-профиля hugo при сборке digitalgov.gov на первой позиции находился метод reflect.Type.MethodByName().

      flat  flat%   sum%        cum   cum%
     8.84s  6.28%  6.28%     57.85s 41.10%  reflect.(*rtype).MethodByName
     7.93s  5.63% 11.92%      8.50s  6.04%  reflect.name.readVarint
     7.56s  5.37% 17.29%    111.79s 79.43%  reflect.Value.call
     7.53s  5.35% 22.64%     23.33s 16.58%  runtime.mallocgc
     7.29s  5.18% 27.82%     16.10s 11.44%  reflect.name.name

В этой статье я расскажу вам о том, как так вышло и что с этим можно было бы сделать.

Читать полностью »

В октябре 2021 года меня пригласили провести стратегическую сессию для одной компании, которая занимается комплексным озеленением общественных и корпоративных пространств. Задачей мероприятия была презентация бизнес-целей на ближайшие несколько лет и синхронизация коллектива вокруг них. Всего в компании работает 120+ человек, на встрече присутствовал бэк-офис, 30 человек.

Читать полностью »

Что такое Big O нотация?

Обозначение Big O нотация (или просто Big O) — это способ оценки относительной производительности структуры данных или алгоритма, обычно по двум осям: времени и пространству.

Доминирующие операции

Способ, которым мы определяем Big O алгоритмов, заключается в том, чтобы посмотреть на худшую производительность в его доминирующих операциях.

Постоянное время - O(1)

func constantTime(_ n: Int) -> Int {
    let result = n * n
    return result
}

Читать полностью »

Компания Huawei объявила о скором выпуске необычного «гаджета» — умного школьного портфеля. Такой аксессуар призван справиться с проблемой, когда школы требуют, чтобы учащиеся не пользовались смартфонами и умными часами, а родители  хотят позаботиться о безопасности своих детей. 

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

Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.58.0 вам достаточно выполнить команду:

rustup update stable

Если у вас ещё нет rustup, то можете установить его со страницы на нашем веб-сайте, а также ознакомиться с подробным описанием выпуска 1.58.0 на GitHub.

Что стабилизировано в 1.58.0

В Rust 1.58 появились захваченные идентификаторы в форматируемых строках, изменился путь поиска в Windows для Command, в стандартной библиотеке стало больше аннотаций #[must_use], а также были стабилизированы некоторые функции.

Читать полностью »

О сроках выхода игры GTA VI ходит немало слухов, есть прогнозы и просто попытки угадать. Один из новых вариантов основан на определённых фактах. 

GTA VI выйдет в 2024 году? Take-Two, возможно, косвенно сама указала на это

Читать полностью »

image

Привет! Меня зовут Леонид Титов, я бэкенд разработчик в #CloudMTS. Так уж сложилось, что я не только пишу код, но и иногда собеседую кандидатов. Мне нравится процесс, и, думаю, у меня это получается.

Начал я этим заниматься ещё на предыдущем месте работы, где мы с тимлидом собирали новую команду. С тех пор прошло уже N лет, практика продолжилась, и после очередного собеседования я решил упорядочить свои знания. Кто-то считает, что от собеседований вообще толку нет, а кто-то наоборот (не будем показывать пальцем) проводит их в 3-5 раундов. Я уверен, что собеседования нужны, но важно четко понимать, зачем именно.

На всякий случай уточню: в статье речь пойдет не столько про конкретные вопросы (хотя они тоже будут), сколько про выработанную мной методику и принципы, которыми я руководствуюсь, задавая те или иные вопросы.

Еще я поделюсь неожиданными впечатлениями от ситуации, когда оказался «по ту сторону», лайфхаками, фейлами и неплохо зарекомендовавшими себя практиками. Про soft skills тут ничего не будет — это отдельная важная тема. Прежде всего мы затронем вопрос профпригодности, определения ее наличия или отсутствия. Во второй половине статьи приведу собственный список вопросов, переведенный на русский, с комментариями.
Читать полностью »

Только в Сети стало появляться большое количество слухов и утечек о пресловутой гарнитуре AR, как новые данные говорят нам, что устройство отложили. 

Объявление о вакансии выглядит отлично — интересная компания, современный стек, никакого легаси и бюрократии. Вот он — вызов, который вы с радостью готовы принять. Но когда начинается первое собеседование, у вас возникает странное чувство тревоги… или, что еще хуже, вы думаете, что собеседование проходит нормально, пропускаете всевозможные тревожные сигналы, и в итоге работаете в действительно неудачном месте.
Некоторые из этих тревожных сигналов собеседования применимы к любому человеку в любой карьере: например, интервьюер, который груб с вами, или который забыл забронировать помещение для собеседования.

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

10 тревожных сигналов на собеседованиях разработчиков и как с ними поступать - 1


Читать полностью »

image

Я выложила вчера подборку «15 игр, которые прокачивают логику, алгоритмы, ассемблер и силу земли». И столько классных ссылок в комментарии накидали, что я чуток опухла, но сделала отдельную подборку, по горячим следам. Спасибо большое всем, кто внес свой вклад.

Ещё 20+ игр, которые прокачивают логику, алгоритмы и радуют умный мозг [по следам комментариев на Habr] - 2Еще я веду канал в Telegram: GameDEVils, делюсь там клевыми материалами (про геймдизайн, разработку и историю игр).
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js