Как стать автором
Обновить
1
Карма
0
Рейтинг

Пользователь

  • Публикации
  • Комментарии

Использование алгоритма Прима для генерации соединённых друг с другом пещер

Разработка игрАлгоритмы
Перевод


Я решил объяснить один из алгоритмов генерации карты, используемых в моей игре In the House of Silence. Главное преимущество этого способа заключается в том, что в отличие от других алгоритмов, он никаким образом не может сгенерировать карту с разделёнными частями.

Генерация идеального лабиринта



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

Для понятности я привёл псевдокод, описывающий алгоритм Прима. Будет довольно просто приспособить его под любой язык программирования.
Читать дальше →
Всего голосов 50: ↑50 и ↓0 +50
Просмотры8.5K
Комментарии 5

Новости

Показать еще

Учёные прочитали мысли нейроинтерфейсом и с помощью ИИ превратили их в слова

Машинное обучениеБиотехнологииЗдоровье


Учёные Калифорнийского университета в Сан-Франциско разработали нейроинтерфейс, который считывает электроимпульсы мозга человека, и подключили его к искусственному интеллекту, который преобразует сигналы в слова, пишет Ars Technica. Статья о разработке опубликована в журнале Nature.
Читать дальше →
Всего голосов 24: ↑23 и ↓1 +22
Просмотры9.9K
Комментарии 14

Алгоритмы быстрой обработки HTTP-строк

Блог компании Конференции Олега Бунина (Онтико)Высокая производительностьРазработка веб-сайтовСетевые технологииIT-стандарты
В HTTP/2 появилась компрессия стандартных заголовков, но тело URI, Cookie, значения User-Agent по-прежнему могут составлять десятки килобайт и требуют токенизации, поиска и сравнения подстрок. Задача становится критичной, если HTTP-парсер должен обрабатывать интенсивный злонамеренный трафик. Стандартные библиотеки предоставляют обширный инструментарий обработки строк, но у HTTP-строки есть своя специфика. Именно для этой специфики разработан HTTP-парсер Tempesta FW. Его производительность в несколько раз выше по сравнению с современными Open Source решениями и превосходит быстрейшие из них.


Александр Крижановский (krizhanovsky) основатель и системный архитектор Tempesta Technologies, эксперт в области высокопроизводительных вычислений в Linux/x86-64. Александр расскажет об особенностях структуры HTTP-строк, объяснит, почему стандартные библиотеки плохо подходят для их обработки, и представит решение Tempesta FW.

Под катом: как HTTP Flood превращает ваш HTTP-парсер в узкое место, проблемы x86-64 с branch mispredictions, кэшированием и не выровненной памятью на типичных задачах HTTP-парсера, сравнение FSM с прямыми переходами, оптимизация GCC, автовекторизация, strspn()- и strcasecmp()-like алгоритмы для HTTP-строк, SSE, AVX2 и фильтрация инъекционных атак с использованием AVX2.
Читать дальше →
Всего голосов 39: ↑38 и ↓1 +37
Просмотры6.4K
Комментарии 1

Система KPI в компании: как не пойти на три буквы

Блог компании RegionSoftERP-системыCRM-системыУправление проектамиУправление персоналом
Оценивать что-либо — очень сложно. Для этого нужно быть экспертом в той сфере, о которой идёт речь, уметь учитывать сторонние факторы, выбирать. Но всё знать и уметь нельзя. Однако бизнес подобрался к решению проблемы оценки вплотную — были придуманы показатели KPI. Но этот мощный и проработанный инструмент оказался не таким простым и безобидным. В компаниях вокруг KPI бушуют нешуточные страсти, в которых есть место даже ненависти и личным мотивам. Несколько месяцев жизни нашей компании были посвящены созданию системы расчёта KPI внутри CRM. Сегодня можно выдохнуть и сказать, что всё получилось. А заодно поделиться интересной информацией и своими выводами. В общем, про эти три буквы мы теперь знаем гораздо больше, чем про те.


Читать дальше →
Всего голосов 35: ↑30 и ↓5 +25
Просмотры87.1K
Комментарии 52

Топ 10 технологий для Internet of Things: что будет происходить в ближайшие два года?

Разработка для интернета вещей
image

В январе 2016 года небезызвестная компания Gartner опубликовала прогноз для IoT на 2017-2018 годы. Собственно говоря, поскольку речь идет о ближайших двух годах, то это и не прогноз даже, а наши реалии. В настоящее время Top 10 IoT Technologies for 2017 and 2018 (G00296351) доступен на сайте ComputerWeelkly.com.

Я предлагаю посмотреть на основные идеи этого отчета-прогноза. Заглавная картинка содержит перечень десяти основных технологий (их также можно было бы назвать проблемами) для IoT от Gartner.
Читать дальше →
Всего голосов 18: ↑14 и ↓4 +10
Просмотры12.3K
Комментарии 0

Из чего складывается надежность IaaS-провайдера

