Доброго времени суток, %username%!
В некоторый момент своей жизни я понял, что нужно сделать что-то значимое. Да и подзаработать, если честно.
Тут ко мне пришел друг, который на продажу делал сборки разных игровых серверов и предложил сделать хостинг для игрушек.
Времени на тот момент было много, за плечами — два года кодинга на php фрилансером и было решено сделать этот проект.
PHP уже порядком поднадоел от нудной работы в стиле «подправь мне вот тут сайтик на Joomla», на хабре вовсю шло обсуждение нашумевшего NodeJS и в качестве инструмента для написания я выбрал именно его.
Что из этого вышло — читайте под катом.
Читать полностью »
Рубрика «node.js» - 96
Хостинг игровых серверов на NodeJS
2013-08-06 в 1:59, admin, рубрики: javascript, just for fun, node.js, игровой хостинг, метки: just for fun, игровой хостингNodeJS красивый, модульный, объектный или делаем его таким с помощью redis и nohm
2013-08-01 в 11:53, admin, рубрики: javascript, node.js, redis, игровой сервер, сервер, метки: node.js, redis, игровой сервер, сервер В последнее время в IT-сообществе довольно много шумихи вокруг серверного JavaScript, в частности — NodeJS, однако, как это ни странно, оказалось довольно сложно найти информацию о том, как писать модульный, объектный код. Что я имею ввиду? Дело в том, что с js я знаком совсем недавно, до этого писал небольшие приложения на Java, а в свободное время пишу серверную часть онлайн-игры на PHP и, как и следовало ожидать, как и многим начинающим программистам на JS мне было очень непривычно вместо объектно-ориентированного использовать так называемое прототипно-ориентированное программирование. Тем более, JavaScript вносит достаточно много путаницы даже в это дело со своими Object.prototype и __proto__. Первое, что пришло мне в голову, как и многим другим разработчикам — сделать свою реализацию «привычного ООП», сделал. Немного подумав я решил, что это просто незачем, если мы работаем с nodeJS. За мою, хоть и недолгую практику, мне не довелось встретить задачу, которая бы требовала настоящего ОО подхода, я имею ввиду реальную необходимость наследования, полиморфизма и тем более инкапсуляции (конечно, все это нужно, но в той степени, которую js предоставляет).
Читать полностью »
Создание многопользовательской realtime игры на node.js
2013-07-25 в 16:20, admin, рубрики: bouncing ball, game development, latency, multiplayer, node.js, Realtime, многопользовательские игры, перевод с английского, переводы 
Несколько месяцев назад мы с коллегами решили сделать многопользовательскую realtime игру, которая могла бы работать в вебе. Мы решили использовать node.js для нашего сервера. Это решение привело к очень убедительному успеху — наш сервер работал несколько месяцев без единого падения или перезагрузки процесса.
Мы решили написать нашу игру на node.js, потому что мы слышали много хорошего об этой платформе и очень хотели немного с ней поиграть. И это было потрясающе — мы очень быстро вошли в тему. Для node.js существует множество любопытных библиотек, способных решать абсолютно разные задачи. Побочным преимуществом использования node для серверной части является, собственно, javascript — очень простой в обращении язык. Это позволило нам сфокусироваться на проблемах, которые встречаются во всех realtime играх, без лишней суеты, ограничений и необходимости компилировать код, как это случается при использовании менее динамических языков.
Также node.js проявил себя как очень легковесный язык, даже в моменты пиковой нагрузки. Для нашей игры, процесс node.js использовал только один поток и потреблял всего около 3-4% CPU при одновременной работе 8-10 копий игры, каждая со своим собственным движком обнаружения столкновений.
Читать полностью »
Конверторы шрифтов на javascript: svg2ttf, ttf2woff, ttf2eot
2013-07-25 в 6:54, admin, рубрики: javascript, node.js, woff, шрифты, метки: woff, шрифтыМногим из вас знаком сайт fontello.com, который помогает делать иконочные шрифты для вебсайтов. Сегодня хочется вас познакомить с некоторыми полезными штуками, которые у него поместились под капотом. А именно — с конверторами шрифтов:
- svg2ttf: github.com/fontello/svg2ttf
- ttf2woff: github.com/fontello/ttf2woff
- ttf2eot: github.com/fontello/ttf2eot
Вы можете найти «в интернетах» много проектов, которые предлагают конвертировать форматы шрифтов, но все они так или иначе завязаны на FontForge. Он конечно работает, но не всегда так как хочется, и не всегда удобeн. Со временем накопились и другие причины для своих лисапедов:
Читать полностью »
Новшества node-webkit 0.6.3
2013-07-24 в 5:40, admin, рубрики: chromium, GUI, intel, node-webkit, node.js, nodejs, запуск приложений, кроссплатформенная разработка, обновление ПО, Отладчик, пользовательские данные, метки: chromium, gui, intel, node-webkit, node.js, nodejs, запуск приложений, кроссплатформенная разработка, обновление ПО, отладчик, пользовательские данныеВчера (23 июля) интеловский Центр технологий с открытым исходным кодом выдал на-горá очередную версию движка node-webkit. Как и прежде, движок этот позволяет открывать браузероподобные окна (на основе кода Chromium) и употреблять в них API Node.js — а значит, обеспечивает нетрудное создание GUI-приложений методами веборазработки (на языках JavaScript, HTML, CSS, WebGL и т. п.) под операционные системы Windows, Mac OS X и Linux.
Новая версия получила номер 0.6.3 и работает на движке Node версии 0.10.12:
![Новшества node webkit 0.6.3 [скриншот окна]](https://www.pvsm.ru/images/novshestva-node-webkit-0-6-3.png)
Три месяца назад (29 апреля) я обозрел одну из предыдущих версий node-webkit (версию 0.5.1). За прошедшее с тех пор время в node-webkit появился целый ряд существенных новшеств.
Важнейшим из них стало улучшение системы поиска и запуска приложений. Теперь, когда вы запускаете движок node-webkit, он ищет приложение в следующем порядке:
Nitrous.IO — online IDE с SSH-доступом и десктоп приложением для синхронизации
2013-07-23 в 14:33, admin, рубрики: node.js, online ide, python, ruby, Веб-разработка, метки: node.js, online ide, python, ruby, Веб-разработка 
Nitrous.IO — это online IDE для веб разработки на Ruby, Python, Node.js и Go (авторы общеют больше вариантов со временем). Главными отличиями от десятка подобных проектов являются полноценный SSH-доступ к своим боксам (о них чуть ниже) и десктоп приложение, синхронизирущее локальный код с боксами, также как это делает Dropbox. И главное — в базовом варианте все это предоставляется бесплатно, поэтому попробовать и понять, нужно ли оно вам — крайне просто.
Читать полностью »
JavaScript обработка изображений нативными функциями
2013-07-22 в 13:28, admin, рубрики: image processing, javascript, node.js, nodejs, метки: image processing, javascript, nodejsДоброго времени суток, читатель!
Как-то понадобилась мне в проекте, работающем на node.js, обработка изображений. И чтоб скачал файлик, закинул в папку и подключил как модуль. Ан нет, таких в природе не оказалось. По этому тогда пришлось воспользоваться node-imagemagick. Но сейчас пост не о этой библиотеке.
Пост о том, что захотелось сделать такую библиотеку, которую скачал, закинул файлик в проект, подключил модуль и всё работает! Ну и сделал. Правда поддержка gif'ок не реализована, но я надеюсь на огромное сообщество, которое заинтересуется и поможет доделать библиотеку.
Назвал её по простому, imageLib.js, и на github выложил, правда под MIT.
Читать полностью »
Похождения молодого программиста
2013-07-17 в 18:58, admin, рубрики: node.js, phalcon, битрикс, Веб-разработка, метки: node.js, phalcon, битриксВсё началось в те далёкие времена, когда я только знакомился с миром веба. С фреймворками, системами для управления сайтами и другими представительницами этого прекрасного мира я тогда знаком ещё не был. Поэтому когда у меня возникала потребность, которую бы нормальные люди решали с их помощью, я всё делал сам. И это приносило удовлетворение, но не более того. А мне хотелось получать удовольствие от того чем я занимаюсь. Читать полностью »
Человеческий парсер на Selenium WD
2013-07-12 в 16:45, admin, рубрики: greasemonkey, node.js, Веб-разработка, лень, метки: node.js, parser, леньНачало
И вот пришла моя очередь покупать автомобиль. Как это делают ребята с работы я видел. Заходят на сайт и следят за предложениями, ну кто постарше покупает газету и просматривает объявления. Все это однообразно и отвлекаться на сиденье, исследование и нажатие по ссылкам не хотелось. Хотелось просто что бы кто то делал это за меня, таких людей не нашлось. Значит надо было заставить делать все это компьютер. Читать полностью »
Node.js в роли проксирующего сервера данных через websockets
2013-07-11 в 14:37, admin, рубрики: javascript, node.js, socks proxy, асинхронное программирование, Песочница, метки: javascript, node.js, socks proxy, асинхронное программирование Очередной велосипед про легкий способ бросить курить создать устойчивый асинхронный поток данных между практически любым сервером данных и браузером.
Преамбула: один из проектов, который я сопровождаю, — это комплексная система GPS-мониторинга автотранспорта. В ней присутствует сервер обработки и хранения данных от автомобильных трекеров и десктопный клиент, который рисует движение машинок в реальном времени на грубоватой растровой карте, которая побита на тайлы общим объемом порядка гигабайта. Руководство проекта поручило мне создать веб-клиент на базе гугл-яндекс и прочих мимимишечных векторных карт для быстрого доступа к визуальным данным из любого места и с любого устройства, а не только с десктопа.
Читать полностью »
