Как стать автором
Обновить
1
0
AHTOH @AHTOH

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

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

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

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


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

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



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

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

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

Время на прочтение22 мин
Количество просмотров9.2K
В 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
Комментарии2

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

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


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

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

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

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

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

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

Время на прочтение5 мин
Количество просмотров3.3K
В нашем блоге на Хабре мы часто рассказываем о новых технологиях и трендах в мире IaaS. В сегодняшнем посте нам бы хотелось затронуть тему надежности и доступности облаков и поговорить о мерах, призванных удовлетворить требования, прописываемые в соглашении об уровне предоставления услуг поставщиков.



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

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

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



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

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

Время на прочтение11 мин
Количество просмотров203K
В 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
Комментарии39

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

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


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

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

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

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


timeline в Chrome Dev Tools

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

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

Время на прочтение8 мин
Количество просмотров31K
Не так давно мы, как IaaS-провайдер, начали рассказывать о мифах [Часть 1, Часть 2], которые сложились вокруг облачных технологий, и постарались их развеять.

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



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

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

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


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

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

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

Время на прочтение19 мин
Количество просмотров26K
Андрей Смирнов

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


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


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


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


Всего голосов 22: ↑20 и ↓2+18
Комментарии8

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

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

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


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

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

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

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

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

image
Всего голосов 42: ↑35 и ↓7+28
Комментарии19

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

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



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

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

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

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

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

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

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


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

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

Время на прочтение8 мин
Количество просмотров36K
Зачем нужна аналитика геймдизайнерам, продюсерам и другим сотрудникам, отвечающим за продуктовую составляющую, качество игры и её контент, за успешность на рынке и бизнес-показатели? В этой статье я расскажу, какие показатели статистики принято анализировать для того, чтобы предотвратить возможные проблемы и повысить выручку.


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

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

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

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

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

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

Способы продвижения мобильных приложений

Время на прочтение5 мин
Количество просмотров38K
Способов продвижения мобильных приложений существует немало, но какие из них будут наиболее эффективны для разработчика можно понять лишь путем проб и ошибок. Компания Applead решила поделиться своим опытом в этом вопросе. На сегодняшний день приложений в маркетах более чем достаточно и многие из них используют одни и те же проверенные каналы.


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

1) Какого качества приложение?
2) На кого направлено приложение, целевая аудитория (этот вопрос нужно было задавать перед началом разработки)
3) Кто основные конкуренты?
Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии0
1
23 ...

Информация

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