Настройка gogland: Новая Go IDE от JetBrains / JetBrains corporate blog / Habr – Как правильно настроить пути для Golang в Windows? — Хабр Q&A

Содержание

Настраиваем VM Instance Google Cloud для задач машинного обучения / Habr

Решение тяжёлых задач машинного обучения на стационарных компьютерах дело неблагодарное и малоприятное. Представьте, что вы на домашнем ноутбуке делаете ансамбль из N нейронных сетей для изучения лесов Амазонки на ноутбуке. Сомнительное удовольствие, тем более, что сейчас есть прекрасный выбор облачных сервисов для этих целей — Amazon Web Services, Google Cloud Platform, Microsoft Azure и прочие. Некоторые даже относительно бесплатны и предоставляют видеокарты.

Мы будем настраивать VM на Google Cloud Platform с нуля. Бонусом — стартовые 300$ на год на один gmail аккаунт. Поехали.


  1. Создание и настройка Virtual Machine Instances
  2. Настройка сетевых параметров
  3. Установка Anaconda и дополнительных пакетов
  4. Настройка Jupyter Notebook
  5. Настройка File Transfer

1. Создание и настройка Virtual Machine Instances


Создаем аккаунт

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


Создаем Virtual Machine и подбираем параметры

Здесь есть несколько интересных моментов. Графические процессоры есть не во всех зонах. В европейских и западно-азиатских я не нашел, в южно-американских искать не стал, поэтому выбрал восточно-американскую зону. Там их можно хоть восемь настроить с абонентской платой 5000 долларов в час. Усредняем данные и настраиваем восемь процессоров, двадцать гигабайт оперативной памяти и один графический процессор. Всё это удовольствие будет стоить 1 доллар в час.

Операционную систему можно выбрать на любой вкус. Берем понравившийся Linux дистрибутив и выставляем галочки "разрешить траффик". Настройку сети и SSH пропускаем. Их мы настроим дальше. И, наконец, один важный момент, снимите галочку с delete boot disk when instance is deleted. Это сохранит вам нервы, когда начнете создавать имейджи под разные задачи.


2. Настройка сетевых параметров


Настройка статического IP

По умолчанию внешний IP динамический. Сделаем его статическим и жить сразу станет гораздо проще. При привязке к проекту или виртуальной машине (как раз наш случай) — это бесплатно.


Настройка брандмауэра.

Jupyter Notebook — наш главный инструмент и ему будет нужен доступ к виртуальной машине. Создаем правило со следующими параметрами:


  • Разрешить входящий трафик
  • Указываем любой порт в разумных пределах. К примеру, 22-й не подойдет, на нем висит SSH.
  • Диапазон адресов делаем по умолчанию 0.0.0.0/0 (можно поменять)

Мы создали чистую VM и в итоге у вас должно получиться примерно так:

И самое главное — не забывайте выключать VM, когда закончили работу!


3. Установка Anaconda и дополнительных пакетов

Запускаем созданный Instance, подключаемся через SSH и для установки дистрибутива Анаконды вводим в командной строке:

wget http://repo.continuum.io/archive/Anaconda3-5.0.1-Linux-x86_64.sh
bash Anaconda3-5.0.1-Linux-x86_64.sh

В конце установки не забудьте ввести "yes", чтобы прописать переменную PATH
Ставим любимые пакеты:

conda install seaborn
conda install keras
conda install tensorflow

И переходим к настройке Jupyter Notebook.


4. Настройка Jupyter Notebook

Вводим в командную строку (порт — который вы указали в настройках брандмауэра):

echo c.NotebookApp.ip = '*' > ~/.jupyter/jupyter_notebook_config.py
echo c.NotebookApp.open_browser = False> ~/.jupyter/jupyter_notebook_config.py
echo c.NotebookApp.port = 8888 > ~/.jupyter/jupyter_notebook_config.py

Проверяем:

tail -n 10 ~/.jupyter/jupyter_notebook_config.py

Запускаем:

jupyter notebook --ip=0.0.0.0 --port=8888 --no-browser &

И теперь один интересный момент. Если у вас всё прошло успешно, то после старта Jupiter Server в баше вы увидите примерно это:

Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
        http://localhost:8888/?token=[здесь будет id токена]

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


http://<ваш IP>:8888/?token=[здесь будет id токена]

Добро пожаловать на борт!

Теперь нам осталось только настроить File Transfer между нашей локальной системой и удаленной. Без этого леса Амазонки не изучить.


5. Настройка File Transfer

У нас загрузочный диск Linux и поэтому доступны четыре способа:


  1. Использование командной строки gcloud (private SSH keys обязательно)
  2. Через протокол SFTP в браузере. Это самый простой способ, не требующий SSH key и использующий нативный браузер. Обязательное условие — локальная система у вас Linux или Mac.
  3. Использование командной строки SDC (private SSH keys обязательно)
  4. Программа WinSCP для счастливых обладателей Windows (private SSH keys обязательно)

