Как стать автором
Обновить
5
0
Ilya Troy @lowadka

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

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

Приходите на чемпионат по программированию: будем решать задачи и «ронять» код оппонентов

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

Финал прошлого чемпионата для студентов МГТУ – фото MDovzhenko

Правила простые — 5 «олимпиадных» задач разной сложности, плюс возможность «взламывать» решение оппонента сложным набором входных данных. То есть, сначала пишем свой код, потом «ломаем» чужой. Официально всё это называется Всероссийский Открытый Чемпионат по программированию «КРОК-2013» при поддержке Codeforces и Саратовского ГУ.

Зачёт индивидуальный, призы — 100 000 рублей за первое место, 70 тысяч — за второе, 50 тысяч — за третье. Плюс будет дополнительный игровой конкурс, победитель которого тоже получит приз. Для финалистов из РФ — бесплатная поездка в Москву, питание и проживание на два дня.

В прошлом году проводилось похожее мероприятие, тогда участвовало примерно 1500 человек (в квалификационном раунде), поэтому в этом году схема будет такая:
  • Квалификационный раунд – 13-14 апреля, удалённо (на следующий этап проходит не более 2000 участников).
  • Первый отборочный раунд – 15 апреля, удалённо (проходит 400 участников).
  • Второй отборочный раунд – 22 апреля, удалённо (проходит 50 участников).
  • Финал чемпионата состоится 16 и 17 мая в Москве в офисе компании КРОК.

Во всех раундах 5 задач, по мере приближения к финалу их сложность будет немного увеличиваться.
Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии12

Методы решения судоку

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

1. Основы


Большинство из нас, хабражителей, знает, что такое судоку. Не буду рассказывать про правила, а сразу перейду к методикам.
Для решения головоломки, не важно сложной или простой, изначально ищутся ячейки очевидные для заполнения.
Читать дальше →
Всего голосов 81: ↑70 и ↓11+59
Комментарии63

Нечёткий поиск в тексте и словаре

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

Введение


Алгоритмы нечеткого поиска (также известного как поиск по сходству или fuzzy string search) являются основой систем проверки орфографии и полноценных поисковых систем вроде Google или Yandex. Например, такие алгоритмы используются для функций наподобие «Возможно вы имели в виду …» в тех же поисковых системах.

В этой обзорной статье я рассмотрю следующие понятия, методы и алгоритмы:
  • Расстояние Левенштейна
  • Расстояние Дамерау-Левенштейна
  • Алгоритм Bitap с модификациями от Wu и Manber
  • Алгоритм расширения выборки
  • Метод N-грамм
  • Хеширование по сигнатуре
  • BK-деревья
А также проведу сравнительное тестирование качества и производительности алгоритмов.
Читать дальше →
Всего голосов 171: ↑170 и ↓1+169
Комментарии33

Elophant: хоть какой-то доступ к API League of Legends

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


Уверен, что многие из тех, кто хоть иногда играет в игры жанра MOBA (Multiplayer Online Battle Arena), или даже просто в MMORPG, наверняка слышали про такой проект как League of Legends.
LoL — второй (после Demigod) клон всем известной «Доты», и, на данный момент, имеет очень много поклонников по всему земному шару (30+ млн. зарегистрированных пользователей). В 2010-2011 League of Legends даже была включена в список дисциплин на крупнейшем чемпионате для геймеров — WCG (World Cyber Games).

Впрочем, хватит хвалить и без того хвалёную игру, перейдем к делу. Как-то раз, мне приспичило узнать подробную информацию о своем игровом аккаунте в LoL, а именно: посмотреть результаты своих последних сыгранных матчей, общую игровую статистику для каждого персонажа и соответствующие значения KDA Ratio (Kills / Deaths / Assissts). Но узнать эту информацию мне нужно было не имея под рукой клиента с игрой. Я перелопатил весь официальный сайт и форум, в поисках хоть какой-то информации об API — все безуспешно. Тогда, я еще не знал про ресурсы LoLKing, SoloMid и т.д.

