Подписка на блог

Вы можете подписаться на на мой блог в соцсетях

А это мои страницы в соцсетях

Facebook, ВКонтакте, Telegram,

Александр Поляков — заметки

Пишу о рекламе, аналитике, разработке и путешествиях.
Мой персональный сайт Телеграм-канал

О пользе четких инструкций и еще кое-чего

Сегодня надо было подтвердить IT-аккредитацию компании и для этого пришлось подать заявление на Госуслугах.

Первый шаг — разрешить доступ к сведениям составляющим налоговую тайну для Минцифры. Для нас постарались и написали подробнейшую инструкцию, которую я отправил своему бухгалтеру Татьяне.

Татьяна споткнулась о второй шаг:

Фрагмент инструкции

Через 5 минут Татьяна написала мне что такой кнопки нет, в навигации найти не может и вообще точно ли это достоверная инструкция и где я ее взял, не просроченная ли она.

Скриншот, который прислала Татьяна.

Пришлось связаться по Зум и я сразу подсказал: «Тань, попробуй прокрутить слайдер»

Баннер находится в конце списка.

Вывод

В инструкции надо писать: прокрутите слайдер до ....
А еще лучше никогда не использовать слайдеры для важных навигационных решений. Для не важных тоже не стоит — слишком большой шанс того, что ваше сообщение или анонс просто не увидят.
Хотите подсветить на сайте раздел — вынесете в навигация явно.

 Нет комментариев    5   1 мес  

Запускаем свой телеграм-бот с ChatGPT на виртуальном сервере

Мы будем использовать вот этот движок телеграм-бота https://github.com/nalgeon/pokitoki .

Наша задача создать или обновить бота типа https://t.me/polyakov_gpt_bot

В статье я не буду касаться логики регистрации бота и получения ключа open.ai. Это легко гуглится и останавливаться на этом нет никакого смысла. Бота можно не гуглить, а сразу пойти сюда https://t.me/BotFather , токен open.ai получается интуитивно https://platform.openai.com

В материале есть упоминания об ssh ключах. Чтобы создать ssh ключ надо почитать вот эту инструкцию.

Подготовим файлы для работы если ранее у нас не было инстансов

  1. Идём в гитхаб https://github.com/nalgeon/pokitoki, там Code >> Download zip
  1. Распаковываем архив. Заполняем файл config.example.yml и сохраняем его себе как config.yml

Подготовим файлы для работы если ранее был настроен инстанс и мы хотим переехать на другой

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

  1. Подключимся к нашему удаленному серверу и скопируем файл настроек к себе на диск:

MacOS:



scp -i YOUR_PRIVATE_SSH_KEY USERNAME@xxx.xxx.xx.xxx:pokitoki/config.yml /Users/username/Downloads/config.yml


Windows:



scp -i C:\path\to\your\private\key USERNAME@xxx.xxx.xx.xxx:/path/to/remote/config.yml C:\Users\username\Downloads\config.yml


команда в одну строку

YOUR_PRIVATE_SSH_KEY — путь к приватному ключу SSH из текущей директории

USERNAME — ваш логин в виртуальной машине

USERNAME — ваш логин в виртуальной машине

xxx.xxx.xx.xxx — IP-адрес виртуальной машины

xxx.xxx.xx.xxx — IP-адрес виртуальной машины

/Users/username/Downloads/config.yml — путь в папку для сохранения настроек (в примере это загрузки)

Обновляем версию бота, если хотим остаться на том же сервере

Если мы хотим остаться на том же сервере, просто обновить версию pokitoki:

  1. Остановим докер

Авторизуемся на сервере через ssh.
Переходим в директорию проекта



cd pokitoki/


  1. Останавливаем текущий докер инстанс


sudo docker compose stop


  1. Скачиваем обновление с гитхаб


git pull


  1. Запускаем докер


sudo docker compose up --build --detach


Подготовим инстанс в Яндекс.Облаке

Теоретически для данной задачи можно использовать любой другой VDS сервис, например https://vdsina.ru.
Я использую Яндекс.Облако, потому что оно не является ощутимо более дорогим, имеет предсказуемую поддержку и уже оплачивается по договору. Но данная инструкция подойдёт для любого другого сервиса за исключением процесса конфигурации виртуальной машины — этот процесс у всех будет свой.

Если у вас уже был инстанс, и вы просто обновляете — всё равно создаем новый инстанс (в конце мы просто отключаем старый, и запускаем новый)

  1. Идём в консоль Яндекс облака https://console.cloud.yandex.ru/
  2. Выбираем Compute Cloud >> Виртуальные машины
  3. Нажимаем на кнопку Создать ВМ вверху страницы справа
  4. Настраиваем ВМ на Ubuntu:
  • Intel Cascade Lake
  • Доля vCPU 5%
  • RAM 1Gb
  • Размер SSD/HDD 8 GB
  • обязательно надо создать статический IP-адрес, без него не получится подключить удаленно.
  1. Внизу указываем имя пользвателя и публичный ssh-ключ, который будем использовать для подключения.

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

Устанавливаем на удаленную машину телеграм-бота

  1. Авторизуемся на виртуальной машине

MacOS:



ssh -i path/to/private/key -l USERNAME xxx.xxx.xx.xxx


или



ssh -i path/to/private/key USERNAME@xxx.xxx.xx.xxx


WIndows:



ssh -i C:\path\to\private\key USERNAME@xxx.xxx.xx.xxx


Со всем соглашаемся и вводим пароль

  1. Клонируем файлы телеграм бота в директорию удалённого сервера


git clone https://github.com/nalgeon/pokitoki.git


  1. Переносим файл с настройкам, который мы делали в начале

