Pull to refresh
57
0
Александр Литовченко @avl32

User

Send message

oAuth для iOS приложений

Reading time 3 min
Views 12K
Экран приветствия клуба Трельяж для iPhone
Вечерело. Теплая августовская суббота предрасполагала к реализации oAuth авторизации на Google и Facebook для iOS клиента клуба интеллектуальных игр.

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

Быстрые ссылки на сами библиотеки: Googlegtm-oauth2, Facebookfacebook-ios-sdk

О нюансах интеграции под катом.
Читать дальше →
Total votes 31: ↑27 and ↓4 +23
Comments 17

Минус на минус дает…

Reading time 2 min
Views 8.2K
imageИз школьного курса арифметики всем известно что минус на минус дает плюс. Ваш покорный слуга также всю свою жизнь был уверен в этой, казалось бы незыблемой, аксиоме. Но на днях, произошло событие, перевернувшее мировоззрение, и заставившее посмотреть новым взглядом на привычные вещи.

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

Читать дальше →
Total votes 116: ↑98 and ↓18 +80
Comments 80

Многопоточное приложение под Tornado

Reading time 5 min
Views 38K


В документации к неблокирующему вебсерверу Торнадо красиво расписано как здорово он справляется с нагрузкой, и вообще является венцом творения человечества в области неблокирующих серверов. Отчасти это верно. Но при построении сложных приложений за рамками «еще одного чата» выявляется много неочевидных и тонких моментов, о которых желательно знать до вояжа по граблям. Под «катом» разработчики клуба интелектуальных игр Трельяж готовы поделиться своими мыслями о подводных камнях.
Читать дальше →
Total votes 70: ↑65.5 and ↓4.5 +61
Comments 28

Вебсокеты против Антивирусов. Первый раунд

Reading time 2 min
Views 2.5K
Не за горами наплыв html5 приложений. Для пользователей это еще больше интерактива и новых возможностей, в первую очередь благодаря local storage и websockets технологиям. Для разработчиков это очередная головная боль по обеспечению совместимости. Первый удар ниже пояса нанесли команды Firefox4 и Opera11, запретив по умолчанию поддержку websockets. Разработчики стерпели, разместив в своих faq инструкции как их включить и подложив подкладку в виде flash компонента эмулирующего websockets поддержку для совсем уж устаревших браузеров.

При переводе Клуба Трельяж с comet long polling обработки событий на websockets модель, мы столкнулись с тем, что беда пришла откуда ее не ждали. А пришла она из стана антивирусов.
Читать дальше →
Total votes 75: ↑62 and ↓13 +49
Comments 26

Бубновый туз, и… Касперский

Reading time 1 min
Views 1.3K
Бубновый туз и КасперскийВ процессе тестирования веб-преферанса неожиданно выяснилась одна странная деталь. Около 5% игроков стабильно жаловались на «нехватку» карт. При этом у тысяч других игроков (включая разработчиков) все работало идеально. В процессе разбора полетов стало понятно, что каждый раз не хватало одной и той же карты. А именно — бубнового туза.
Все тесты сервер проходил идеально. Код бубнового туза отдавался на клиент стабильно с остальными картами. Ларчик, как это обычно бывает, открывался очень просто. Картинка с бубновым тузом в ресурсах называлась ad.gif. И у этих 5% игроков на страже правопорядка стоял… Да-да, вы не ошиблись, Юрий Антонов Kaspersky Internet Security, которому не понравилось название файла картинки.
Мораль для веб-разработчиков проста. При именовании внешних ресурсов (картинок, css, js, swf) обратите внимание на отсутствие «подозрительных» слов и сокращений (advertise, banner, ...). Возможно это сэкономит вам, и вашим пользователям душевное здоровье.
Total votes 175: ↑164 and ↓11 +153
Comments 90

Веб-Преферанс. Месяц спустя

Reading time 1 min
Views 992
Месяц назад, мы уже писали про старт нового проекта клуба интеллектуальных игр «Трельяж». Сервис успешно выдержал хабраэффект, благодаря которому пришла тысяча игроков, и выдвинула множество предложений по улучшению и развитию проекта. Все они были услышаны, и многие из них реализованы.
image

За последний месяц на сервере было сделано: 22 обновления, зарегистрировалось 1043 игрока, сыграно более 500 игр, закрыто более 100 тикетов в багтрекере.

Читать дальше →
Total votes 57: ↑49 and ↓8 +41
Comments 59

Веб-Преферанс на Python

Reading time 6 min
Views 2.6K
Не первое десятилетие продолжается спор между архитекторами настольных приложений на предмет, какой же подход, statefull или stateless, более предпочтителен, и в каких случаях.
Сейчас мы наблюдаем определенный тренд сдачи позиций апологетами statefull. Не в последнюю очередь в этом виноват даже не столько web, сколько банальный HTTP, вполне заслуженно занявший нишу «универсального протокола для всего». Причем возможность передачи Cookie весьма слабо влияет на его насквозь stateless природу.

Но что HTTP может нам предложить, в случае необходимости создания интерактивного приложения на вебе? Для того чтобы достичь «реактивности» оффлайнового statefull приложения, классического варианта с постоянным опросом состояния сервера короткими AJAX запросами по таймеру явно недостаточно. HTML5 несет нам технологию WebSockets, призванную решить эту проблему. Но ведь нужно чтобы работало «здесь и сейчас» на всех браузерах выпущенных в текущем тысячелетии.

На помощь приходит технология Comet, при помощи которой мы предприняли попытку реализовать браузерный русский преферанс с мгновенной реакцией на события.

Итак, знакомьтесь. Клуб интеллектуальных игр «Трельяж»
trellis-club.com

Трельяж
Читать дальше →
Total votes 85: ↑83 and ↓2 +81
Comments 68

Information

Rating
Does not participate
Location
Донецк, Донецкая обл., Украина
Registered
Activity