Как стать автором
Обновить
164
0
Андрей Ребров @mythmaker

Технический директор

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

Шаблонизация на стороне клиента — уже реальность

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

Предыстория


Я занимаюсь разработкой IFrame приложений для социальной сети ВКонтакте. Самый удобный способ навигации по приложению — это динамическая подгрузка данных, без перезагрузки всей страницы. Раньше я генерил html код который нужно отобразить на сервере, пока не встретил EJS — JavaScript Templates…

EJS — Embedded JavaScript


EJS оказался одним из самых удобных и подходящих мне шаблонизаторов. Он работает, как с одиночными переменными, так и с массивами (читай объектами), присутствует логика (if...else...).
Читать дальше →
Всего голосов 84: ↑76 и ↓8+68
Комментарии183

Впечатляющие анимационные эффекты

Время на прочтение2 мин
Количество просмотров115K
С появлением jQuery, у веб-программистов появилась возможность создавать впечатляющие визуальные эффекты, не прибегая к использованию технологии flash. В данной статье представлено несколько ярких примеров того, каких потрясающих результатов можно достичь, используя стандартные средства браузера и свое воображение.
Читать дальше →
Всего голосов 262: ↑246 и ↓16+230
Комментарии78

Как работают алгоритмы сортировки

Время на прочтение1 мин
Количество просмотров22K
Иногда для понимания того, как работает та или иная вещь, лучше один раз увидеть, чем сто раз услышать.

Замечательный сайт www.sorting-algorithms.com позволяет увидеть, как сортируются данные разными алгоритмами. Вы сможете посмотреть анимацию в зависимости от алгоритма, исходных данных.



Все это бегает и сортируется прямо на ваших глазах!

Работает на Google App Engine, видимо, поэтому и лежит от посетителей с «Хабра».
Всего голосов 185: ↑151 и ↓34+117
Комментарии63

HTML5 Audio и Game Development: баги браузеров, проблемы и их решения, идеи

Время на прочтение6 мин
Количество просмотров11K
В топике я расскажу о нюансах использования тега <audio> в разных браузерах при разработке игр, о проблемах, с которыми я столкнулся и о том, как их решить. Объяснение будет идти паралельно с написанием обертки для удобной работы.
Читать дальше →
Всего голосов 74: ↑64 и ↓10+54
Комментарии85

Делаем iphone приложение на Flash CS5

Время на прочтение4 мин
Количество просмотров6.2K
Итак, в связи с тем, что Apple сняли волшебное ограничение и теперь на Adobe Flash CS5 можно официально делать iPhone/iPad приложения (детали: flash-ripper.com), вашим глазам представляется тутор — как сделать это своими руками.

Что сделаем:
Простенький p2p чат

Что потребуется:
1. Adobe Flash CS 5 (качать с adobe.com)
2. iPhone Certificate (не пугайтесь, расскажу где взять)
3. (по желанию) jailbroken iphone/ipad

Читать дальше →
Всего голосов 90: ↑82 и ↓8+74
Комментарии60

Перевод: Я ненавижу тебя: твой код – хлам!

Время на прочтение11 мин
Количество просмотров10K
Хочу представить свой перевод статьи «Your Code Sucks and I Hate You: The Social Dynamics of Code Reviews».

Я ненавижу тебя: твой код – хлам!
Взаимоотношения участников ревизий кода

Джонатан Лэндж (Jonathan Lange), 15.09.2008

Обзор


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

Мы кратко рассмотрим, почему следует проводить ревизии кода, и сделаем упор на вопросе, как складываются при этом взаимоотношения участников процесса, в особенности в проектах с открытым исходным кодом. Действительно, отчасти open source привлекает (а порой наоборот отпугивает!) людей именно потому, что ваш код будут просматривать эксперты со всего земного шара. Мы также рассмотрим влияние, оказываемое некоторыми существующими технологиями на культуру ревизий кода, рассмотрим, чего можно достичь с их помощью, и как проводятся ревизии в других сферах деятельности. Мы также обозначим некоторые «подводные камни» ревизий, которые легко не заметить.
Читать дальше →
Всего голосов 79: ↑71 и ↓8+63
Комментарии29

