Search
Write a publication
Pull to refresh
6
0
Дмитрий @hudson

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

Send message

Реализация серверной части в многопользовательских онлайн играх

Reading time3 min
Views16K
За свою недолгую жинь я ни разу не встречал программиста, который бы не любил игры. И уж тем более, программиста, который никогда их не писал.
Кто-то начинает с тетриса, кто-то со змейки. У кого-то это увлечение проходит, а кто-то этим «заболевает» и превращает свою болезнь в любимую работу или занятное хобби.

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

Читать дальше →

Как вставить печать в документ, чтобы боги не убили котёнка

Reading time6 min
Views137K
Была у пользователей Эльбы мечта — вставлять изображения печатей и подписей в счета, акты, накладные и прочие серьезные документы. Отчего бы не порадовать мечтателей, подумали мы. Оглядевшись по сторонам, мы поняли, что обычно в таких случаях всю грязную работу сваливают на пользователя (ну, вы знаете: «картинка должна быть 300 на 400 пикселей, с высоким контрастом, хорошим разрешением и идеально белым фоном»). Но судя по опыту нашей команды, которая бывает в колл-центре, даже простая загрузка изображения с фотоаппарата повергает пользователей в глубокую депрессию, и вызволять их приходится богопротивными способами, а-ля «вставьте картинку в Ворд». Конечно, не может быть и речи о том, чтобы заставлять пользователей чистить печати в фотошопах — пусть фотографируют как умеют, а Эльба выполнит за них все остальное!



Если вам интересно узнать, что нужно сделать с фотографией, снятой телефоном или мыльницей, чтобы получить чёткую печать и подпись с прозрачным фоном — читайте дальше.
Читать дальше →

Документирование по ГОСТ 34* — это просто

Reading time12 min
Views497K
Сегодня мы поговорим об отечественных стандартах на проектную документацию. Как эти стандарты работают на практике, чем они плохи и чем хороши. При разработке документации для государственных и серьезных частных заказчиков у нас обычно нет выбора — в требования по документированию ТЗ вписано соблюдение стандартов. На практике мне приходилось сталкиваться с различными примерами недопонимания структуры стандартов, того, что должно быть в документах и зачем эти документы нужны. В итоге из-под пера техписателей, аналитиков и специалистов выходят порой такие перлы, что непонятно, в каком состоянии сознания они писались. А ведь на самом деле все достаточно просто. Поиск по Хабру не вернул ссылок на более-менее целостный материал на данную тему, потому предлагаю закрасить этот досадный пробел.
Читать дальше →

Как заработать на биткойнах, или мой опыт майнинга

Reading time2 min
Views401K
Довелось мне однажды на просторах интернета наткнуться на монетку под названием биткоин. Читал, смотрел, анализировал. Глазам не верил, да денюжек на биржу закинул, чтобы проверить и руками пощупать.
Задумался о майнинге я в конце апреля этого года, когда курс биткоина в очередной раз начал резко расти. Прикинул на калькуляторе сколько на этом можно заработать, и решил собрать машину с 4 видео картами отдельно для добычи биткоинов, тогда по моим подсчетам вложения должны были окупится за 1-2 месяца. При том что риска почти никакого, в случае если «пирамида» накроется, железо всегда можно продать.

image
Читать дальше →

Восстановление изображений при помощи нейросетей

Reading time3 min
Views35K

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

Microsoft поможет портировать Node на Windows

Reading time1 min
Views1.5K
Я рад рассказать о том, что Microsoft в сотрудничестве с Joyent предоставит ресурсы для портирования Node на Windows. Как вы уже могли слышать ранее в этом году, мы начали работу над нативным портом на Windows — с целью использовать высокопроизводительный IOCP API.

Эта работа требует в значительной степени модифицировать базовую структуру и мы очень рады тому, что теперь получаем официальное руководство и инженерные ресурсы от Microsoft. От Rackspace так же выделено время Bert Belder для выполнения этой работы.

Результатом будет официальный бинарный релиз node.exe опубликованный на nodejs.org, который будет работать на Windows Azure и других версиях Windows начиная с Windows Server 2003.

Объединение браузеров в непотопляемый трекер

Reading time6 min
Views4.2K
vseisk-p2p Одноранговые сети стали мощнейшей силой в современном интернете. Клиентские программы p2p-сетей объединяют компьютеры в гигантские сетевые «организмы», причем создают, поддерживают и контролируют эти сети сами конечные пользователи. Сегодня на каждом компьютере практически всегда открыт браузер. Объединяя браузеры в p2p-сеть получаем распределенную систему, которая всегда под рукой и которая может быть полезна для решения многих насущных задач.

Недавно я рассказывал о расширении Firefox, которое объединяет браузеры в p2p-поисковую сеть Всеиск. Теперь эта сеть освоила дополнительные функции: публикация/поиск торрентов и трекер для BitTorrent. Прежде чем перейти к подробному описанию, я в двух словах поясню постановку задачи.

Важнейшими узлами p2p-сети BitTorrent являются торрент-сайты. Через них пользователи находят раздачи, через них осуществляется координация текущих раздач. Однако торрент-сайты оказываются не только важнейшими, но и самыми слабыми точками BitTorrent. Уязвимость заключается прежде всего в том, что соответствующий сервер можно заблокировать, запретить, отобрать и т.п.

Если распределить диспетчерские функции по принципу p2p-сети, то это разом сделает координационный сервис неподвластным ни техническим, ни административным угрозам. Я решил сделать p2p-сервис, который будет реализовывать обычные функции торрент-сайта (поиск торрентов и диспетчер раздач), причем, при взаимодействии с клиентской программой, сервис будет выглядеть как обыкновенный трекер.

В этой статье я сначала коротко расскажу уважаемому собранию как все это работает технически, затем более развернуто покажу на картинках как пользоваться сервисом.
Читать дальше →

IPO for dummies. Часть V: жизнь после IPO

Reading time4 min
Views3.1K
Начало и оглавление см. в первой части.

А что можно было бы ожидать на следующий год после IPO?

Через год после (описанного в предыдущей главе) удачного IPO (хоть и прошедшего со слабеньким P/E равным 12.5) пять акций Пети стоят 2500 долларов, а пропорциональная его доле часть прибыли составляет 950 долларов. Настало время готовить годовой отчёт…
Читать дальше →

Angry Birds стали веб-приложением

Reading time1 min
Views3.8K


На конференции Google I/O компания Rovio презентовала веб-версию Angry Birds, основанную на WebGL. Она «брендированная» (расположена по адресу chrome.angrybirds.com и снабжена логотипом Хрома), но запускается и в других браузерах. Впрочем, вот тут вошедшая в поговорку скорость Chrome становится настоящим конкурентным преимуществом — от нее теперь зависит количество FPS.
Игра уже была добавлена в Chrome Web Store.

Google также объявил на I/O о введении покупок внутри веб-приложений из Chrome Web Store, установив комиссию всего лишь в 5% (за что удостоился овации от разработчиков), и в Angry Birds обещаны такие внутриигровые товары (например, Mighty Eagle).

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

Update: у многих после 20-го уровня не загружался 21-й, но, как сообщается, это уже исправлено. Кроме того, у части макюзеров забавная проблема: игра работает во всех браузерах, кроме Хрома.

Apache 2 под наблюдением. Мониторинг загрузки системы веб-сервером

Reading time5 min
Views26K

Apache 2 под наблюдением



Вступление


Уже написано немало постов на просторах интернета, о мониторинге веб-сервера Apache. При вводе такой фразы, как «мониторинг нагрузки apache» в строке поиска Google, результаты поиска указывают на полезнейший модуль mod_status. А также о еще большей полезности этого модуля в сочетании с perl-расширениями. А если еще и немного пропатчить эти perl-расширения — то вообще супер система получается. Но настроив такую систему — системный администратор на этом, как правило, не останавливается, ему уже необходимо история нагрузки по серверу в целом, потом по каждому хосту, а далее и с точностью до скрипта. И чтоб потом сравнить можно было, а как раньше было, а как теперь нагрузка распределяется.
И вот здесь на помощь может прийти модуль для веб-сервера Apache — mod_performance.
Читать дальше →

Разработка сайтов на Diem CMS: преимущества, философия, примеры и подводные камни

Reading time12 min
Views2.6K
Продолжение истории про замечательную инициативу группы французских web-разработчиков под названием Diem CMS.

В этой статье вас ждут


— несколько примеров того, как Diem может облегчить жизнь вебмастеру
— подводные камни, с которыми вы можете столкнуться, и их возможные решения
— немного философских рассуждений о том, чем Diem принципиально отличается (в лучшую сторону) от соратников
— интересные факты, связанные с топиком
— а также скриншоты и примеры кода
Статься получилась объемная и содержательная.
Читать дальше →

Оффлайновый способ хранить пароль

Reading time1 min
Views3.5K
Есть сервис passwordcard который позволяет генерировать и распечатывать такие вот карточки паролей.

image

Суть заключается в том, чтобы запоминать только картинки и длину, например вертикаль «О» запоминаем только вертикаль, получается JQ3xqZkE

Карточку можно распечатать и положить в удобное место.
Хорошая альтернатива менеджерам и проч. программ.

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

