Как стать автором
Обновить
18
0.7
Marat Radchenko @slonopotamus

Project Tech Lead @ Allods Team

Отправить сообщение

Внутренний Я(ндекс)

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров81K

В этой статье я хочу описать (часть) моего опыта взаимодействия со структурой, именуемой в дальнейшем «яндекс», с точки зрения работника. Опишу собеседования и этап «входа».

Да, уже были статьи про собеседование и даже в эту же структуру, некоторые из них я видел, но не во всём с ними согласен, к тому же конкретно С++ разработчиков я там не видел.

Читать далее
Всего голосов 469: ↑463 и ↓6+457
Комментарии288

Windows 11: минусы дизайна

Время на прочтение5 мин
Количество просмотров28K

В этой статье мне бы хотелось поделиться пользовательским опытом, связанной с Windows 11, которой я на момент написания статьи пользуюсь примерно месяц с лишним.

Читать далее
Всего голосов 55: ↑49 и ↓6+43
Комментарии169

Unreal Engine 5 задает новую планку игровой реалистичности

Время на прочтение3 мин
Количество просмотров89K


Компания Epic Games впервые продемонстрировала возможности игрового движка Unreal Engine 5. Одной из главных целей его создания было достижение исключительной фотореалистичности, сравнимой только с AAA-блокбастерами и самой жизнью.

Unreal Engine 5 поддерживает ПК, Mac, консоли текущего и нового поколения, iOS и Android. Полноценный релиз движка ожидается в следующем году.

В новом движке выделяются две ключевые области:

  • Первая ― полностью динамическое глобальное освещение, мгновенно реагирующее на изменение сцены. Теперь нет необходимости ограничиваться игрой со статичным миром ― можно проводить итерации над ним чрезвычайно быстро. Новая система освещения носит название Lumen.
  • Вторая ― виртуализированная геометрия. С UE5 художникам не обязательно задумываться о подсчете полигонов или о том, сколько места в памяти системы они займут. Можно использовать ассеты кинематографичного качества в движке напрямую, загружать модели из ZBrush и данные фотограмметрии, не тратя время на оптимизацию уровней детализации или понижение качества для того, чтобы вписаться в нужную частоту кадров. Эта технология получила название Nanite.

Теперь рассмотрим все нововведения на примере игрового демо для PlayStation 5.
Всего голосов 91: ↑90 и ↓1+89
Комментарии250

Математическое обоснование нецелесообразности бежать вниз по эскалатору в метро

Время на прочтение8 мин
Количество просмотров58K
Вопреки правилам пользования метрополитеном, желая сэкономить время, каждый из нас хотя бы раз в жизни бежал вниз по эскалатору. На первый взгляд кажется, что это абсолютно логично и правильно: хочешь быстрее уехать – постарайся оказаться на платформе как можно раньше. Однако, практически сразу в голову приходит следующий сценарий: вы сломя голову летите по эскалатору вниз, спускаетесь на платформу, а двери вагона закрываются прямо перед вашим носом. Пока вы ждёте следующий поезд – люди, которые вставали на эскалатор одновременно с вами, успевают стоя на месте спокойно спуститься и сесть в следующий поезд. В таком случае – выигрыша никакого. Так насколько же рационально бежать по эскалатору вниз и стоит ли заниматься этим вообще? Спешу вас обрадовать – ответ найден! Ниже представлено математическое обоснование нецелесообразности (да, именно НЕ) бежать вниз по эскалатору в метро.
Читать дальше →
Всего голосов 116: ↑60 и ↓56+4
Комментарии220

Первые полгода в роли тимлида: как не сойти с ума, если кажется, что все плохо

Время на прочтение3 мин
Количество просмотров18K


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

Мне казалось, что я должна быть супертимлидом с первого дня

Всего голосов 37: ↑27 и ↓10+17
Комментарии14

Google открывает исходный код парсера robots.txt

Время на прочтение2 мин
Количество просмотров33K
image

