Как стать автором
Обновить
8.89

Google API *

API, предоставляемый сервисами Google

Сначала показывать
Порог рейтинга
Уровень сложности

История AMP, или Почему электронной почте не нужна интерактивность

Время на прочтение7 мин
Количество просмотров2.1K

«Система Email оставалась практически неизменной в то время, как окружающая веб-среда стремительно развивалась». — написал продакт-менеджер Google Аакаш Шейни в 2019 году.

Но в Google решили «Хватит», и разработали фреймворк для электронной почты под названием AMP (accelerated mobile pages), обещающий «сохранение актуальности информации в ваших письмах» и «удобную возможность совершать действия прямо из сообщений».
Читать дальше →

Новости

Всё пропало! Google удалил хронологию пользователей с карт

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров15K

Сервис Google - Maps Timeline позволял пользователям легко посмотреть историю своих перемещений на Гугл картах, с привязкой к посещённым местам, сделанным фотографиям.

Сегодня Гугл убил его, а вместе с ним и историю моих путешествий за последние несколько лет...

Поплакать вместе с автором...

Что читали на Хабре в 2024 году: анализ статей с Node.js, Google Sheets и каплей ChatGPT

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров8.4K

Сегодня расскажу вам одну занимательную историю о том, как я решил сделать что-то полезное и интересное, а заодно чуть-чуть облегчить жизнь всем нам, кто регулярно зависает на Хабре. Ведь сколько здесь данных? Очень много! Статьи, комментарии, рейтинги... Всё это крутится вокруг нас, но как это можно использовать для анализа и выводов?

Всё началось с простого вопроса: «Как узнать, какие статьи на Хабре самые популярные?» Казалось бы - просто посмотреть на рейтинг или количество просмотров? Но ведь тут есть куча нюансов: например, у некоторых статей большой рейтинг, но они почти не комментируются. Или наоборот – комментов много, а рейтинга нет.

В общем, я решил выйти за рамки простого просмотра и создал систему для анализа данных Хабра за 2024 год. Использовал Node.js для парсинга, Google Таблицы для анализа и даже задействовал нейронную сеть, чтобы выявить скрытые тенденции.

Парсим и анализируем 🤖

Кто стоит за убийством Google Search?

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров40K

Это история о том, как умер Google Search, и о причастных к его смерти людях.

Начинается она 5 февраля 2019 года, когда Бен Гомес, глава Google Search, столкнулся с проблемой. Джерри Дишлер, на тот момент вице-президент и главный управляющий Google Ads, вместе с Шивой Венкатараманом, тогда вице-президентом по разработке систем Google Search и Ads, объявили «код жёлтый» в отношении доходности Google Search. Причиной такого шага стало, цитирую: «Стабильно низкие ежедневные показатели», а также вероятность того, что к концу квартала доходность этого сегмента окажется в значительном упадке.
Читать дальше →

Как я доказывал Google, что мне нужны данные юзеров, но я не скамер

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров3.1K

Привет! Я Влад, Android-разработчик. Три года я делаю корпоративное приложение банка. Сегодня поделюсь темой, из-за которой я фрустрировал три месяца, столько же общался с проверяющими из около-гугловой компании, наблюдая, как приложение теряет баллы в сторе.

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

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

Читать далее

Эй, Google, это твой баг

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров8.1K

Это история о том, как мы обнаружили баг в приложении для Android и упорно пытались доказать, что это баг Google, а потом ещё упорнее пытались заставить компанию его устранить.

Прежде чем вдаваться в подробности, приведу немного контекста.


▍ Да, это заняло больше четырёх месяцев!


Почему так долго? Позвольте мне объяснить природу бага и хронологические этапы его устранения.
Читать дальше →

Бывший сотрудник Яндекса выпустил бесплатный поисковик с блек… листами, но без рекламы

Время на прочтение6 мин
Количество просмотров66K

Здравствуйте, меня зовут Дмитрий Карловский и я крайне опечален качеством поиска современных поисковиков.

Например, обсуждали мы как-то в $mol-чате стоит ли делать "человеко-понятную" псевдостатику в урлах вида /snjat-dvushku/s-remontom/v-vihino для SEO, или всё же сеошники - шарлатаны, гадающие на поисковой гуще. Решили проверить кто там у нас в топе по запросу "квартира купить однокомнатная горьковская" и получили такой результат:

Дыбенко, Лесная, Жопа Мира, всё, что угодно, только не то, что спрашивали. Первые 4 результата - нерелевантный мусор. А потом сервис самого же Яндекса. Как так получилось, что в 2к21, в эпоху машинного обучения и GPT-3, у нас получился поиск хуже, чем на заре интернета?

Отгадка

Обновляемся на новую версию API Android по наставлению Google

Время на прочтение7 мин
Количество просмотров15K

Скоро выходит Android 12, но в этом августе уже с 11-й версии разработчикам придётся использовать новые стандарты доступа приложений к внешним файлам. Если раньше можно было просто поставить флаг, что ваше приложение не поддерживает нововведения, то скоро они станут обязательными для всех. Главный фокус — повышение безопасности.