Блог компании CloudMTSХостингСистемное администрированиеIT-инфраструктураХранилища данных
В нашем блоге на Хабре мы часто рассказываем о новых технологиях и трендах в мире IaaS. В сегодняшнем посте нам бы хотелось затронуть тему надежности и доступности облаков и поговорить о мерах, призванных удовлетворить требования, прописываемые в соглашении об уровне предоставления услуг поставщиков.



/ фото Robert Scoble CC
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Просмотры3.1K
Комментарии 0

IaaS-дайджест: 30 материалов о применимости облачных технологий

Блог компании CloudMTSХостингСистемное администрированиеХранение данныхХранилища данных
Вашему вниманию вновь предлагается подборка материалов, подготовленных силами экспертов «ИТ-ГРАД». Этот выпуск IaaS-дайджеста посвящен вопросам применимости облачных технологий: обзорам, управлению и практическим кейсам.



/ фото jacinta lluch valero CC
Читать дальше →
Всего голосов 16: ↑14 и ↓2 +12
Просмотры3.7K
Комментарии 0

Пишем изящный парсер на Питоне

Ненормальное программированиеPythonПрограммирование
Tutorial
В C++17 (нет-нет, Питон скоро будет, вы правильно зашли!) появляется новый синтаксис для оператора if, позволяющий объявлять переменные прямо в заголовке блока. Это довольно удобно, поскольку конструкции вида

Foo foo = make_foo();
if(foo.is_nice()) {
    // do work with foo
}
// never use foo again
// foo gets deleted

довольно общеупотребительны. Код выше лёгким движением руки программиста (и тяжёлым движением руки комитета по стандартизации) превращается в:

if(Foo foo = make_foo(); foo.is_nice()) {
    // do work with foo
}  // foo gets deleted
// never use foo again (well, you can't anyway)

Стало чуть-чуть лучше, хотя всё ещё не выглядит идеально. В Python нет и такого, но если вы ненавидите if в Python-коде так же сильно, как я, и хотите научиться быстро писать простые парсеры, то добро пожаловать под кат. В этой статье мы попытаемся написать короткий и изящный парсер для JSON на Python 2 (без каких-либо дополнительных модулей, конечно же).
Читать дальше →
Всего голосов 57: ↑54 и ↓3 +51
Просмотры161.6K
Комментарии 39

Химеры офисной телефонии: говорим о FMC

Блог компании ТелфинCRM-системыУправление продажамиУправление персоналом
Если поискать статьи про FMC по компьютерным изданиям, то можно наткнуться на статью «Что такое FMC?» в PC Week от января 2006 года. Не столь показательная сама статья о прошедшей конференции, сколько комментарий к ней, аж от ноября 2012 года «Статья от 2006 года, а люди ещё не осознают эффективность!». Думаем, что можно оставить точно такой же комментарий, датированный 2016 годом — и это не от того, что что-то не так с технологией, а от того, что она развивалась на фоне бума виртуальных АТС и оставалась в тени.


Услуги, основанные на технологии FMC, можно было найти в портфеле корпоративных услуг сотовых операторов примерно с 2010 года. Однако услуги продвигались сложно — отчасти потому, что самим операторам было выгоднее реализовать другие решения, отчасти потому, что абоненты не получали информации о выгодах и преимуществах FMC, да и вообще не знали, что это за технология. На самом деле, тут есть о чём поговорить, особенно для малого и среднего бизнеса. В общем, как пишут забронзовевшие копирайтеры: «Ваши сотрудники недостаточно мобильны? Тогда мы идём к вам!».
Читать дальше →
Всего голосов 19: ↑18 и ↓1 +17
Просмотры9K
Комментарии 0

4 вида утечек памяти в JavaScript и как с ними бороться

Разработка веб-сайтовJavaScript
Перевод

В этой статье мы рассмотрим распространённые виды утечек памяти в клиентском JavaScript. Также мы узнаем, как их обнаружить с помощью Chrome Development Tools.


timeline в Chrome Dev Tools

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

Рабочий вопрос: почему западным IT-компаниям интересны сотрудники-аутисты

Блог компании 1cloud.ruУправление разработкойУправление проектамиРазвитие стартапаУправление персоналом
Не так давно мы, как IaaS-провайдер, начали рассказывать о мифах [Часть 1, Часть 2], которые сложились вокруг облачных технологий, и постарались их развеять.

Сегодня мы поговорим о том, как и почему крупные западные IT-компании начали обращать особое внимание и ценить уникальные возможности своих сотрудников с расстройствами аутистического спектра вообще и синдромом Аспергера в частности.



/ фото Kristina D.C. Hoeppner CC
Читать дальше →
Всего голосов 33: ↑30 и ↓3 +27
Просмотры29.5K
Комментарии 37

Приглашаем 19 октября, Москва на IX конференцию «Встраиваемые Технологии 2016. Индустриальный Интернет Вещей»

Блог компании MicrosoftРазработка для интернета вещей


19 октября в Москва в ИнфоПространстве пройдёт IX конференция «Встраиваемые Технологии 2016. Индустриальный Интернет Вещей», которую организует компания Кварта Технологии.

