Как стать автором
Обновить
3
0

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

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

Вебсокеты на PHP. Часть 3. От чата до игры: Battle City

Время на прочтение5 мин
Количество просмотров40K
В предыдущих двух частях (Делаем вебсокеты на PHP с нуля и Межпроцессное взаимодействие) в качестве демонстрации я использовал чаты, но в этой статье на примере онлайн-игры я покажу, что сфера применения вебсокетов может быть гораздо шире.

Как обычно, в конце статьи ссылки на демонстрационную игру и исходный код на гитхабе.

Содержание:
  • Поддержка вебсокетов браузерами
  • Разработка онлайн-игры
  • Благодарности
  • Демка и исходный код

Читать дальше →
Всего голосов 40: ↑33 и ↓7+26
Комментарии23

Несколько полезных CSS-трюков

Время на прочтение3 мин
Количество просмотров56K
Во время работы над последним проектом накопилось несколько интересных CSS-трюков, о которых хочу рассказать. Хотя, возможно, это уже придумано до нас и все об этом уже знают. В примерах используется LESS, а не чистый CSS.

Событие автоподстановки в инпут поля


Проблема: узнать, что пользователь воспользовался функцией автоподстановки. Задача была в том, чтобы подсвечивать кнопку Login, если в полях e-mail и password введено что-либо. Проблема в том, что если эти поля заполняются автоподстановкой из ключницы браузера, то событие change на инпутах не выстреливает.

Решение: использовать псевдокласс :valid. Он срабатывает у инпута, если в нем есть контент, который удовлетворяет типу инпута (text, e-mail) и если у этого инпута стоит атрибут required. Правда решение не работает в IE, но нам не требуется поддержка этого браузера.

<input required="required" class="email-input" type="email" />
<input required="required" class="password-input" type="password"/>
<div class="go">Login</div>

.email-input:valid ~  .password-input:valid ~ .go {
	//стили для активной кнопки Login
}


Читать дальше →
Всего голосов 75: ↑64 и ↓11+53
Комментарии10

Подарок ко дню святого Валентина за 4 ночи и 1 день

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

Для привлечения внимания продемонстрирую результат:

image
Ну а теперь, для тех, кому интересно, как за 4 ночи и один день сделать подобный подарок, предлагаю пошаговую инструкцию.
Читать дальше →
Всего голосов 105: ↑96 и ↓9+87
Комментарии25

500 слов в минуту без подготовки

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


Обычная скорость чтения на русском языке составляет 120—180 слов в минуту. С помощью долгих тренировок можно повысить её где-то до 600 слов в минуту. Совсем недавно небольшой стартап из Бостона представил новую технологию под названием Spritz.

Мне удалось без подготовки читать со скоростью 500 слов в минуту. Разработчики утверждают, что можно достигнуть 1000; без ущерба для смысла. Более того, утверждается, что использование Spritz также увеличивает скорость чтения обычных текстов.

Вероятно, теперь можно ожидать появления устройств с крошечными экранами, которые составят конкуренцию традиционным электронным книгам. Очень рекомендую ознакомиться с демкой на сайте.
Всего голосов 243: ↑210 и ↓33+177
Комментарии272

Сетевое программирование для разработчиков игр. Часть 3: виртуальные соединения поверх UDP

Время на прочтение9 мин
Количество просмотров40K
От переводчика: Это перевод третьей статьи из цикла «Networking for game programmers». Мне очень нравится весь цикл статей, плюс всегда хотелось попробовать себя в качестве переводчика. Возможно, опытным разработчикам статья покажется слишком очевидной, но, как мне кажется, польза от нее в любом случае будет.
Первая статья — http://habrahabr.ru/post/209144/
Вторая статья — http://habrahabr.ru/post/209524/



Виртуальные соединения поверх UDP


Введение

Привет. Меня зовут Гленн Фидлер и я приветствую вас в третьей статье из цикла “Сетевое программирование для разработчиков игр”.