Переход на новую версию API — довольно трудоёмкая операция, требующая больших затрат на ее поддержку при введении крупных апдейтов. Под катом расскажу немного про наш переход и возникшие при этом трудности. 

Читать далее

SafetyNet Attestation — описание и реализация проверки на PHP

Время на прочтение10 мин
Количество просмотров9.4K

В эту тему пришлось детально погрузиться во время работы над обеспечением стандартных механизмов верификации устройств для разных мобильных платформ. Задача сводилась к разработке полноценной реализацию проверки JWS-токенов по протоколу SafetyNet на серверной стороне.

После многочасовых поисков и скрупулёзного изучения официальной документации Google решил поделиться полученным опытом. Потому что, кроме официальной документации, я нашел только отрывочные описания частных примеров реализации на разных ЯП. И ни намека на комплексное объяснение особенностей проверки по SafetyNet на сервере.

Статья будет полезна разработчикам, которые хотят подробнее разобраться с технологией верификации устройств по протоколу SafetyNet Attestation. Для изучения описательной части не обязательно знать какой-либо язык программирования. Я сознательно убрал примеры кода, чтобы сфокусироваться именно на алгоритмах проверки. Сам пример реализации на PHP сформулирован в виде подключаемой через composer библиотеки и будет описан ниже.

А в конце статьи — ссылка на разработанную мной библиотеку на PHP, которая обеспечивает полный цикл верификации JWS.

Читать далее

Внедряем кросс-платформенные пуш-уведомления: дополнительные возможности

Время на прочтение10 мин
Количество просмотров6.6K

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


Читать дальше →

Создание системы антифрода в такси с нуля

Время на прочтение7 мин
Количество просмотров16K

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


image

Читать дальше →

SheetUI — сервис для перевода Google Spreadsheets в статику

Время на прочтение3 мин
Количество просмотров5.1K


Недавно в Show HN пришёл стартап SheetUI. Это сервис, который берёт вашу таблицу, парсит её и генерирует статическую страницу с набором карточек. У создателей большие амбиции, но пока что не реализовано много важных функций.

Внедряем кросс-платформенные пуш-уведомления: начало

Время на прочтение12 мин
Количество просмотров35K

Добрый день! Меня зовут Владимир Столяров, я бэкенд-разработчик в команде Клиентские коммуникации в ДомКлике. В этой статье я расскажу о том, как внедрить кросс-платформенные пуш-уведомления. Хотя про это уже написано немало, я бы хотел рассказать о некоторых нюансах, с которыми нам пришлось столкнуться в процессе внедрения. Для лучшего понимания происходящего также напишем с вами небольшое веб-приложение, способное принимать пуши.


Читать дальше →

Ближайшие события

Ок, Гугл, «спасибо» за новый автомобиль

Время на прочтение5 мин
Количество просмотров22K
Статью с похожим заголовком, только без кавычек, могли бы написать производители\продавцы автомобилей. Но раз до сих пор не написали, значит либо не поняли, откуда ветер дует, либо я сгущаю краски. Попробуем разобраться.

Кто я? Я счастливый и несчастный обладатель новенького топового смартфона от известного производителя всего на свете, с 10-м (на данный момент) Андроидом «на борту». Почему счастливый и несчастный? В двух словах не объяснить.
Читать дальше →

Раздаем файлы с Google Drive посредством nginx

Время на прочтение4 мин
Количество просмотров13K

Предыстория


Так уж случилось, что нужно мне было где-то хранить более 1.5тб данных, да еще и обеспечить возможность скачивания их обычными пользователями по прямой ссылке. Поскольку традиционно такие объемы памяти идут уже на VDS, стоимость аренды которых не слишком вкладывается в бюджет проекта из категории «от нечего делать», а из исходных данных у меня был VPS 400GB SSD, куда при всем желании 1.5тб картинок без lossless сжатия поместить не удастся.

Читать дальше →

Как я нашел пасхалку в защите Android и не получил работу в Google

Время на прочтение12 мин
Количество просмотров100K
Гугл любит пасхалки. Любит настолько, что найти их можно практически в каждом продукте компании. Традиция пасхалок в Android тянется с самых первых версий операционной системы (я думаю, все в курсе, что будет, если в настройках несколько раз нажать на строчку с версией Android).

Но бывает и так, что пасхалки обнаруживаются в самых неожиданных местах. Есть даже такая легенда: однажды один программист загуглил «mutex lock», а вместо результатов поиска попал на страницу foo.bar, решил все задачи и устроился на работу в Google.

Реконструкция событий
image

Вот такая же удивительная история (только без хэппи-энда) произошла со мной. Скрытые послания там, где их точно не может быть, реверс Java кода и нативных библиотек, секретная виртуальная машина, прохождение собеседования в Google — все это под катом.
Читать дальше →

Google Drive как хранилище для веб-приложения

Время на прочтение9 мин
Количество просмотров43K

