Viktor G.

Уютное место для моих идей

Регулярная проверка радиостанции (Телеграм бот)

Что делать, если радио выключилось? Допустим, наш сервер работает как часы, а вот хост, который отправляет аудиопоток через Icecast, внезапно выключился. В моём случае это может быть вызвано, например, сбоями в сети у меня дома, где стоит Raspberry Pi, с которого играет музыка.


Icecast https (Nginx прокси)

Последней проблемой при установке и настройке радиостанции было отсутсвие https на контрольной панели, аудиопотоке и json-файлах с метаданными. Icecast автоматически устанавливается по адресу http://127.0.0.69:8000, а сам аудиопоток, соответственно, http://127.0.0.69:8000/listen.mp3

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

Решение оказалось проще, чем я думал - проксирование с помощью Nginx.


Instagram Bot (Raspberry Pi)

Лежит у меня старая Raspberry Pi 1 B+, слишком слабая для того, чтобы заменить десктоп, стать медиаплеером для телевизора или сервером для радио. Её железа должно быть достаточно для использования в качестве web сервера или FTP хранилища, но я нашёл ей более интересное применение.

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


Изменить Status Bar Xcode 10 Swift 4

Ещё одна простая вещь - изменение цвета Status Bar в приложении.


Взять переменную из другого ViewController (Swift 4)

После долгих попыток вызова переменной из другого ViewController'а (без использования segueи прочих сложных вещей) всё оказалось куда проще:


Работаем с UITableViewController (Swift 4)

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