В предыдущей статье мы разобрались, как отправлять и принимать пакеты, используя протокол UDP.

Так как UDP не поддерживает соединения, один UDP сокет может быть использован для обмена пакетами с любым числом удаленных компьютеров. Однако в многопользовательских играх, как правило, мы обмениваемся информацией только с несколькими узлами.


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

Но сначала, нам нужно более плотно разобраться, как работает интернет.
Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии5

«Пожиратель сердец» — Маршрутизатор ASUS RT-AC68U: 802.11ac, usb 3.0, BitTorent, TimeMachine

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

К 23 февраля и 8 марта. Порадуй себя и близких тебе


Предисловие от автора (написано за 5 минут перед публикацией)


Первоначально я хотел всесторонне протестировать устройство с красивыми графиками и табличками, но что-то я так проникся им и начал просто пользоваться, поэтому всё немного сумбурно и без фактов, одни эмоции. Он меня просто покорил… Поехали!

Краткая информация


На рынке домашнего сетевого оборудования представлено множество решений, но сегодня я хочу рассказать вам об одном, действительно, уникальном устройстве: маршрутизаторе ASUS RT-AC68U (описание на сайте ASUS).

Не откладывая в долгий ящик, приведу ключевые особенности RT-AC68U, ставящие его выше остальных устройств на рынке:
  • новейший стандарт беспроводной связи 802.11ac
  • подключение внешнего жесткого диска по интерфейсу usb 3.0
  • официальная функция Time Machine
  • поддержка стандарта BitTorent (с учетом предыдущего пункта)

Именно совокупность этих черт сподвигла меня к данному приобретению. Разумеется, я умалчиваю про общеизвестные функции, такие как: подключение принтера или 3G/4G-модема во второй usb2.0 порт, работа в качестве домашнего файл-сервера, работа в качестве качалки всего и вся.

Технические характеристики ASUS RT-AC68U
Таблица с характеристиками честно скопирована с официальной страницы Asus и в ней отсутствует упоминание о функции Time Machine.
Дополнительно хочу отметить, что крепление к стене не предусмотрено.
Network Standard IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11n, IEEE 802.11ac, IPv4, IPv6
Product Segment AC1900 ultimate AC performance: 600+1300Mbps
Data Rate 802.11a: 6,9,12,18,24,36,48,54Mbps
802.11b: 1, 2, 5.5, 11Mbps
802.11g: 6,9,12,18,24,36,48,54Mbps
802.11n: up to 450Mbps
802.11n TurboQAM:up to600Mbps
802.11ac: up to 1300Mbps
Antenna External x 3
Operating Frequency 2.4GHz/5GHz
Encryption 4-bit WEP, 128-bit WEP, WPA2-PSK, WPA-PSK, WPA-Enterprise, WPA2-Enterprise, WPS support
Firewall & Access Control Firewall: SPI intrusion detection,DoS protection
Access control: Parental control, Network service filter, URL filter, Port filter
Management UPnP, IGMP v1/v2/v3, DNS Proxy, DHCP, NTP Client, DDNS, Port Triger, Universal Repeater, System Event Log
VPN Support IPSec Pass-Throuth
PPTP Pass-Through
L2TP Pass-Through
PPTP server
OpenVPN server
PPTP client
L2TP client
OpenVPN client
WAN Connection Type Internet connection type: Automatic IP, Static IP, PPPoE(MPPE supported), PPTP, L2TP
WAN Bridge support
Multicast Proxy support
Multicast Rate Setting support
Utilities .Download master
— support BT, NZB, HTTP, ED2K
— support encryption, DHT, PEX and magnet link
— upload and download bandwidth control
— download scheduling
.Media server:
— Image: JPEG
— Audio: mp3, wma, wav, pcm, mp4, lpcm, ogg
— Video: asf, avi, divx, mpeg, mpg, ts, vob, wmv, mkv, mov
.QoS:
— WMM
— User definable rules for IP/MAC/Port. Upload and Download bandwidth management.
— ACK/SYN/FIN/RST/ICMP with Highest priority
.Guest Network
— 2.4GHz guest network x 3, 5GHz guest network x 3
.Printer Server: multifunctional printer support(Windows nly), LPR protocol support
.File server: Samba and FTP server with account management
.PPTP VPN server
.Network map
.Traffic monitor
Ports 4 x RJ45 for 10/100/1000/Gigabits BaseT for LAN, 1 x RJ45 for 10/100/1000/Gigabits BaseT for WAN
USB 2.0 x 1
USB 3.0 x 1
Кнопка WPS Button, Reset Button, Power Button, Wireless on/off Button
Светодиодный индикатор PWR x 1
Wi-Fi x 2
LAN x 4
WAN x 1
USB x 2
Электропитание AC Input: 110V~240V(50~60Hz)
DC Output: 19 V with max. 1.75 A current
Размеры 220 x 83.3 x 160 mm (WxDxH)
Вес 640 g
Комплeктация 1 x RT-AC68U Wireless-AC1900 Dual Band Gigabit Router
1 x RJ-45 cable
1 x Power adapter
1 x QSG
1 x Support CD(user manual and ultility)
Router Special Features 3G/4G data sharing, AiCloud, Printer server, Download Master, AiDisK, Multiple SSIDs, Parental Control
Ещё немного официальных картинок ASUS RT-AC68U