Подробно можно почитать здесь и выбрать наиболее понравившийся способ. У меня на ноутбуке Windows 10, поэтому выбор не богатый. Пойдём не самым простым путём и подробно рассмотрим четвёртый способ.

Для начала необходимо сгенерировать SSH ключи. Скачиваем дистрибутив PuTTY и устанавливаем. С его помощью будем генерить ключи.


  1. Открываем puttygen.exe. Появится окно, где вы можете сгенерировать ключи.
  2. Оставляем все параметры по умолчанию кроме поля key comment. В него вводим имя пользователя удаленной системы. Скорее всего это ваш gmail аккаунт. Важно — не вся почта, а только та часть, которая до знака @. Я сначала прочитал инструкцию по диагонали и в итоге убил полчаса на то, чтобы понять, почему WinSCP возвращал ошибку.
  3. Сохраняем private key — его используем в WinSCP локально.
  4. Копируем текстовое поле private key (убедитесь, что скопировали полностью весь текст! На скриншоте лишь его часть)


  1. Идем в гугловские облака и там в "Метаданные --> SSH-ключи" добавляем скопированный ключ.

Подробно на офсайте Гугла

Осталось совсем немного, самая приятная часть — настроить файл-менеджер WinSCP.


  1. Скачиваем его здесь
  2. Настраиваем конфигурацию. Помним, что IP — это наш статический IP удаленной системы. Имя пользователя — аналогично PuTTY.

В дополнительных настройках указываем private key и выставляем галочки как на скриншоте.

Всё! Наша боевая система готова к перевариванию тяжелых сверточных нейросетей и объемных данных.

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

Полезные ссылки:


  1. Compute Engine Features
  2. Transferring Files to Instances
  3. Managing Instance Access with SSH Keys

Как завести инстансы в Google Cloud, настроить доступы и подцепить к нему Bucket Google. Howto

Разворачивать любую виртуальную машину начинаю с проектирования диска под нее. Ниже скрин:

На скриншоте открыты области, в которых можно создать диск. Нас интересует Европа. Обращаю внимание, указано что датацентр «a» в Европе будет закрыт. Пытливый читатель может поискать расположение центров b,c и d фактически, меня вопрос физического расположения волнует мало.

В моем аккаунте можно создать «Standard Persistent Disk» максимальным размером до 240 Gb. Примитивный тест скорости чтения/записи диска ниже:

sync; dd if=/dev/zero of=/tempfile bs=1M count=4096; sync && dd if=/tempfile of=/dev/null bs=1M count=4096 && /sbin/sysctl -w vm.drop_caches=3 && dd if=/tempfile of=/dev/null bs=1M count=4096
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB) copied, 112.806 s, 38.1 MB/s
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB) copied, 52.036 s, 82.5 MB/s
vm.drop_caches = 3
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB) copied, 52.7394 s, 81.4 MB/s

Тип исходника для диска (Source Type): Image, Snapshot, Blank соответственно предустановленный образ ОС, из снапшота системы или пустой диск.

Лично меня интересовал Debian, кроме него Google предлагает развернуть CentOS, CoreOS, OpenSUSE, Ubuntu, RHEL, Sles и Windows Server 2008.

Создал диск на 10 Гб с Debian Wheezy в области «B» и «C» Europe. Потом в области «C» удалил. Задача состоит в том, чтобы развернуть рабочий сервер и сделать его зеркало. А раз так, то диск в области «C» будем разворачивать из снапшота диска в области «B».

Теперь создаем сам инстанс:

Список возможных (доступных мне) вариантов VPS, правда он прикрывает выбор вариантов файрволла дефолтных у google: HTTP Traffic и HTTPS Traffic

Отмечаем оба варианта, идем дальше — выбираем Exiting Disk и говорим какой из дисков подключить к машине. Надо сказать, что второй диск когда я цеплял к инстансу, то все было сделано «на горячую» — появился /dev/sdb, который я успешно разбил и примонтировал не перезагружая инстанс.

Кстати диск во время удаления инстанса можно удалить: необходимо выделить соответствующий пункт ниже выбора типа диска.

Раздел Networking при создании доступен только IP адрес — внутренняя сеть или прилепим белый IP.

Кстати, ISPanel до сих пор не понимает, что есть Amazon, Google и прочие сервисы, у которых не прописывается IP адрес в настройки сети. Установка и лицензирование панели усложняются ожиданием техподдержки или созданием виртуального интерфейса с нужным ISPanel адресом. Ну неудобно же!

Когда инстанс создан можно зайти в его настройки и увидеть:

И озадачится вопросом: «а как получить доступ по SSH?». Вот собственно я изучал предмет минут 30, вышло следующее:

В блоке управления SSH ключами вводится ключ, сгенерированый, например, PuttyGen.

а) Запускаем
б) нажимаем Generate
в) болтаем мышью
г)получаем ключ

д)меняем Key Comment на имя пользователя
е) Save public key
ж) Save private key — не защищаем паролем файл
з) Copy/Paste из окна в SSH Keys строку вида ssh-rsa ABRAKADABRA dmitry

