[Перевод] Node.js и серверный рендеринг в Airbnb

Материал, перевод которого мы публикуем сегодня, посвящён рассказу о том, как в Airbnb оптимизируют серверные части веб-приложений с прицелом на всё более широкое использование технологий серверного рендеринга. В течение нескольких лет компания постепенно переводила весь свой фронтенд на единообразную архитектуру, в соответствии с которой веб-страницы представляют собой иерархические структуры React-компонентов, наполняемые данными из их API. В частности, в ходе этого процесса шёл планомерный отказ от Ruby on Rails. На самом деле, Airbnb планирует переход на новый сервис, основанный исключительно на Node.js, благодаря которому в браузеры пользователей будут попадать полностью готовые страницы, отрендеренные на сервере. Этот сервис будет формировать большую часть HTML-кода для всех продуктов Airbnb. Движок рендеринга, о котором идёт речь, отличается от большинства используемых компанией бэкенд-сервисов в силу того, что он не написан на Ruby или Java. Однако отличается он и от традиционных высоконагруженных Node.js-сервисов, вокруг которых построены ментальные модели и вспомогательные инструменты, используемые в Airbnb.


Читать дальше →
[Перевод] Node.js и серверный рендеринг в Airbnb
Source: habrahabr

Пост №3583780

Автор: 8l8i8

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3583780″ }, «headline»: «собака (собакен, собакены, собаки, щенки, щенок, собака, )», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D1%81%D0%BE%D0%B1%D0%B0%D0%BA%D0%B0-4605049.jpeg», «height»: 924, «width»: 700 }, «datePublished»: «2018-07-24T11:49:05+03:00», «dateModified»: «2018-07-24T11:49:05+03:00», «author»: { «@type»: «Person», «name»: «8l8i8» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3583780
Source: Joyreactor

Пост №3583779

Автор: 8l8i8

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3583779″ }, «headline»: «БЕСЦВЕТНАЯ АМОРФНАЯ МАССА ЭТО ПЕРСОНАЖ, КОТОРЫЙ НИКОГО НЕ ОСКОРБЛЯЕТ ВООБЩЕ-ТО, Я ОСКОРБЛЕНА БЕ / Смешные комиксы (веб-комиксы с юмором и их переводы)», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/%D0%9A%D0%BE%D0%BC%D0%B8%D0%BA%D1%81%D1%8B-4605048.jpeg», «height»: 1037, «width»: 1000 }, «datePublished»: «2018-07-24T11:48:24+03:00», «dateModified»: «2018-07-24T11:48:24+03:00», «author»: { «@type»: «Person», «name»: «8l8i8» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «СЦВЕТНАЯ АМОРФНАЯ МАССА НИКОГО НЕ ОСКОРБЛЯЕТ ©@Р1ЮиР1СРЕЫСОМ1С$ ^@РЮРЕЫСОМ1С5» }
Комментировать 
Пост №3583779
Source: Joyreactor

Цитата #451432

— Илюш, если я парня своего в аренду сдам — это будет называться "рантье"?

— Вик, как мужчина я должен был бы тебя предостеречь, но, как будущий юрист, просвещу — это определяется термином "направляющий работодатель", а не рантье отнюдь.

— А если котюню?

— Сутенер. И, вот тут, как будущий юрист, я обязан тебя предостеречь…
Цитата #451432
Source: bash

Цитата #451431

Сидим с женой, каждый занят своим делом, внезапно на улице сирена:
я: чего это сирена гудит?
ж: зомби-апокалипсис наверное
я: это плохо, мы жирные, нас сожрут первыми
ж: откуда ты знаешь? может мы сами их сожрем
Цитата #451431
Source: bash

Пост №3583772