Читать дальше →
Всего голосов 74: ↑52 и ↓22+30
Комментарии129

Как я перехватывал трафик покер рума или «Пишем свой MitM SSL прокси на C#»

Время на прочтение5 мин
Количество просмотров76K
Однажды у меня появилась навязчивая идея: посмотреть, а что же там такого покерный клиент отправляет на сервер. Как Вы понимаете, крупные покерные румы используют SSL для передачи данных. Протоколы, основанные на асимметричном шифровании, подвержены только одному известному мне виду атак — MitM (Man in the middle — человек посередине).

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

Читать дальше →
Всего голосов 62: ↑54 и ↓8+46
Комментарии33

«Теоретический минимум» Леонарда Сасскинда издан на русском

Время на прочтение4 мин
Количество просмотров67K
Рады сообщить, что в издательстве «Питер» вышел перевод новой книги Леонарда Сасскинда и Джорджа Грабовски — «Теоретический минимум» (ориг: The Theoretical Minimum: What You Need to Know to Start Doing Physics).

В Америке эта книга, несмотря на свой формат лекций по физике и классической механике, неожиданно стала настоящим бестселлером, а The Wall Street Journal вообще признал ее «Книгой 2013 года». В России книга вышла в издательстве «Питер» при поддержке гуманитарного фонда «Династия», цель которого — содействовать изданию лучших современных научно-популярных книг в области естественных и гуманитарных наук.

image

Мы уже издавали одну книгу Сасскинда на русском — «Битву при черной дыре» (пост о ней был на Хабре) — но «Теоретический минимум» по формату и содержанию кардинально от нее отличается.
Читать дальше →
Всего голосов 64: ↑60 и ↓4+56
Комментарии75

Жак Арсак. 1929-2014

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

image


Давно собирался почитать книгу «Программирование игр и головоломок». Уж очень часто на неё наталкивался на различных ресурсах, связанных с моими интересами (в частности, одно из моих хобби — ретро-компьютеры и программы для них). И вот начал читать. Стиль и некоторые задачи мне понравились, так что я решил почитать об авторе.

Информацию изначально искал на французском языке (как бы предчувствуя, что на русском найду гораздо меньше), и действительно оказалось, что её не так уж и много. Даже статья в Википедии достаточно лаконична.

