Новое

страница 138 из 176

Мы в Медузе уверенно программируем (и управляем разработкой), когда есть четкая постановка задачи — понимание, описание, макеты, тестовые данные и прочее.

Создаешь трелло доску со столбцами «описание», «разработка», «тестирование», «готово». Заводишь в неё все задачи. Даёшь внутри ссылки на .sketch-файлы. Созваниваешься перед началом проекта, обсуждаешь его голосом. Дальше постоянно контролируешь результат. Главное не забыть, что хотел получить в конечном счете.

Меня беспокоит этап, когда разработка формально ещё не началась. Собрать требования, разобраться в документации, разбить проблему на меньшие части, понять, что мы можем себе позволить, а что нет — всё это большая работа. В ней участвует не только разработка, но и дизайнеры и редакция. Сейчас эта работа делается ad-hoc, без «единого источника правды». Из-за этого возникает несколько связанных между собой проблем: 1. сложно оценить объем работы (сколько было/сколько сделано/сколько осталось) 2. сложно её делегировать (делать вместе) и делиться результатом 3. задачи теряются и забываются.

В такой формулировке, решение очевидно — использовать на этом шаге разработки те же инструменты, что и для основного программирования/тестирования. Уложить всё в трелло, разбить на задачи, назначить ответственных, вести переписку внутри.

Попробуем сделать это с несколькими следующими проектами. Расскажу потом, что получилось.

Спасибо большое Боре Горячеву, что заметил проблему и указал на решение.

«Meta-доска» в трелло. Каждая карточка в ней представляет большой проект и содержит в себе ссылку на доску этого проекта. «Взгляд с высоты птичьего полета». Извините, что много блюра — секреты!

Если вы пользуетесь ssh и терминалом на маке — вы наверное заметили, что теперь после каждой перезагрузки мак просит ввести пароль от файла ключа. Вот как это починить: https://apple.stackexchange.com/a/264974

Помните, у издателей бомбило от того, что из результатов поиска AMP-страницы открываются не с оригинального сайта, а с адресов (и серверов) Google.com?

Дело в том, что отдавать страницы с серверов Google быстрее по двум причинам: 1) ни у кого нет так много компьютеров на всех континентах, как у Google 2) можно сделать предзагрузку результатов поиска.

Второй пункт важен — гугл в фоне предзагружает AMP-страницы первых 2-3 результатов поиска, так что при клике они открываются мгновенно. Если бы страницы предзагружались с серверов издателей — те могли бы палить, кто нашел их сайт через Google, даже если читатель не кликнул на их сайт.

И вот, Google придумал решение. Это новый формат архива, в который можно сложить всё, что нужно для открытия страницы в офлайне (картинки, стили, скрипты, etc.). Что-то типа MHTML, только для 2018 (в этом формате, например, есть поддержка цифровых подписей). Называется эта штука Web Packaging Format. Если у вас аллергия на RFC (я их обожаю), то вот explainer на гитхабе.

Для нормального использования, это должно работать во всех крупных браузерах. Google контролирует Chrome, но есть ведь Safari. В этот раз Google пошел не путем уговоров Apple, но решил сам запилить поддержку WPF в Webkit (это open source основа Safari).

Понятно, что Google делает это для CDN. Тем не менее, потенциально это означает, что можно будет «перекинуть страницу на флешку» / «через ватсап» (или что там у нас тогда будет в моде) и сайт нормально откроется даже без интернета. Мечты...

Возможность делать хорошие packaged web apps может подточить ультимативную власть апстора. Очень интересно, что из этого получится.

Воскресная подборка, если хочется почитать:
- восстановление того, что видит человек, по fMRI! (pdf). Довольно огненно, это как если бы шуму вентилятора процессора можно было понять, что на этом процессоре считается (oh wait);
- ещё один side channel attack (в шумихе с процессорами был именно этот тип атаки) — можно понять, что за тобой следит дрон, даже не взламывая шифрование канала связи дрона (по объему передаваемых данных);
- Apple обновил документ по безопасности iOS — канонический пример того, как хорошо рассказать о технологиях;
- очень красивые фотки с завода карандашей (production porn);
- серия из трех видео про мозги, в которых девушка-математик походя объясняет, что такое симплекс;
- безопасники убера заплатил хакеру 100k USD, чтобы тот не говорил об уязвимости, через которую можно было вытащить все личные данные (и никому об этом не сказали). CSO уволили, у всех бомбит.

Paw.cloud — самый крутой способ делиться API-запросами в команде. Paw — лучший клиент для тестирования API (только под мак).

Переделываем пуши в Firebase. Нужно сначала написать, а потом протестировать разные запросы. Без Paw это заняло бы гораздо больше времени, чем с ним.

Пример крутой фичи: легко включить бесчеловечную Oauth 2 JWT-авторизацию и добавлять (и обновлять) токен при каждом запросе. А уж версионирование и однокнопочная синхронизация проекта внутри команды — магия.