Уже намного позже, в процессе «гугления», был найден сайт Elophant.com, на котором располагалась (собственно, и сейчас располагается) небольшая API — документация. В ней описаны основные методы, позволяющие узнать имя саммонера, информацию о его рунах / страницах талантов, информацию о последних десяти сыгранных матчах, общую игровую статистику, информацию о всех существующих игровых предметах / персонажах и т.п.
Читать дальше →
Всего голосов 7: ↑4 и ↓3+1
Комментарии10

Результаты новогоднего Хабра-соревнования по программированию, анализ и обсуждение

Время на прочтение11 мин
Количество просмотров39K
Честно говоря, я не ожидал такого количества решений: за 24 часа было прислано 265 решений, из которых после удаления повторных отправок осталось 183.

Из 183 решений у 11 был превышен допустимый размер решения, в 19 случаях — не удалось скомпилировать (об этих ошибках подробнее ниже). Далее 47 дали неправильные ответы на простых тестах (1..1000000), 8 не успели посчитать ответ за минуту (образец решения из условия задачи для 1млн работал 5 минут 36 секунд).

На сложных тестах — 5 решений выдали неверный ответ, и 12 — не уложились в одну минуту. 86 — успешно прошли все тесты.

Если кто потерял, вот топик о старте соревнования с условиями задачи.
Читать дальше →
Всего голосов 92: ↑90 и ↓2+88
Комментарии141

Секреты клавиатуры Windows Phone 8

Время на прочтение5 мин
Количество просмотров58K
Со дня появления Windows Phone 7 прозвучало много комплиментов в адрес ее виртуальной клавиатуры, системы «умных» подсказок и исправлений. Engadget назвал ее «одной из лучших и самой точной виртуальной клавиатурой, которую мы пробовали на любой из платформ». Gizmodo утвредлил: «The keyboard is boss». Даже New York Times оценили «умные подсказки».



В Windows Phone 8 разработчики поставили своей целью сделать клавиатуру еще более интуитивной, точной и индивидуальной. В этой статье мы бы хотели рассказать об улучшениях, которые попали в последний релиз, и объяснить некоторые механизмы, обеспечивающие предиктивную технологию, вызывающую обширный интерес.
Читать дальше →
Всего голосов 55: ↑44 и ↓11+33
Комментарии38

Пишем игру-клон Super Mario Brothers (часть 1)

Время на прочтение23 мин
Количество просмотров88K
imageДля многих из нас Super Mario Brothers была первой игрой, которая по-настоящему завораживала своим игровым процессом.
Интуитивное управление SMB и великолепный дизайн уровней от Nintendo заставляли проводить часы напролет в виртуальной вселенной сантехника и его напарника.

В этом чудесном туториале от Джейкоба Гандерсена мы создадим собственный платформер; но, так как главным героем будет Коала, мы назовем нашу игру «Super Koalio Brothers!» ;]
Также, чтобы упростить механику, мы забудем о движущихся врагах. Вместо них мы будем использовать шипованные блоки, встроенные в пол. Это позволит нам полностью сконцентрироваться на сердце платформера — физическом движке.

Внимание! Под катом невероятное количество переведенного текста, картинок, кода (код не переведен) и руководство по созданию собственного физического движка!
Читать дальше →
Всего голосов 127: ↑120 и ↓7+113
Комментарии16

Деревянная мышь. История проекта

Время на прочтение17 мин
Количество просмотров143K
Вы когда-нибудь задумывались, как устроены вещи, какой путь они проходят от идеи до реализации, насколько просты простые вещи? Насколько просто сделать расческу? А компьютерную мышь? А деревянную компьютерную мышь из цельного бруска красного дерева с ЖК экранчиком, с собственной электронной начинкой и изготовленным и оплетенным специально для нее кабелем? Думаю, вам будет интересен мой путь, который я прошел за 2,5 года создания моей мышки.



Читать дальше →
Всего голосов 580: ↑574 и ↓6+568
Комментарии440

Как начать писать игры

Время на прочтение9 мин
Количество просмотров348K
Оригинал: Starting out on Game Programming

Путь в индустрию игровых разработок не близок. Эта статья призвана помочь понять с чего лучше начать это путешествие.

Вы только что закончили ваш первый курс по С++ и хотите начать делать игры. Кто-то указал вам на этот сайт и вы, возможно, поэкспериментировали немного с руководством. Вы изучили несколько лаконичных примеров, но не нашли руководства о том, как сделать целую игру. И на то есть причина.

