Если кто-нибудь поможет и объяснит, почему время от времени запрос становится Stalled (главная, на минуточку!) — буду очень благодарен.
будни
У одного из наших клиентов больше 600 сотрудников работают через Facebook Workplace: там внутреннее общение, коммуникация с клиентами, интеграция с десятком, если не сотней маленьких программ, без которых немыслима жизнь бизнеса (гуманитарного, между прочим).
Сегодня получили письмо от Facebook: выключаем всех русских клиентов через 24 часа.
При том, что у них нет никаких нормальных инструментов экспорта или бэкапов (чтобы я ещё раз купил хоть один SaaS без экcпорта нормального!).
Отлично они борются с режимом: сидя в солнечной Калифорнии, бомбят гражданскую инфраструктуру России. Как же задолбало это лицемерие — от русских требуют выходить на митинги, а сами продолжают покупать сырье у Путина и мочат людей, которые живут в России.
Выпустили книгу, сделали для неё лендинг https://special.meduza.io/book/
Хороший повод рассказать, как мы делаем такие страницы.
У нас есть git-репа static, пуш в master-ветку которого триггерит пулл на сервере, раздающем всю папку в meduza.io/static. Так отдаются страницы типа «О проекте», много разных временных файлов и спецпроекты.
Если спецпроекту нужен красивый адрес — создается nginx роут в домене special.meduza.io. Пример — конференция «Шторм» и книга «Как жить».
Обратите внимание, мы не используем отдельные домены для каждого проекта. Заведении новых доменов, выпуск SSL-сертификатов, включение anti-DDoS механизмов, когда нужно быстро переключить IP адреса — слишком много задач для автоматизации. В результате вся user-facing Медуза живет на двух доменах: основной meduza.io для читателей и mdza.io для коротких ссылок.
Как мы помогли Вебиуму привести в порядок разработку; отчитываемся о целом годе своей работы.
Начали с большого старого проекта на руби, поддерживаемого аутсорсерами, а оставили отлично документированный и покрытый тестами (читай можно быстро пилить фичи) python+vue, технического директора и внутреннюю команду разработки.
Подробный рассказ с множеством технических деталей — публичный дебют Миши Бурмистрова, нашего ведущего фронтендера и руководителя проекта перезапуска Вебиума.
Ура!
Хотите что-то подобное? Пишите мне в личку @samatg.
Ровно раз в год мне звонит Dropbox.
Спрашивает, не надумали ли мы купить бизнес-аккаунт. Я объясняю, что личные аккаунты стоят в несколько раз дешевле, что у нас всего 2 дизайнера и мы больше похожи на семейный бизнес и всякий data ownership нам пока не нужен.
Мы желаем друг-другу хорошего дня и вешаем трубку. Через год сейлз звонит мне опять.
Такие вот отношения на расстоянии.
Amazon две недели разбирался и ответил, что простит половину счета за трафик, который мы случайно нагенерили в конце года. Cloudflare простил весь счет за трафик в указанном периоде. УРА!
Не стесняйтесь просить помощи. Люди и компании вполне могут пойти вам навстречу.
P.S. Хорошая история в тему от хмельного девопса.
Похвастаюсь: мы с Федей наняли аккаунта! Наш первый не-программист, Дари Лебедкина отвечает за:
- документы — договоры, счета, акты; не люблю эту работу и счастлив, что могу ее полностью делегировать;
- отношения с клиентами, когда дело не в конкретной фиче (такое все наши программисты менеджат самостоятельно), а в чем-то более глобальном;
- проджект-менеджмент: все наши программисты самостоятельные и могут сами сменеджить небольшую команду, но с некоторыми проектами работы больше, чем обычно и она уж совсем далекая от программирования — тут Дари подхватывает;
- помогает мне с аудитами и продажами: все структурирует, ничего не забывает, а ещё подмечает моменты, которые я упустил.
Я счастлив. Когда мы начали работать с Федей, я совсем перестал беспокоиться о реализации проектов, когда нужно что-то запрогать. Федя все сделает когда обещал и ничего не забудет.
А вот в проектах, где общения больше, чем технарства, ведущая роль у меня и мне приходилось себя насиловать: вести четкие записи, списки, контролировать себя и других. Теперь мои слабые стороны в этих вопросах закрывает Дари. Прямо чувствую, как за спиной выросла ещё одна стена, которая надежно прикрывает тыл. Ура!
В React Native есть теоретическая возможность менять поведение мобильных приложений, на лету загружая свежий код. Это почти обновление версий приложения в обход стандартного механизма апстора и google play.
Вчера на нашу вакансию react native разработчика в w1d1 откликнулся Игорь Зиновьев (просто познакомиться) и мы вспомнили, что давно хотим эту функцию, но никак её не прикрутим.
Игорь рассказал, что у Microsoft специально для этого есть удобный продукт, называется App Center CodePush.
Microsoft App Center — очень симпатичный сервис для разработки мобильных приложений. Это полный комплект CI/CD: автоматическая сборка с возможностью загрузки билдов из master ветки в сторы, удобный механизм распространения бета-версий в обход тестфлайта, автоматизированное тестирование на живом железе, креши, аналитика и многое другое. Всё это богатство с нормальным интерфейсом, человеческой документацией и хорошо интегрировано друг-с-другом.
Результативное собеседование, хоть и без оффера сразу после!
P.S. Интересно, как сработала идентификация «свой-чужой» у ребят, серьезно занимающихся react native. Кодовое слово — gesture handler.
Мы перезапустили Вебиум!
Вебиум — онлайн-школа по подготовке к ЕГЭ. 30 тысяч школьников, тысяча наставников, 20 тысяч вопросов и 2 тысячи домашних заданий на сотни тем. Перед нами стояли 3 задачи:
1. Сделать так, чтобы фичи, которые хочет бизнес, разрабатывались быстрее и более предсказуемо. Обостряю для ясности, с чем часто сталкивается бизнес: «давайте добавим вот эту маленькую штуку; конечно, будет завтра (возвращаются через две недели), ой нет, это займет полгода» (и это ещё хорошо, если вернутся с таким честным ответом);
2. Нанять технического директора и создать внутреннюю команду разработки, чтобы в будущем не зависеть от аутсорса;
3. Сделать всё это «на лету», без остановки образовательного процесса, без потерь для бизнеса.
14 специалистов «Феди и Самата», 21 сотрудник Вебиума, год работы, 340 пользовательских сценариев на старте, 2900 коммитов, 5400 автотестов и я твердо говорю: все три задачи выполнены.
У Вебиума одна из самых сложных админок и систем кросс-сайтовой аутентификации, с которой я сталкивался. Мы сделали свой собственный мессенджер, информативный и при этом простой календарь, автоматическую систему распределения учеников по группам и продвинутую систему контроля доступа. Каждая из этих систем достойна отдельного рассказа.
Я прицепил скриншотами, как реагируют на запуск школьники.
В ближайшие недели мы поделимся, что неожиданно оказалось самым трудным, где и как мы накололись и чему научились.
А пока хочу поблагодарить ребят, без которых проект бы не получился:
- Миша Бурмистров, ведущий фронтендер, руководитель проекта
- Леша Чудин, ведущий бэкендер
- Саша Нестеров, фронтенд
- Эдуард Степанов, бэкенд
- Андрей Бацунов, фронтенд
- Антон Давыдов, архитектор
- Ксюша Сафронова, менеджер проекта
—
- Владимир Тарановский, фронтенд
- Вячеслав Набатчиков, бэкенд
- Леша Богословский, фулстек
- Николай Кирьянов, бэкенд
- Тимур Брачков, фронтенд
- Никита Лазаренко, бэкенд
- Никита Алешников, бэкенд.
Горжусь ребятами.
Мы сделали этот проект совместно с командами разработки, аналитики, техподдержки и тестирования Вебиума. Отдельное спасибо:
- Роксане Боровик, руководителю Вебиума, за доверие;
- Вике Гармаш, продакту Вебиума;
- Никите Савостину, техдиру Вебиума.
У вас трудности с разработкой и текст выше кажется нереальным? Пишите @samatg, мы любим сложные задачки :)
Жена температурит, я остался с детьми.
Ну и конечно же, fb выключил апи, которое мы использовали для получения числа шеров и лайков.
Боря быстро нашёл замену, но она оказалась с рейт-лимитами per user per hour. Слава Аллаху, у нас есть фб-приложение с сотней тысяч пользователей, так что в конце дня все заработало даже лучше, чем раньше, но я в результате целый день провёл в телефоне на детской площадке, а Боря тушил пожары вместе разработки крутого проекта.
Проблема не в том, что фб изменил апи, а в том, что мы об этом узнали пост фактум. В пн составлю список сервисов, от которых мы зависим и заведу их dev блоги в слек-канал с названием #api-changes. Вот так технические директора обретают опыт :(