Почему Git

Время на прочтение8 мин
Количество просмотров68K
Было время, когда я ничего не знал про VCS, ни что это такое, ни тем более зачем это мне. И верхом своих достижений считал папочку с архивами версий. К моменту осознания необходимости системы контроля версий я уже набил шишек и прочувствовал необходимость такого инструмента. Но борландовский аналог CVS меня не впечатлил. У каждого файла свой номер версии. Как мне получить срез определенного релиза я так и не разобрался. А в это время SVN победоносно шла сквозь умы разработчиков. Черт, это было то, чего мне так не хватало. Прочитав доку и начав работать я просто влюбился в нее. Да, были трудности и определенные неудобства, но куда без них.
Так я и работал бы в SVN, но ничего не стоит на месте. В интернете уже потекли тонкие ручейки новостей про Git. Я не кидаюсь за каждой новой технологией, и прошло уже достаточно много времени, пока мне не прожужжали этим Git’ом все мозги. Мне стало любопытно, я вначале присматривался, примерялся, а потом плюнул и начал новый проект на Git. Мучался с ребятами 2 недели, накачал литературы, написал шпаргалку… ничего, привыкли, … а потом меня поперло.

Теперь меня регулярно просят рассказать про Git и что в нем такого. Уже надоело, поэтому этот пост для тех, кто еще сомневается.
Читать дальше →
Всего голосов 207: ↑195 и ↓12+183
Комментарии265

Understanding node.js

Время на прочтение4 мин
Количество просмотров10K
Node.js обычно вызывал у людей, которым я о нём рассказывал, две различные реакции. В основном они воспринимали его «как есть», однако многие были сбиты с толку.

Если вы относитесь ко второй группе, я попробую объяснить, что же такое Node.js:
  • Это инструмент командной строки. Вы скачиваете архив, компилируете и устанавливаете его.
  • Это позволит вам выполнять программы на JavaScript, набрав 'node my_app.js' в терминале.
  • JavaScript выполняется движком V8 (тем самым, благодаря которому так быстро работает Google Chrome).
  • Node.js предоставляет API для доступа к сети и файловой системе из JavaScript.
Вам хочется чего-то большего? Тогда прошу заглянуть под кат и продолжить чтение
Всего голосов 95: ↑91 и ↓4+87
Комментарии48

Веб-шрифты на распутье

Время на прочтение11 мин
Количество просмотров31K
Перевод не претендует на 100%-ную точность, но я постарался максимально точно передать мысли и слог автора. Комментарии приветствуются.

Начиная с Интернет Эксплорера 4 в 1998-ом, а затем с марта 2008-ого и до марта 2010-ого, один за другим, вся «большая пятерка» десктопных браузеров — Сафари, Файрфокс, Опера и Хром — выкатили сравнительно похожие реализации правила @font-face для привязки шрифтов. Вместе с тем, неотъемлимая часть веб-издательского паззла, часть, которой не хватает с начала Веба, встала на место и теперь настоящая, веб-ориентированая типографика начинает принимать форму.

Для начала, обзор последних событий:
  1. 18-ого марта 2010 года была учреждена группа Web Fonts Working Group в W3C. Её первая задача была утвердить спецификацию WOFF как стандарт доставки sfnt (OTF и TTF) шрифтов в веб в «сжатом» виде.
  2. Была представлена отрисовка шрифтов в IE9 с помощью Windows’s DirectWrite в IE9 Platform Preview.
  3. Появились первые инструменты для подготовки веб шрифтов, такие как Font Squirrel’s @Font-Face Generator и EOTFAST.
  4. Пошла новая волна «шрифтохранилищ» в виде Typekit, Typotheque и бесплатного, опенсорсного Kernest.
  5. Появились первые “трастовые/кредитные” лицензии на веб-шрифты от дизайнеров коммерческих шрифтов.
  6. CSS3 Fonts Module включил в себя некоторые продвинутые свойства OpenType.
  7. Adobe Flash, когда-то надежная, кросс-платформенная среда замены текста (sIFR), сейчас выглядит абсолютно убогой.
  8. Google запустил бесплатный сервис шрифтов с растущей библиотекой. Все шрифты в библиотеке доступны и для частного хранения/использования.

Теперь пройдемся по пунктам…
Читать дальше →
Всего голосов 66: ↑63 и ↓3+60
Комментарии43

Получаем Object из формы

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

Задача


При помощи javascript'а получить объект, содержащий данные формы. Набор полей и свойств должен задаваться разметкой формы. Зачем — чтоб из этого объекта получить json, xml, да и мало ли еще применений можно найти.
решение
Всего голосов 59: ↑49 и ↓10+39
Комментарии46

Правильный захват контекста в Javascript

Время на прочтение5 мин
Количество просмотров37K
Довольно часто во многих статьях я вижу, как люди захватывают контекст this для использования в анонимной функции и удивляюсь — то, что уже стало стандартом — просто ужасная практика, которая противоречит всем канонам программирования. Вам знакома такая запись?
var self this;
Может вам тоже стоит переосмыслить этот аспект?
Читать дальше →
Всего голосов 113: ↑87 и ↓26+61
Комментарии147

Велосипедим, или Django-like Javascript Templates

Время на прочтение1 мин
Количество просмотров4.1K
Одним из компонентов нашего проекта Shopium.ua является административный интерфейс, который строится как полностью выполняющийся на клиенте rich internet application.

Для отрисовки данных приходящих с сервера в HTML нам часто нужен Javascript-шаблонизатор.

Различных шаблонизаторов для Javascript существует предостаточно. Даже в библиотеке ExtJS которую мы используем для своего проекта их целых два, однако их синтаксис и возможности каждого далеки от идеала.

К хорошему быстро привыкаешь, и мы быстро привыкли к синтаксису шаблонов Jinja2 который мы используем для генерации HTML на стороне сервера. И захотели такой же, но с перламутровыми пуговицамино для Javascript.

И сформировали к нему такие требования:
Читать дальше →
Всего голосов 27: ↑24 и ↓3+21
Комментарии19

Файлы на день

Время на прочтение1 мин
Количество просмотров780
Хочу представить Вашему вниманию файловый хостинг для передачи файлов One Day Files. Почему передачи? Потому что для хранения файлов он не предназначен. Файлы хранятся только один день, но доступны на скачивание без ввода капчи или ожидания. Все что Вам нужно сделать это выбрать файл и скопировать ссылки.

Чем мы лучше?
  1. У нас нет рекламы
  2. Пользователь скачивающий файл не смотрит рекламу и ничего не вводит
  3. Возможность загрузить несколько файлов по очереди, каждый из которых может быть до 100Мб
  4. Поддержка QR кодов, теперь скачивание файлов с мобильных устройств стало гораздо проще
  5. Drag'n'Drop, просто перетащите файлы в зону загрузки
Надеюсь найдутся люди, которым данный сервис покажется удобным, спасибо за внимание.

Читать дальше →
Всего голосов 125: ↑108 и ↓17+91
Комментарии104

Обзор нескольких новых плагинов jQuery

Время на прочтение4 мин
Количество просмотров6.4K
Довольно часто я наступаю на одни и те же грабли. Стараясь выполнить какой-нибудь проект побыстрее, я с головой ухожу в реализацию необходимой функциональности. А через неделю, мне на глаза обязательно попадается описание библиотеки, фреймворка или плагина, воспользовавшись которыми, я мог бы выполнить свою часть работы в разы быстрее. В общем, сейчас я стараюсь быть в курсе готовых решений в интересующих меня областях. В последнее время мне часто приходится работать с javascript и поэтому, сейчас я уделяю особое внимание библиотеке jQuery и ее плагинам. Должен сказать, что упускать из виду такое разнообразие готовых решений просто нельзя. Данная статья сделана на основе обзора «50 Awesome New jQuery Plugins», который я прочитал пару дней назад.
Читать дальше →
Всего голосов 132: ↑123 и ↓9+114
Комментарии28

Сервисы, которые чаще посещаются с мобильного

Время на прочтение1 мин
Количество просмотров503
Компания jess3 провела исследование относительно глубины проникновения мобильных коммуникаций в мир социальных медиа. Своё исследование они оформили в виде инфографики под названием GeoSocial Universe.

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