Paw.cloud стоит 10$ на члена команды в месяц. Одноразовая лицензия на клиент без синхронизации — 50$.

Игровые автоматы, веселая ферма, фейсбук, другие технологические компании и медиа (г-н Киселев, привет!) эксплуатируют «уязвимости» наших мозгов. Слава богу, мозги людей адаптируются к любым таким «атакам».

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

Кори Доктороу в очередной раз четко ухватил дух времени, но, обычно депрессивный, в этой статье предлагает рассмотреть стакан наполовину полным: ни один способ порабощения нашего внимания не вечен.

https://locusmag.com/2018/01/cory-doctorow-persuasion-adaptation-and-the-arms-race-for-your-attention/

Google обновил в ноябре Firebase Cloud Messaging — одну из самых крутых систем для рассылки пуш-уведомлений в мобильные приложения и браузеры (при этом — бесплатную!).

В новой версии API можно в едином сообщении указать два разных payload; клиент получит свою версию в зависимости от платформы — iOS или Android. Ура! Ложка дёгтя: авторизация теперь богопротивным Oauth2 JWT.

P.S. Документация у Firebase — тихий ужас :(
P.P.S. Никогда не собирайте тестовые приложения с продакшен-ключами. Я сегодня таким макаром отправил в продакшен iOS Медузы тестовый пуш. Слава богу, не в канал «breaking». Слава богу, что тексты тестовых пуши — копии недавних легитимных, а не «тестовый пуш, йоу» или «alert('fuck')». Храни вас бог при тестировании пушей и почтовых рассылок. Аминь.

Apple передаст данные iCloud китайских пользователей китайской государственной компании 28 февраля.

Apple сделал это, чтобы соответствовать китайскому законодательству о локализации персональных данных.

Apple легко посылал на фиг наши роскомнадзоры, но теперь я не вижу аргументов, которыми они могли бы защитить своих российских пользователей. В свете этих событий очень интересно:
1. насколько хорошо архитектура iCloud защищает от атакущего, контролирующего серверы и ПО iCloud? Стоит перечитать их whitepaper. Я сейчас пробежался глазами, кажется, что большинство сервисов становятся небезопасны;
2. легко ли сменить страну iCloud? Что для этого нужно сделать? Вот инструкция от самого Apple. Кажется, что это — самый правильный вариант защиты. Всё что потребуется — карточка иностранного банка. Китайцам объявили о передаче аккаунтов более чем за месяц (их передадут 28 февраля), так что время у нас будет, но подготовиться лучше заранее;
3. сохранятся ли купленные приложения при смене страны? Кажется, что да. Придется выключить все подписки, но их можно включить потом обратно;
4. когда ожидать этой передачи российских аккаунтов структуре, подконтрольной правительству (какому-нибудь ГУП «Облачные технологии»)? Тут я спокоен — от российских чиновников и подрядчиков инфа утечет за полгода до трансфера. Дело такого масштаба нельзя провернуть за месяц и в одиночку. Утечка будет точно.

Ох, придется теперь объяснять, что «айфоны — самые безопасные, только iCloud русский не включай». Печально, iCloud — очень удобная штука.

Рекламная сеть Criteo понизила ожидания прибыли на 1/5. В прошлом году они заработали 730 миллионов долларов.

Всему виной «умная блокировка cookies» (Intelligent tracking prevention), которую Apple недавно ввела в свой браузер.

Cледить за пользователем смогут только те сайты, которые этот пользователь посещает.

Как это работает? Если Safari определяет (классификация методами машинного обучения прямо на устройстве), что куки сайта используются для трекинга пользователя, то он начинает блокировать доступ к этим кукам. Для внешних сайтов (third-party) — уже через сутки после последнего посещения основного сайта, а через месяц вообще удаляет эту куку.

Интересно, что это не затронет Google и Facebook, ведь на эти сайты мы заходим почти каждый день. Прямо по Матфею (25:29): …ибо всякому имеющему дастся и приумножится, а у неимеющего отнимется и то, что имеет.

Google обещает включить блокировщик рекламы, но он, в отличие от Apple, был разработан совместно с рекламным рынком. Chrome будет блокировать только «надоедливую рекламу», типа полноэкранных баннеров. Преследовать вас по всему интернету кошельком, который вы искали в магазине неделю назад гуглу кажется недостаточно надоедливым.

Кстати, раз уж про рекламу: жду, когда GDPR заработает в полную силу. Это правила, по которым сайтам придется явно рассказывать, для чего они собираются использовать информацию о вас. Посмотрите разбор GDPR от pagefair, это адуха. Уж проще не собирать данные вовсе. Интересно, смогут ли чиновники Евросоюза заставить этот закон работать в полную силу? Если смогут — онлайн рекламщиков ожидают времена.