Если мы прилепили белый IP, то можно идти авторизовываться именем пользователя в созданном инстансе (в Putty файл ключа указывается в настройках: Connection->SSH->Auth). А можно зайти в консоль через веб-интерфейс из гугла (вверху кнопка SSH). А еще наверное можно настроить VPN из соответствующего раздела для доступа к закрытому серверу, не пробовал.

Публикация игры в Google Play. Настройка Play Games Plugin для Unity / Habr

Всем привет! Решил поделиться своим опытом по добавлению игры в Google Play Console и настройке Play Games Plugin для Unity.

Начнем мы с настройки Unity.

Настройка Unity


Сначала нужно скачать и установить Play Games Plugin.

Для этого идем по этой ссылке, выкачиваем репозиторий, идем в папке current-build, открываем GooglePlayGamesPlugin и устанавливаем его. После этого Google Play Games должны появиться во вкладке Windows.

И должно появиться такое окошко

Перед созданием билда, нужно будет изменить пару настроек в Player Settings. Идем в Edit -> Project Settings -> Player.

Во вкладке Other Settings указываем следующие поля:

  1. Package name: Имя пакета вашей будущей игры
  2. Version: Версия приложения
  3. Bundle Version Code: На основе нее Google Play определяет какая версия приложения новее. Она не будет отображаться для пользователей

Далее идем во вкладку Publishing Settings.

Здесь нам нужно создать keystore, (подробнее о keystore тут и тут чуть короче).

  1. Выбираем галочку Create a new keystore
  2. Выбираем далее Browse Keystore
  3. Задаем имя, сохраняем
  4. Заполняем поля с паролем

После этого нужно будет создать Alias:
  1. Нажимаем на Alias, выбираем Create a new key
  2. Заполняем поля, кликаем Create key
  3. Выбираем наш Alias key что мы только что создали

Про Алиасы

Алиасы
Keystore (по крайней мере в JKS формате), позволяет хранить несколько пар ключей и сертификатов. Для идентификации каждой пары или отдельного сертификата используется алиас. Алиас указывается в исходном коде при доступе к соответствующему ключу или сертификату. Доступ к каждому алиасу ограничивается паролем.


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

Подробнее о всех настройках можно почитать на оф странице Unity.

Если появиться такое окошко после создания билда, то не переживайте, после настройки Google Service мы вернемся в Unity.

Настройка Google Play Console


Для начало нам нужно будет приобрести Google Developer Account, стоит он 25 долларов. Предположим что мы его уже купили.

Открываем ссылку на Google Play Console
Идем во вкладку Все приложения, нажимаем Новое приложение, вводите название, выбираете язык будущего приложения, нажимаете создать.

После создания приложения, откроется страница с вашим приложением.
Тут вам нужно будет заполнить все нужные поля чтобы можно было опубликовать приложение. Можете просто навести на треугольник, и он вам подскажет что вам нужно заполнить.

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

Здесь выбираем создать выпуск, подключаем Google Play App Signing в следующем окне (если появилось). Выбираем наш apk файл, после загрузки файла, Google должен автоматически подтянуть версию приложения, и номер бандла (те настройки что вы указывали перед созданием билда) как показано на скриншноте.

И последнее что вам нужно сделать перед созданием выпуска, это заполнить поле “Что нового в этой версии” (не удаляйте тэги языка при заполнении). Нажимаем посмотреть, тут должно быть предупреждение такого типа:

Окей, вам нужно добавить тестировщиков до публикации приложения, сделать это можно в настройках. Выходим из вкладки приложения, на главную страницу, выбираем Настройки, переходим во вкладку Тестировщики и добавляем список (указываете просто почту).

Возвращаетесь в ваше приложение, нажимаем на Управление, тут выбираете каким будет тестирование, открытое или закрытое, выбираете ваш список тестировщиков, нажимаете сохранить.

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

После этого проект должен перейти в стадию готовится к публикации, нужно будет подождать пару часов, пока наше приложение провериться.

А пока идет проверка, мы перейдем к настройке игровых сервисов.

Настройка Игровых Сервисов


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

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

Тут нам нужно будет привязать игру что мы загрузили ранее к сервису что мы только что создали. Идем во вкладку Связанные приложения и выбираем платформу (в моем случае Андроид), при нажатии на название пакета, должна появиться ваша игра, выбираем ее, крутим чуток ниже, и выбираем настройки которые вам нужны, после этого сохраняем.

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

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

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

Снова нужно будет подождать пару часов.

После публикации


После того как ваша игра будет опубликована, вы сможете найти ее на странице Google Play, и так же нам нужно будет отправить ссылку на наше приложение тестировщикам.

Для этого идем в Управление релизом, Версии приложения, разворачиваем это окошко

и видим ссылку которую нужно будет отправить тестировщикам, переходим по ней.
Тут у нас открывается окно, в котором мы должны будем согласиться на тестирование нашего приложения, нажимаем Участвовать в тестировании

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

Теперь вы можете скачать свое приложение, и протестировать.

Совет : чтобы быстро перейти на вашу страницу приложения в Google Play, наведите на иконку информация справа от названия вашего проекта, и нажмите Найти в Google Play.