Руководства хороши для обучения чему-то шаг за шагом, например тому, как перемещать изображение точки по экрану. Для того чтобы собрать игру воедино, вам нужны навыки решения возникающих проблем, приобретаемые лишь с опытом. Это не то, чему можно научиться из руководств. Лучший способ научиться делать игры — это начать их делать.
Дальше
Всего голосов 134: ↑119 и ↓15+104
Комментарии51

Как создавался Assassin's Creed 3

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


Перевод фичера из 245 номера британского журнала Edge.

Assassin's Creed III — самый крупный проект в истории Ubisoft. Разработка длилась три года; в проект были напрямую вовлечены 600 сотрудников компании, не говоря о других в студиях Ubisoft по всему миру, включая Квебек, Бухарест и Сингапур.

Только для нового героя серии, Коннора Кенвэя, было создано 5000+ анимаций общей продолжительностью более часа. В «массовке» задействовано 120 персонажей, игровая механика обогатилась 145 новыми фичами. Завершает картину новый движок AnvilNext. Как создавалась столь масштабная игра? За ответом мы отправились в Монреаль. Нас принял Франсуа Пеллан, старший продюсер ACIII.
Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии11

Все видео и презентации с осеннего Форума Технологий Mail.Ru Group 2012

Время на прочтение5 мин
Количество просмотров9.3K
Прошел осенний Форум Технологий 2012. Как и в прошлые разы, хотелось поделиться с вами интересными цифрами и фактами относительно мероприятия, а также познакомить тех из вас, кто туда не попал, с основными тезисами докладов. Здесь же вы найдете ссылки на онлайн-видеозаписи, а также на видеофайлы, которые можно скачать и посмотреть/послушать в удобное время со смартфона или планшета.



Программа этого года включала 24 доклада в трех залах. Кроме ведущих специалистов Mail.Ru Group, на Форум были приглашены докладчики из Codecentric, Google, Opera, Cloud9. Видеотрансляцию Форума посмотрело более трех тысяч человек, Twitter в течение дня просто ломился от сообщений с нашим хэш-тегом — их набралось около тысячи от 280 человек, то есть буквально от каждого третьего.

Форум посетило всего около 1000 человек. Это максимальные возможности площадки, где проходил Форум. Весенний форум посетило столько же специалистов.

Презентации, статистика, видео и фотографии
Всего голосов 53: ↑44 и ↓9+35
Комментарии18

Как не нужно писать большие сервера

Время на прочтение8 мин
Количество просмотров104K
Те, кто мог видеть мою прошлую статью (а она довольно related к данной теме), знают, что вот уже больше полутора лет я разрабатываю собственную реализацию сервера Minecraft, рассчитанную, в первую очередь, на высокие нагрузки. Тем не менее, в своей работе мы используем так же и стандартный сервер (Bukkit) для нескольких мини-серверов, просто чтобы было разнообразие. И вот, столкнувшись с очередной версией сервера, которая стала раз в 5 хуже предыдущих, я уже не выдержала, и решила написать эту статью.

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

Вам не нужно знать ничего о майнкрафте и особенно о его сервере, в данной статье я хочу просто рассказать, как работает оригинальный сервер Minecraft, а так же его «обвязка» — Bukkit, рассказать, почему такая система не работает и не должна. Я не претендую на идеальные знания о разработке серверов и не утверждаю, что мой сервер написан правильно и лучше всех. Я просто делюсь своим опытом, основанным на двух годах работы с сервером от всем известной Mojang и на полутора годах разработки своего сервера. Вся представленная здесь информация является моим личным мнением, а статья предназначена для расширения кругозора или даже обучения и может быть интересна как новичкам, так и продвинутым профессионалам.
Читать дальше →
Всего голосов 175: ↑135 и ↓40+95
Комментарии271

Рендер Diablo3. Как это работает

Время на прочтение7 мин
Количество просмотров116K
Как устроены графические движки популярных игр с мировым именем? Какие технологии применяют разработчики в самых крупных игровых компаниях? Действительно ли, чтобы сделать красивую игровую графику необходимо применять самые передовые технологии современной 3D графики? На эти вопросы мы попробуем ответить на примере рендер части игры Diablo3, от компании Blizzard Entertainment.
Читать дальше →
Всего голосов 283: ↑276 и ↓7+269
Комментарии130

