Задачка простая - создать скрипт элемент, если такого нет.
На первом скрине типы ругаются, потому что ТС не сужает тип после переприсваивания переменной, что странно и я не знаю почему так происходит. С юнионами такое работает, а вот с интерфейсами и наследованием, видимо, правила другие. В любом случае, onload правильно ошибку выдает.
На втором скрине, кажется, все красиво, но не типобезопасно, хотя ТС считает иначе. Вот воспроизведение ошибки в рантайме.
На третьем скрине уже решение правильное по типам и рантайму, но вербозное.
Конечно, хотелось бы какой-то хелпер, который делает асерт querySelector на HTMLScriptElement и мы бы могли использовать одну переменную, но у нас на проекте либы для контрактов нету. Как оно могло бы выглядеть можете посмотреть на 4 скрине.
Про рантайм контракты я рассказывал в этом докладе.
На первом скрине типы ругаются, потому что ТС не сужает тип после переприсваивания переменной, что странно и я не знаю почему так происходит. С юнионами такое работает, а вот с интерфейсами и наследованием, видимо, правила другие. В любом случае, onload правильно ошибку выдает.
На втором скрине, кажется, все красиво, но не типобезопасно, хотя ТС считает иначе. Вот воспроизведение ошибки в рантайме.
На третьем скрине уже решение правильное по типам и рантайму, но вербозное.
Конечно, хотелось бы какой-то хелпер, который делает асерт querySelector на HTMLScriptElement и мы бы могли использовать одну переменную, но у нас на проекте либы для контрактов нету. Как оно могло бы выглядеть можете посмотреть на 4 скрине.
Про рантайм контракты я рассказывал в этом докладе.
👍2🔥1
Семантические селекторы
В статье Style with Stateful, Semantic Selectors описывается идея использования атрибутов доступности как селекторов состояний. Мне кажется это идея очень правильной: нужно не забывать про те фичи что уже есть в платформе, использование их косвенных свойств (видимость в css), помогает гарантировать что про них не забудут и это сделает качество продукта лучше для части пользователей.
В чатике по a11y подсказали какие ещё атрибуты отвечают за состояние элемента и теперь одна из главных задач для #mono это реализация этой практики.
https://github.com/artalar/mono/issues/5
В статье Style with Stateful, Semantic Selectors описывается идея использования атрибутов доступности как селекторов состояний. Мне кажется это идея очень правильной: нужно не забывать про те фичи что уже есть в платформе, использование их косвенных свойств (видимость в css), помогает гарантировать что про них не забудут и это сделает качество продукта лучше для части пользователей.
В чатике по a11y подсказали какие ещё атрибуты отвечают за состояние элемента и теперь одна из главных задач для #mono это реализация этой практики.
https://github.com/artalar/mono/issues/5
Ben Myers
Style with Stateful, Semantic Selectors
See how building with accessible semantics from the get-go can give you expressive, meaningful style hooks for free.
👍2😁1
А я вот не считаю макос операционкой с хорошим UX.
Новость о дырке в безопасности, но дело совсем не в этом.
Только что зашел в Software Update (почему не System??) и там написано что ОС актуальна, при этом написано что последний чек был вчера днем, wat? Кнопки “проверить апдейт” нет. Захожу в Advanced, там тоже нет кнопки, закрываю модалку, с окна стирается вся инфа и показывается лоадер, wat? Лоадер висит секунд 15 - столько нужно что бы сделать гет на последнюю версию??
Окей, говорит, есть апдейт. Нажимаю обновится - грузит 3ГБ О_о
UPD: скачал три, а в More Info показывает 2.21.
И вот таких вот вещей куча.
Для меня Mint лучшая ОС. Но даже винда мне нравится больше макоса, жаль только тормозит по причине и без.
Новость о дырке в безопасности, но дело совсем не в этом.
Только что зашел в Software Update (почему не System??) и там написано что ОС актуальна, при этом написано что последний чек был вчера днем, wat? Кнопки “проверить апдейт” нет. Захожу в Advanced, там тоже нет кнопки, закрываю модалку, с окна стирается вся инфа и показывается лоадер, wat? Лоадер висит секунд 15 - столько нужно что бы сделать гет на последнюю версию??
Окей, говорит, есть апдейт. Нажимаю обновится - грузит 3ГБ О_о
UPD: скачал три, а в More Info показывает 2.21.
И вот таких вот вещей куча.
Для меня Mint лучшая ОС. Но даже винда мне нравится больше макоса, жаль только тормозит по причине и без.
Telegram
запуск завтра
Открываешь специальную ссылку и всё, хакер полностью контролирует твой телефон или компьютер. Это не из дешевого фильма про шпионов, а перевод на человеческий язык описания обновления безопасности, которое только что выпустила Apple. Рекомендую всем обновить…
👍10👎5👏2
В пятницу делюсь интрересным видосом, как обычно.
https://youtu.be/PUv66718DII
В этом докладе десятилетней давности показана разработка на технологиях, о которых и сейчас мы можем только мечтать. Какие-то обрывки есть в нашем повседневном инструментарии, но слаженной системы не наблюдается вовсе.
Очень вдохновляющий доклад. И постоянно повторяйте себе при просмотре - это 2012 год 🙂
https://youtu.be/PUv66718DII
В этом докладе десятилетней давности показана разработка на технологиях, о которых и сейчас мы можем только мечтать. Какие-то обрывки есть в нашем повседневном инструментарии, но слаженной системы не наблюдается вовсе.
Очень вдохновляющий доклад. И постоянно повторяйте себе при просмотре - это 2012 год 🙂
YouTube
Bret Victor - Inventing on Principle
👍4
Сложность фронт разработки одинаковая у маленьких и больших компаний, а сложность бек разработки различается для маленьких и больших компаний
Anonymous Poll
26%
Согласен
74%
Не согласен
Уже неделю вся семья болеет, поэтому тут так тихо. Сам уже выздоровел, но много времени нужно на помощь родным, так что я не успеваю написать пост про ценность иммутабельных данных: зачем они нужны и какие проблемы помогают решать.
Если у вас есть знакомые статьи про это - поделитесь в комментариях, скину сюда если будет что-то интересное.
Если у вас есть знакомые статьи про это - поделитесь в комментариях, скину сюда если будет что-то интересное.
Designing Events-First Microservices
Сегодня хочется порекомендовать доклад про событийную архитектуру, ключевые мысли которого можете видеть на скриншотах.
Информация преподносится хорошо и будет полезна всем инженерам, не только бекенд разработки. Например, описанные принципы помогают понять как реактивное программирование помогает уменьшить связанность кода. И этот принцип применим абсолютно везде: от UI-виджетов, до бекенд сервисов.
Сегодня хочется порекомендовать доклад про событийную архитектуру, ключевые мысли которого можете видеть на скриншотах.
Информация преподносится хорошо и будет полезна всем инженерам, не только бекенд разработки. Например, описанные принципы помогают понять как реактивное программирование помогает уменьшить связанность кода. И этот принцип применим абсолютно везде: от UI-виджетов, до бекенд сервисов.
👍8
На что уходят часы разработки реатома - ну я туплю в то как промисы работают (не первый раз уже). Первый скрин - как было, второй - как стало (комментарий внизу описывает почему).
🤔4👍2
https://news.1rj.ru/str/ctodaily/1626
Помимо топика, меня не устраивают облачные диски своими корявыми клиентами, в которых часто не хватает каких-то фич и есть проблемы с UX.
Что бы я хотел - это локальное приложение для синхронизации нескольких дисковых ресурсов: гугл драйв, авс, sftp, локальная папка и тп. Я управляю с любого файл менеджера своими локальными папками и файлами, а оно автоматом расползается бекапами по всяким дропбоксам и на личную виртуалку.
Не знаете таких приложений?) Быстрый гуглинг ничего дельного не дал, обычно предлагают комбайны, которые все на себя замыкают и денег за это просят.
UPD: спасибо за рекомендацию rclone.org.
Почему я против локальных (в квартире) NAS’ов:
1) Нужно выложить сразу много денег.
2) Отключение света или электричества в квартире явление не редкое и гарантий тут нет.
3) Стихийное бедствие в виде пожара, грабежа, да банального “зацепил провод и упало” грозит потерей всего. А любой переезд = офлайн.
4) Хотите доступ с интернета? Платите помесячную аренду за белый IP.
Помимо топика, меня не устраивают облачные диски своими корявыми клиентами, в которых часто не хватает каких-то фич и есть проблемы с UX.
Что бы я хотел - это локальное приложение для синхронизации нескольких дисковых ресурсов: гугл драйв, авс, sftp, локальная папка и тп. Я управляю с любого файл менеджера своими локальными папками и файлами, а оно автоматом расползается бекапами по всяким дропбоксам и на личную виртуалку.
Не знаете таких приложений?) Быстрый гуглинг ничего дельного не дал, обычно предлагают комбайны, которые все на себя замыкают и денег за это просят.
UPD: спасибо за рекомендацию rclone.org.
Почему я против локальных (в квартире) NAS’ов:
1) Нужно выложить сразу много денег.
2) Отключение света или электричества в квартире явление не редкое и гарантий тут нет.
3) Стихийное бедствие в виде пожара, грабежа, да банального “зацепил провод и упало” грозит потерей всего. А любой переезд = офлайн.
4) Хотите доступ с интернета? Платите помесячную аренду за белый IP.
Telegram
запуск завтра
Мужчина сфотографировал воспаленный пенис сына на свой андроид телефон и отправил фотографии врачу. Алгоритмы гугла посчитали, что это детское порно: гугл заблокировал его аккаунт и сообщил о фотографиях в полицию. Полицейские провели короткое расследование…
artalog
А под vscode экстеншен писать совсем изи
Еу, ну вот мое первое расширение для vscode NPM noscripts in file menu.
Разработка заняла часа три, не больше, с учетом первого погружния в документацию и регистрации в Azure devops для возможности паблишить в маркетплейс.
Из проблем, я так и не смог авторизоваться в CLI vsce, но смог ей собрать пакет и залить через веб интерфейс маркета.
Уточню, я знаю что в Explorer и так можно включить раздел NPM Scripts, но с ним очень не удобно работать когда у вас куча пакетов - это простыня джисона.
Разработка заняла часа три, не больше, с учетом первого погружния в документацию и регистрации в Azure devops для возможности паблишить в маркетплейс.
Из проблем, я так и не смог авторизоваться в CLI vsce, но смог ей собрать пакет и залить через веб интерфейс маркета.
Уточню, я знаю что в Explorer и так можно включить раздел NPM Scripts, но с ним очень не удобно работать когда у вас куча пакетов - это простыня джисона.
Visualstudio
NPM noscripts in file menu - Visual Studio Marketplace
Extension for Visual Studio Code - adds "Show NPM noscripts" menu to the file explorer
👍6🔥1