Новое

страница 149 из 170

Отлаживаем отправку статистики из мобильных приложений.

Делаем на сервере tail -f /sv/log/nginx/access.log | grep 'stat/put' | grep 92. и видим пустоту, хотя если оставить только первый grep — то всё нормально. Это мы пытаемся в реальном времени вывести на экран все обращения к определенным ссылкам на сервере с определенных IP-адресов.

Оказывается, дело в буферизации и добавление параметра --line-buffered к grep'у решает проблему.

Век живи — век учись.

iOS разработчик из восхитительного Basecamp рассказывает, как они делают мобильные приложения.

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

Интересный способ делать "нативные" кросс-платформенные мобильные приложения. Особенно мне понравилось утверждение, что веб/нативное - не бинарное отношение, а целый спектр возможностей.

https://m.signalvnoise.com/basecamp-3-for-ios-hybrid-architecture-afc071589c25

В Америке сильно бомбит история про взлом агенства кредитных историй Equifax. В руки злоумышленников попали персональные данные 143 миллионов клиентов.

Причем бомбит история на порядок сильнее, чем более крупные аналогичные кражи из Yahoo, Sony и прочих.

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

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

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

Проблемы первого мира.

А там, глядишь, и Mi A1 подоспеет. Вы только представьте, очень крутой телефон от Xiaomi (две 12 мегапиксельные камеры с 2x оптическим зумом, хороший экран, металлический корпус) за 200 долларов.

В рамках проекта Android One Google гарантирует чистоту реализации Android'а, ставит марку качества и предоставляет обновления безопасности в течении 2 лет.

Эта коллаборация Xiaomi и Google — страшная смесь.

Продажи стартуют в этом месяце, Россию указывают в числе стран, где телефон будет продаваться официально.

Купил вчера Android телефон в редакцию, для тестирования секретного проекта Медузы (самая большая наша разработка so far).

Motorola Moto G4, отличный Android телефон с 2 симками, поддержкой Android 8 и стоит всего 150 евро.

Так вот, утром он обновил свой Android 6 и навремя затих. В обед обновился до Android 7, а теперь вот уже пару часов подряд скачивает и устанавливает обновления для Android 7, перезагружался раза 3.

Наверняка такому поведению есть техническое объяснение: что-нибудь про производителей телефонов/операторов связи, но выглядит не очень.

Если ищете Android телефон для того, чтобы познакомиться с этой платформой, то Moto G4 — идеальный выбор.

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

Алексей Иванов из Dropbox (ex-Yandex) опубликовал просто титаническую статью про оптимизацию веб-сервера — текстовую версию своего вчерашнего доклада с NginxConf 2017 (видео пока нет).

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

Во первых, это отличный чеклист по оптимизации.

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

Я легко могу себе представить, как выходит книга в серии животных O'Reilly, написанная на основе этой статьи.

https://blogs.dropbox.com/tech/2017/09/optimizing-web-servers-for-high-throughput-and-low-latency/

P.S. Обратите внимание на кнопку "We're hiring", ненавязчиво висящую в левом верхнем углу на протяжении всей статьи и последний абзац — вот это job marketing, который я уважаю.

Вчера мне пришло удивительное письмо:

Мой друг в составе команды исследователей шельфа северного ледовитого океана сейчас «болтается» в **, чуть западнее острова N на корабле Z. В море им быть ещё минимум два месяца. Говорит, без новостей с большей земли пухнет голова. У них есть интернет, через спутниковый телефон, но канал очень узкий. Если это не сложно для вашего технического отдела, не могли бы организовать отправку дайжеста новостей на электронную почту текстом в архиве на электронную почту xxx@xxx.ru размером письма не более 100 кБ?

Письма Вечерней Медузы за последнюю неделю весят в среднем 50-70KB. Львиная доля объема — код, что позволяет выглядеть письмам одинаково во всех почтовых клиентах; это почище кроссбраузерной верстки.

Давайте попробуем убрать всю красоту и оставим только текст и минимальные выделения. Текст ниже — для компьютерщиков. TL;DR: «вот так, с помощью нехитрых приспособлений...»

Откуда мы будем получать событие об отправке письма? Подойдет webhook в mailchimp, через который мы рассылаем вечерку. Настроим простенькое приложение webhook, которое будет ждать события, а при его получении — запускать нашу программу.

Что в самой программе? Зная ID почтовой рассылки мы можем через API мейлчимпа получить тело письма. Но оно не особо красивое и вычищать его не хочется. Как насчет API Медузы? И вправду, в plaintext версии письма последняя ссылка — всегда на это же письмо на сайте. Например, вот вчерашнее письмо https://meduza.io/brief/2017/09/05/vechernyaya-meduza.

Добавляем `api/v3/` в адрес новости после имени сервера и получаем адрес API https://meduza.io/api/v3/brief/2017/09/05/vechernyaya-meduza. Тут уж есть поля .root.mail.subject и body, которые содержат тему и тело письма, без лишних стилей. Отлично, вычленяем нужные поля с помощью утилиты парсинга json jq и схлопываем их вместе в готовый email.html файл утилитой cat.

Как отправить получившееся письмо? У сервиса отправки писем Amazon Simple Email Service есть отличный SMTP-интерфейс и я как раз недавно нашел программу sendemail (не путать с sendmail, которая позволяет отправлять письма через SMTP из командой строки.

Теперь исследователь севера каждый вечер будет получать «высушенную» версию Вечерней Медузы весом всего 15КБ.

А вы можете подписаться на красивую, сверстанную с любовью Вечерку в почте или в телеграм-канале @meduzaevening и узнавать новостную повестку дня за пару минут.

Исследователи нашли нашли серьезную уязвимость в эстонском e-id, позволяющую выступать от имени держателя e-id незаконно. Пока идет починка, не сообщается, какая именно это уязвимость. Президент страны обещает сделать заявление по этому поводу сегодня же https://medium.com/e-residency-blog/heres-what-e-residents-need-to-know-about-the-potential-security-vulnerability-d31a128726f5

Мне очень нравится, что они называют «потенциальной уязвимостью» то, что не эксплуатировали хакеры.

Это как называть «потенциальным автомобилем» машину, на которой не успели поездить покупатели.

Этот чувак бьет в самое сердце. Я меня уже выработалась слепота на маркетологический булшит на лендингах стартапов, наподобие баннерной слепоты на рекламу https://medium.com/@kasperkubica/for-the-love-of-god-please-tell-me-what-your-company-does-c2f0b835ab92

Меняете жизнь людей к лучшему с помощью технологий? Не делайте так, пожалуйста. Пишите как есть.