В django появилась возможность использования своей модели вместо contrib.auth.models.User

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

Через шесть лет после появления тикета с предложением возможности использования своей модели вместо штатной django.contrib.auth.models.User и тысяч постов с идеями использования дополнительной модели профилей случилось чудо: https://github.com/django/django/commit/70a0de37d132e5f1514fb939875f69649f103124

Читать дальше →
Всего голосов 36: ↑33 и ↓3+30
Комментарии71

Ещё 10 батареек для джанго

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

Продолжаем делиться своим опытом использования полезных батареек для Django.
Первая часть
Ещё рекомендуем «Сумбурные заметки про python и django» и «Django проект PR Hero: что внутри и полученный опыт».

Для Django написано огромное количество пакетов. Из них мы выбрали 10, которые использовали сами в своих последних проектах и которыми остались довольны. Все они есть на PyPI. Они продокументированы и покрыты тестами, где-то больше, где-то меньше. Исключение составляет django-sphinx, о котором отдельно.

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

Вирусность. Формула или фортуна?

Время на прочтение6 мин
Количество просмотров12K
Задумывались ли вы, над тем, почему одни вирусные ролики облетают интернет за пару дней, набирая миллионы лайков, а другие, составленные по тем же правилам, на первый взгляд, очень схожие по модели, не расходятся даже по друзьям? О втором случае знают в основном те, кто сам пытался сесть на хвост самоорганизующейся мощи социальных сообществ.
В этой статье проанализирую успешные и не очень вирусные рекламы с точки зрения стартапера и предложу свою версию вирусного инструмента для нагрузочного тестирования платформы видео-чата.
Читать дальше →
Всего голосов 43: ↑20 и ↓23-3
Комментарии34

Подборка полезного для любителей Twitter Bootstrap

Время на прочтение2 мин
Количество просмотров250K
В подборке сервисы, плагины, темы и другие полезности, облегчающие работу с Twitter Bootstrap.

Стилизация


BootSwatchr — быстрая стилизация Twitter Bootstrap.

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

gameinstitute.ru — журнал для разработчиков игр

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

Доброго времени суток, уважаемое хабрасообщество.
Мы хотели бы представить вам наш замечательный журнал о разработке игр — gameinstitute.ru

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

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

Например, мы фанатеем от необычного рендера в Minecraft и старательно изучили технологию создания подобных эффектов:

Майнкрафт-подобный рендер на OpenGL4
Читать дальше →
Всего голосов 91: ↑80 и ↓11+69
Комментарии60

Bitbucket — большое обновление

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

Bitbucket — это хостинг для Mercurial и Git репозиториев. Ближайший аналог и прямой конкурент — github. По популярности Bitbucket отстаёт, однако у него есть пара заметных фич по сравнению с github — это поддержка Mercurial и возможность создать сколь угодно приватных репозиториев на бесплатном аккаунте, однако дать доступ можно максимум пяти пользователям (у github вообще нет приватных репозиториев для бесплатных аккаунтов).

Сегодня команда Bitbucket выпустила большое обновление своего сервиса. Полностью обновился дизайн и добавилось много новых функций. Сделаю краткий обзор нововведений на основе записи в официальном блоге команды разработчиков.
Читать дальше →
Всего голосов 126: ↑124 и ↓2+122
Комментарии133

Премьера jQuery UI 1.9.0

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

За последние два с половиной года команда jQuery UI проделала огромную работу. Было выпущено более десятка релизов, исправлено больше 500 багов. Но основная задача была сделать jQuery UI как можно стабильнее, и гибче. В прошлом году мы замахнулись на серьезную цель:
Мы хотим полностью обновить весь проект к версии 2.0. Мы упростим API, улучшим стабильность, документацию, и обеспечим полное тестирование каждого плагина.

И вот сегодня мы рады представить вам первый важный шаг в достижении этой цели — новая версия jQuery UI 1.9.0. Она содержит сотни исправлений, лучшее покрытие тестами, и обновленным API. В добавок, мы развернули новую версию сайта, с улучшенной документацией.
Итак, что вас ждет
Всего голосов 57: ↑54 и ↓3+51
Комментарии27

Информация

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