Получи случайную криптовалюту за регистрацию!

Loskir's

Логотип телеграм канала @loskirs — Loskir's L
Логотип телеграм канала @loskirs — Loskir's
Адрес канала: @loskirs
Категории: Блоги
Язык: Русский
Количество подписчиков: 2.03K
Описание канала:

Front-end @yandex. Пишу про айти, технологии и не только
Лайв канал: @LoskirsLive
Я: @Loskir

Рейтинги и Отзывы

4.00

2 отзыва

Оценить канал loskirs и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

1

4 звезд

0

3 звезд

1

2 звезд

0

1 звезд

0


Последние сообщения 5

2022-05-20 20:18:46
На что тратить Додокоины?

Я провёл анализ меню Додо пиццы и выяснил, какие блюда выгоднее покупать за Додокоины, а на какие наоборот не стоит тратить свои бонусные баллы.

Выгоднее всего оказались Бруслетики, Латте и большая Супермясная пицца.

А анти-топ выглядит так: Кукис Три шоколада, Маффин, Черный чай.

*цены взяты для Москвы и области
504 views17:18
Открыть/Комментировать
2022-05-20 17:39:55 Разница между remotion и обычным сайтом заключается в том, что в remotion кадры должны быть независимы друг от друга. Другими словами, функция рендера должна зависеть только от номера кадра, переданного в неё, а не от предыдущих состояний компонента или чего-то ещё.

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

В общем, мысль в том, что сделать видео в remotion ≠ написать скрипт для puppeteer и записать экран, хотя вроде в обоих случаях рендерится реакт
417 views14:39
Открыть/Комментировать
2022-05-19 23:00:20
Зацените что сделал

Это рендерилка анимаций с кастомными сообщениями в стиле телеграма. Под капотом у неё React, remotion.dev и немного стилей с веб-версии.

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

Ещё утром казалось, что это что-то за гранью фантастики, но спустя пять часов увлекательнейшего программирования и дебага получилось примерно вот так.

Я в восторге
302 views20:00
Открыть/Комментировать
2022-05-18 21:34:57 grammy-markup

Сделал плагин для grammY (typescript-фреймворк для телеграм-ботов), упрощающий создание обычных и инлайн-клавиатур.

Официальный плагин предоставляет императивный API, который мне не совсем нравится. Я же вдохновился telegraf и написал декларативные функции-помощники.

Сравните сами:
new InlineKeyboard([
[IButton.text("Get random music", "random")],
[IButton.switchInline("Send music to friends")],
])
вместо
new InlineKeyboard()
.text("Get random music", "random").row()
.switchInline("Send music to friends")

А особенно удобен декларативный подход тогда, когда нужно представить в меню динамические данные (например, полученные из базы данных):
const inlineKeyboard = new InlineKeyboard(items.map(
(item) => [IButton.text(item.name, item.id)],
))
вместо
const inlineKeyboard = new InlineKeyboard()
for (const item of items) {
inlineKeyboard.text(item.name, item.id).row()
}

Кроме того, с декларативным подходом легко использовать всякие утилиты для работы с массивами, например chunk:
const inlineKeyboard = new InlineKeyboard(chunk(
items.map((item) => IButton.text(item.name, item.id)),
3,
))

Плагин доступен как для nodejs, так и для deno. В readme можно найти инструкции по установке и использованию.
Это нестабильный релиз, API может меняться в минорных апдейтах. В npm стоит версия 0.1.0, а для deno плагин доступен только по прямой ссылке на Github.

В общем, приглашаю попробовать и поделиться своими мыслями в комментариях.
566 viewsedited  18:34
Открыть/Комментировать
2022-05-15 00:20:29
Включил рекомендации на яндекс музыке, а там рикролл...
596 views21:20
Открыть/Комментировать
2022-05-02 13:29:13 Мой серверный стек для небольших проектов

Девопс почти всегда вызывал у меня негативные эмоции. Вот написал ты новый проект, пришло время запустить его в продакшен. И тут начинается: открой терминал, склонируй репозиторий, поставь зависимости, разверни базу данных, напиши nginx-конфиг, получи SSL-сертификат. Жуть, одним словом. Поэтому я решил основательно сесть и собрать стек своей мечты, чтобы впредь тратить меньше времени и нервов. И сейчас вам о нём расскажу.

