Материал, перевод которого мы публикуем сегодня, посвящён рассказу о том, как в Airbnb оптимизируют серверные части веб-приложений с прицелом на всё более широкое использование технологий серверного рендеринга. В течение нескольких лет компания постепенно переводила весь свой фронтенд на единообразную архитектуру, в соответствии с которой веб-страницы представляют собой иерархические структуры React-компонентов, наполняемые данными из их API. В частности, в ходе этого процесса шёл планомерный отказ от Ruby on Rails. На самом деле, Airbnb планирует переход на новый сервис, основанный исключительно на Node.js, благодаря которому в браузеры пользователей будут попадать полностью готовые страницы, отрендеренные на сервере. Этот сервис будет формировать большую часть HTML-кода для всех продуктов Airbnb. Движок рендеринга, о котором идёт речь, отличается от большинства используемых компанией бэкенд-сервисов в силу того, что он не написан на Ruby или Java. Однако отличается он и от традиционных высоконагруженных Node.js-сервисов, вокруг которых построены ментальные модели и вспомогательные инструменты, используемые в Airbnb.
Рубрика «разработка» - 131
Node.js и серверный рендеринг в Airbnb
2018-07-24 в 8:58, admin, рубрики: javascript, node.js, Блог компании RUVDS.com, разработка, Разработка веб-сайтов, Серверная оптимизация, серверный рендерингКуда исчезает вода в чайнике?
2018-07-23 в 14:50, admin, рубрики: ready for sky, Блог компании Ready for Sky, гаджеты, ёмкостные датчики, разработка, тензометрические датчики, умная техникаВсем привет! Наша компания превращает «классическую» бытовую технику в «умную» и управляемую с телефона (по Bluetooth или WiFi). То есть в неё встраивается электронный модуль с радиоканалом. Если производитель техники хочет провести модернизацию существующей модели техники, то мы можем внедрить свою управляющую плату, которая связывается со специальным мобильным приложением. А ещё можно разработать её с нуля или внести дополнительные изменения в плату, приложение или корпус.
Как-то к нам пришёл заказчик и попросил разработать способ (датчик) для измерения объёма воды в чайнике, чтобы потом пользователь мог видеть эти данные в мобильном приложении. Конструктивное исполнение датчика должно быть простым и подходить для любой модели чайника. Формального ТЗ у нас не было: заказчик хотел, чтобы чайник мог определять, сколько воды в него налито.
О генераторах в JavaScript ES6, и о том, почему изучать их необязательно
2018-07-23 в 9:43, admin, рубрики: javascript, Блог компании RUVDS.com, разработка, Разработка веб-сайтовС ростом популярности конструкции async/await растёт и интерес к её внутренним механизмам. Порывшись в интернете, несложно выяснить, что в основе async/await лежат широко известные промисы, и генераторы, которые пользуются куда меньшей известностью и популярностью.
Материал, перевод которого мы сегодня публикуем, посвящён генераторам. А именно, тут мы поговорим о том, как они работают, и о том, как они, совместно с промисами, используются в недрах конструкции async/await. Автор этой статьи говорит, что генераторы, ради их практического применения, осваивать необязательно. Кроме того, он отмечает, что он рассчитывает на то, что читатель немного разбирается в промисах.
Читать полностью »
Сравнение JS-фреймворков: React, Vue и Hyperapp
2018-07-20 в 9:28, admin, рубрики: Hyperapp, javascript, React, ReactJS, vue, vuejs, Блог компании RUVDS.com, разработка, Разработка веб-сайтовАвтор материала, перевод которого мы сегодня публикуем, полагает, что Hyperapp — это заслуживающая внимания альтернатива таким веб-фреймворкам, как React или Vue. Он говорит, что причиной такого утверждения стало то, что он выяснил, что Hyperapp легче в освоении, чем эти два фреймворка. Его идея подверглась критике, так как кажется, что основана она исключительно на его мнении, а такой подход попросту не даёт другим фреймворкам возможности показать их сильные стороны. Эта статья направлена на объективный анализ Hyperapp, React и Vue, проведённый на основе простых примеров, демонстрирующих их возможности, и на основе результатов их испытаний.
Как мы перебанили обычных игроков и заDDoSили свои сервера: практическое руководство
2018-07-18 в 9:30, admin, рубрики: fail, Блог компании Pixonic, разработка, разработка игр, Управление продуктом, управление разработкой, факапыРассказывать о новых проектах это, конечно, хорошо, но не всегда всё получается, как мы хотим. В общем, начали тут вспоминать факапы из прошлого, когда решение одной проблемы прибавляло новых, увлеклись и решили поделиться парочкой. Как забанить невиновных игроков, заддосить собственные сервера, ошибиться в одной букве и словить тонны негатива от пользователей — вот это всё, как мы любим.
JavaScript ES6: слабые стороны
2018-07-17 в 10:22, admin, рубрики: javascript, Блог компании RUVDS.com, разработка, Разработка веб-сайтовВ июне 2018 года стандарт ECMAScript 2015 (ES6) отметил свой трёхлетний юбилей. В ES6, во-первых, появилось множество новых возможностей JavaScript, во-вторых, с этого стандарта начинается новая эра развития языка. Кроме того, это был последний масштабный релиз JS, так как теперь TC39 применяет схему выпуска небольших ежегодных выпусков стандарта, а не выводит его новую редакцию раз в несколько лет.
Последние 4 года ES6, вполне оправданно, привлекает к себе всеобщее внимание. Автор материала, перевод которого мы сегодня публикуем, говорит, что он, всё это время, благодаря Babel, писал весь код с использованием современного варианта спецификаций JS. Он полагает, что прошло достаточно времени для того, чтобы критически проанализировать новые возможности ES6. В особенности его интересует то, чем он некоторое время пользовался, а потом пользоваться перестал из-за того, что это ухудшало его код.
Читать полностью »
Самый простой способ создания игры (но это не точно)
2018-07-17 в 7:00, admin, рубрики: 10, cf, clickteam fusion 2.5, fnaf, game, microsoft, ms, PC, store, Universal Windows Platform, uwp, Visual Studio, win10, windows, Windows 10, Блог компании Microsoft, Программирование, разработка, разработка игр, разработка под windows, СофтПривет! Сегодня у нас заключительная статья из серии по разработке игры с программированием без написания кода. Кстати, все это на базе платформы Clickteam Fusion 2.5. Рассмотрим реальный проект по созданию платформера и расскажем о публикации в Microsoft Store. Заглядывайте под кат!
JavaScript как воплощение зла
2018-07-16 в 8:24, admin, рубрики: javascript, Блог компании RUVDS.com, разработка, Разработка веб-сайтовJavaScript-разработчики часто жалуются на то, что их язык программирования несправедливо ругают за то, что он имеет слишком много чрезмерно усложнённых, запутанных возможностей. Многие борются с таким отношением к JS, рассказывая о том, почему критиковать этот язык за то, чем он является, неправильно. Автор материала, перевод которого мы сегодня публикуем, решил не защищать JS, обратившись, вместо этого, к тёмной стороне языка. Однако тут он не хочет говорить, например, о тех ловушках, которые JavaScript расставляет для неопытных программистов. Его интересует вопрос о том, что получится, если попытаться подтвердить плохую репутацию языка кодом, который мог бы написать тот, кто совершенно не заботится об окружающих.
В примерах к этому материалу будет использовано множество механизмов языка. Многое из того, что вы здесь увидите, кстати, работает и в других языках, поэтому, при должном усердии, можно обнаружить и их тёмные стороны. Но JavaScript, определённо, обладает настоящим даром ко всякого рода издевательствам, и с ним в этой области очень непросто тягаться другим языкам. Если вы пишете код, с которым нужно будет работать другим людям, JS даёт вам неисчерпаемое количество возможностей для того, чтобы этих людей раздражать, путать, всячески изводить и обманывать. Собственно говоря, тут мы рассмотрим лишь небольшую часть подобных приёмов.
Читать полностью »
API CSS Paint
2018-07-13 в 8:49, admin, рубрики: css, Houdini, javascript, Блог компании RUVDS.com, веб-дизайн, разработка, Разработка веб-сайтовПо словам автора материала, перевод которого мы публикуем сегодня, API CSS Paint — это невероятно интересная технология. Причём, речь идёт не только о её текущих возможностях, но и о представляемых ей явлениях, и о том, что её возникновение знаменует собой начало весьма примечательных изменений в мире CSS. Здесь мы поговорим об API CSS Paint и о причинах его появления, расскажем о том, как им пользоваться.
Как Unsplash масштабируется силами небольшой команды
2018-07-12 в 15:01, admin, рубрики: Блог компании Badoo, высокая производительность, Программирование, продуктовая разработка, проектирование, Проектирование и рефакторинг, процесс разработки, процессы, разработка, Разработка веб-сайтов, разработка сервисов, рефакторинг
Фото: Alex Smith | Unsplash
Добрый день!
Меня зовут Виктор Пряжников, я работаю в отделе Features компании Badoo. Основная задача нашего отдела — разработка функционала, который видят пользователи нашего сайта и приложений. Когда мне попалась на глаза статья сооснователя Unsplash Люка Чессера, она заинтриговала меня тем, что им удаётся развивать сравнительно большой проект совсем маленькой командой. Подход автора импонирует мне своей прагматичностью и чем-то напомнил «Вы — не Google», поэтому я решил её перевести.
Одна из самых забавных вещей в разработке Unsplash — большой масштаб и популярность продукта.
В обычный день наш API обрабатывает больше 10 млн. запросов от unsplash.com и тысяч сторонних приложений, через наш пайплайн обработки данных проходят миллионы событий, в наши ленты добавляются 60 млн. обновлений, и мы обслуживаем 60 млн. изображений.
В то же время наша команда сравнительно мала: два дизайнера, три человека, работающих с фронтендом, два — с бекендом и один дата-инженер. У нас нет отдельного DevOps-инженера, и каждый член команды тратит бОльшую часть своего времени на эксперименты и разработку новых фич для обеспечения дальнейшего развития продукта.
Читать полностью »