Хорошо, вы теперь можете загружать своё приложения из Google Play. Следующий шаг это обновления приложения.

Обновление приложения


Допустим мы что то поменяли в приложении, и теперь мы хотим обновить версию приложения в Google Play.

Для это в Unity в обязательном порядке меняем Bundle Version Code (версию приложения менять не обязательно), и вводим пароли от ключей что были созданы до этого.

После создания билда, идем Google Play Console, открываем приложение что хотим обновить, переходим в Управление релизом -> Версии приложения -> переходим в Управление, Выбираем в правом верхнем углу Создать выпуск, загружаем наше apk, заполняем поле Что нового (можете скопировать из прошлой версии). Код версии берется из Bundle Version Code, в моем случае это 2.
Нажимаем сохранить, после Посмотреть и жмем опубликовать.

После обновления придется подождать около 30 минут до публикации приложения. После обновления приложения, новая версия должна пройти тестирование на 10 устройствах, вы можете в реальном времени смотреть как проходит тестирование, смотреть видео с запуском, и читать логи. Для этого переходим в приложение -> Управление релизом -> Отчет о тестировании. Здесь вы найдете список телефонов на которых проводится тестирование, и следить за статусом прохождения.

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

п.с. Еще месяц назад можно было смотреть логи под видео, кто знает куда их Гугл подевал?

Обычно тестирование у меня занимает минут 20, после этого нужно еще подождать 10-15 минут до публикации на Google Play. Кстати, будьте аккуратны если вы загружаете несколько версий подряд, не факт что та версия которую вы скачиваете именно последняя, мой совет после публикации можно смело ждать около часа перед тестированием.

Ускоряем тестирование


Согласитесь, если вы тестируете Google Play Services то весь путь от загрузки и до скачивания занимает приличное количество времени (около 40 минут), что совсем не радует. Я сам прошел такой путь когда делал поддержку Google Play Services, было очень больно после каждого маленького изменения ждать 40 минут что бы это протестировать. Как то смотря видео про облачные сохранения, я увидел приложения Nox (ссылка, надеюсь не сочтут за рекламу), который отлично эмулирует Андроид, вы просто создаете новую версию приложения, устанавливаете его в Nox, и все, можете его спокойно тестировать, минуя при этом 30 минут времени, неплохо правда? Но вот есть еще одна загвоздка, сервисы Google Play не будут работать в том случае если вы скачали приложение не из Google Play, но, это можно легко обойти, на это я наткнулся так же в видео про облачные сохранения.

И так, перейдем, идем в приложение -> Управление релизом -> Подписи приложений, тут перед вами откроется 2 набора сертификатов, вам нужен SHA1 сертификат из раздела Загрузка сертификата, копируете его значение.

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

Откроется вот такая страница, здесь нас интересует раздел Учетные данные

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

Важно! Не забудь перед публикацией релизной версии поменять значение сертификата SHA1 на то что из Сертификат для подписи приложения. Иначе у пользователей не будут работать сервисы.

Теперь мы сократили наше тестирование до 5-7 минут, неплохой результат!

Заканчиваем с настройкой Unity


После того как мы все сделали в Google Play Console, мы можем вернуться в Unity и закончить наши настройки.

Для начала откроем Google Play Console и пойдем в Игровые сервисы, и открываем что нибудь из того что мы создали (например рейтинг игроков) и видим там “Получить ресурсы”, нажимаем на нее, во вкладке Android копируем все, и открываем Unity.

Открываем Unity, идем во вкладку Window -> Google Play Games -> Setup -> Android setup

Должно будет появиться такое окно

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

В конце, решил продублировать все ссылки что были в статье, а также дать ссылки на видео что будут полезны именно при настройке Google Services в коде.

  1. Про keystore
  2. О том же, только покороче
  3. Android Player Settings официальная страница Unity
  4. Google Play Console
  5. Play Games Unity Plugin

  1. Полезные ссылки по Google Service :
  2. (англ) — Добавление достижений и таблицы лидеров
  3. (англ) — Облачные сохранения
  4. (англ) — Тоже про облачные сохранения, очень рекомендую это видео
  5. (рус) — Публикация игры в Google Play
  6. (рус) — Встраивание Google Services в игру
  7. И ссылка на документацию

И на этом все, всем спасибо!

Используем Google Cloud Print без Google Chrome / Habr

В этой статье я хочу рассказать, как можно использовать Google Cloud Print без установки Google Chrome. Целью статьи будет настройка машины под управлением Ubuntu Server в качестве сервера печати, а также настройка клиентов под управлением Windows, Mac OS и Linux (на примере Ubuntu). В общем случае в качестве сервера может выступать любая машина под управлением ОС семейства GNU/Linux, в том числе маршрутизатор с функцией принт-сервера.

1. Настройка сервера печати

Предположим, что у нас есть машина с установленной ОС Ubuntu Server (в примере используется версия 12.04) и корректно настроенным принтером. Воспользуемся руководством [1].