Сегодня компания Google анонсировала черновик RFC стандарта Robots Exclusion Protocol (REP), попутно сделав доступным свой парсер файла robots.txt под лицензией Apache License 2.0. До сегодняшнего дня какого-либо официального стандарта для Robots Exclusion Protocol (REP) и robots.txt не существовало (ближайшим к нему было вот это), что позволяло разработчикам и пользователям интерпретировать его по-своему. Инициатива компании направлена на то, чтобы уменьшить различия между реализациями.

Черновик нового стандарта можно просмотреть на сайте IETF, а репозиторий доступен на Github по ссылке https://github.com/google/robotstxt.

Парсер представляет собой исходный код, который Google используют в составе своих продакшн-систем (за исключением мелких правок — вроде убранных заголовочных файлов, используемых только внутри компании) — парсинг файлов robots.txt осуществляется именно так, как это делает Googlebot (в том числе то, как он обращается с Юникод-символами в паттернах). Парсер написан на С++ и по сути состоит из двух файлов — вам потребуется компилятор, совместимый с C++11, хотя код библиотеки восходит к 90-ым, и вы встретите в ней «сырые» указатели и strbrk. Для того, чтобы его собрать, рекомендуется использовать Bazel (поддержка CMake планируется в ближайшем будущем).
Читать дальше →
Всего голосов 48: ↑47 и ↓1+46
Комментарии44

Поиск пути среди круглых препятствий

Время на прочтение9 мин
Количество просмотров14K

Навигация по лесу


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


В оригинале статьи все изображения интерактивны.

Как один алгоритм решает обе эти задачи? Давайте начнём с краткого описания того, как работает A*.

Алгоритм A*


Алгоритм A* находит оптимальный путь из начальной в конечную точку, избегая по дороге препятствия. Он реализует это, постепенно расширяя множество частичных путей. Каждый частичный путь — это серия шагов от начальной точки до какой-то промежуточной точки на дороге к цели. В процессе работы A* частичные пути становятся всё ближе конечной точке. Алгоритм прекращает работу тогда, когда находит полный путь, который лучше оставшихся вариантов, и это можно доказать.

На каждом шаге алгоритма A* оценивает множество частичных путей и генерирует новые пути, расширяя наиболее многообещающий путь из множества. Для этого A* хранит частичные пути в очереди с приоритетами, отсортированном по приблизительной длине — истинной измеренной длине пути плюс примерное оставшееся расстояние до цели. Это приближение должно быть недооценкой; то есть приближение может быть меньше истинного расстояния, но не больше него. В большинстве задач поиска пути хорошей преуменьшенной оценкой является геометрическое расстояние по прямой от конца частичного пути до конечной точки. Истинный наилучший путь до цели от конца частичного пути может быть длиннее, чем это расстояние по прямой, но не может быть короче.
Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии15

Математики обнаружили идеальный способ перемножения чисел

Время на прочтение5 мин
Количество просмотров143K

Разбивая крупные числа на мелкие, исследователи превысили фундаментальное математическое ограничение скорости



Четыре тысячи лет назад жители Вавилонии изобрели умножение. А в марте этого года математики усовершенствовали его.

18 марта 2019 два исследователя описали самый быстрый из известных методов перемножения двух очень больших чисел. Работа отмечает кульминацию давнишнего поиска наиболее эффективной процедуры выполнения одной из базовых операций математики.

«Все думают, что метод умножения, который они учили в школе, наилучший, но на самом деле в этой области идут активные исследования», — говорит Йорис ван дер Хувен, математик из Французского национального центра научных исследований, один из соавторов работы.
Читать дальше →
Всего голосов 183: ↑173 и ↓10+163
Комментарии224

5 правил работы с суммами

Время на прочтение8 мин
Количество просмотров80K
В современном программном обеспечении очень часто возникает необходимость выполнять различные операции с всевозможными суммами денег. Однако до сих пор мне нигде не попадалось документации, в которой были бы сведены воедино основные правила представления сумм и реализации финансовых вычислений. В этой статье я попробую сформулировать те правила, которые составил сам на основании личного опыта.


Читать дальше →
Всего голосов 126: ↑120 и ↓6+114
Комментарии241

Информация

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