На прошлой неделе Антон Шувалов в докладе упомянул, что чтобы научиться строить архитектуру фронтенда следует читать книги про архитектуру бекенда. Это очень хороший совет. Я не знаю почему, но все хорошие книги про проектирование систем написаны для бекендеров.
#проектирование
#проектирование
DigitalOcean App Platform — решения для деплоя приложений в интернет без головной боли. Пишешь докер-файл, нажимаешь кнопку и магия случается — сервис уже доступен.
Я давно хотел попробовать эту штуку, но все как-то не было времени разбираться. Сегодня обнаружил, что @yt_listen_bot перестал помещаться в общий дроплет и решил переселить его в App Platform. Поэтому, вот свежие впечатления.
1. Оно правда работает, как обещает. Кнопку жамкаешь — деплой случается. У меня для этого был написан свой скрипт, но всегда приятно отказываться от велосипедов. Как бонус — зиро-даунтайм деполой из коробки.
2. Удобно собираются логи и метрики ноды (нагрузка на процессор, потребление памяти, нагрузка на сеть). Сразу в том же месте можно посмотреть на состояние базы данных.
3. Дорого. Минимальный инстанс аналогичный дроплету за 6 долларов обходится в 12. То есть в два раза дороже.
4. Нет доступа к мэнэджд базам данных внутри DigitalOcean по приватной сети, только по публичной. Плюс, нельзя добавить сервис в вайт-лист для коннекта. Приходится отключать ограничение по хостам на подключения. Страшно.
5. При любом изменении настроек происходит полная пересборка контейнера. Непонятно и дико раздражает пока настраиваешь первый раз.
Короче, определенно прекрасное решение для пет-проектов. Но цена прямо злая.
#удобство_разработки
Я давно хотел попробовать эту штуку, но все как-то не было времени разбираться. Сегодня обнаружил, что @yt_listen_bot перестал помещаться в общий дроплет и решил переселить его в App Platform. Поэтому, вот свежие впечатления.
1. Оно правда работает, как обещает. Кнопку жамкаешь — деплой случается. У меня для этого был написан свой скрипт, но всегда приятно отказываться от велосипедов. Как бонус — зиро-даунтайм деполой из коробки.
2. Удобно собираются логи и метрики ноды (нагрузка на процессор, потребление памяти, нагрузка на сеть). Сразу в том же месте можно посмотреть на состояние базы данных.
3. Дорого. Минимальный инстанс аналогичный дроплету за 6 долларов обходится в 12. То есть в два раза дороже.
4. Нет доступа к мэнэджд базам данных внутри DigitalOcean по приватной сети, только по публичной. Плюс, нельзя добавить сервис в вайт-лист для коннекта. Приходится отключать ограничение по хостам на подключения. Страшно.
5. При любом изменении настроек происходит полная пересборка контейнера. Непонятно и дико раздражает пока настраиваешь первый раз.
Короче, определенно прекрасное решение для пет-проектов. Но цена прямо злая.
#удобство_разработки
Второй сезон Frontend Crew закончился. Могу с уверенностью заявить, что это был один из самых сложных проектов в моей жизни.
https://twitter.com/mruef/status/1418693478574346242?s=21
Удивительно неквалифицированные ребята 🤦♂️
Удивительно неквалифицированные ребята 🤦♂️
Twitter
Marc Ruef
Full phone number database of #Clubhouse is up for sale on the #Darknet. It contains 3.8 billion phone numbers. These are not just members but also people in contact lists that were synced. Chances are high that you are listed even if you haven't had a Clubhouse…
Я думаю, через пару лет Логакс сильно изменит индустрию разработки клиентских приложений.
Подпишитесь на канал и следите за его развитием — @logux_io
Подпишитесь на канал и следите за его развитием — @logux_io
Поразительно неинтуитивный интерфейс наложения ограничений на пользователя в чате в телеграмме. Нужно зайти в настройки чата, выбрать раздел Permissions, промотать внизу и нажать на кнопку Add Exception.
Вместо длинного нажатия на пользователя прямо внутри чата. Иногда поражаюсь, как отдельные приложения придумывают заново знакомое интерфейсное решение и получается не круто.
Вместо длинного нажатия на пользователя прямо внутри чата. Иногда поражаюсь, как отдельные приложения придумывают заново знакомое интерфейсное решение и получается не круто.
Итак, тут почти месяц не было постов по теме. Это потому что я был полностью погружен в производство второго сезона Frontend Crew. Это был, без преувеличения, самый сложный проект в моей жизни — много переменных, много действующих лиц, много неизвестных.
Все полтора месяца мое ощущение от конференции колебалось от «господи, какой провал» до «ооо, как же мы разъебем» и обратно. В итоге, получилось больше второе 🚀 (чем я жутко горжусь), но сил на это ушло какое-то титаническое количество.
Кстати, мы нанимаем.
Все полтора месяца мое ощущение от конференции колебалось от «господи, какой провал» до «ооо, как же мы разъебем» и обратно. В итоге, получилось больше второе 🚀 (чем я жутко горжусь), но сил на это ушло какое-то титаническое количество.
Кстати, мы нанимаем.
А теперь по делу. За это время прочитал Designing Event Driven Systems и кайфанул.
> Я уже давно копаю тему проектирования систем за пределами фронтенд-приложений. Мне кажется, с одной стороны, там много интересного и некоторые подходы можно адаптировать и перенять на фронтенде. А с другой, развитие технических скиллов вширь повышает мою ценность как специалиста.
Designing Event Driven Systems рассказывает о построении асинхронных распределенных систем. Причем, большенство примеров завязаны на конкретную технологию — Kafka. Сначала это показалось мне странным, но потом зашло. Круто, когда вместо абстрактных историй со схемами тебе дают конкретный пример системы и рассказывают как он устроен.
#проектирование
> Я уже давно копаю тему проектирования систем за пределами фронтенд-приложений. Мне кажется, с одной стороны, там много интересного и некоторые подходы можно адаптировать и перенять на фронтенде. А с другой, развитие технических скиллов вширь повышает мою ценность как специалиста.
Designing Event Driven Systems рассказывает о построении асинхронных распределенных систем. Причем, большенство примеров завязаны на конкретную технологию — Kafka. Сначала это показалось мне странным, но потом зашло. Круто, когда вместо абстрактных историй со схемами тебе дают конкретный пример системы и рассказывают как он устроен.
#проектирование
Forwarded from Стой под стрелой
Ох как я ненавижу логины и аккаунты.
Сегодня пытался залогиниться в посудомоечную машину. Почему, зачем? Ну она мне шлет нотификации, мол, пора меня чистить. Я бы и кнопками почистил, но там же иконки, а не подписи — пойди угадай, какая что значит.
Короче, сначала пытался понять, какое приложение вообще ей управляет. Машина — Siemens, поиск по Siemens или там Dishwasher конечно ничего не дал. В итоге листал тупо список всех вообще приложений на телефоне в поисках незнакомого. Home Connect называется.
Ладно, захожу. Оно говорит — нет устройств! Как нет-то, ты же, падла, нотификации мне шлешь.
Ну окей, давайте добавим. Жму добавить — оно говорит: сначала залогинься. Ну епт. А что это за приложение — я в душе не помню, но видимо когда-то его настраивал, раз нотификации приходят.
А раз настраивал — должен был аккаунт создать? Но почему тогда он слетел? Телефон я не менял, приложение не переустанавливал. Жму логин — 1Password — нет аккаунта.
Ну ладно, нет так нет, может раньше не требовался? Жму создать, заполняю блядскую форму на восемьнадцать полей, придумываю, конечно, пароль, ввожу два раза, и емейл, конечно, тоже два раза. И конечно, посудомоечной машине нужно знать где я живу и какой у меня телефон, чтобы полоскать мои чашки. ВСЮ ФОРМУ ДО КОНЦА ЗАПОЛНЯЮ! Все с телефона, то есть максимально неудобно, в квадратике 2 на 2 сантиметра. Жму: создавай.
Создала, говорит. Иди в емейл. Иду в емейл. А там — есть такой аккаунт уже. Попробуй залогиниться, лузер. И все, даже ссылки обратно, сука, нет. А СРАЗУ НЕЛЬЗЯ СКАЗАТЬ БЫЛО???
Иду логиниться. Пароля, конечно, взять неоткуда. Жму восстановить. Иди опять в почту. Иду в почту. Вот ваш временный пароль. О, думаю, зашибись. Его-то и оставлю. Ввожу емейл и копирую пароль. Зашибись, говорит! Но пароль-то временный. Давай новый придумывай. Ну ё-маё, ну что опять началось...
Ладно, придумываю. Соглашается. Пускает. Добавляю, наконец, машину в апп. Безболезненно достаточно, кстати — потому что Я ОДИН РАЗ ЭТО УЖЕ ДЕЛАЛ КУДА ОНА ПОДЕВАЛАСЬ? А? А?
Зашибись, думаю. Теперь-то запущу чистку. Нахожу режим в приложении. Подношу палец к кнопке. ЗАПУСК ИЗ ПРИЛОЖЕНИЯ ЗАПРЕЩЕН. ИДИ ПАСИСЬ.
(Ну или если хочешь можешь еще час в ютубе гуглить, как remote start разрешить, но у меня уже сил не было, честно).
Короче, я просто спалил, какая иконка у режима чистки в приложении.
А потом подошел к машинке ногами И НАЖАЛ ТОЧНО ТАКУЮ ЖЕ КНОПКУ. Просто подошел и просто нажал. Все. Одно действие. НИКАКИХ, БЛЯДЬ, ЛОГИНОВ. ПОЧЕМУ В ТЕЛЕФОНЕ НЕЛЬЗЯ ТАКЖЕ???
Вы удивляетесь, почему «умный дом» никто так не любит? Ну вот поэтому.
Ну и про проблему логинов и того, что их пихают везде, где нужно и где не нужно.
Во-первых, идите со своими логинами нахуй.
Во-вторых, идите-идите, я не шутил.
Во-третьих, если уж вас укушенный маркетологом менеджер заставил их делать, как насчет того, чтобы эти логины не терять? В идеале я хочу вводить логин один раз в жизни. Ну может один раз за время жизни компьютера. КАК ЛОГИН МОЖЕТ ПОТЕРЯТЬСЯ???
В-четвертых, одного поля «email» достаточно ДЛЯ ВСЕГО. Просто email — письмо со ссылкой — нажал — ты внутри. Логин, регистрация, восстановление — все одинаково. В вашей форме БУКВАЛЬНО не должно быть НИ ОДНО поля, кроме email. БУКВАЛЬНО.
В-пятых, на тему логинов обязательно посмотрите «Jonathan Blow tries Razer BlackWidow TE Chroma v2 keyboard» на Ютубе. Руководство к действию.
В-шестых, идите нахуй.
Сегодня пытался залогиниться в посудомоечную машину. Почему, зачем? Ну она мне шлет нотификации, мол, пора меня чистить. Я бы и кнопками почистил, но там же иконки, а не подписи — пойди угадай, какая что значит.
Короче, сначала пытался понять, какое приложение вообще ей управляет. Машина — Siemens, поиск по Siemens или там Dishwasher конечно ничего не дал. В итоге листал тупо список всех вообще приложений на телефоне в поисках незнакомого. Home Connect называется.
Ладно, захожу. Оно говорит — нет устройств! Как нет-то, ты же, падла, нотификации мне шлешь.
Ну окей, давайте добавим. Жму добавить — оно говорит: сначала залогинься. Ну епт. А что это за приложение — я в душе не помню, но видимо когда-то его настраивал, раз нотификации приходят.
А раз настраивал — должен был аккаунт создать? Но почему тогда он слетел? Телефон я не менял, приложение не переустанавливал. Жму логин — 1Password — нет аккаунта.
Ну ладно, нет так нет, может раньше не требовался? Жму создать, заполняю блядскую форму на восемьнадцать полей, придумываю, конечно, пароль, ввожу два раза, и емейл, конечно, тоже два раза. И конечно, посудомоечной машине нужно знать где я живу и какой у меня телефон, чтобы полоскать мои чашки. ВСЮ ФОРМУ ДО КОНЦА ЗАПОЛНЯЮ! Все с телефона, то есть максимально неудобно, в квадратике 2 на 2 сантиметра. Жму: создавай.
Создала, говорит. Иди в емейл. Иду в емейл. А там — есть такой аккаунт уже. Попробуй залогиниться, лузер. И все, даже ссылки обратно, сука, нет. А СРАЗУ НЕЛЬЗЯ СКАЗАТЬ БЫЛО???
Иду логиниться. Пароля, конечно, взять неоткуда. Жму восстановить. Иди опять в почту. Иду в почту. Вот ваш временный пароль. О, думаю, зашибись. Его-то и оставлю. Ввожу емейл и копирую пароль. Зашибись, говорит! Но пароль-то временный. Давай новый придумывай. Ну ё-маё, ну что опять началось...
Ладно, придумываю. Соглашается. Пускает. Добавляю, наконец, машину в апп. Безболезненно достаточно, кстати — потому что Я ОДИН РАЗ ЭТО УЖЕ ДЕЛАЛ КУДА ОНА ПОДЕВАЛАСЬ? А? А?
Зашибись, думаю. Теперь-то запущу чистку. Нахожу режим в приложении. Подношу палец к кнопке. ЗАПУСК ИЗ ПРИЛОЖЕНИЯ ЗАПРЕЩЕН. ИДИ ПАСИСЬ.
(Ну или если хочешь можешь еще час в ютубе гуглить, как remote start разрешить, но у меня уже сил не было, честно).
Короче, я просто спалил, какая иконка у режима чистки в приложении.
А потом подошел к машинке ногами И НАЖАЛ ТОЧНО ТАКУЮ ЖЕ КНОПКУ. Просто подошел и просто нажал. Все. Одно действие. НИКАКИХ, БЛЯДЬ, ЛОГИНОВ. ПОЧЕМУ В ТЕЛЕФОНЕ НЕЛЬЗЯ ТАКЖЕ???
Вы удивляетесь, почему «умный дом» никто так не любит? Ну вот поэтому.
Ну и про проблему логинов и того, что их пихают везде, где нужно и где не нужно.
Во-первых, идите со своими логинами нахуй.
Во-вторых, идите-идите, я не шутил.
Во-третьих, если уж вас укушенный маркетологом менеджер заставил их делать, как насчет того, чтобы эти логины не терять? В идеале я хочу вводить логин один раз в жизни. Ну может один раз за время жизни компьютера. КАК ЛОГИН МОЖЕТ ПОТЕРЯТЬСЯ???
В-четвертых, одного поля «email» достаточно ДЛЯ ВСЕГО. Просто email — письмо со ссылкой — нажал — ты внутри. Логин, регистрация, восстановление — все одинаково. В вашей форме БУКВАЛЬНО не должно быть НИ ОДНО поля, кроме email. БУКВАЛЬНО.
В-пятых, на тему логинов обязательно посмотрите «Jonathan Blow tries Razer BlackWidow TE Chroma v2 keyboard» на Ютубе. Руководство к действию.
В-шестых, идите нахуй.