Установим Git для того, чтобы клонировать репозиторий проекта CloudPrint. Проект написан на python и используем модуль python-cups, установим и их. Для сборки проекта нам также понадобиться модуль python-setuptools.

sudo apt-get install git-core python python-cups python-setuptools

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

git clone git://github.com/armooo/cloudprint.git
cd ~/cloudprint
chmod +x setup.py

Соберем и установим проект.

python setup.py build
sudo python setup.py install

Выполним первый запуск приложения.

/usr/local/lib/python2.7/dist-packages/cloudprint-0.5-py2.7.egg/cloudprint/cloudprint.py

Укажем имя пользователя и пароль аккаунта Google, к которому необходимо привязать принтер. Стоит обратить внимание, что в случае, если включена двухэтапная аутентификация, в качестве пароля необходимо указать пароль приложения, сгенерированный на странице настройки аккаунта. Если все настроено верно, на экране отобразится что-то вроде: "Updated Printer HP_LaserJet_1018". Можно завершить приложение (Ctrl + C).

Теперь добавим скрипт автоматического запуска с помощью upstart. Для этого создадим файл cloudprint.conf.

sudo nano /etc/init/cloudprint.conf

Ниже представлено содержимое этого файла. $RUN_AS_USER необходимо заменить на имя пользователя, под которым будет запускаться программа.

start on (started cups and local-filesystems and t-device-up IFACE=eth0)
stop on runlevel [345]

respawn
console none

script
chdir /usr/local/lib/python2.7/dist-packages/cloudprint-0.5-py2.7.egg/cloudprint/
exec su -c /usr/local/lib/python2.7/dist-packages/cloudprint-0.5-py2.7.egg/cloudprint/cloudprint.py - $RUN_AS_USER
end script

Запустим программу.

sudo start cloudprint

На странице управления принтерами должен появиться наш принтер.

2. Настройка «облачного» принтера в Windows

Для работы с принтером в ОС Windows воспользуемся программой Paperless Printer, которая бесплатна для домашнего использования.

После установки программы в списке принтеров появится Paperless Printer, одной из возможностей которого является Find a Cloud Printer — печать произвольного документа на «облачный» принтер Google.

3. Настройка «облачного» принтера в Mac OS X

Для печати в Mac OS X воспользуемся программой Cloud Printer. Настройка программы не отличается простотой, однако она подробно описана в руководстве [2], а также представлена на видео.

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

4. Настройка «облачного» принтера в Ubuntu

Для печати в Ubuntu установим драйвер для CUPS по инструкции [3].
sudo add-apt-repository ppa:simon-cadman/cups-cloud-print
sudo apt-get update
sudo apt-get install cupscloudprint
sudo /usr/lib/cloudprint-cups/setupcloudprint.py

В процессе настройки на вопрос Add all Google Cloud Print printers to local CUPS install? необходимо ответить "yes".

Работа с «облачным» принтером в Ubuntu не должна вызвать затруднения.

5. Вместо заключения

Цель статьи можно считать достигнутой: у нас появился сервер с настроенным принтером, а также клиенты с возможностью печати на него не из Google Chrome. Однако не стоит понимать эту статью как призыв к отказу от этого браузера. У нас всегда остается возможность распечатать открытую страничку или письмо Gmail напрямую из браузера на домашний принтер где бы мы не находились.
6. Ссылки на источники информации

[1] HOWTO: Use Google Cloud Print for Linux (print from Andriod device)
[2] Cloud Printer (formerly, Cloud Print) for Mac OS X By Somasundaram M (2011)
[3] CUPS Cloud Print (Installation)

P.S. К сожалению, я не обладаю достаточным опытым создания скриптов для upstart. Буду благодарен, если вы поможете мне оптимизировать предложенный выше скрипт.

Установка и настройка умной колонки Google Home Mini

В настройке компактной умной колонки от компании Гугл нет ничего сложного. Основные действия: это подключить её к Wi-Fi и разрешить доступ к вашей учетной записи Google. Настройка осуществляется в приложении Home, интерфейс и диалоги в котором полностью переведены на русский язык.

Колонки Google Home тоже получили поддержку русского языка, но управление умным домом пока возможно только на английском. Команды для этого можно найти в статье команды для Google Home на английском языке.

Распаковка

Ранее мы делали обзор новой умной колонки от гугл, прочесть его в текстовом виде можно по ссылке.

Скачать приложение Home

После первого включения в розетку Home Mini приветствует вас фразой «Welcome to Google Home, to get started download the Google Home app on a phone or tablet» – «Добро пожаловать в Гугл Хоум, чтобы начать скачайте приложение Google Home на телефон или планшет». Оно работает и на Android, и на iOS. Скачать приложение Google Home можно по ссылкам ниже:

Платформа: Android

Цена: Бесплатно

Платформа: iOS

Цена: Бесплатно

Настройка

После того, как вы установите приложение Home и включите колонку в розетку, можно приступать к настройке устройства.

  1. Открываем приложение Google Home.
  2. Приложение покажет приветственный экран. Нажимаем «Начать».
    настройка умной колонки гугл хом мини
  3. Для входа вам потребуется аккаунт Гугл. Вводим почту или телефон от Google-аккаунта и нажимаем «Далее».
    настройка умной колонки гугл хом мини
  4. Вводим пароль и нажимаем «Далее».
    настройка умной колонки гугл хом мини
  5. Нажимаем на добавленный аккаунт в списке, он выделится галочкой, и появится кнопка «OK». Нажимаем на неё.
    настройка умной колонки гугл хом мини
  6. Для быстрого поиска умной колонки Home Mini приложение Google Home рекомендует включить Bluetooth. Если Bluetooth у вас не работает, то нажимаем «Нет спасибо», но тогда вам придётся настраивать умную колонку через специальную временную Wi-Fi сеть, которую создаст Home Mini. Мы рекомендуем включить Bluetooth – этот путь проще и быстрее.настройка умной колонки google home mini по блютуз bluetooth
  7. После того, как вы подключились к устройству по Bluetooth или Wi-Fi, приложение сообщит, что обнаружено устройство Google Home. Нажимаем «Далее».
    настройка умной колонки google home mini по блютуз bluetooth
  8. Для того, чтобы убедиться, что связь с Home Mini стабильна, и вы настраиваете именно свою умную колонку, а не другую, – ваша умная колонка Хоум Мини издаст короткий звук. Если вы не услышали его, нажмите «Повторить». Если вы слышали звук – нажмите «Да».
    вы слышали звук спрашивает приложение google home
  9. Т.к. Home Mini на данный момент официально не продаётся в России, приложение Google Home покажет уведомление. В этом нет ничего страшного, все функции умной колонки будут работать. Нажимаем «OK».вы слышали звук спрашивает приложение google home
  10. Для удобства дальнейшего управления вашими устройствами в приложении Home выберите из списка названий помещений то, где будет находиться устройство, например «Большая комната». Нажимаем «Далее»
    вы слышали звук спрашивает приложение google home
  11. Для работы Home Mini необходимо подключение к интернету через Wi-Fi. Выберите из списка сеть Wi-Fi, к которой будет подключена умная колонка. Нажимаем «Далее».выберите сеть wi-fi
  12. Введите пароль от Wi-Fi сети и нажмите «Подключить».
    введите пароль от сети вай-фай
  13. Умные колонки Google поддерживают следующие языки с различными диалектами: английский, немецкий, французский и японский. Т.к. Google Home Mini на данный момент не поддерживает русский язык, вам необходимо выбрать из списка иностранный язык. Мы выбрали Английский (Соединенные Штаты).  Нажимаем «Далее».
    выберите язык устройства google home mini
  14. Вам нужно подтвердить, что вы хотите использовать голосового помощника Google Ассистент. Нажимаем «Далее».
    настройте google ассистента
  15. На этом этапе вас предупреждают о том, что все запросы будут распознаваться на серверах компании Google и просят вас дать разрешение использовать ваши данные. Если вы нажмёте «Нет, спасибо», то умная колонка не сможет отвечать на ваши голосовые команды. Нажимаем «Включить».
    настройте google ассистента
  16. На этом этапе вы должны выбрать голос Google Ассистента. Доступно два варианта голоса: женский и мужской. Нажмите на «Прослушать образец» и выберите вариант, который вам больше всего нравится. Нажимаем «Далее».
    выберите голос google ассистента
  17. Для улучшения ответов на ваши вопросы Google просит разрешить использовать ваши личные данные из календаря. Нажимаем «Разрешить».
    выберите голос google ассистента
  18. Укажите свой адрес для улучшения точности некоторых запросов, например о погоде и пробках.
    выберите голос google ассистента
  19. На этом этапе вам предлагают привязать к умной колонке музыкальный сервис. Для того чтобы привязать Google Play Музыку, вы должны оформить платную подписку или бесплатный тестовый период на 3 месяца (если никогда не пользовались Google-Музыкой). Нажимаем «Далее».
    добавьте музыкальные сервисы
  20. Почти готово. Проверьте настройки и нажмите «Далее».
    добавьте музыкальные сервисы
  21. После завершения процесса установки Google Ассистент поздоровается с вами и предложит посмотреть некоторые примеры  голосовых команд в приложении Home. Можете полистать их и потестировать: скажите «Эй, Гугл» и затем произнесите запрос, например, «What time is it?». Нажимаем «Завершить настройку».
    добавьте музыкальные сервисы
Беру