Из этой статьи я узнал, что чуть более месяца назад, 14 января, Жак Арсак ушёл из жизни.
Читать дальше →
Всего голосов 62: ↑61 и ↓1+60
Комментарии15

Советы стартапам или важность опыта

Время на прочтение2 мин
Количество просмотров7.6K
Я слушал выступления людей, которые рассказывали, что они выучили в процессе построения компаний, инвестирования в компании, покупки компаний, продаж компаний и создания продуктов. Спустя пять лет, я слушал подобных докладчиков, с подобными докладами, на подобной конференции, для подобной аудитории. Разницей лишь было то, что годами позже, моя интерпретация всего этого была иной.

Поначалу, посещая стартап мероприятия, все казалось до банальности очевидным. Они говорят — слушай своих пользователей. Они говорят — ищите лучших людей. Они говорят — фокусируйтесь на росте. Советы для стартапов кажутся такими расплывчатыми. Мне казалось, это не те вещи на которых следует заострять внимание. Но тот небольшой опыт, который сейчас есть за плечами, дает возможность читать между строк этих стереотипных советов, и правильней интерпретировать то, что на поверхности кажется несущественным.
Читать дальше →
Всего голосов 4: ↑3 и ↓1+2
Комментарии0

Анализ производительности приложений как отдельное направление в IT

Время на прочтение13 мин
Количество просмотров12K
Добрый день, меня зовут Даниил, и я уже более пяти лет работаю в службе глобальной технической поддержки IT инфраструктуры крупной международной компании. Идея выделить анализ производительности приложений в отдельную область возникла у меня примерно два года назад и сейчас я нахожусь в той стадии, когда уже можно подводить первые итоги работы. Основная причина, побуждающая меня написать эту статью – желание получить конструктивные отзывы извне (в том числе и от уважаемых посетителей данного ресурса), чтобы в дальнейшем использовать их для корректировки курса развития этой области.
Читать дальше...
Всего голосов 8: ↑6 и ↓2+4
Комментарии4

От сортировки пузырьком к генетическим алгоритмам

Время на прочтение5 мин
Количество просмотров32K
Данная статья является кратким обзором того, что представляют собой генетические алгоритмы. Будучи новичком в биоинформатике, начну с вещей, близких и понятных людям технических специальностей: алгоритмов сортировки, затем перейду к описанию одной из задач генетического программирования и того, что под алгоритмами понимают биологи.
Читать дальше →
Всего голосов 25: ↑14 и ↓11+3
Комментарии7

Разработка документации при помощи DocBook

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


Так уж сложилось, что в наших проектах ведение технической документации полностью лежит на плечах разработчиков, по принципу: внес изменения в код проекта — актуализировал документацию. Сама документация представляла собой набор Word’овских документов, которая хранилась вместе с исходным кодом под VCS. Данный подход к организации разработки существовал долгое время, но пару лет назад мы решили озаботиться возможностью ведения документации проекта отличными от MS Office средствами.
Читать дальше →
Всего голосов 31: ↑29 и ↓2+27
Комментарии33

Музыкальная шкатулка на PIC16F753

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


Меня в свое время очень впечатлил этот пост о создании светомузыкального устройства на микроконтроллере в подарок любимой. И однажды пришло мое время сделать такой подарок. Учитывая отличия от автора упомянутого проекта в навыках и инструментарии; будучи сильно ограничен во времени подготовки (3-4 дня), я пошел другим путем и разработал свое музыкальное устройство для установки в купленную в сувенирном магазине шкатулку. Оно отличается более простой схемой и легкостью изготовления. В статье описываются подробности моего проекта и их мотивация. Осторожно, фотографии (всего около 1Мб).
Читать дальше →
Всего голосов 37: ↑26 и ↓11+15
Комментарии28

Заржавели мозги — перейди через мост. The Bridge by Ty Tailor

