Как стать автором
Обновить
12
0
Станислав Ляушкин @slamon

Ведущий программист С++

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

Как мне захотелось систематизировать виды тестирования

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

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

Читать далее
Всего голосов 33: ↑33 и ↓0+33
Комментарии29

Ваши боли будут утолены, или Три слона, на которых стоит Python-конференция 2021 года

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

Григория Петрова, Python-некроманта, совмещающего деятельность директора по техническому маркетингу (по-простому — деврела)  компании Evrone и члена программного комитета Moscow Python Conf знают уже не только питонисты.

Время от времени Григорий возглавляет Программный комитет конференции Python, меняя Валентина Домбровского, нынешнего главу ПК. Так было заведено много лет назад, чтобы каждый председатель не закостенел в организации конференции, выборе докладов и генерации идей.

Мы встретились с Григорием и узнали много интересного. Про трех китов предстоящей конференции Moscow Python Conf++ 2021. Про нейрофизиологию, которая всегда поможет. Про что будет хайп и зачем организаторам нужна фасилитация. Разумеется, мы поговорили про Python (спойлер: асинхронное программирование и Django тоже будут). Узнали, какие нас ждут доклады и какие боли питонистов будут утолены —  обо всем этом читайте под катом.

Читать далее
Всего голосов 23: ↑22 и ↓1+21
Комментарии0

Процедурная генерация планов помещений

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

Что делает крупный разработчик игр, когда ему нужно состряпать много помещений для игрового мира? Нанимает кучу художников. Что делает ленивый/бедный/одинокий разработчик игр в такой же ситуации? Пишет процедурный генератор, который выполняет за него всю грязную работу.

По процедурной генерации планов помещений есть много, очень много статей. Вот ещё пяток ссылок на статьи. Только исходников ни к одной из них нет.

В этой статье я расскажу о том, как я реализовал на Unity3d один простой метод генерации, который приводит к хорошим результатам и легко модифицируется. С картинками и исходниками.
Читать дальше →
Всего голосов 99: ↑97 и ↓2+95
Комментарии29

Процедурная генерация уровней

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


Работы по программированию, графике и звукам в некой новой игрухе закончены — остались только уровни. Лёгкая и приятная работа, но почему-то идёт с большим трудом. Возможно, сказывается общая усталость.


Думая, как бы упростить себе жизнь, в голову пришла идея о процедурной генерации. Ясное дело, её тоже надо будет писать, но как говорилось в одном известном произведении, "лучше день потерять, потом за пять минут долететь".


Внимание! Под катом много текста и "жирных" гифок.

Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Комментарии15

Симуляция 4,5 миллиардов лет эволюции планеты на GPU

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

Введение

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

Всего голосов 62: ↑60 и ↓2+58
Комментарии18

Осваиваем компьютерное зрение — 8 основных шагов

Время на прочтение3 мин
Количество просмотров100K
Привет, читатель.

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

image

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

Всего голосов 40: ↑35 и ↓5+30
Комментарии10

Лабиринты: классификация, генерирование, поиск решений

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

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

Классификация лабиринтов


Лабиринты в целом (а значит, и алгоритмы для их создания) можно разбить по семи различным классификациям: размерности, гиперразмерности, топологии, тесселяции, маршрутизации, текстуре и приоритету. Лабиринт может использовать по одному элементу из каждого класса в любом сочетании.
Читать дальше →
Всего голосов 82: ↑82 и ↓0+82
Комментарии13

Финтех на карантине: студенты и преподаватели Тинькофф Финтеха рассказывают о переходе в онлайн

Время на прочтение10 мин
Количество просмотров10K
В Тинькофф есть собственные образовательные проекты, один из которых — Тинькофф Финтех. У нас учатся аналитике, разработке и тестированию молодые специалисты из разных городов России, где есть Тинькофф Центры разработки.



С конца марта Тинькофф Образование из-за коронавируса перешло полностью на дистанционное обучение. До этого все курсы шли офлайн, в офисе Тинькофф, по три месяца, и переход произошел в самый разгар обучения. Мы спросили преподавателей и студентов, как они это пережили.
Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Комментарии4

Как найти удаленную работу в США и Европе: списки ~1000 компаний, полезные инструменты для поиска + личный опыт инженера

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


Изображение: Unsplash