MacOS:



scp -i path/to/private/key /path/to/file/config.yml USERNAME@xxx.xxx.xx.xxx:pokitoki/config.yml


WIndows:



scp -i C:\path\to\private\key C:\Users\YOUR_USERNAME\PathToConfig\config.yml USERNAME@xxx.xxx.xx.xxx:pokitoki/config.yml


Устанавливаем на удаленную машину Docker

Инструкция тут https://docs.docker.com/engine/install/ubuntu/

  1. Сносим старый инстанс (для безопасности)


for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done


  1. Обновляем apt


sudo apt-get update


  1. Сертификаты


sudo apt-get install ca-certificates curl gnupg


  1. Остальные ключи (3 команды)


sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg


  1. Что-то на программистском


echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null


  1. Почти всё


sudo apt-get update


  1. Ставим докер


sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin


Запуск бота



sudo docker compose up --build --detach


Если понадобится проверить свободное место



df -h


Как создать SSH-ключ для безопасного управления удаленным сервером

Иногда может потребоваться указать при настройке сервера свой ssh-ключ. В материале расскажу что это такое и зачем это нужно. Приведу короткую инструкцию по его созданию для MacOS и Windows.

Что такое SSH-ключ

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

SSH-ключи состоят из двух частей: приватной и публичной.

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

Благодаря такой структуре данные, несмотря на то, что они передаются по незащищенным каналам связи (интернет) остаются недоступны для расшифровки.

Настройка SSH-ключей на MacOS

Обычно ssh ключи находятся по адресу /Users/{username}/.ssh

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



ls -a


Если в списке нет директории категории .ssh создадим её командой



mkdir .ssh


Далее можно вызвать в этой директории команду генерации ssh ключа:



ssh-keygen -t rsa -f db_rsa


В данном примере db_rsa — это название ключа. А rsa  — название алгоритма шифрования. Берет свои истоки из имен создателей алгоритма сквозного шифрования: Rivest—Shamir—Adleman, имена трех ученых — Рональда Ривеста, Ади Шамира и Леонарда Адлемана, которые впервые описали этот алгоритм в 1977 году.

Последует вывод:



Generating public/private rsa key pair.
Enter file in which to save the key (/Users/master/.ssh/id_rsa): <**ENTER YOURS SSH KEY NAME HERE**>
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
.............


В директории появятся два файла — приватный и публичный ключи.

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

В директории появятся два файла: rsa и rsa.pub. Содержимое rsa.pub и есть публичный ключ, который можно передавать при настройке удаленного сервера.

Настройка SSH-ключей на Windows

В Windows для генерации ключей используются программы:
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
или Open SSH для Windows 10+ https://learn.microsoft.com/ru-ru/windows/terminal/tutorials/ssh

Как подключаться к удалённому серверу с помощью SSH

Для MacOS:

переходим в директорию .ssh и подключаемся из неё, или надо будет вводить полный путь к ключу.



ssh -i YOUR_PRIVATE_KEY_TRACE username@ip.adr.es.ss


Для Windows:



ssh username@ip.adr.es.ss -i C:\Users\user\.ssh\YOUR_PRIVATE_KEY


 Нет комментариев    38   7 мес  

Техника «Белая собачка»

Техника «Белая собачка» — это умный маневр, используемый для управления восприятием и ожиданиями. Этот приём берет свое название от анекдота о художниках, которые, зная о капризности своих клиентов, специально добавляют в картину элемент, который явно не подходит к общей композиции — белую собачку. Когда клиент видит эту собачку и просит ее убрать, художник соглашается, создавая иллюзию, что клиент контролирует процесс. В результате клиент остается доволен, а художник продает свое произведение по более высокой цене.

«Белая собачка» в политическом контексте

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

Пример из мира рекламы

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

Ecommerce-реклама и маркетплейсы

Можно ли вести трафик из рекламы сразу на маркетплейсы или лучше пытаться раскручивать свой сайт?

Сегодня ко мне обратился Роман, он продаёт ЗОЖ-продукты под собственной маркой. Он описал свою задачу как заставить товары продаваться прямо на сайте.
«На маркетплейсах продажи уже идут, но мы хотим отойти от них и сфокусироваться на продаже без посредников, у себя на сайте», — описал мне Роман свои задачи.

На самом деле, маркетплейсы — это очень хорошие посредники, они берут на себя программу лояльности, рекомендательную систему, доставку, быстрый поиск по сайту и гарантию наличия.
В ходе 20-минутного диалога я объяснял Роме, что маркетплейсы — друзья и сбрасывать их со счетов не надо, напротив, пользователи могут выбирать заказ на маркетплейсах вместо заказа товара на сайте производителя в ситуациях, когда операционно маркетплейс выгоднее.

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

Основных вопросов получается 2 — как отслеживать продажи на Маркетплейсах и как их рекламировать.

— Для отслеживания рекламного трафика OZON предлагает создавать специальный префикс вида vendor_org_xxxxxxx. Этот набор надо вставить в начале каждой метки utm_campaign в рекламных материалах. Так вы сможете отследить какие конверсии пришли благодаря ОЗОН, а какие с вашего сайта или рекламы. Другие маркетплейсы пока не анонсировали никаких средств отслеживания трафика.
— Если делаете переход на Озон прямо на сайте, то на ссылки перехода точно также надо прописать UTM_метки. Так маркетплейс зафиксирует переход как рекламный и покажет результаты в статистике. Для сайтов клиентов мы ставим специальный код на сайте, который копирует метки со страницы перехода и подставляет их в ссылки, которые ведут на Озон.

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

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

Ранее Ctrl + ↓