Предисловие


Мое веб-приложение хранит данные в localStorage. Это было удобно, пока не захотелось, чтобы пользователь, заходя на сайт с разных устройств, видел одно и то же. То есть, понадобилось удаленное хранилище.

Но приложение «хостится» на GitHub Pages и не имеет серверной части. Я решил не делать сервер, а данные хранить у третьей стороны. Это дает существенные преимущества:

  1. Не нужно платить за сервер, не болит голова о его стабильности и доступности.
  2. Меньше кода, меньше ошибок.
  3. Пользователю не нужно регистрироваться в моем приложении (это многих раздражает).
  4. Приватность выше, и пользователь знает, что его данные хранятся в месте, которому он, скорее всего, доверяет больше, чем мне.

Сначала выбор пал на remoteStorage.js. Они предлагают открытый протокол обмена данными, достаточно приятное API, возможность интеграции с Google Drive и Dropbox, а также свои сервера. Но этот путь оказался тупиковым (почему — отдельная история).

В итоге решил использовать Google Drive напрямую, и Google API Client Library (далее GAPI) как библиотеку для доступа к нему.

К сожалению, документация Google разочаровывает, а библиотека GAPI выглядит недоработанной, к тому же имеет несколько версий, и не всегда понятно, о какой из них идет речь. Поэтому решение моих задач пришлось собирать по кусочкам из документации, вопросов и ответов на StackOverflow и случайных постов в интернете.

Надеюсь, данная статья сэкономит вам время, если вы решите использовать Google Drive в вашем приложении.
Читать дальше →

Google+ RIP

Время на прочтение2 мин
Количество просмотров41K
image

Компания Google официально объявила, что закрывает свою социальную сеть Google+
We are shutting down Google+ for consumers.
Если точнее, в Google заявили, что решили отключить большинство функций Google+ для рядовых пользователей и оставить сервис полноценно доступным только корпоративных клиентов. Данное решение ставит окончательный крест на продукте, как на социальной сети. Одной из причин стала низкая популярность сервиса, только 10% сеансов в котором длятся более пяти секунд.

У пользователей будет 10 месяцев (до августа 2019 года) для сохранения своих данных и переезда в другие соцсети. Подробности будут обнародованы позднее.

Непосредственно перед принятием решения о закрытии широкой общественности стал известен факт крупного инцидента с безопасностью в Google+.
Читать дальше →

Google исполнилось 20 лет

Время на прочтение2 мин
Количество просмотров18K
Сегодня Гуглу официально исполнилось 20 лет! Двадцать лет, как в наш язык прочно вошло слово "гуглить".

Вот так Google выглядел два десятилетия назад:
image

На самом деле, дата основания компании — 4 сентября 1998 года. Но технология PageRank, легшая в основу поиска Google, родилась еще в январе 1996 года как научно-исследовательский проект Ларри Пейджа и Сергея Брина, которые тогда учились в Стэнфордском университете в Калифорнии.

Основной домен поисковика google.com был зарегистрирован 15 сентября. Но в самой компании день рождения празднуется именно 27 сентября. Примечательно, что Пейдж и Брин первоначально назвали свою поисковую систему BackRub, потому что система проверяла обратные ссылки для оценки важности сайта

В честь круглой даты компания вместо обычного дудла разместила на главной странице Youtube-ролик, собравший в себе различные знаковые события, которые «гуглили» посетители за время существования поисковика.


Ощутить ностальгию по былым годам

Google Chrome 69 автоматически входит в аккаунт и не стирает cookies Google при очистке истории

Время на прочтение2 мин
Количество просмотров16K
Компания Google выпустила браузер Chrome 69 в сентябре 2018 года. Он получил обновлённый дизайн и улучшенный менеджер паролей, а так же ряд других функций, не все из которых пришлись по вкусу пользователям.

image
Иллюстрация howtogeek.com

Исследователь криптографии, Мэтью Грин, обратил внимание, что с недавних пор Google внес изменения в Chrome, которое существенно изменило пользовательский опыт, связанный с авторизацией в сервисах поисковика. С этого момента каждый раз, когда вы успешно входите в любой сервис Google (например, Gmail), сам браузер Chrome также автоматически авторизовывается с вашей учетной записью Google.

image

По утверждениям разработчиков браузера это не приведет к автоматическому запуску синхронизации локальных данных экземпляра браузера с аккаунтом Google, по крайней мере пока что, но Метью Грин все равно считает это опасным прецедентом.

We want to be clear that this change to sign-in does not mean Chrome sync gets turned on. Users who want data like their browsing history, passwords, and bookmarks available on other devices must take additional action, such as turning on sync.

Одновременно с выходом критической статьи Метью Грина пользователь твиттера Кристоф Таван обнаружил, что Chrome начиная с версии 69 по-умолчанию больше не стирает куки Google при полной очистке истории браузера. Таким образом, в случае необходимости сохранить свою приватность становиться сложнее, например, если вы авторизовались в сервисах Google не за своим обычным компьютером.