Участие бесплатное, необходима регистрация.
Подробности и видео с прошлогодней конференции
Всего голосов 17: ↑16 и ↓1 +15
Просмотры2.4K
Комментарии 0

Анатомия веб-сервиса

Блог компании Конференции Олега Бунина (Онтико)Высокая производительностьРазработка веб-сайтовПроектирование и рефакторингПараллельное программирование
Андрей Смирнов

Анатомия веб-сервиса


Андрей Смирнов


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


Какую часть я называю веб-сервисом, бэкендом, application-сервером? В классической архитектуре это то, что стоит за http rеverse proxy или load-балансировщиком, а с другой стороны у него находятся база данных, memcached и др. Вот только об этом бэкенде и будет идти речь.


Читать дальше →
Всего голосов 22: ↑20 и ↓2 +18
Просмотры23.3K
Комментарии 8

Решаем головоломки шаманов в World of Warcraft генетическим алгоритмом

JavaScriptПрограммированиеРазработка игрАлгоритмыReactJS

Привет, Хабражитель!
Не так давно, вышло очередное дополнение World of Warcraft Legion. Первым делом я принялся прокачивать шамана. В оплоте шаманов я забрел к Мастеру головоломок Ло и увидел то, что вы подумали — головоломку.


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

Подробности
Всего голосов 51: ↑43 и ↓8 +35
Просмотры35.2K
Комментарии 26

Tower Defence на движке Unity — Часть 1

Разработка игрC#Unity
Из песочницы
Привет всем! Это моя первая статья для хабра и она предназначена для новичков. В ней я хотел бы рассказать о том, как создать маленькую 3D игру жанра Tower Defence на движке Unity.

Я как и вы только изучаю этот движок. Учусь вместе с вами и могу допускать ошибки. Если статья интересна, то прошу пожаловать под кат! Только осторожно, там очень много картинок…

image
Читать дальше →
Всего голосов 42: ↑35 и ↓7 +28
Просмотры27.9K
Комментарии 19

Как «прокачать» навыки программирования… практически без программирования

Блог компании 1cloud.ruУправление e-commerceРазвитие стартапаУправление персоналомКарьера в IT-индустрии
Существует большое количество хороших ресурсов, посвященных развитию технических навыков грамотного программирования. Однако всего несколько из них дают представление о знаниях, которые приходят лишь с опытом. В этом материале мы собрали советы, которые помогут повысить вашу продуктивность, позволят лучше работать и быстрее думать в процессе разработки.



/ фото hackNY.org CC
Читать дальше →
Всего голосов 41: ↑27 и ↓14 +13
Просмотры65.2K
Комментарии 17

30 легковесных JavaScript плагинов и библиотек

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

Как и следовало ожидать ниже вы найдете много плагинов для создания ползунков, галерей с изображениями, адаптивных меню, а также много других полезных плагинов и библиотек. Также в списке представлены плагины, которые предлагают действительно уникальные функциональные возможности. Давайте взглянем на список!
Читать дальше →
Всего голосов 66: ↑53 и ↓13 +40
Просмотры88.4K
Комментарии 16

Панорамный обзор: Как оценить работу сотрудника

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

Это стало поводом для поиска более разносторонних подходов, и в качестве одного из решений появился «метод 360 градусов». Он предполагает сбор обратной связи от всего окружения человека или рабочей группы. Метод был придуман 19 лет назад и представляет собой периодический сбор оценок от руководителей, подчиненных и коллег. Несколько лет назад мы начали использовать его в Wrike для обратной связи руководителям, тимлидам и менеджерам по продукту, чтобы определять направления для личного развития. Также метод 360 градусов помогает улучшить взаимодействие в командах, куда пришло много новых сотрудников, или там, где возможны потенциальные конфликты.


Читать дальше →
Всего голосов 19: ↑15 и ↓4 +11
Просмотры14.3K
Комментарии 9

Аналитика для геймдизайнеров и продюсеров. Часть I

Блог компании ВШБИ — Менеджмент игровых интернет-проектовРазработка мобильных приложенийРазработка игр
Зачем нужна аналитика геймдизайнерам, продюсерам и другим сотрудникам, отвечающим за продуктовую составляющую, качество игры и её контент, за успешность на рынке и бизнес-показатели? В этой статье я расскажу, какие показатели статистики принято анализировать для того, чтобы предотвратить возможные проблемы и повысить выручку.


Читать дальше →
Всего голосов 22: ↑19 и ↓3 +16
Просмотры29.7K
Комментарии 5

Необычные jQuery и CSS селекторы

CSSJavaScriptjQuery
Recovery mode
Селекторы имеют очень важное значение. Большинство JQuery методов требуют выбора элементов для использования. К примеру, перед тем как прикрепить событие click к кнопке, нужно выбрать саму кнопку.

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

Давайте перейдем к списку!

Читать дальше →
Всего голосов 41: ↑29 и ↓12 +17
Просмотры20.6K
Комментарии 15

Информация

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