Меню ▼

Дизайн ⚡️ Жизнь

Бортовой журнал Александра Бузника

Уведомления для шоу DI.FM + бонус

Недавно в DI.FM мы запустили сервер Дискорд для фанатов.

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

У меня как раз был перерыв в написании интересного кода, и я решил заняться этим в свободное время.

Я сделал небольшой парсер API DI.FM, который получает список ближайших шоу, и отправляет уведомления на заготовленные вебхуки. В основе проекта — node.js express.

Для меня ценно, что это первый проект, в котором я с самого начала пишу юнит-тесты (хотя покрыто пока не все), и настроен линтер. Тесты запускаются перед коммитом и перед деплоем на CI.

Живет сервис на хероку, поэтому деплой максимально простой.

Исходный код: https://github.com/beshur/diUpcomingShows

Бонус

За компанию сделал рандомизатор каналов на DI.FM: https://beshur.github.io/diRandomizer/

Compare from commit

Сделал небольшой юзер-скрипт для Гитхаба.
Скрипт подключается через Tampermonkey (расширение для хрома)

Скрипт добавляет на странице пулл-реквеста дополнительную иконку весов ⚖︎, которая открывает сравнение от выбранного коммита.
Например, в процессе работы вы добавили коммиты после того, как первый ревью был проведен и хотите поделиться только частью — той дельтой, которую вы добавили.

https://gist.github.com/beshur/e1398ff5e741308cd29476f75d612bdd

Обновил дизайн getpass.pp.ua

Обновил дизайн, почистил репозиторий — теперь в мастере только код функции генератора, а страница в gh-pages.

Перевел сайт и блог на https

Ввиду тотального ухода браузерами от незащищенных соединений к HTTPS, начал искать варианты для перехода для своих сайтов.
Оказалось, что еще в декабре прошлого года на хостинге добавили возможность использовать Let’s Encrypt — сервис от центра сертификации, который генерирует сертификаты SSL бесплатно.

Весь процесс занял 10 минут — включая прописывание правил для обязательного https на сайте и блоге.

Редизайн сайта 2016

Наконец-то новая версия! Прошло почти четыре года со времени прошлого редизайна.

Было:

buznik_net_before_redesign_2016

Стало:

buznik_net_after_redesign_2016

 

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

В конце концов я пришёл к тому, что дизайном я занимаюсь сейчас очень мало, и все эти картинки довольно устаревшие. Вместо дизайнерского портфолио сделал страничку, которая передаётся одним вызовом, без скриптов, картинок и шрифтов, и занимает 2,5 кб трафика. А одна из приятных вещей — это редактирование контента через gist на гитхабе (прямо в редакторе кода). Исходный код страницы на гитхабе.

Добавил украинскую версию — она доступна по ссылке шу.укр.

На очереди лёгкий редизайн блога.

Stoplay — расширение для управления музыкой в браузере

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

stoplay-cover

Картинка кликабельна и ведёт к установщику

Зачем оно нужно:

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

Новости в твиттере @stoplayext.

Jouele для Вордпресса

Мне очень нравится аудио-плеер Ильи Бирмана Jouele и Вордпресс.

Я решил объединить и сделал плагин wp-jouele:

Общий вид Jouele

Нужно загрузить песню через медиа-библиотеку, вставить ссылкой в пост (или страницу), выделить её и нажать кнопку wp-jouele на панели редактора.

Будет выглядеть вот так:

Bo Diddley — Oh Yeah

Генератор паролей 2.1

Ещё немного обновил генератор паролей и перенёс на Гитхаб (исходный код).

Screenshot 2015-09-07 09.20.47

Старый пост.

Типичный скелет для Backbone.js

При добавлении новых коллекций на фронт-енде пользуюсь таким подходом (чтобы не потерять, gist):

и getTpl() — обвязка для шаблонов Underscore.js (.git):

Нативная связь данных в JavaScript (Перевод)

Двусторонняя связь данных (data-binding) — это действительно важно, так как позволяет реализовать постоянную синхронизацию JS моделей с представлением, избежать массового дублирования кода, отвечающего за его обновления, и улучшить опыт использования приложения. Мы рассмотрим два метода использования этой возможности на чистом JavaScript, без фреймворков: один из них основан на революционной технологии (Object.observe), а другой — на оригинальной концепции (расширения get/set).

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: