#react

8 постов
пост №869Разработка и инженерия

Раз уж речь о NYTimes, вот вам свежая статья от их вице-президента по инженирии (VP of Engineering, non penis canina) про то, как они изобрели свой собственный язык программирования.

Всё началось с желания показывать имя зарегистрированного читателя прямо на главной странице в 2001 году. Чуваки решили, что PHP + CGI будут тормозить при больших нагрузках и придумали небольшой компилируемый язык. Ну а дальше как всегда. Закончилось тем, что все страницы NYTimes компилировались в код на этом самопальном языке Context и исполнялись в специальной виртуальной машине. А ещё на нем работала баннерокрутилка. А ещё собственная система сборки.

Я это пишу и чувствую, как волосы на моей шее встают дыбом. Есть в этом даже какая-то своя безумная красота.

Автор признает, что это была ошибка; особенно трудно было с поиском новых программистов.

Я в Медузе часто равнялся на NYTimes. Я давно понял, что не боги горшки обжигают, но такие вот подтверждения того, что мы все люди — очень ценны. Чуваки большие молодцы, что не стесняются рассказывать о таком (приурочена статья тому, что они только что выключили последнюю строчку на Context).

Ну всё, теперь можно всё.

P.S. Теперь у них там всё модно молодежно (React, GraphQL, Apollo), как и ожидается в Нью-Йорке.

пост №713Работа и карьера

Rawg.io ищет третьего фронтенд-разработчика. Ключевые слова: React, микрокоманды, Remote.

Мы делаем лучший сайт про видеоигры; у нас есть IMDb-часть со страницами игр и социальная часть, где можно собирать коллекции, писать обзоры и подписываться на похожих игроков. В ближайших планах дать возможность редактировать страницы игр обычным игрокам прямо на сайте (сейчас используется внутренняя админка) и прокачать SEO.

Под капотом это респонсив SPA React приложение с SSR. JS потребляет красивое REST API, которое готовится бэкендерами на Python (Django DRF) специально для сайта.

Мы работаем по модели Basecamp: в начале 2-4 недельного «цикла» микро-команда — фронт + бэк и дизайнер получают хорошо сформулированную бизнес-задачу с примерными макетами, а дальше мы минимально дергаем команду разработки, чтобы не отвлекать и не мешать. Коммуникация происходит в Basecamp и немного в Slack, все Remote.

Codebase свежий (первый коммит два года назад) и написан хорошими разработчиками, жесткого легаси или костылей там, пока, нет. Github, ci, рабочее окружение разворачивается одной npm-командой. Подключен линтер, в проекте настроен webpack, начали писать тесты, используется связка Redux + Recompose. Верстка: stylus, flexbox, css grids, bem. Дизайнеры и даже продакт раньше верстали, так что понимают ценность переиспользования компонент и естественные ограничения веба.

Мы ищем человека с опытом программирования на Javascript, использовавшего React, умеющего верстать. В идеале — вы любите верстку не меньше, чем программирование. При этом мы готовы рассмотреть как опытных, так и начинающих кандидатов. Нам важно желание приносить пользу пользователям и бизнесу, а не «придумывать красивый код ради кода».

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

Пишите на frontend@rawg.io или @samatg в личку.

пост №562Разработка и инженерия

У движка «Валли» сложная судьба.

Три года назад Ярослав Кравченко (он тогда отвечал за фронтенд монитора, админки Медузы) за несколько дней запрограммировал «игру». В ней нужно было угадывать положение точки на картинке (обычно используется географическая карта). Это была одна из первых игр Медузы.

Никто не думал, что движок станет популярен и вообще будет использоваться повторно. Админка была довольно неудобная, но редакция стабильно делала в ней «географические тесты».

Данные хранились в mongo, настроить к ней бекапы мы забыли. В прошлом году сервер с этой базой сломался. Мы потеряли все «географические тесты», сделанные редакцией в течении несколько лет.

Сейчас произошло второе рождение этого движка. Модный react, наша стандартная админка игр на бутстрапе, postgres-база с горячим резервом, даже тепловая карта кликов читателей — всё дышит 2018 годом.

В ролях: Витя Ходак — дизайн, Гоша Девяткин — программирование, Лёша Прилепский — менеджмент, Илья Красильщик и Саша Поливанов — редакционная поддержка.

https://meduza.io/games/gde-samaya-deshevaya-kvartira-v-rossii-a-samyy-vysokiy-dom

пост №394Продукты и дизайн

Продолжаем изобретать велосипеды. В этот раз мы запрогали свой собственный buffer.com с преферансом и поэтессами.

Антихайп — система постинга в соцсети. Вы видите перед собой столбцы соцсетей, в которые можно «затянуть» материалы Медузы (и написать подводку, если это не сделал автор материала прямо на странице редактирования статьи). Готово. Периодичность постинга регулируется, при необходимости можно отправить пост в соцсеть мгновенно. И да, оно умеет работать с видео, то есть заливаешь видео в Монитор (основную админку Медузы), затягиваешь его в Антихайпе и вуаля — нативное Facebook video уже в лентах подписчиков. Пока что поддерживаем Facebook, Twitter и Вконтакте.

Elixir + React в руках Бори Горячева и Никиты Комаркова творят чудеса. Это один из проектов, которые не только запрограммировал, но и придумал Боря. Также, в этот раз, у нас был выделенный член редакции в команде — Султан отвечал за тестирование и обсуждение продукта с редакцией.

Подробное описание: https://medium.com/meduza-how-it-works/c8e1b76b0983

пост №366Разработка и инженерия

Полтора года назад мы сделали игру «футбольный менеджер».

Plug-n-play движка из этой механики сделать не получается — уж очень все игры разные, но минимальными ресурсами разработки получается делать вот такие крутые проекты:

https://meduza.io/games/perezhit-tyurmu-maloy-krovyu

Кстати, если вы умеете js (react, node, вот это всё) и не чураетесь верстки — можем сделать пару проектов вместе. Пишите мне на samat@meduza.io— перед новым годом очень много проектов.

пост №323Разработка и инженерия

Facebook изменит лицензию на React, откажется от «+patents».

React - популярная библиотека для разработки сайтов и мобильных приложений. Ей всего 4 года и она находится в стадии активного роста числа пользователей-разработчиков. Сайт Медузы сделан на реакте, в том числе. Основной разработчик - Facebook (кстати, один из крупных контрибьютеров - русский - Дэн Абрамов).

В 2014 FB изменил лицензию со стандартной Apache 2.0 (можно все включая коммерческое применение) на «BSD (то же самое) + патенты». В середине июля Apache Foundation запретил использование реакта во всех своих проектах. 19 августа фейсбуке опубликовал ответ, где рассказал, какая их лицензия хорошая и вообще, «моя корова, что хочу то и делаю». Вот тут уже пригорело у многих. Automattic (создатели Wordpress, четверть всех сайтов в интернете) опубликовали публичный отказ от React, пошла движуха в других компаниях и open source проектах.

Смысл patents clause в том, что Facebook сохраняет за собой патенты на технологии, лежащие в основе реакта. Он даёт вам право пользоваться этими патентами, пока вы не подадите на фейсбук в суд за нарушение ваших собственных патентов. Как только вы подаёте на фб в суд за патенты - право пользоваться патентами реакта превращается в тыкву и юристы фейсбука не оставляют от вас камня на камне.

Понятно, что сидящим на крякнутой винде и собирающим клиентские бинарники из GPL-библиотек это все кажется «с жиру бесятся». Но вспомните, какие миллионы долларов и буквально судьбы компаний решались в суде Google v. Oracle (гугл обвинили в копипесте джавы в андроиде), как Linux завоевал своё место под солнцем из-за судебной тяжбы AT&T c FreeBSD (Линус говорил, что не стал бы писать свою ОС, если бы у него был доступ к BSD, а его не было именно из-за судебного injunction) или как Google купил Motorola Mobility как раз из-за патентов.

Интересно в истории другое - вчера вечером Facebook объявил, что отказывается от Patents clause и возвращается к стандартной лицензии, разрешающей коммерческое использование. Умение признавать ошибки так публично заслуживает уважения.

https://code.facebook.com/posts/300798627056246

пост №272Разработка и инженерия

Condé Nast рассказывает, как они сделали AMP для своих медиа.

Condé Nast владеет многими медиа (GQ, The New Yorker, Vanity Fair, Vogue, Wired, Ars Technica и другие), но использует для всех них общую админку Copilot (landing, UI toolkit). Фронтенды для всех этих медиа отдельные, но все построены на одной технической базе, на nodejs.

Мне было интереснее всего увидеть, что они хранят статьи в markdown. Причем, судя по дизайнам и наличию кнопки Preview около текстовых полей — в редакторе у них не WYSIWYG.

В самом AMP — никакой магии, отдельный сервис (тоже на node/react), который преобразует markdown в amp и отдает готовый html через SSR.

https://technology.condenast.com/story/the-why-and-how-of-google-amp-at-conde-nast