UPD2: судя по всему сервер упал под хабраддосом (:

Инвесторы — естественные враги стартапов

Reading time7 min
Views3.6K
В живой природе естественное равновесие поддерживают хищники. В среде стартапов такими хищниками являются венчурные инвесторы (бизнес-ангелы, венчурные фонды и пр.). Они ограничивают размер популяции и оздоравливают её, поедая слабых и больных (понятно, что в большинстве случаев у «слабых и больных» на этот процесс есть своя точка зрения, но факты — упрямая вещь).

Я вот уже два года пытаюсь поднять собственный стартап, за это время встречался и разговаривал с десятками потенциальных инвесторов, поэтому надеюсь, что моё видение проблемы взаимоотношений инвесторов и основателей стартапов может кому-то оказаться полезным. Понятно, что многие живущие в этом мире стартаперы знают обо всём этом не меньше (а то и гораздо больше) меня, но начинающим или потенциальным бизнесменам от высоких технологий, надеюсь, моё (исключительно субъективное) мнение поможет реальнее смотреть на вещи.
Читать дальше →

Как стать системным администратором — пособие для начинающих (часть 1)

Reading time10 min
Views843K
Так получилось, что эту весну я провёл в поисках/собеседованиях людей аж на четыре вакансии, связанные с системным администрированием. Я пообщался с несколькими десятками людей и заметил характерные ошибки и проблемы, с которыми они сталкиваются. Излагаю то, что заметил, а так же свои мысли, как эти проблемы решить.

scope: начинающие системные администраторы, помощники системных администраторов и т.д. Опытным администраторам, а так же тем, кто имеет вполне конкретную специализацию будет если и интересно, то бесполезно.

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

Какие бывают системные администраторы?

Читать дальше →

Новости LibCanvas

Reading time2 min
Views1.7K
Где-то полгода назад я выкладывал несколько топиков про LibCanvas. Потом было затишье на Хабре, но не в репозитории. Работа активно продвигалась и библиотека обрела новые силы, возможности и базовую документацию.
Читать дальше →

Пятнашки на LibCanvas

Reading time3 min
Views5.9K
Недавно на Хабре была статья про пятнашки на Canvas.
Отличная статья, уверен, новички найдут в ней много полезного. К сожалению, в комментариях высказались о немного завышеном потреблении процессора.
Это не от недостатка технологии, а от недостаточного опыта и удобных инструментов.
В этом топике я расскажу, как, при помощи LibCanvas, сделать эту игру совершенно нетребовательной к процессору и отлично выглядящей.
Читать дальше →

Релиз Alternativa3D 8.5.0 (с поддержкой GPU)!

Reading time2 min
Views3K
Представляем вам раннюю версию движка Alternativa3D 8 с поддержкой Molehill 3D API для Flash Player 11. Технология задействует для обработки изображения графический процессор видеокарты. Это одновременно повышает и качество картинки, и производительность.
Центральный процессор компьютера полностью освобождается от нагрузки и может использоваться для других задач. Например, для обработки физической модели в трёхмерной игре. В то же время графический процессор позволяет увеличить максимальное число полигонов на экране до нескольких миллионов. Также значительно расширяется набор доступных эффектов. Тени, эффекты частиц, фотореалистичное освещение, постэффекты — всё это становится возможным прямо в браузере и приложениях для социальных сетей.

Демонстрация персонажной анимации
Модель состоит из 52 костей и имеет до восьми влияний костей на каждую вершину.
tech3.jpg
Читать дальше →

Canvas: пятнадцать минут на пятнашки

Reading time4 min
Views47K
CANVAS шаг за шагом:
  1. Основы
  2. Изображения
  3. Понг
  4. Пятнашки

В детстве у меня были пятнашки, я думаю все знают эту головоломку. Двигать пятнашки в пластиковой коробочке до получения заветного порядка цифр было очень интересным занятием. Вот и совсем недавно, в порядке спортивного интереса, я написал для себя пятнашки в которые бы можно было играть не только из окна браузера, но и с смартфона под управлением ОС Андроид или iOS.
Читать дальше →

.phar — исполняемые PHP-архивы

Reading time4 min
Views54K
Данную статью я хочу посвятить одному интересному нововведению в PHP 5.2 (с версии 5.3 входит в стандартную поставку PHP) — PHAR.
image
PHAR — это утилита для создания исполняемых архивов в PHP, аналог JAR в Java.
PHAR ползволяет упаковать много файлов в один, в результате чего Ваше приложение может работать с целой библиотекой, как с одним файлом.
PHAR умеет создавать, читать, записывать и конвертировать такие форматы, как TAR, ZIP и, собственно, PHAR.
Доступ к файлам в архиве осуществляется напрямую, без необходимости распаковки архива, через PHP Stream Wrapper, тоесть с файлами из архива работают все функции, которые поддерживают PHP Stream Wrapper.
Читать дальше →

Авторизация по протоколу OAuth на примере Desktop Twitter-клиента

Reading time6 min
Views26K
Потребовалось мне тут написать некий кроссплатформенный Twitter-клиент с закрытым исходным кодом, не спрашивайте зачем мне это надо, работа у меня такая, деньги я за это получаю. Что логично, языком разработки был выбран С++ с использованием Qt.
Сам API Twitter'a прост как кирзовый сапог. Но! Есть такая важная штука как авторизация, и тут есть два пути, старый — аутентификация посредством HTTP Headers и новый — использование протокола OAuth. Старый метод прост, также как и само API, но, к сожалению, он не безопасен, и самое главное команда Twitter'a предупреждает, что откажется от него в конце июня сего года. Поэтому остается второй метод OAuth. Надо сказать, что данный протокол используется не только в Twitter, но поскольку я писал Twitter-клиент, и рассматривать мы будем на примере Twitter'a.
и как же это сделать?

Information

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