[Перевод] Алгоритмы поиска решений лабиринтов и их практическое применение в реальном мире — Кит Берроуз и Ванесса Клотцман

Первое упоминание термина “maze” датируется тринадцатым веком, а “labyrinth” — к четырнадцатым. Сама концепция лабиринтов восходит к эпохе греческого мифологического героя Тесея — древнего героя, успешно прошедшего Кносский лабиринт и сразившего Минота…

Materialized Path – создаём своё первое дерево

Всем привет! Меня зовут Хусрав, я бэкенд разработчик в компании Bimeister.В этой статье я бы хотел бы поговорить о способе поиска родительских и дочерних элементов структуры посредством PostgreSQL Materialized Path.Статья является вводной и рассчитана …

Double, Float — не вещественные числа

Во многих источниках тип double и float, числа с плавающей запятой/точкой зачем-то называют вещественными. Такое чувство что кто-то когда-то совершил ошибку или не внимательно написал эту глупость и все как один начали её повторять, совершенно не задум…

[Перевод] Да, пользовательский ввод и модульные тесты могут сосуществовать

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

[Перевод] Префиксное дерево (trie)

В этой статье обсудим такую структуру данных, как «префиксное дерево» (оно же нагруженное дерево, бор, trie, prefix tree). Кратко рассмотрим основы и реализуем наиболее важные операции: вставку, поиск по ключу и префиксный поиск. Читать далее…

Определение места и роли человека как вида: влияние эволюции видов вычислительных систем

На переходном, происходящим в настоящем, этапе эволюции в среду и процессы которого погружён человек, ключевыми объектами, определяющими вектор уклада данного этапа, а равно каждого последующего, выступают технологии. Перспективные технологии, формирую…

[Перевод] Простое руководство по атомарности в C++

Часто возникает путаница с тем, что же понимается в компьютерных науках под «атомарностью». Как правило, атомарность – это свойство процесса, означающее, что он совершается за один шаг или операцию. Но в языке C++  атомарность определяется гораздо…

Типы JavaScript кажутся сложными?

 Типы JavaScript кажутся сложными?Понять откуда растут ноги у динамической типизации поможет статья по ссылке. Если вы только учитесь программировать, возможно, это будет ваш решающий шаг до Junior JavaScript Developer. Читать далее…

Неклассические контейнеры в C++

Контейнер — это объект, используемый для хранения других объектов. Контейнер берет на себя управление всей памятью, которые эти объекты занимают.В стандартную библиотеку C++ входит несколько контейнеров. Кроме этого, в Open Source есть несколько контей…

Динамические структуры данных на Си: Введение. Список — простой вариант

Эта статья призвана резюмировать приобретенные знание полученные в процессе обучения программированию. Так вышло, что я попал на обучение на программиста, скажем так, «по-взрослому». Поэтому первым языком стал Си. Основы языка дались легко благодаря оп…