Search
Write a publication
Pull to refresh
20
0
brooho @brooho

User

Send message

Мой подход к созданию ТЗ на шаблонные сайты

Reading time6 min
Views20K
eyestopper

Вместо эпиграфа.


Поймал дед золотую рыбку. Она ему говорит:
— Чего тебе, дед?
— Хочу чтоб мой аппарат был длиной до колен.
Взяла рыбка и укоротила деду ноги.
Мораль: ставьте корректно техническое задание.

Добрый день великий и могучий Хабр.
Некоторое время назад было несколько постов о технических заданиях (Как поставить задачу для простого (шаблонного) сайта, Почему мы никогда не составляем ТЗ. А что взамен?, Правила технического задания), которые хотелось бы продолжить и рассказать про мой подход к написанию ТЗ на шаблонные сайты.
Читать дальше →

Ещё один физический движок на JavaScript

Reading time1 min
Views5.6K
На Google Code появился ещё один порт известного физического движка Box2D на JS — box2dweb (по ссылке есть демо). Автор говорит, что уже существует портированная версия Box2dJs, но она давно не обновлялась, так что приходится импортировать большое количество JS-библиотек в каждый проект.

Кроме двух упомянутых, на сегодня список библиотек физики на JavaScript выглядит так:

github.com/thinkpixellab/box2d — обработанный компилятором Closure Compiler порт Box2D на JS
code.google.com/p/bulletjs — порт фрагментов Java-библиотеки JBullet (http://jbullet.advel.cz/)
github.com/supereggbert/JigLibJS — порт JigLib на JS
github.com/hapticdata/toxiclibsjs — порт Toxiclibs VerletPhysics на JS
github.com/kripken/ammo.js — порт Bullet на JS

Stickr — начало 3-го года!

Reading time2 min
Views854
Stickr.com: два года в эфире
Команда Stickr.com рада сообщить, что мы переступили двухлетний рубеж развития лучшего сервиса социальных закладок во всем интернете. За последнее время у нас накопилось немало хороших новостей, которые касаются внешнего вида сайта и его функционала. Теперь мы можем предложить поистине мощный инструмент для повседневного веб-серфинга c элементами research.

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

Привет, Хабр

Reading time4 min
Views20K
Логотип компании PayOnlineМы наконец-таки взяли себя в руки и решились выйти в открытый космос хабросообщество с собственным постом — и познакомиться. Мы – это современный международный платежный сервис-провайдер PayOnline.

Если твоя работа, %username%, связана с электронной коммерцией, ты что-то продаешь в интернете или развиваешь функционал ресурсов клиентов – ты сталкивался с вопросом приема платежей на сайтах. Мы уже не раз (1,2,3) были упомянуты на Хабре в ходе оживленных дискуссий, касающихся приема платежей на сайтах и преимуществ тех или иных платежных сервис-провайдеров: процессинговых центров и платежных агрегаторов.
Сегодня мы решили рассказать, как меньше, чем за 3 года мы заняли 5,2% рынка процессинга платежей в Рунете (по оценке аналитиков компании PayOnline на основе данных: объем рынка платежей в Интернете по России за 2010 год – $3 млрд., оборот процессингового центра PayOnline – $155 млн.).
Читать дальше →

Запускаем сторонний код в песочнице

Reading time8 min
Views5.9K
Как гласит статья из Википедии, Песочница — механизм для безопасного исполнения программ. Песочницы часто используют для запуска непротестированного кода, непроверенного кода из неизвестных источников, а также для запуска и обнаружения вирусов.

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

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

Проигрывание торрентов в вашем браузере с Magic Player

Reading time3 min
Views114K
Torrent Stream Magic Player — совершенно новое дополнение, которое позволяет пользователям проигрывать потоки видео и музыки, через торренты, непосредственно в их браузере. Magic Player работает с Chrome, Firefox, Opera и поддерживает множество популярных сайтов, включая The Pirate Bay, isoHunt, BTjunkie и EZTV ( rutracker и т.п. ). Это одно из первых решений для создания истинного видео по запросу непосредственно в браузере, при использовании протокола BitTorrent.
Читать дальше →

Пишем игру для Android c помощью AndEngine. Часть 2

Reading time6 min
Views11K
Всем привет!
Как и обещал, вторая часть статьи.
Во избежание недопонимания, перед прочтением ознакомьтесь с первой частью статьи.
Уже ознакомились? Тогда добро пожаловать под кат где я познакомлю читателя с игровыми объектами.
Читать дальше →

Пишем игру для Android c помощью AndEngine. Часть 1

Reading time4 min
Views55K
Всем привет.
Сегодня я расскажу вам как с помощью AndEngine написать небольшую игру. Стаья получилась довольно большая и, чтобы не утомлять читателя, пока мы остановимся на первой ее части. Все что нужно от читателя — это знание java, ООП и умение обращаться с Eclipse и Android SDK. Забегая вперед, у нас получится что то похожее на Mirrors Maze либо Laser Logic.
Вторая часть статьи.
Третья часть статьи.
Читать дальше →

Apache 2.x под наблюдением или как узнать еще больше

Reading time9 min
Views9.5K

Вступление



Продолжу цикл статей на тему «Apache 2.x под наблюдением. Мониторинг загрузки системы веб-сервером». Опять же под рассмотрением остается известный ранее[2] модуль Apache — mod_performance. На время написания этой статьи на сайте модуля[1] была выложена для доступа новая версия модуля — 0.2. Дальнейшее повествование в статье будет по принципу «Вопрос-Ответ».
Читать дальше →

Dropbox — получаем дополнительные 9 Гб за один день

Reading time2 min
Views12K
Сервис Dropbox я начал использовать совсем недавно. Кстати, когда попробовал, долго недоумевал, почему я начал использовать его только сейчас, хотя слышал о нем давно — уж очень удобно все.

Как известно, после регистрации для бесплатного аккаунта доступно пространство в 2 Гб. Это пространство можно увеличить до 11 Гб различными способами. Далее я расскажу несколько подробнее обо всех известных способах, а так же будет небольшой лайфхак.

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

Как и почему следует разбивать диск в никсах

Reading time3 min
Views64K
Один из довольно частых вопросов на различных околониксовых ресурсах — вопрос о том, какую схему разбивки дисков использовать. С виду простой вопрос на самом деле таит в себе множество подводных камней. Если, конечно же, дело касается серверов. На десктопах все гораздо скучнее и серее.

Универсального решения в данном вопросе нету, просто есть некоторые аспекты, которыми следует руководствоваться при выборе схемы разбивки.
Читать дальше

Как сделать промо-ролик игры малыми силами

Reading time4 min
Views14K


В статье «Игра за 2 дня» я на примере проекта Папа Пингвин рассказал о том, как сделать игру для iOS, используя Unity, за двое суток.

В продолжение этой темы — статья о том, каким образом можно малыми силами сделать небольшой мультфильм в поддержку игры. Текст статьи подготовил Алексей Лунин (type_2), наш художественный директор. Данная статья может пригодится маленьким студиям-разработчикам и просто энтузиастам, делающим небольшие игрушки для мобильных (и не только) платформ.

Если вы не хотите повторять тех же ошибок, что сделали мы, читайте дальше.
Читать дальше →

JavaScript F.A.Q: Часть 1

Reading time15 min
Views74K
image

Несколько дней назад мы с TheShock создали топик в котором собирали ваши вопросы, касательно JavaScript (архитектура, фрэймворки, проблемы). Настало время ответить на них. Мы получили очень много вопросов, как в комментариях так и по email. Эта первая часть ответов — те вопросы, которые достались мне.
Читать дальше →

Основы и заблуждения насчет JavaScript

Reading time9 min
Views55K

Объекты, классы, конструкторы

ECMAScript, будучи высоко-абстрактным объектно-ориентированным языком программирования, оперирует объектами. Существуют также и примитивы, но и они, когда требуется, также преобразуются в объекты. Объект — это коллекция свойств, имеющая также связанный с ней объект-прототип. Прототипом является либо также объект, или же значение null.
В JavaScript нет привычных классов, но есть функции-конструкторы, порождающие объекты по определенным алгоритмам (см. Оператор new).

Прототипное делегирующее наследование


Классическое наследование очень похоже на то, как люди наследуют гены своих предков. Есть какие-то базовые особенности: люди могут ходить, говорить… И есть характерные черты для для каждого человека. Люди не в состоянии изменить себя — свой класс (но могут поменять собственные свойства) и бабушки, дедушки, мамы и папы не могут динамически повлиять на гены детей и внуков. Все очень по земному.

Теперь представим другую планету, на которой не такое как на Земле генное наследование. Там обитают мутанты с «телепатическим наследованием», которые способны изменять гены своих потомков.
Разберем пример. Отец наследует гены от Дедушки, а Сын наследует гены от Отца, который наследует от Дедушки. Каждый мутант может свободно мутировать, и может менять гены своих потомков. Например у Дедушки был зеленый цвет кожи, Отец цвет унаследовал, Сын тоже унаследовал цвет. И вдруг Дед решил: «надоело мне ходить зеленым — хочу стать сними», смутировал (изменил прототип своего класса) и «телепатически» распространил эту мутацию Отцу и Сыну, вобщем посинели все. Тут Отец подумал: «Дед на старости лет совсем двинулся» и поменял свой цвет в генах обратно на зеленый(изменил прототип своего класса), и распространил «телепатически» свой цвет сыну. Отец и Сын зеленые, Дед синий. Теперь как бы дед ни старался Отец и сын цвет не поменяют, т.к сейчас Отец в своем прототипе прописал цвет, а Сын в первую очередь унаследует от Прототипа Отца. Теперь Сын решает: «Поменяю ка я свой цвет на черный, а моё потомство пусть наследует цвет от Отца» и прописал собственное свойство, которое не влияет на потомство. И так далее.
Читать дальше →

Фильтр Калмана — !cложно?

Reading time7 min
Views85K
Недавно прочитал пост из «Дополненной реальности», в котором упоминается Фильтр Калмана в сравнении с более простым «альфа-бета» фильтром. Давно собирался сочинить нечто вроде сниппета по составлению ФК, и вот думаю самое время. В статье я вам расскажу как на практике можно составить расширенный ФК не особо утруждая себя высоконаучными размышлениями и глубокими теоретическими изысканиями.
Под катом попытка рассказать по-простому о сложном

3 000 000 $ за лучший алгоритм

Reading time2 min
Views1.6K
Привет, Хабр!

4 мая 2011 года крупнейшая здравоохранительная организация штата Калифорния «Heritage Provider Network» сообщила о проведении конкурса на лучший алгоритм прогнозирования, благодаря которому станет возможным сократить расходы на здравоохранение.

Конкурс стартовал ещё 4 апреля 2011 года в 19:00 по Гринвичу и будет длиться почти 2 года — до 3 апреля 2013 года.

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

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

Подробнее под катом

Как доделать игру

Reading time9 min
Views28K
На блоге одного из создателей Aquaria и Spelunky есть любопытный пост с советами для тех, кто испытывает проблемы с доведением до конца своих игровых проектов. Этот список советов оказался для меня своего рода «зеркалом», в котором отражены многие проблемы, с которыми сталкивался я сам, и я был удивлен тем, насколько хорошо автору удалось уловить суть этих проблем и предложить свои решения, зачастую бескомпромисные.
image
Приближаясь к заключительной стадии разработки моей игры, я много думал о том, как завершать выполнение проектов в целом. Я заметил, что вокруг много действительно талантливых разработчиков, у которых возникают проблемы с доведением до конца игровых проектов. По правде говоря, я и сам оставил позади себя ряд незавершенных игр… Думаю, у многих та же ситуация. Не всякий проект удается, по разным причинам. Однако если вы стали замечать, что постоянно забрасываете проекты, которые имеют неплохой потенциал, вероятно, стоит оглянуться назад и изучить тому причины.
Читать дальше →

Подсчет объектов на бинарном изображении. Часть 1

Reading time6 min
Views43K

Аннотация


imageРаз, два, три, четыре, пять. Будем в прятки мы играть. В статье рассказывается про алгоритм разметки (или подсчета) объектов на бинарном изображении и о том, как без дополнительного прохода вычисляются (в еще неопубликованной части 2) геометрические характеристики этих объектов. Алгоритмы подобного типа часто используются при распознавании образов на бинарном препарате и показывают свою вычислительную эффективность.
В завершении статьи, читателям предлагается интересная задачка, грамотное решение которой существует и необходимо, при практической реализации алгоритма. Приводится исходный код, но в отличии от предыдущих моих постов, он выполнен не на языке MatLab а в абсолютно свободной, не менее мощной среде SciLab.
Читать дальше →

Живите (опять) без скучных дел

Reading time4 min
Views955
Если кратко, мы сделали веб-сервис, избавляющий от скучных дел. Причем клиенты выбирают сами, сколько платить:


Клиенты — наши начальники. Они сами оценивают работу и назначают оплату. Иллюстрация — Michael Dashow.

Когда-то хабр благосклонно принял мою статью Аутсорсинг жизни, водка, матрешка (в отличии от другой, 100 долларов в час). Речь шла о сервисе персональных ассистентов, который:
  • искал жестянщиков вытащить сосульку из крыши Пассата
  • делал визу в Польшу на 86 дней
  • в общем, скрашивал быт.

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

Отслеживание скорости загрузки страниц на сайте

Reading time1 min
Views6.8K
Нередко возникает потребность определить скорость загрузки страниц на сайте, чтобы отловить медленные страницы и оптимизировать их. Но какого-то универсального решения для этого не было. Теперь же такое решение появилось в новой версии Google Analytics!

По-умолчанию эта функция в Google Analytics отключена. Для ее включения достаточно добавить одну строчку в код GA. Это вызов функции _trackPageLoadTime();, который нужно разместить после функции _trackPageview();

Вариант для асинхронного кода GA:
_gaq.push(['_trackPageview']);
_gaq.push(['_trackPageLoadTime']);


Вариант для стандартного кода GA:
pageTracker._trackPageview();
pageTracker._trackPageLoadTime();


После обновления кода отслеживания GA данные будут поступать в отчет «Содержание -> Скорость загрузки сайта». (! Данный отчет есть только в новом интерфейсе Google Analytics!) Отчет содержит список страниц сайта, отсортированный по среднему времени загрузки в секундах от большего к меньшему.

Очень полезный функционал, которому можно найти множество применений в веб-аналитике.

Более подробно об этой функции можно почитать в справке Google Analytics: http://www.google.com/support/analyticshelp/bin/answer.py?hlrm=en&answer=1205784&topic=112071

Information

Rating
Does not participate
Location
Херд и Мак Дональнд о-ва
Date of birth
Registered
Activity