Вопрос поиска удаленной работы в хороших компаниях из США и Европы актуален всегда – не все хотят переезжать в другую страну, а участвовать в интересных проектах хочется в любое время. В период пандемии, когда перемещение между странами и иммиграция серьезно усложнились, и экономического кризиса, который во многих странах только разгорается, желающих найти удаленку в американской или европейской компании станет еще больше.

Я решил разобраться в том, что для этого нужно сделать инженеру с постсоветского пространства. Для этого я изучил компании, которые предлагают remote-позиции для ИТ-специалистов, нашел несколько полезных сервисов и поговорил с Никитой Львовым, инженером, который как раз недавно нашел такую работу и согласился поделиться опытом. Надеюсь, получилось полезно. Поехали!
Читать дальше →
Всего голосов 57: ↑55 и ↓2+53
Комментарии20

Самая сложная задача в Computer Vision

Время на прочтение13 мин
Количество просмотров67K
Среди всего многообразия задач Computer Vision есть одна, которая стоит особняком. К ней обычно стараются лишний раз не притрагиваться. И, если не дай бог работает, — не ворошить.
У неё нет общего решения. Практически для каждого применения существующие алгоритмы надо тюнинговать, переобучать, или судорожно копаться в куче матриц и дебрях логики.

Статья о том как делать трекинг. Где он используется, какие есть разновидности. Как сделать стабильное решение.
Всего голосов 127: ↑127 и ↓0+127
Комментарии42

10 советов схемотехнику

Время на прочтение20 мин
Количество просмотров115K
Недавно один мой знакомый, начавший интересоваться электроникой и схемотехникой, обратился ко мне с просьбой дать ему какие-то практические советы по разработке электронных устройств. Поначалу этот вопрос немного озадачил меня: как-то так получилось, что для себя я никогда не выделял какие-то перечни обязательных правил проектирования, всё это было у меня где-то на уровне подсознания. Но этот вопрос послужил хорошим толчком для того, чтобы сесть и сформулировать хотя бы небольшой список таких рекомендаций. Когда все было готово, я подумал, что, возможно, это будет интересно почитать кому-то еще, таким образом и получилась данная статья.


Читать дальше →
Всего голосов 212: ↑210 и ↓2+208
Комментарии244

Камеры глубины — тихая революция (когда роботы будут видеть) Часть 1

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



Недавно я описывал, благодаря чему роботы завтра начнут НАМНОГО лучше соображать (пост про аппаратное ускорение нейросетей). Сегодня разберем, почему роботы скоро будут НАМНОГО лучше видеть. В ряде ситуаций намного лучше человека.

Речь пойдет про камеры глубины, которые снимают видео, в каждом пикселе которого хранится не цвет, а расстояние до объекта в этой точке. Такие камеры существуют уже больше 20 лет, однако в последние годы скорость их развития выросла многократно и уже можно говорить про революцию. Причем многовекторную. Бурное развитие идет по следующим направлениям:
  • Structured Light камеры, или камеры структурного света, когда есть проектор (часто инфракрасный) и камера, снимающая структурный свет проектора;
  • Time of Flight камеры, или камеры, основанные на измерении задержки отраженного света;
  • Depth from Stereo камеры — классическое и, пожалуй, наиболее известное направление построения глубины из стерео;
  • Light Field Camera — они же камеры светового поля или пленоптические камеры, про которые был отдельный подробный пост;
  • И, наконец, камеры, основанные на Lidar-технологиях, особенно свежие Solid State Lidars, которые работают без отказа примерно в 100 раз дольше обычных лидаров и выдают привычную прямоугольную картинку.

Кому интересно, как это будет выглядеть, а также сравнение разных подходов и их текущее и завтрашнее применение — добро пожаловать под кат!
Читать дальше →
Всего голосов 82: ↑82 и ↓0+82
Комментарии40

Adaptive boosting

Время на прочтение7 мин
Количество просмотров17K
Здравствуйте, на Хабре уже была статья Indalo, посвященная AdaBoost, точнее, некоторому его применению. Я же хочу более детально остановиться на самом алгоритме, заглянуть в его реализацию и продемонстрировать его работу на примере моей программы.

Итак, в чем же заключается суть методики Adaboost?
Читать дальше →
Всего голосов 62: ↑51 и ↓11+40
Комментарии21

Transformer в картинках

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