(кликабельно)

Например, у Facebook 500 миллионов активных пользователей, из которых приблизительно одна треть заходит с мобильных устройств. Сервисы типа Foursquare, Gowalla и Loopt, полностью зависящие от мобильных технологий, имеют 100 % своих пользователей в мобильной сфере.
Всего голосов 30: ↑27 и ↓3+24
Комментарии15

Анти-паттерны Test Driven Development

Время на прочтение4 мин
Количество просмотров19K
Я надеюсь, что как грамотный разрабочик, вы имеете представление о unit-тестировании и сделаете себе в голове пару мысленных отметок о том, чего надо избегать при написании тестов. Знакомьтесь:

Лжец (The Liar)

Unit-тест, который успешно выполняет все кейсы и выглядит работающим правильно, однако при более детальном рассмотрении обнаруживается, что он на самом деле не тестирует то, что должен.

Читать дальше →
Всего голосов 111: ↑109 и ↓2+107
Комментарии64

jQuery без рамок

Время на прочтение4 мин
Количество просмотров3.6K
Фреймворк — набор инструментов, но не традиций или конвенций программирования, а цель любого приложения — это скорость выполнения и правильность результатов. В опубликованной статье показано эффективное использование запросов к DOM, но не только от этого приложение на jQuery будет работать быстрее.

Читать дальше →
Всего голосов 82: ↑57 и ↓25+32
Комментарии40

jQuery плагин визуального стека сообщений

Время на прочтение2 мин
Количество просмотров3.8K
Стояла задача динамического визуального отображения реакции на действия пользователя со стороны системы.
Другими словами: изменилось какое-то состояние объекта — вывести сообщения об удачном завершении сохранения изменения в базе/системе.
Написание плагина не заставило себя ждать...
 
Читать дальше →
Всего голосов 43: ↑40 и ↓3+37
Комментарии35

«Почем SMS» — новая утилита для iPhone от программистов SmsCoin

Время на прочтение1 мин
Количество просмотров4.4K
На прошлой неделе проект SmsCoin сообщил о том, что программисты проекта написали полезную программу для Android и iPhone. В Android Market скачать утилиту можно было еще в пятницу, а начиная с сегодняшнего дня программа прошла аппрув в App Store и доступна для всех.
Photobucket
Всего голосов 30: ↑22 и ↓8+14
Комментарии16

Как сформировать кросс-функциональную команду

Время на прочтение10 мин
Количество просмотров15K
Воплощение большинства бизнес-проектов требует широкого спектра навыков и знаний. Если вы руководите таким проектом, то практически обязательно вам приходится управлять группой представителей разных профессий. Они могут быть частью вашей организации, представлять различные подразделения вашей компании или работать в совсем отдельных структурах. Откуда бы они ни были, они объединены в то, что называется «межфункциональной» или «кросс-функциональной» командой.

Как менеджер проекта, над которым работает команда, вашей задачей является организация членов команды с тем, чтоб превратить их эффективную и слаженную группу специалистов, способную достичь целей, поставленных перед проектом. Сложная задача? Бесспорно, сложная — даже запутанная и трудоемкая. Однако, если следовать определенным правилам, сплочение команды может стать вполне благодарным занятием, а также более легким и вполне успешным. В этой статье изложены самые основные моменты.

Что необходимо знать



Я новичок в менеджменте проектов и мне необходимо сформировать кросс-функциональную команду. С чего мне начать и как найти подходящих людей?

Начните с того, какие задачи ставит перед собой проект и каких навыков требует их выполнение. Затем присмотритесь к сотрудникам и определите, кто из них обладает необходимыми знаниями и энтузиазмом. В то же время необходимо определить, требует ли проект привлечения сотрудников извне. После этого надо нанять людей, которые вам подходят, — для этого может понадобится разного рода одобрение вашего и их начальства. Очевидно, что список кандидатов может сильно разниться в зависимости от характера проекта и объемов необходимой работы.
Читать дальше →
Всего голосов 36: ↑32 и ↓4+28
Комментарии12

Информация

В рейтинге
Не участвует
Откуда
Syosset, New York, США
Зарегистрирован
Активность