Время на прочтение3 мин
Количество просмотров49K
На Хабре полно математиков и физиков, которым будет интересно узнать об одной любопытной компьютерной игре «The Bridge». Она не вот чтобы прям свежая, я не ее автор и в тематику хабра она с трудом попадает, но я думаю что для этой инди-игры здесь найдутся почитатели. Уже минут 30 как я завершил прохождение зеркальной части игры — до сих пор под впечатлением, и хотел бы чтобы еще кто-то кроме меня остался доволен собой, математикой, Ньютоном и Эшером.

image

Читать дальше →
Всего голосов 54: ↑46 и ↓8+38
Комментарии25

Как воплотить в жизнь мечту детства и запрограммировать что-нибудь для Dendy

Время на прочтение4 мин
Количество просмотров103K
Для меня Dendy всегда была чем-то большим, чем просто приставкой. Я не только играл в неё, но и значительное время провёл внутри неё с паяльником в руках для некоторых простых модификаций. По дороге куда-нибудь я часто размышлял о том, как же создаются эти игры и как это работает внутри. Наверняка, многие из вас когда-то задавались подобными вопросами, такова уж натура будущих IT-шников.

Прошли годы. С некоторой периодичностью погружался в эму-тему, изучая всё новое на тематических сайтах, но я не решался окунуться в изучение ассемблера 6502 и архитектуры NES. Внутренний конфликт рационального и иррационального. Я долго убеждал себя, что мне не нужно тратить на это время, но… сорвался. Глядя на то, какие интересные вещи делают энтузиасты эму-сцены, я взялся за свою давнюю идею со светлой мыслью: «Я тоже смогу!». Две недели пролетели незаметно, я еле смог остановить себя. И да, теперь я знаком с ассемблером без команд умножения, о чём раньше только слышал в песне о программистской молодости.



Очень вероятно, что сейчас вы вспомнили свой первый картридж для Dendy и меню с романтическим сюжетом и приятной музыкой. На таких картриджах никогда не было «серьёзных» игр, и не глядя на громкие надписи типа 9999-in-1, их обычно было что-то около пяти. Но это меню… Разве это не шедевр китайской мысли? :) Мне с детства нравилась эта мелодия (Unchained Melody), а фоновые изображения сейчас навевают кучу ностальгических воспоминаний. Поэтому я взял IDA и дизассемблировал меню 300-in-1, вырезал всё лишнее, исправил ошибки, добавил фейдинг да немного приятных мелочей — и получилась демка Unchained Nostalgia (для запуска нужен эмулятор, например, Nestopia), есть запись на YouTube.

Хотите также окунуться в олдскульное программирование? Делюсь самым полезным и интересным, что я нашёл по теме.
Читать дальше →
Всего голосов 102: ↑100 и ↓2+98
Комментарии61

Как команда технарей свою студию создавала. Опыт первых месяцев. Достижения, фейлы, умозаключения…

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

Уверен, многих технарей посещала идея создания своего бизнеса. Вот и у нас в определенный момент все звёзды сложились так, что казалось — это беспроигрышный вариант: сильная техническая команда, откуда ни возьмись появились менеджеры, готовые продавать наши услуги, есть даже пара проектов на старт. Грех не попробовать. И мы рискнули. Фактически всё надо ставить с нуля.
Читать дальше →
Всего голосов 126: ↑110 и ↓16+94
Комментарии118

Триста девяносто четыре доллара

Время на прочтение13 мин
Количество просмотров33K
В этой статье я хочу поделиться своим опытом участия в программе поощрения от Yahoo (и не только). Расскажу, какие уязвимости нашёл, на какие трудности напоролся и на сколько щедрым оказалось Yahoo. Жду вас под катом!

Yahoo Bug Bounty
Читать дальше →
Всего голосов 77: ↑72 и ↓5+67
Комментарии20

В Беларуси возбудили уголовное дело за угон виртуального танка

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