В прошлой статье мы рассматривали механизм внимания (attention) – чрезвычайно распространенный метод в современных моделях глубокого обучения, позволяющий улучшить показатели эффективности приложений нейронного машинного перевода. В данной статье мы рассмотрим Трансформер (Transformer) – модель, которая использует механизм внимания для повышения скорости обучения. Более того, для ряда задач Трансформеры превосходят модель нейронного машинного перевода от Google. Однако самое большое преимущество Трансформеров заключается в их высокой эффективности в условиях параллелизации (parallelization). Даже Google Cloud рекомендует использовать Трансформер в качестве модели при работе на Cloud TPU. Попробуем разобраться, из чего состоит модель и какие функции выполняет.


Впервые модель Трансформера была предложена в статье Attention is All You Need. Реализация на TensorFlow доступна как часть пакета Tensor2Tensor, кроме того, группа NLP-исследователей из Гарварда создали гид-аннотацию статьи с реализацией на PyTorch. В данном же руководстве мы попробуем максимально просто и последовательно изложить основные идеи и понятия, что, надеемся, поможет людям, не обладающим глубоким знанием предметной области, понять данную модель.

Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии5

Применение процедурных генераторов в создании контента для real-time 3D приложений: Часть 1. Oil Rush

Время на прочтение18 мин
Количество просмотров108K
Игра Oil Rush


В данной статье, состоящей из двух частей, речь пойдёт об использовании возможностей процедурных генераторов при создании контента для компьютерной игры Oil Rush и бенчмарка Valley (выйдет в феврале), разработанных на нашем собственном движке Unigine.
Читать дальше →
Всего голосов 239: ↑238 и ↓1+237
Комментарии41

Процедурное текстурирование: генерация текстуры булыжника

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


Пишем генератор, который принимает с десяток входных параметров и выдает текстуру булыжника.
Читать дальше →
Всего голосов 100: ↑97 и ↓3+94
Комментарии19

Динамическая память в системах жёсткого реального времени

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

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



(КДПВ – см. аннотацию к диаграмме в конце)

Читать дальше →
Всего голосов 61: ↑60 и ↓1+59
Комментарии52

Эффективный сайт стартапа: как понравиться клиентам, партнерам и инвесторам одним сайтом

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


Вот уже три года я консультирую резидентов Технопарка «Сколково» по вопросам маркетинга, видел и анализировал сотни сайтов молодых компаний, а теперь пришло время делиться. Делиться опытом и знаниями о том, как сделать эффективный сайт стартапа — тот, который приведет клиентом, партнеров и инвесторов.
Читать дальше →
Всего голосов 39: ↑25 и ↓14+11
Комментарии12

Семь книг для тех, кто хочет стать гейм-дизайнером

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

В этой статье рассказывается о том, когда и как дизайн игр стал профессией, а также о том, как он сформировался в отдельную дисциплину. Также мы предложим 7 книг, которые нужно прочитать каждому гейм-дизайнеру. Мы объясним, что особо ценного в этих книгах и как они позволят вам стать профессиональным гейм-дизайнером. Существуют и другие статьи с рекомендациями книг по дизайну игр, но их авторы не указывают конкретный порядок их чтения. Мы перечислили книги в определённом порядке, позволяющем читателю плавно повышать свои навыки гейм-дизайна. Более того, в статье подробно описаны порядок и причины для изучения этих книг.

Эта статья не является маркетингом описываемых материалов, а предоставляет информацию о том, где и чему учиться.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии1

Реализация физически корректных объемных облаков как в игре Horizon Zero Dawn

Время на прочтение16 мин
Количество просмотров16K
Раньше облака в играх рисовались обычными 2D спрайтами, которые всегда повернуты в направлении камеры, но последние годы новые модели видеокарт позволяют рисовать физически корректные облака без заметных потерь в производительности. Считается, что объемные облака в игры принесла студия Guerrilla Games вместе с игрой Horizon Zero Dawn. Конечно, такие облака умели рендерить и раньше, но студия сформировала что-то вроде промышленного стандарта на исходные ресурсы и используемые алгоритмы, и в настоящее время любая реализация объемных облаков так или иначе этому стандарту соответствует.

UPD. Картинка обновлена. Изменения описаны в конце статьи.


Читать дальше →
Всего голосов 42: ↑40 и ↓2+38
Комментарии18
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность