Рубрика «Веб-разработка» - 118

Миссия команды TrackDuck — упростить процесс разработки любых веб-проектов. Мы понимаем, насколько важна надежная связь и понимание между заказчиком и исполнителем в процессе разработки. Нашему проекту уже почти 1,5 года, но мы чувствуем, что по-настоящему только начинаем работать над ним. И он, как любой хороший сервис, постоянно нуждается в улучшениях. Если вам интересен наш опыт — добро пожаловать под кат!

7 проблем в дизайне SaaS продуктов, и как мы их решали


Читать полностью »

Решение задачи онлайн-вещания с IP-камеры, вообще говоря, не требует применения WebRTC. Камера сама является сервером, обладает IP-адресом и может быть подключена напрямую к маршрутизатору с целью раздачи видео-контента. Так зачем же применять технологию WebRTC?

image

Читать полностью »

11 дней до Odessa Innovation Week

До начала Odessa Innovation Week осталось чуть меньше 2-х недель и у нас есть много приятных новостей.

Мы сформировали программу конференции WebCamp 2014, которую Вы можете посмотреть на нашем обновленном сайте: web-camp.org.
Читать полностью »

В следующую субботу, 19 июля, проведем в офисе Badoo встречу пользователей Tarantool.

СТРАНИЦА МЕРОПРИЯТИЯ НА MEETUP.COM

Константин Осипов (Mail.ru) расскажет о Tarantool 1.6, новой версии сервера, в которой были пересмотрены многие технические решения и сделана удобная, безопасная и по-прежнему высокопроизводительная СУБД.
Tarantool — это, в первую очередь, lock-free база данных, обрабатывающая все транзакции последовательно в одном потоке. Tarantool 1.6 — это и ещё полноценный Lua Application Server с поддержкой кооперативной многозадачности, неблокирующего ввода-вывода, стандартных пакетов Lua и пакетов, созданных специально для Tarantool.

Антон Поваров (Badoo) выступит с докладом«Tarantool в Badoo: хранение истории посещений».
Каждый день на badoo.com пользователи просматривают порядка 100 миллионов профилей других юзеров. Мы храним счетчики и полную историю посещений за последние 90 дней, с некоторой агрегацией — это около 5 миллиардов ивентов.
Читать полностью »

Всем привет!

Я работаю над фронтендом огромного проекта – поисковой выдачи Яндекса. И у нас, как и у любого другого большого веб-проекта, есть огромное количество css-кода и немаленькая команда, которая с ним взаимодействует.

Когда много людей используя разные инструменты, пишет и редактирует css, со временем этот css может получиться очень запутанным, неконсистентым и в целом начинает выглядеть плохо. Например, кому-то удобнее писать вендорные префиксы в одном порядке, кому-то – в другом, кто-то ставит кавычки вокруг url, кто-то – нет, а кто-нибудь фикся срочную багу к релизу мог бы, к примеру, написать position: relative в начале блока свойств, незаметив что где-нибудь внизу между color и box-shadow, уже есть position: absolute, и долго гадать, почему у него ничего не работает.

Приводим в порядок css код. Опыт Яндекса

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

Как мы этого добились, можно прочитать под катом.
Читать полностью »

1. Вместо предисловия

“Король умер. Да здравствует король!” — все мы слышали эту французскую фразу, которая как бы разделяет эпохи правления монархов. Все! — кажется нам, — со старым покончено, теперь все будет по-новому, по-другому. Но так ли это?

В этой статье я затрону тему нативных приложений, точнее их вымирания… или, быть может, просто их перевоплощения? Решать только Вам. Да-да, я знаю, что рискую выглядеть ретроградом, занимая непопулярную точку зрения. Тем не менее, мне хочется найти хотя бы немного единомышленников, которые согласятся с моими рассуждениями, ну и, конечно же, получить обоснованную критику.

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