Автор: Hanzaprom

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3583772″ }, «headline»: «ПРИКЛЮЧЕНИЯТОБЫКНОВЕННОГОНОТА Я принесла Гэри познакомиться с семьёй, бедняге нужен дом, а, раз ты / business cat :: Happy Jar (Business Cat) :: Смешные комиксы (веб-комиксы с юмором и их переводы)», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/business-cat-Happy-Jar-%D0%9A%D0%BE%D0%BC%D0%B8%D0%BA%D1%81%D1%8B-4605033.png», «height»: 888, «width»: 900 }, «datePublished»: «2018-07-24T11:40:51+03:00», «dateModified»: «2018-07-24T11:40:51+03:00», «author»: { «@type»: «Person», «name»: «Hanzaprom» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «вернёшься в офис, они не откажутся от нового любимца, мне кажется. Что? Ты отказался? Почему?! Я теперь обычный кот! Здесь моя жизнь! У меня тут дом, семья, место для сна на полу. Люди, которые обо мне заботятся.» }
Комментировать 
Пост №3583772
Source: Joyreactor

Intel приобрела eASIC — разработчика «структурных ASIC»

На прошлой неделе было объявлено о приобретении Intel компании eASIC, которая занимается созданием FPGA-образных средств разработки «структурных ASIC». Структурные ASIC представляют собой нечто среднее между обычными FPGA и обычными ASIC; они позволяют уменьшить время вывода продукта на рынок и уменьшить его стоимость. Технологии eASIC используются Intel с 2015 года в кастомных версиях процессоров Xeon; теперь команда eASIC (120 человек) войдет в подразделение Intel Programmable Solutions Group (PSG).
Читать дальше →
Intel приобрела eASIC — разработчика «структурных ASIC»
Source: geektimes

Как (не) надо быть засранцем: история одного техдиректора

image

Такие не тонут

Кто-нибудь из вас смотрел сериал «Силиконовая долина» американского телеканала HBO? Да-да, тот самый, где отчаянная банда бесславных гиков, а именно: толстяк с царской осанкой и самомнением, суровый сатанист-скептик, тряпка-пакистанец и немного отсталый парень по кличке «Башка» — во главе с наиболее социопатичным из них всех, но гениальным Ричардом из серии в серию пытаются совершить революцию в технологической сфере, но раз за разом оказываются в таких передрягах, что хватает на очередной сезон. Даже если вы его не смотрели, то уже, наверное, смогли понять, что ярких героев сериалу не занимать. Один из них выделяется особенно — своей удивительной правдоподобностью (при всей комедийности сериала).
Читать дальше →
Как (не) надо быть засранцем: история одного техдиректора
Source: geektimes

Пост №3583769

Автор: alisher1

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3583769″ }, «headline»: «ГРИШАН, ДА НИКТО НИКОГДА НЕ ПОВЕРИТ В ТВОЮ ТЕОРИЮ "ПЛОСКОЙ СОБАКИ!> / плоская Земля :: блохи», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D0%BF%D0%BB%D0%BE%D1%81%D0%BA%D0%B0%D1%8F-%D0%97%D0%B5%D0%BC%D0%BB%D1%8F-%D0%B1%D0%BB%D0%BE%D1%85%D0%B8-4605029.jpeg», «height»: 500, «width»: 500 }, «datePublished»: «2018-07-24T11:33:44+03:00», «dateModified»: «2018-07-24T11:33:44+03:00», «author»: { «@type»: «Person», «name»: «alisher1» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3583769
Source: Joyreactor

[Перевод] Куча различных способов считывания битов

image

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

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

Это звучит достаточно просто, и в каком-то смысле так и есть. Первый источник проблем заключается в том, что эта операция будет активно использовать кодеки — и да, она будет ограничена вычислениями, а не памятью и вводом-выводом. Поэтому нам нужна не просто рабочая, но и эффективная реализация. И по дороге мы столкнёмся со множеством других сложностей: взаимодействия с буферизацией ввода-вывода, обработка конца буфера, тупиковые ситуации в битовых сдвигах, определённых в C/C++ и в разных архитектурах процессоров, а также другие особенности битовых сдвигов.

В этом посте в основном сосредоточусь на множестве различных способов реализации считывателя; по сути, все рассмотренные здесь техники аналогично применимы и к записывающей части, но я не хочу удваивать количество вариаций алгоритмов. Их и так будет достаточно.
Читать дальше →
[Перевод] Куча различных способов считывания битов
Source: geektimes