Расширенные настройки

  1. Мы рекомендуем применить некоторые дополнительные настройки для вашей умной колонки. Чтобы открыть список ваших устройств, нажимаем на значок телевизора с пультом в правом верхнем углу.
    Беру
  2. Откроется список устройств. Чтобы открыть настройки колонки Гугл Хоум Мини, нажимаем на значок с тремя белыми точками.
    Беру
  3. Откроется меню, нажимаем «Настройки».
    Беру
  4. Нажимаем «Специальные возможности».
    специальный возможности для google home mini
  5. Здесь вы можете включить звуковую реакцию Home Mini на начало команды и на её завершение. Например, вы стоите спиной к колонке и произносите «Эй, Гугл!». Светодиоды загорятся белым светом и прозвучит звуковой сигнал, это означает, что Home Mini услышала вас и ждет, когда вы произнесёте команду.
    включаем звуковое оповещение google home mini при произношение команд в начале и в конце
  6. По умолчанию в Google Assistant выбраны фаренгейты для измерения температуры при запросе прогноза погоды. В русской версии приложения Google Home пока нельзя менять единицы измерения температуры. Поэтому, чтобы изменить фаренгейты на градусы цельсия, необходимо дать команду умной колонке «Hey Google, change temperature to Celsius». Колонка сообщит вам о том, что применила эту настройку. Теперь попробуйте узнать о погоде у Хоум Мини, сказав команду «Hey Google, what’s the weather today», и колонка расскажет о погоде по вашему адресу, используя градусы цельсия.

 

Ознакомиться со списком команд для умных колонок Google Home можно в отдельной статье или в нашем справочном приложении со списком команд, которое регулярно обновляется. Установив это приложение, у вас всегда будет под рукой самый актуальный список команд.

включаем звуковое оповещение google home mini при произношение команд в начале и в концевключаем звуковое оповещение google home mini при произношение команд в начале и в конце

Платформа: Android

Цена: Бесплатно

включаем звуковое оповещение google home mini при произношение команд в начале и в концевключаем звуковое оповещение google home mini при произношение команд в начале и в конце

Платформа: iOS

Цена: Бесплатно

 

Задавайте вопросы в комментариях, подписывайтесь на нашу рассылку и Telegram каналTelegram канал, чтобы получать новые статьи, обзоры и обновления команд для Google Assistant.

Поделиться в соц. сетях
Подписывайтесь на наши соц.сети, чтобы не пропустить новые видео, новости и статьи.
Похожие статьи

Google tag manager — как настроить и пользоваться

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

С помощью GTM на сайт можно добавить код разных служб аналитики: Google Analytics, «Яндекс.Метрики», Google Maps и других сервисов для мониторинга сайта.

  1. Шаблоны для интеграции Google Analytics, разных метрик и так далее.
  2. Можно использовать пользовательские теги.
  3. Предпросмотр и инструмент отладки тегов.
  4. Система контроля версий — в любой момент можно откатиться к более ранней.
  5. Реализация асинхронной загрузки тегов, что положительно сказывается на скорости загрузки страниц сайта.
  6. Можно настраивать текстовую подмену на сайте, мгновенно меняя варианты.

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

Фрагмент кода JS, который необходимо выполнить и к которому можно подключить триггер. У тега много разных функций: отслеживание трафика и поведение посетителей, анализ эффективности рекламы, ремаркетинг и таргетинг.

Условие для выполнения или блокировки тега. Триггер должен содержать какое-то событие: загрузка страницы, переход по ссылке, клик и так далее. Также для триггера есть фильтры, которые можно настроить. Например, указать URL страниц, на которых должен срабатывать тег.

Параметр, для которого передается значение в процессе работы.

Перейдите на сайт Google Tag Manager и авторизуйтесь с помощью
Google-аккаунта. Если аккаунта нет, создайте и затем авторизуйтесь.

После авторизации создайте аккаунт для GTM или выберите из уже созданных. Я покажу настройку GTM на своем небольшом тестовом сайте sokratzona.info.

В открывшемся окне добавления нового аккаунта введите его название. Нажмите кнопку Далее.

Для создания контейнера введите его название и укажите, где он будет использоваться. Я выбрал веб-сайт. Нажмите кнопку Создать.

Скопируйте код контейнера.

Если вы случайно закрыли окно с кодом и не скопировали его, ничего страшного, найти его можно, нажав на идентификатор контейнера в правом верхнем углу.

Нажмите на идентификатор, и у вас появится окошко с кодом. Скопируйте его и разместите на своем сайте.

В моем случае файл, куда я поместил код, называется index.html. Если вы используете CMS, возможно что файл будет называться header.php или еще как-то.

Давайте подключим сайт к Google Analytics. В рабочей области в карточке Новый тег нажмите на ссылку Добавить новый тег.

Далее перейдите в Конфигурацию тега и выберите его тип. Например, Google Аналитика — Universal Analytics.

Укажите идентификатор отслеживания. Найти его можно в аккаунте Google Analytics, Администратор — Настройки ресурса — Идентификатор отслеживания.

В качестве типа отслеживания выберите Просмотр страницы. В категории Триггеры выберите All Pages. Сохраните изменения.

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

Сайт откроется в том же браузере. Если у вас внизу на панели отладки появился тег, то вы все сделали правильно.

Опубликуйте контейнер.

Проверьте корректность работы Google Analytics. Да, все работает.

Триггеры находятся в меню рабочей области GTM.

Выберите тип триггера.

Выбрав тип триггера, настройте условие его активации: укажите тип переменной Click URL и ссылку, переходы по которой будете отслеживать.

Настройка условия активации триггера