Как по мне, то значительную часть рабочего времени программиста можно разделить на две оставляющие: поиск решения и поиск инструмента. Думаю, многие заметили и знают, что чем лучше инструмент пригоден для выполнения какой-то задачи, тем менее он универсален для решения широкого спектра задач. То есть, нет идеального языка, технологии и т.п., и поэтому мне, как и многим из Вас, приходится периодически отвлекаться от насущных проектов; изучать, какие появились новые инструменты на рынке; принимать стратегическое решение о том, что я буду изучать завтра. К примеру, ведь может уже давным-давно никто не пользуется отверткой для закручивания шурупов, а использует шуроповерт, или вовсе перешел на новую технологию “дюбель-гвоздь”.
Читать полностью »

2011 год — мы выходим на рынок со своей информационно-аналитической системой ist-budget.ru, параллельно мониторим новые стартапы по тематике госзакупок, и однажды внимание в одном из каталогов привлек проект анонимного чата nekto.me. Зашли, ознакомились, на сайте в режиме онлайн было около 1К юзеров, посмотрели похожие проекты: chatvdvoem.ru (там тоже всегда в районе 1К), американский аналог omelge.com выглядел покруче и показывал 25К. Некоторые ресурсы работали с 2009 года, кто-то вышел на этот рынок позже. Кто именно первый в истории запустил анонимный чат — мы не знаем, но в идее явно было и есть что-то необычное.

На Хабре тема анонимных чатов поднималась неоднократно, были разные мнения: кто-то говорил о бесперспективности подобных проектов, другая часть аудитории поддерживала, но факт оставался фактом: ежесуточно подобные сайты посещают от 20К до 600К пользователей. Это значит, что у подобных проектов есть своя аудитория и спрос.

Читать полностью »

Привет!

Последние 1.5 года я работаю над очень интересным проектом — это система управления домом по сценариям. Она позволяет навешивать произвольную логику (сценарии) на различные события в доме (срабатывание датчиков, нажатия кнопок, события от внешних сервисов, например, получнеие email или сообщения в twitter). Система имеет модульную архитектуру, весь функционал находится в плагинах. Если нужно добавить новый тип события или новые команды «домашнего API», нужно просто добавить плагин для этого.

В феврале у нас был первый релиз. Первая версия включала фреймворк для домашней автоматизации: систему плагинов и инфраструктуру для них (чтобы плагины могли описывать свой API и события, а также использовать API и подписываться на события друг друга). Сейчас близится релиз второй версии, основная фича которого — новый веб-интерфейс.

Мой web интерфейс управления умной квартирой

UI теперь — модульное одностраничное приложение. Плагины могут описывать свой UI в виде html/js/css файлов, расположенных в ресурсах DLL. Клиентская часть UI основана на backbone.js и marionette.js, модули загружаются через require.js. В целом получилось довольно удобно для авторов плагинов — даже не имея глубоких знаний java script, можно, смотря в примеры, описать полноценный UI, который будет автоматически подключен в интерфейс управления домом.

Читать полностью »

Вчера вышла сборка редактора Atom от GitHub для Windows, до этого был доступен только для Mac OS.
А установка для *nix систем описана в официальном репозитории проекта.
Здесь я расскажу как мы его устанавливали для следующих ОС, в порядке убывания сложности:

  • Windows 7
  • Ubuntu 14.04
  • OpenSUSE 13.1

А так же первые впечатления от его использования.
Внимание трафик — картинки.
Читать полностью »

Перевод статьи «CustomEvent», David Walsh

С самого появления JavaScript, события были шлюзом ко взаимодействию пользователя в браузере. События сообщают нам не только о том, что происходит взаимодействие, но также вид взаимодействия, задействованные элементы и предоставляют методы для работы с событием. Создание и инициирование(triggering) кастомных событий всегда являлось более сложной задачей. С использованием JavaScript CustomEvent API, эта сложность может быть устранена. CustomEvent API позволяет разработчикам не только создавать кастомные события, но также инициировать их на элементах DOM, передавая данные по цепочке. Самое главное, что API максимально прост!
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js