Как сообщают белорусские информационные агентства, в Беларуси, в Брестской области впервые возбудили уголовное дело по факту угона виртуального танка. Об этом сообщила ведущий специалист отделения информации и общественных связей УВД Брестского облисполкома Ирина Блохина.

Подробности
Всего голосов 71: ↑58 и ↓13+45
Комментарии96

Разбор протокола World Of Tanks

Время на прочтение8 мин
Количество просмотров115K
Часть первая: инструментарий мелкосерийного изобретения велосипедов

Почему и зачем: длинная и необязательная преамбула

Хорошо, что опыта игрового модостроительства у меня было немного — так, пару кастомных прицелов для Deer Hunter 2005 и «нелицензионный» недоклиент VATSIM/FSD с сопутствущим «взломом» протокола последнего. Ещё лучше, что ни разу не приходилось с головой погружаться в сколь-нибудь трудоёмкую и длительную отладку и дизассемблирование. То есть, с IDA и OllyDBG я поверхностно знаком, но не как с ежедневными рабочими инструментами.

В WOT играю с начала 2011 года. Не запоем, а, скорее, набегами — по 5-6 боёв вечером. Было время 2 года назад, наш клан состоял в Красном Альянсе, ходил на глобалку по ночам, выполнял какие-то тактические задачи на европейском ТВД, устраивал тренировки и спарринги, вовсю бурлили внутриигровые политические страсти, отпочковывались учебные кланы. Сейчас всего этого уже нет, и наш золотой ёжик превратился в табличку над «Домом Ветеранов».

Впадать в ересь сравнения танков с другими MMO не буду, так как хорошо знаком только с танками. Тем более не знаком ни с одним другим проектом, использующим BigWorld, поэтому искренне верю WarGaming'у на слово, что существуют и (не)тривиально (не)преодолеваются различные техномагические ограничения движка — на размер карты, на максимальную скорость юнита, на численность команд и прочее. Оставаясь в рамках внутренней критики, я также понимаю, что, с точки зрения целевой аудитории танков вообще, и их активного игрового коммьюнити в частности, каждое нововведение из очередного патча, безусловно, гораздо более востребовано и обосновано, сколь бы малым оно ни было. И что оптимизировать Motion Blur на несколько процентов это, безусловно, важнее, чем отменить принципиальную неизменяемость привязки действий на кнопки мыши для тех, кто привык на них ставить движение вперёд-назад (DOOM-стайл, да).

Итак, я уверен, что в обозримом будущем никаких планов по введению полноценного режима спектатора в WOT нет и не будет. Под полноценным режимом спектатора я понимаю множественные подключения игроков в сеанс боя изначально как невзаимодействующих на игру «привидений»-наблюдателей, а не на технике. Это тот самый режим, из-за отсутствия которого комментаторы на чемпионатах WOT вынуждены заходить в бой 15-м танком, убиваемым своими на базе. Это тот самый режим, из-за которого появились моды «командирского zoom» и «кинематографической камеры» — по сути, просто костыли. А нужен такой режим затем, чтобы командир роты занимался командованием, а не скакал впереди на лихом танке по-чапаевски, чтобы он видел ситуацию на карте в целом непрерывно, а не отвлекался на неё в пылу нападения из засады. В идеале, командиру даже не нужны красоты трёхмерного мира — достаточно одной большой карты на весь монитор с игровой ситуацией в реальном времени — HP, повреждениями модулей, членов экипажа, направлениями стволов и прицелов союзной техники, засвеченных в каждый момент вражеских юнитов и прочей вспомогательной информации.

WOT предоставляет широкие возможности модостроительства, но такая идея выходит за рамки классического «заменить пару swf-файлов на свои». Потребуется перехват и разбор самого игрового протокола для того, чтобы иметь возможность передать на командирский планшет своё видение игровой ситуации.
Читать дальше →
Всего голосов 173: ↑167 и ↓6+161
Комментарии90

Информация

В рейтинге
Не участвует
Откуда
Украина
Зарегистрирован
Активность