- Для запуска программ я использую докер и docker-compose. Это позволяет запускать любые проекты независимо от языка программирования, не тратить время на установку рантаймов и зависимостей, а также значительно облегчает разворачивание всяких баз данных и других сторонних программ.

- Я использую Github Actions и Github Container Registry для сборки и хранения контейнеров. Вот тут можно посмотреть, как примерно выглядит воркфлоу сборщика. У меня есть учебный Github Pro, так что для меня это всё бесплатно даже в приватных репозиториях. Может быть, без прошки есть какие-то ограничения, не смотрел.

- Для автоматического обновления образов я использую watchtower. Это маленькая программка, которая раз в установленное время проверяет наличие новой версии образа и пересоздает контейнер. Интервал проверки я поставил раз в минуту и да, мне немного стыдно. Но свою работу делает, CI/CD на минималках получается.

- Для обратного проксирования и HTTPS я использую Caddy. Это юзер-френдли веб-сервер, который автоматически менеджит HTTPS-сертификаты. А для настройки реверс-прокси достаточно всего трех строчек в конфиге.

- Для интеграции Caddy и докера я использую caddy-docker-proxy. Это плагин для Caddy, который позволяет указывать конфигурации серверов для отдельных проектов прямо внутри docker-compose.yml с помощью labels.

- Для хостинга статических сайтов я зачастую использую Github Pages. Если проект требует сборки, то для этого я использую Github Actions (например, peaceiris/actions-gh-pages). Если сайт работает по принципу SPA, я крайне не рекомендую хостить его на Pages! Я пытался, добиться нормального поведения у меня не получилось.

Пользуюсь этим стеком уже несколько месяцев и очень доволен. Конечно, есть несколько аспектов, которые хотелось бы улучшить. Например, сделать единое место хранения всех конфигураций (который сейчас хранятся в единственном экземпляре на сервере) или более оптимальный флоу автоматического обновления образов. Но, как мне кажется, эти проблемы доставляют слишком мало неудобств, чтобы их решать :D
110 viewsedited  10:29
Открыть/Комментировать
2022-04-28 15:38:17 Рубрика "Клёвые приложения для мака": Shottr

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

Программа бесплатная и очень удобная. Разработчики хорошо постарались скопировать UX дефолтной скриншотилки, так что Shottr можно спокойно поставить на привычные шорткаты и не страдать от непривычки.
391 views12:38
Открыть/Комментировать
2022-04-27 20:28:15 Сегодня немного углубился в тему VPN и селфхоста, накидал мысли и находки https://telegra.ph/Pro-VPN-i-selfhost-04-27
352 views17:28
Открыть/Комментировать
2022-04-27 19:30:19 Сегодня немного углубился в тему VPN и селфхоста, накидал мысли и находки

https://telegra.ph/Pro-VPN-i-selfhost-04-27
404 views16:30
Открыть/Комментировать
2022-04-26 23:10:48
Вечерняя музыкальная пауза: OcularNebula

Давно знаю об этом исполнителе (как-никак именно он сделал трек Stay Inside Me, звучащий в practice-режиме в Geometry Dash). Несколько лет назад тоже любил слушать его треки часами.
Сегодня вспомнил о нём и зашёл к нему на страничку. Включил трек и тут же провалился в мир флешбеков.

Мягкая и приятная музыка, вызывающая только тёплые эмоции. У него определенно есть свой уникальный стиль, все треки пронизаны неповторимым уютным вайбом.

Автор был активен в 2010–2014 годах, а потом затих. Но в 2020 году внезапно выложил десяток давних незаконченных треков, которые он сумел найти и восстановить.

Ссылка в заголовке ведет на Newgrounds. Это не самая популярная платформа в наши дни, но именно на ней собрана самая полная коллекция треков OcularNebula. Ещё у него есть Youtube-канал и Soundcloud, но там треков заметно меньше.

В общем, крайне рекомендую послушать. Если не знаете, с чего начать, вот вам один из моих любимых треков: Von Neumann.
407 views20:10
Открыть/Комментировать