Страница №3
3 January 2019, 18:33 MSK
Так получилось, что в декабре мне пришлось несколько раз слетать в Москву (из Петербурга). Немного путевых заметок.
16 December 2018, 21:53 MSK
Санкт-Петербург, Западный Скоростной Диаметр. Автомагистраль. Кругом висят знаки, что даже остановка и движение задним ходом запрещены. Неадекватный человек разворачивается и фигачит прямо навстречу потоку. Интересно, что у таких в головах?
14 November 2018, 05:30 MSK
Удивительно, но многие разработчики не знают, как можно очень просто сделать автоматический бэкап одной или нескольких таблиц в мускуле. Восполним этот недостаток знаний.
Нам потребуется создать простой скрипт на баше, например, /var/backup.sh:
#!/bin/bash
export MYSQL_PWD='ВАШ_ПАРОЛЬ'
mysqldump -u'ВАШ_ЛОГИН' -i -c -e НАЗВАНИЕ_БД ТАБЛИЦА_1 ТАБЛИЦА_2 > /var/backups/mybackup.sql
Если вы хотите, чтобы каждый раз создавался новый файл, можно в его название включить дату и время:
#!/bin/bash
export MYSQL_PWD='ВАШ_ПАРОЛЬ'
mysqldump -u'ВАШ_ЛОГИН' -i -c -e НАЗВАНИЕ_БД ТАБЛИЦА_1 ТАБЛИЦА_2 > /var/backups/mybackup-`date +%Y-%m-%d--%H-%M-%S`.sql
Добавляем скрипт в крон (crontab -e).
Не забываем разрешить выполнение скрипта (chmod +x /var/backup.sh).
В результате выполнения скрипта вы получите файл с дампом ваших таблиц.
P.S.: чтобы восстановить бэкап из консоли:
mysql НАЗВАНИЕ_БД -u'ВАШ_ЛОГИН' -p'ВАШ_ПАРОЛЬ' < /var/backups/mybackup.sql
6 November 2018, 23:50 MSK
При разработке сайтов часто встаёт задача наладить автоматическую выгрузку файлов сайта на веб-сервер. Быстрое гугление по данной теме приводит сложные и запутанные решения, я же поделюсь очень простым. Предполагается, что у читателя есть базовые знания Linux и Git.
Итак, у вас имеется локальный сайт, гит-репозиторий и удалённый сервер с дебиан-подобным линуксом. Допустим, на сервере сайт лежит в папке /var/www/site/.
Сначала необходимо создать в репозитории новую ветку, например, deploy. Всё, что попадёт в неё, будет выгружено на сервер.
Теперь переходим к серверу. Если не установлен гит, устанавливаем:
sudo apt-get install git
Затем клонируем репозиторий в папку с сайтом (из-за особенностей гита она должна быть пуста):
cd /var/www/site/
git clone АДРЕС_РЕПОЗИТОРИЯ .
Система попросит логин и пароль.
Переключаемся на нашу специальную ветку:
git checkout deploy
Теперь можно при помощи команды git pull обновлять сайт. Но это не очень похоже на полностью автоматический способ? Идём дальше.
Во-первых, чтобы каждый раз не вводить логин и пароль, выполняем следующую команду:
git config credential.helper store
Во-вторых, настроим выполнение команды git pull раз в минуту. Для этого создаём скрипт обновления:
nano /var/www/deploy.sh
Вставляем в него следующий текст:
#!/bin/sh
cd /var/www/site/
git pull > /dev/null
Не забываем разрешить выполнение скрипта:
chmod +x /var/www/deploy.sh
Добавляем скрипт в крон:
crontab -e
В конец файла копируем строчку:
* * * * * /var/www/deploy.sh
Собственно, на этом всё. Пушите ваш код в ветку deploy на локальном хосте — он автоматически заливается на удалённый сервер.
28 October 2018, 18:16 MSK
Из сложившейся в стране ситуации у петербуржцев
есть три выхода: Торфяновка, Брусничное и Светогорск
Народное творчество
есть три выхода: Торфяновка, Брусничное и Светогорск
Народное творчество
Первая часть тут.
На машине (или автобусе) в Страну тысячи озёр из России можно въехать через 3 пропускных пункта (МАПП). Обычно я въезжаю и выезжаю через Брусничное, но в этот раз изменил маршрут и объехал все три.
23 October 2018, 18:50 MSK
Сейчас середина осени, и скоро наступят холода. В этой заметке я расскажу, каким образом можно просто и быстро автоматизировать отопление обычными радиаторами в квартире или доме и получить возможность изменять температуру в комнате с айфона, айпада или макбука.
В результате получится настоящий климат-контроль в доме: можно задать необходимую температуру воздуха в помещении с помощью телефона (в том числе удалённо или по расписанию), а ваш радиатор будет её поддерживать на нужном уровне. Для этого будем использовать специальный термостат (в народе называемый термостатической головкой).
Вот так выглядит конечный результат:
14 October 2018, 16:15 MSK
Питерская народная забава — сгонять в Финляндию туда-обратно одним днём.
16 August 2018, 01:45 MSK
- Часть 3: Охреневший Мегафон
Продолжаем рассказывать общественности о том, как операторы сотовой связи зарабатывают деньги мошенническим образом.
Исторически у меня несколько симок для разных нужд в Мегафоне. Недавно я заметил, что на одной из них начали утекать деньги, хотя симка лежит в ящике около полугода и временно не используется.
Идём в личный кабинет и смотрим расходы по номеру:
WTF? Каким-то образом оказались подключены две платные услуги, за 2.5 руб. / сутки и 30 руб. / месяц.
Удивительно. Ещё раз: симка с осени 2017-ого лежит в ящике. В колл-центре сказали, что обе услуги подключены в июне. Интересно, кем? Сотрудники, разумеется, информацией не обладают. Абсурдности ситуации добавляет тот факт, что в июле я звонил в колл-центр и интересовался, какие платные услуги подключены на всех моих номерах (полезно проделывать это пару раз в год), и про эти услуги никто даже не заикался.
Дальше — ещё смешнее. В колл-центре прошу отключить злосчастные опции и вернуть деньги. SMS XXS отключили, а вот Персональный бюджет не могут. «Почему?» — спросите вы. Оказывается, эта опция только для корпоративных клиентов. Сотрудник переводит вызов в колл-центр для корпоративщиков, но там мне тоже помочь не могут, потому что, ВНИМАНИЕ, номер зарегистрирован на физическое лицо. На этом моменте уже начинает подгорать.
Мегафон, вы вообще в адеквате? Дело не в 30-ти рублях, мне просто интересно, как такое может быть?! На номере, который зарегистрирован на физ. лицо, подключена услуга только для юр. лиц, и никто не может мне её отключить! При этом совершенно не понятно, кто и как её подключил, но деньги за неё стабильно продолжают списывать.
UPD: отключили только после личного визита в салон с паспортом.
10 August 2018, 16:39 MSK
Самая большая глупость на свете — голосовые сообщения в мессенджерах. Люди, которые отправляют голосовые сообщения вместо текстовых, часто не задумываются о неудобствах для собеседников. К сожалению, последнее время лично у меня участились голосовые сообщения от совершенно разных людей, что и вынудило меня написать этот пост.
Во-первых, прочитать текст занимает в несколько раз меньше времени, чем прослушать аудиозапись.
Во-вторых, написанное текстом сообщение потом легко найти в истории обычным поиском, а голосовое нельзя.
В-третьих, прослушать голосовое сообщение сложнее, если ты на улице или не один в помещении, и практически нереально, если ты на встрече, в кино и т.д.
Отправляя очередной раз кому-нибудь голосовое сообщение вместо того, чтобы набрать текст, помните, что ваш собеседник, скорее всего, тихо вас ненавидит.
11 July 2018, 20:13 MSK
Итак, снова пост про Телеграм. Я уже рассказывал, как отправлять сообщения от имени бота (в том числе, через прокси) и как сделать бота, который умеет принимать сообщения.
Отправлять сообщения в Телеграм от бота очень просто, но есть крайне неудобная проблема: из-за ограничений Telegram Bot API бот не может писать первым. То есть, сначала пользователь, которому вы собрались что-нибудь отправить, должен первым написать вашему боту любое сообщение. Это ограничение вполне разумно и предотвращает спам сообщениями от ботов, но очень мешает честным людям. Например, отправлять сервисные сообщения с информацией о заказе в интернет-магазине.
Решение этой проблемы только одно: не использовать ботов. Придётся всё делать с обычного аккаунта.
Копаться в подробностях телеграмовского протокола MTProto не нужно, как оказалось, всё уже сделано до нас. Для PHP существует чудесная библиотека MadelineProto. Её мы и будем использовать, ниже пошаговая инструкция.