Pull to refresh
1
Karma
0
Rating

User

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

Game development *Algorithms *
Translation


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

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



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

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

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

Machine learning *Biotechnologies Health


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

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

Конференции Олега Бунина (Онтико) corporate blog High performance *Website development *Network technologies *IT Standards *
В 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.
Total votes 39: ↑38 and ↓1 +37
Views 8.2K
Comments 2

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

RegionSoft corporate blog ERP-systems *CRM systems *Project management *Personnel Management *
Оценивать что-либо — очень сложно. Для этого нужно быть экспертом в той сфере, о которой идёт речь, уметь учитывать сторонние факторы, выбирать. Но всё знать и уметь нельзя. Однако бизнес подобрался к решению проблемы оценки вплотную — были придуманы показатели KPI. Но этот мощный и проработанный инструмент оказался не таким простым и безобидным. В компаниях вокруг KPI бушуют нешуточные страсти, в которых есть место даже ненависти и личным мотивам. Несколько месяцев жизни нашей компании были посвящены созданию системы расчёта KPI внутри CRM. Сегодня можно выдохнуть и сказать, что всё получилось. А заодно поделиться интересной информацией и своими выводами. В общем, про эти три буквы мы теперь знаем гораздо больше, чем про те.


Total votes 35: ↑30 and ↓5 +25
Views 109K
Comments 52

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

Development for IOT *
image

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

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

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

CloudMTS corporate blog Hosting System administration *IT Infrastructure *Data storages *
В нашем блоге на Хабре мы часто рассказываем о новых технологиях и трендах в мире IaaS. В сегодняшнем посте нам бы хотелось затронуть тему надежности и доступности облаков и поговорить о мерах, призванных удовлетворить требования, прописываемые в соглашении об уровне предоставления услуг поставщиков.



/ фото Robert Scoble CC
Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Views 3.2K
Comments 0

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

CloudMTS corporate blog Hosting System administration *Data storage *Data storages *
Вашему вниманию вновь предлагается подборка материалов, подготовленных силами экспертов «ИТ-ГРАД». Этот выпуск IaaS-дайджеста посвящен вопросам применимости облачных технологий: обзорам, управлению и практическим кейсам.



/ фото jacinta lluch valero CC
Читать дальше →
Total votes 16: ↑14 and ↓2 +12
Views 3.9K
Comments 0

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

Abnormal programming *Python *Programming *
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 (без каких-либо дополнительных модулей, конечно же).
Читать дальше →
Total votes 57: ↑54 and ↓3 +51
Views 197K
Comments 39

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

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


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

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

Website development *JavaScript *
Translation

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


timeline в Chrome Dev Tools

Читать дальше →
Total votes 98: ↑98 and ↓0 +98
Views 117K
Comments 16

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

1cloud.ru corporate blog Development Management *Project management *Start-up development Personnel Management *
Не так давно мы, как IaaS-провайдер, начали рассказывать о мифах [Часть 1, Часть 2], которые сложились вокруг облачных технологий, и постарались их развеять.

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



/ фото Kristina D.C. Hoeppner CC
Читать дальше →
Total votes 33: ↑30 and ↓3 +27
Views 31K
Comments 37

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

Microsoft corporate blog Development for IOT *


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

Участие бесплатное, необходима регистрация.
Подробности и видео с прошлогодней конференции
Total votes 17: ↑16 and ↓1 +15
Views 2.5K
Comments 0

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

Конференции Олега Бунина (Онтико) corporate blog High performance *Website development *Designing and refactoring *Concurrent computing *
Андрей Смирнов

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


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


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


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


Total votes 22: ↑20 and ↓2 +18
Views 24K
Comments 8

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

JavaScript *Programming *Game development *Algorithms *ReactJS *

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


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

Подробности
Total votes 51: ↑43 and ↓8 +35
Views 36K
Comments 26

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

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

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

image
Total votes 42: ↑35 and ↓7 +28
Views 29K
Comments 19

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

1cloud.ru corporate blog E-commerce management *Start-up development Personnel Management *IT career
Существует большое количество хороших ресурсов, посвященных развитию технических навыков грамотного программирования. Однако всего несколько из них дают представление о знаниях, которые приходят лишь с опытом. В этом материале мы собрали советы, которые помогут повысить вашу продуктивность, позволят лучше работать и быстрее думать в процессе разработки.



/ фото hackNY.org CC
Читать дальше →
Total votes 41: ↑27 and ↓14 +13
Views 66K
Comments 17

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

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

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

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

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

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


Читать дальше →
Total votes 19: ↑15 and ↓4 +11
Views 15K
Comments 9

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

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


Читать дальше →
Total votes 22: ↑19 and ↓3 +16
Views 33K
Comments 5

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

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

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

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

Читать дальше →
Total votes 41: ↑29 and ↓12 +17
Views 21K
Comments 15

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Registered
Activity