Написал недавно движок для синхронизации данных, имеющий первоклассную поддержку оффлайна. Например, можно уйти в оффлайн, изменять данные, закрыть браузер, открыть браузер, открыть сайт (выйти в онлайн) и данные смержатся без потерь. Также во время онлайна данные между клиентом и сервером синхронизируются в реальном времени. Хочу рассказать, в чём была идея, какие есть подобные решения/технологии и кому это может пригодиться.
Рубрика «Веб-разработка» - 24
Amelisa. Оффлайн и реалтайм движок для React и Mongo
2016-02-21 в 7:05, admin, рубрики: crdt, data-engine, javascript, mongodb, Node, node.js, offline, ot, React, ReactJS, Realtime, Веб-разработка, разработка мобильных приложенийАрхитектура чистого кода и разработка через тестирование в PHP
2016-02-20 в 9:11, admin, рубрики: php, tdd, web-разработка, Блог компании Mail.Ru Group, Веб-разработка, тестирование веб-приложений, Тестирование веб-сервисов
Понятие «архитектура чистого кода» (Clean Code Architecture) ввел Роберт Мартин в блоге 8light. Смысл понятия в том, чтобы создавать архитектуру, которая не зависела бы от внешнего воздействия. Ваша бизнес-логика не должна быть объединена с фреймворком, базой данных или самим вебом. Подобная независимость даёт ряд преимуществ. К примеру, при разработке вы сможете откладывать какие-то технические решения, например выбор фреймворка, движка/поставщика БД. Также вы сможете легко переключаться между разными реализациями и сравнивать их. Но самое важное преимущество такого подхода — ваши тесты будут выполняться быстрее.
Просто подумайте об этом. Вы действительно хотите пройти роутинг, подгрузить абстрактный уровень базы данных или какое-нибудь ORM-колдовство? Или просто выполнить какой-то код, чтобы проверить (assert) те или иные результаты?
Читать полностью »
Как устроен Relap.io — сервис, который выдает 30 миллиардов рекомендаций в месяц
2016-02-19 в 11:56, admin, рубрики: big data, elasticsearch, Hadoop, nginx, perl, postgresql, Блог компании Surfingbird, Веб-разработка, высокая производительность, машинное обучение, Медиа, рекомендательные системы, СМИ, сми в интернетеМы давно ничего не писали в наш блог и возвращаемся с рассказом о нашем новом проекте: Relap.io (relevant pages).
Мы запустили рекомендательный B2B-сервис Relap.io полтора года назад. Он облегчает жизнь редакции и читателям СМИ. В будние дни Relap.io обслуживает 15 млн уников и выдаёт 30 миллиардов рекомендаций в месяц.
Сейчас Relap.io крупнейшая рекомендательная платформа в Европе и Азии.
Как выбрать фреймворк для frontend-разработки
2016-02-19 в 10:24, admin, рубрики: html, javascript, web-разработка, Веб-разработка, переводПредлагаю вашему вниманию перевод статьи How To Pick a Frontend Web Framework c сайта top.fse.guru.
Привет, приятель!
Ниже ты найдешь большой список компоновки инструментов и фреймворков. Не волнуйся! Ты можешь выбрать один, в котором точно уверен, или проигнорировать все и придумать свой вариант.
Данная статья предназначена для того, что бы помочь тебе узнать и упорядочить список инструментов которые используются в сфере frontend-разработки. А так же, это неплохой список, из которого ты можешь выбрать то, что тебе придется по душе.
Читать полностью »
Создание пользовательского интерфейса для Blend4Web (ч.1)
2016-02-19 в 6:02, admin, рубрики: Blend4Web, blender, game development, javascript, WebGL, веб-дизайн, Веб-разработка, разработка игрИногда я считаю себя первопроходцем, открывающим новые страницы использования Blend4Web. Это молодой движок, с энергичной командой разработчиков, богатыми возможностями и множеством не очень хорошо документированных функций. Что-то я черпаю из исходников большого количества демо, дергаю разработчиков по всяким вопросам, а чаще всего действую методом “научного тыка”. В этой статье я хочу поделиться своими наработками по созданию пользовательского интерфейса для приложения. И что важно, с помощью Blend4Web и HTML5 можно сделать вполне приличный игровой GUI.
6 впечатляющих веб-технологий 2015 года
2016-02-18 в 12:25, admin, рубрики: electron, javascript, web, webassembly, анализ, Блог компании Plarium, веб-приложения, Веб-разработка, итоги, Мобильный веб, Тестирование веб-сервисов, технологии2015 год выдался богатым на нововведения, связанные с улучшениями веб-платформы. Аксель Рошмайер рассматривает 6 технологий, которые ему кажутся наиболее интересными:
1. Electron;
2. React Native;
3. Прогрессивные веб-приложения;
4. Visual Studio Code;
5. Rollup;
6. WebAssembly.
Тестируем вёрстку правильно
2016-02-18 в 6:57, admin, рубрики: css, html, open source, web-разработка, Блог компании 2ГИС, Веб-разработка, верстка, инструменты разработчика, интерфейсы, тестирование верстки
Что не так с тестированием вёрстки
Мы часто им пренебрегаем. Написание функциональных, интеграционных и юнит-тестов давно стало повсеместной практикой. Вёрстке мы обычно уделяем гораздо меньше времени.
Проблема тестирования вёрстки в том, что только живой человек может сказать, хорошо свёрстан блок на странице или нет. Поэтому чаще всего мы тестируем HTML и CSS вручную: проверяем, как будет вести себя блок, если в нем будет слишком много (или слишком мало) текста или дочерних элементов; смотрим, чтобы все возможные варианты отображения блока смотрелись корректно; помним о том, как блоки должны адаптироваться к разным устройствам и разрешениям экрана.
Читать полностью »
Мои правила хорошего интерфейса
2016-02-17 в 11:07, admin, рубрики: interface, tutorial, UI, usability, UX, баланс, веб-дизайн, Веб-разработка, документация, иконка, интерфейс, интерфейсы, кнопка, обучение, отступы, плоскость, принципы, пропорции, разработка, расположение, сетка, цвет, цветовая схема, элементы интерфейса
В этой статье я привожу примеры основных принципов или концепций, которыми руководствуюсь при проектировании десктопных интерфейсов. Не планирую выступать новатором или поучителем, но с радостью поделюсь набором установок, который помогает мне в работе.Читать полностью »
Axure 7 для начинающих за 100 минут
2016-02-17 в 10:48, admin, рубрики: Axure 7, usability, веб-дизайн, Веб-разработка, видео, дизайн мобильных приложений, проектирование, прототипирование, урокиAxure — инструмент для создания интерактивных прототипов сайтов и мобильных приложений. Навыков работы с ним часто требуют работодатели, ищущие проектировщика интерфейсов или UX&UI-дизайнера. В России это почти что отраслевой стандарт. Axure 7 — последняя версия программы. Восьмая версия сейчас в бете.
В одной школе интернет-технологий (не упоминаю, чтобы не сочли за рекламу) с мая 2015 года я рассказываю начинающим дизайнерам об Axure 7. В течение 3 часов (минус небольшой перерыв) объясняю, как работают те возможности программы, которые нужны мне для большинства проектов. И закрепляю знания практикой.
Примерная структура занятия:
- Примеры прототипов;
- Виджеты, их настройка и расстановка по холсту с помощью сетки, направляющих и выравнивания;
- Мастера;
- Динамические панели;
- Создание интерактива (ивенты, экшены, кейсы, условия);
- Под конец: способы передачи прототипа заказчику, свойства страниц, стили.
Начинающим тяжело усвоить столько информации, но это базовые вещи для тех, кто с акшурой уже работает. Для улучшения учебного процесса (и чтобы не скучать, рассказывая одно и то же) я перевёл теоретическую часть в формат видео.
Читать полностью »
Затмение на острове Java или внимательней читайте стэктрейсы
2016-02-16 в 17:04, admin, рубрики: jetty, lift framework, liftweb, oracle, scala, Sun Microsystems, Веб-разработка, метки: lift framework, liftwebЯ занимаюсь веб-разработкой, на работе мы используем стэк технологий на scala для наших проектов, основу этого стэка составляет Lift framework, также известный как liftweb. Lift использует sbt для управления сборкой и jetty или другой контейнер сервлетов как веб-сервер.
Однажды мне пришлось поработать из дома, работалось прекрасно, разработческая версия сервера запускалась, все было как обычно. Но на следующий день, когда я вернулся к работе в офисе, при первом же запуске сервера случился полный облом. На экране консоли прямо во время запуска широко раскинулось исключение java.net.ConnectException
с текстом Connection timed out: connect
и трейсом на 86 строк. К сожалению, не было написано куда именно оно не смогло установить подключение. Поскольку сервер только запускается, единственное соединение, которое он должен пытаться установить — это LISTEN
на определенном порту. Но исключение явно не об этом. Мало того, на порту уже отвечали с какой-то ошибкой больше 500.Читать полностью »