Чтобы задействовать переменные, выберите соответствующий пункт в меню рабочей области GTM.

Встроенные и пользовательские переменные

Можно настраивать встроенные шаблоны переменных или создавать пользовательские.

Встроенные переменные

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

Создайте тег Пользовательский HTML и скопируйте код кнопок шеринга сервиса, которым вы пользуетесь.

Укажите триггер All Pages. Сохраните и опубликуйте контейнер. Триггер можно указать как для всех страниц, так и выборочно.

Вот, что получилось после публикации:

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

Создайте новый тег. Тип тега выберите Universal Analytics.

Настройте конфигурацию тега.

Настройте триггер. Выберите тип Только ссылки, отметьте пункт Некоторые ссылки и назначьте событие активации триггера.

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

Тег активирован

Посмотрите в Google Analytics вкладку события в режиме реального времени.

Данные передаются. Тег работает

Любое посещение сайта без совершения целевых действий Google Analytics считает отказом. Например, вы просмотрели одну страницу, не зарегистрировались или не подписались на рассылку, не заказали услугу, не связались посредством формы обратной связи и не поделились контентом  — это и есть отказ.

Даже если по итогу вы позвонили по указанному на сайте телефону, а не через кнопку обратного звонка, и купили товар, все равно Google Analytics учтет вас как «отказника». Такое состояние дел несколько искажает действительность и не дает реальной картины.

Для уточнения показателя отказов и получения более точных сведений можно настроить отслеживание длительности посещения без привязки к действиям. Пробыли на сайте десять секунд — уже не отказ.

Чтобы настроить показатель отказов, создайте тег Universal Analytics, тип отслеживания Событие.

Затем укажите для тега триггер Таймер и задайте нужный интервал в миллисекундах.

Проверьте подключение тега.

Тег работает

В Google Analytics показатель уменьшился.

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

На курсе Skillbox вы сможете углубить свои знания в веб-аналитике, рассмотрите множество реальных кейсов и познакомитесь со всеми инструментами сбора, обработки и визуализации информации, которые можно использовать на практике.

Курс «Сквозная аналитика от Completo»

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

  • Живая обратная связь с преподавателями
  • Неограниченный доступ к материалам курса
  • Стажировка в компаниях-партнёрах
  • Дипломный проект от реального заказчика
  • Гарантия трудоустройства в компании-партнёры для выпускников, защитивших дипломные работы

Приложение Google Home – центр управления умным домом

Обновлённое мобильное приложение Google Home позволяет управлять в одном месте всеми устройствами для умного дома с поддержкой Гугл Ассистента, даже от разных производителей. Большое обновление, вышедшее в октябре 2018-го года, добавляет в приложение новый главный экран и полный перевод на русский язык. Теперь платформу для умного дома от Google можно считать полноправным аналогом HomeKit от Apple, и конкурентом платформы умного дома от Яндекс.

Где скачать Google Home

Мобильное приложение Google Home доступно как для Android, так и для iOS. Можно, например, настроить ваш умный дом на андроид и разрешить управлять домом вашим домочадцам на iOS, если у них айфон или айпэд.

Платформа: Android

Цена: Бесплатно

Платформа: iOS

Цена: Бесплатно

Возможности приложения

До октябрьского обновления приложение Google Home использовалось только для связывания устройств умного дома с Гугл Ассистентом. Даже просто включить и выключить устройство в приложении было нельзя – только голосом через Ассистента, причём пока только на английском языке. Но теперь мы можем управлять всеми подключёнными к Ассистенту умными устройствами прямо в приложении Google Home – так же, как это сделано у Apple в HomeKit в приложении «Дом» на iOS.

В первую очередь приложение Гугл Хоум управляет собственными устройствами от компании Google:

 

Новый главный экран приложения

Помимо управления собственными устройствами от гугл, приложение Google Home позволяет добавить и управлять тысячами различных устройств для умного дома от сотен сторонних производителей: Xiaomi Mi Home, Yeelight, Sonoff eWeLink, Broadlink, TP-Link Kasa и многих других.

Полный список поддерживаемых в Гугл Хоум устройств можно посмотреть в самом приложении

На данный момент поддерживаются следующие виды умных устройств:

  • Лампочки и светильники
  • Розетки
  • Замки
  • Термостаты
  • Камеры наблюдения

 

Сразу после добавления в приложение Home вы получаете возможность управлять вашим умным устройством не только из гугловского мобильного приложения, но и голосом через Google Ассистента или через умную колонку Google Home. Правда, на данный момент команды для управления умным домом придётся давать на английском языке.

Управление лампочками всеми сразу или по отдельности 

Если вы, так же, как и мы, с нетерпением ждёте появления команд для умных устройств в Google Ассистенте на русском языке, то подписывайтесь на наш YouTube-канал, Email-рассылку или канал в Яндекс.Дзен.

Поделиться в соц. сетях
Подписывайтесь на наши соц.сети, чтобы не пропустить новые видео, новости и статьи.
Похожие статьи

Отправить ответ

avatar
  Подписаться  
Уведомление о