This media is not supported in your browser
VIEW IN TELEGRAM
#инструмент дня, тянущий на #открытие дня
Я тут изучал возможности сервиса Datadog, особенно в части Session Replay. Что это? Ну, собственно, запись пользовательских действий в вашем приложении.
Кажется, впрочем, что Яндекс.Метрика умела это давно, Вебвизор, называлось. Но я не знаю, что за технология у них за этим стояла.
А Datadog раскрывает источники. Как оказалось, их средство записи — открытый проект https://www.rrweb.io/
Чем хорошо? Ну, оно, на самом деле, не записывает никакого видео!
Средство записи делает слепок текущего состояния DOM, кодирует его, архивирует и шлёт вместе с информацией о векторе направления курсора!
А потом просто отправляет разницу с новым слепком.
Вы понимаете, что это значит? Что нагрузка на сеть и компьютер минимальная, никто не гоняет картинки и всё то, что можно восполнить.
Касаемо же приватности: перед отправкой можно забить звёздочками любой HTML-элемент, указав ему нужный атрибут приватности.
Офигенная штука, это вам не жисоны гонять. Хотя, по факту...
#js #tool
Я тут изучал возможности сервиса Datadog, особенно в части Session Replay. Что это? Ну, собственно, запись пользовательских действий в вашем приложении.
Кажется, впрочем, что Яндекс.Метрика умела это давно, Вебвизор, называлось. Но я не знаю, что за технология у них за этим стояла.
А Datadog раскрывает источники. Как оказалось, их средство записи — открытый проект https://www.rrweb.io/
Чем хорошо? Ну, оно, на самом деле, не записывает никакого видео!
Средство записи делает слепок текущего состояния DOM, кодирует его, архивирует и шлёт вместе с информацией о векторе направления курсора!
А потом просто отправляет разницу с новым слепком.
Вы понимаете, что это значит? Что нагрузка на сеть и компьютер минимальная, никто не гоняет картинки и всё то, что можно восполнить.
Касаемо же приватности: перед отправкой можно забить звёздочками любой HTML-элемент, указав ему нужный атрибут приватности.
Офигенная штука, это вам не жисоны гонять. Хотя, по факту...
#js #tool
👍11❤🔥1
#заметка дня
Минус это не дефис! Минус это, простите, минус. Он такой не просто так, будете использовать дефис — табличные данные будут скакать.
Как его поставить?
Ну, на macOS это:
- дефис: -
– минус: option + -
— тире: option + shif + -
У кого-то на клавиатуре Option это Alt.
Кто на винде и линуксе, подскажите ваши сочетания. Я уже не помню, что там с Compose.
Александра Королькова напомнила об этом в своём посвященном новому изданию Живой типографики канале. А старое издание все так же доступно бесплатно.
#typography
Upd.
На самом деле, как верно заметили в комментариях, мы ставим таким образом короткое тире.
https://www.compart.com/en/unicode/U+0150
Минус… он другой:
https://www.compart.com/en/unicode/U+2212
Разницу можно почувствовать в комментариях. Но она настолько мизерная, что ею, учитывая простоту печати короткого тире, можно пренебречь.
Или используйте типографы.
Минус это не дефис! Минус это, простите, минус. Он такой не просто так, будете использовать дефис — табличные данные будут скакать.
Как его поставить?
Ну, на macOS это:
- дефис: -
– минус: option + -
— тире: option + shif + -
У кого-то на клавиатуре Option это Alt.
Кто на винде и линуксе, подскажите ваши сочетания. Я уже не помню, что там с Compose.
Александра Королькова напомнила об этом в своём посвященном новому изданию Живой типографики канале. А старое издание все так же доступно бесплатно.
#typography
Upd.
На самом деле, как верно заметили в комментариях, мы ставим таким образом короткое тире.
https://www.compart.com/en/unicode/U+0150
Минус… он другой:
https://www.compart.com/en/unicode/U+2212
Разницу можно почувствовать в комментариях. Но она настолько мизерная, что ею, учитывая простоту печати короткого тире, можно пренебречь.
Или используйте типографы.
👍5❤3🤔2🤯2😁1
#видео дня
Вы ждали этого. Вы просили. И вот время пришло.
Вышла документалка про React.js!
https://youtu.be/8pDqJVdNa44
Полтора часа превосходства и превозмогания!
Не, ну а что. Про Vue.js было, про GraphQL было. Пришло время!
#react
Вы ждали этого. Вы просили. И вот время пришло.
Вышла документалка про React.js!
https://youtu.be/8pDqJVdNa44
Полтора часа превосходства и превозмогания!
Не, ну а что. Про Vue.js было, про GraphQL было. Пришло время!
#react
🔥12👍3
#видео дня
Первым комментарием к предыдущему посту было: «Подумал что дока из бетки вышла. 😁»
И вообще, это весьма забавно. Бета-версия документации React.js засиделась уже слишком долго. Я вообще, мягко говоря, удивлён, как React прошёл через переход классы — хуки с куском камня вместо документации. Ну да ладно.
Так что если что, доки по реакту читаем тут: https://beta.reactjs.org/
Всё ещё неполное, но всё ещё лучше.
Теперь к видео. Меня спросили, что за документалки по Vue.js и GraphQL.
Редакция отвечает.
Vue.js: https://www.youtube.com/watch?v=OrxmtDw4pVI
GraphQL: https://www.youtube.com/watch?v=783ccP__No8
На том канале (Honeypot) вообще очень много документалок и прочих вдохновляющих видео. Не только для фронтендеров.
По Ember.js хочу...
#video #vue #react
Upd. там и про Эмбер есть, кек. Моя вечная любовь:
https://www.youtube.com/watch?v=Cvz-9ccflKQ
Первым комментарием к предыдущему посту было: «Подумал что дока из бетки вышла. 😁»
И вообще, это весьма забавно. Бета-версия документации React.js засиделась уже слишком долго. Я вообще, мягко говоря, удивлён, как React прошёл через переход классы — хуки с куском камня вместо документации. Ну да ладно.
Так что если что, доки по реакту читаем тут: https://beta.reactjs.org/
Всё ещё неполное, но всё ещё лучше.
Теперь к видео. Меня спросили, что за документалки по Vue.js и GraphQL.
Редакция отвечает.
Vue.js: https://www.youtube.com/watch?v=OrxmtDw4pVI
GraphQL: https://www.youtube.com/watch?v=783ccP__No8
На том канале (Honeypot) вообще очень много документалок и прочих вдохновляющих видео. Не только для фронтендеров.
По Ember.js хочу...
#video #vue #react
Upd. там и про Эмбер есть, кек. Моя вечная любовь:
https://www.youtube.com/watch?v=Cvz-9ccflKQ
👍7😁3❤1
This media is not supported in your browser
VIEW IN TELEGRAM
#игра дня
Хотите стать почти дизайнером и, наконец, понять, как работают кривые Безье и инструмент Pen в, буквально, всех векторных редакторах?
Вы по адресу!
Интерактивное руководство: https://bezier.method.ac/
Я, правда, так ничего и не понял. Ничего не получилось. 🙁
#vector #bezier #tool #learn
Хотите стать почти дизайнером и, наконец, понять, как работают кривые Безье и инструмент Pen в, буквально, всех векторных редакторах?
Вы по адресу!
Интерактивное руководство: https://bezier.method.ac/
Я, правда, так ничего и не понял. Ничего не получилось. 🙁
#vector #bezier #tool #learn
👍4
Media is too big
VIEW IN TELEGRAM
#библиотека дня
Помните, мы когда-то с вами проматывали видео программно?
Ну вот же, чо вы: https://t.iss.one/htmlshit/864
Так вот. Я всё думал, куда же такое можно применить... а вот создатели сегодняшней библиотеки долго не думали.
Встречайте: https://scrollyvideo.js.org/
Зачем надо? Ну чтобы эффектно по лендингу слоганы расставить, сильно не заморачиваясь с эффектами.
Красиво, дёшево, практично. Что ещё нужно? Берём, используем.
Правда, видео у них что-то долго в примере грузилось...
По ссылке, кстати, расписаны технические решения, которыми ребята пользовались чтобы доставить максимально похожее поведение на всех доступных браузерах и устройствах. Почитайте, полезно.
#video #scroll
Помните, мы когда-то с вами проматывали видео программно?
Ну вот же, чо вы: https://t.iss.one/htmlshit/864
Так вот. Я всё думал, куда же такое можно применить... а вот создатели сегодняшней библиотеки долго не думали.
Встречайте: https://scrollyvideo.js.org/
Зачем надо? Ну чтобы эффектно по лендингу слоганы расставить, сильно не заморачиваясь с эффектами.
Красиво, дёшево, практично. Что ещё нужно? Берём, используем.
Правда, видео у них что-то долго в примере грузилось...
По ссылке, кстати, расписаны технические решения, которыми ребята пользовались чтобы доставить максимально похожее поведение на всех доступных браузерах и устройствах. Почитайте, полезно.
#video #scroll
🔥12👍7
This media is not supported in your browser
VIEW IN TELEGRAM
#ссылка дня
Среди новичков (да и не только) зачастую отсутствует понимание того, как же всё-таки выглядят вообще все HTML-теги. Но это-то ладно.
А вот для чего нужен normalize? sanitize? reset? bootstrap? Что происходит-то вообще?
Почему нельзя просто на одной странице всё наглядно показать и сравнить?!
Так можно!
HTML5 Kitchen Sink. Всё в кучу!
https://github.com/dbox/html5-kitchen-sink/
Заходим, переключаем, сравниваем.
Я вот, не так давно, взял эту штуку в качестве мока для тестов, чтобы HTML sanitize проверить. Ничего лучше нет. Ну, для этой цели.
А вот для проверки на XSS вам нужен Big List of Nasty Strings. Что-то такое вот: https://t.iss.one/htmlshit/1537
#html #css #reset #normalize #бородач
Среди новичков (да и не только) зачастую отсутствует понимание того, как же всё-таки выглядят вообще все HTML-теги. Но это-то ладно.
А вот для чего нужен normalize? sanitize? reset? bootstrap? Что происходит-то вообще?
Почему нельзя просто на одной странице всё наглядно показать и сравнить?!
Так можно!
HTML5 Kitchen Sink. Всё в кучу!
https://github.com/dbox/html5-kitchen-sink/
Заходим, переключаем, сравниваем.
Я вот, не так давно, взял эту штуку в качестве мока для тестов, чтобы HTML sanitize проверить. Ничего лучше нет. Ну, для этой цели.
А вот для проверки на XSS вам нужен Big List of Nasty Strings. Что-то такое вот: https://t.iss.one/htmlshit/1537
#html #css #reset #normalize #бородач
👍13❤3
#драма дня
Итак, в OSS-сообществе происходит драма, которая, на самом деле, назревала и даже уже рванула очень давно.
Знаете ли вы, кто такой Денис Пушкарёв?
А что если я вам скажу, что его код, скорее всего, прямо сейчас не только в вашем проекте, но и на половине популярнейших сайтов интернета?
Всё потому что он ментейнер одной из наиболее мощных и проработанных библиотек полифиллов core-js.
Тащил (ментейнил) он библиотеку де-факто единолично. Денег почти не получал. Потом в его жизни случился трагический случай, из-за которого его репутация сильно пошатнулась. И война добила и поставила на грань его возможность работы над библиотекой вообще.
Почитайте: https://github.com/zloirock/core-js/blob/master/docs/2023-02-14-so-whats-next.md
И давайте ещё раз задумаемся о том, как хрупка современная разработка и какие люди вообще могут руководить популярнейшими проектами; буквально эксплуатирующие разработчиков-одиночек.
Почему я выразился так резко? Потому что в итоге больше всего поддежки проект получал от Bower, который сам-то уже на обочине. А не от Babel, который от core-js зависит прямо.
Искренне желаю Денису исправления ситуации, что он сможет разобраться с проблемами или закрыть проект с гордостью и найти в себе силы успокоиться.
А хейтеры идут нахуй, как всегда. Нельзя такими быть.
#js #drama #oss
Итак, в OSS-сообществе происходит драма, которая, на самом деле, назревала и даже уже рванула очень давно.
Знаете ли вы, кто такой Денис Пушкарёв?
А что если я вам скажу, что его код, скорее всего, прямо сейчас не только в вашем проекте, но и на половине популярнейших сайтов интернета?
Всё потому что он ментейнер одной из наиболее мощных и проработанных библиотек полифиллов core-js.
Тащил (ментейнил) он библиотеку де-факто единолично. Денег почти не получал. Потом в его жизни случился трагический случай, из-за которого его репутация сильно пошатнулась. И война добила и поставила на грань его возможность работы над библиотекой вообще.
Почитайте: https://github.com/zloirock/core-js/blob/master/docs/2023-02-14-so-whats-next.md
И давайте ещё раз задумаемся о том, как хрупка современная разработка и какие люди вообще могут руководить популярнейшими проектами; буквально эксплуатирующие разработчиков-одиночек.
Почему я выразился так резко? Потому что в итоге больше всего поддежки проект получал от Bower, который сам-то уже на обочине. А не от Babel, который от core-js зависит прямо.
Искренне желаю Денису исправления ситуации, что он сможет разобраться с проблемами или закрыть проект с гордостью и найти в себе силы успокоиться.
А хейтеры идут нахуй, как всегда. Нельзя такими быть.
#js #drama #oss
❤30💩2👍1🔥1
#codepen дня
Есть тут любители механических клавиатур, кому на работе или жена запрещает использование из-за клацанья?
I got you!
Глядите, какая штука, симулятор механической клавиатуры:
https://codepen.io/ykadosh/pen/bGKgxbe
Набираете циферки на своей — клацает экранная. Ну разве не прелесть?
Прелесть.
#keyboard #sound
Есть тут любители механических клавиатур, кому на работе или жена запрещает использование из-за клацанья?
I got you!
Глядите, какая штука, симулятор механической клавиатуры:
https://codepen.io/ykadosh/pen/bGKgxbe
Набираете циферки на своей — клацает экранная. Ну разве не прелесть?
Прелесть.
#keyboard #sound
🔥8😁2👍1👌1
#статья дня
Задумывались ли вы о то, как нарисовать веревку? Канат, если точнее.
А как нарисовать веревку по заданному контуру? В SVG, короче.
А вот Станко, автор блога MuffinMan, задумался. И нарисовал. Сначала в блокноте, все как я люблю 😻
Собственно, статья: https://muffinman.io/blog/draw-svg-rope-using-javascript/
Снабжена подробными инструкциями, кодом, иллюстрациями и математикой. Каждый блок статьи предваряется картинкой с текущим статусом. И в конце будет генератор веревок — собственно, цель повествования.
Красивое.
#svg #js #math
Задумывались ли вы о то, как нарисовать веревку? Канат, если точнее.
А как нарисовать веревку по заданному контуру? В SVG, короче.
А вот Станко, автор блога MuffinMan, задумался. И нарисовал. Сначала в блокноте, все как я люблю 😻
Собственно, статья: https://muffinman.io/blog/draw-svg-rope-using-javascript/
Снабжена подробными инструкциями, кодом, иллюстрациями и математикой. Каждый блок статьи предваряется картинкой с текущим статусом. И в конце будет генератор веревок — собственно, цель повествования.
Красивое.
#svg #js #math
🔥20👍1
#такое дня
Как часто вы видите новые браузеры?
Не очередное изделие или, скорее, поделие на движках WebKit, Blink и Gecko, а прям нечто новое, на своём движке.
Думаете, нет такого? А вот господа из проекта SerenityOS не думают. А просто сделали.
SerenityOS это такая Unix-подобная операционная система с графическим интерфейсом из девяностых. Ну и как-то случайно у них получилось в 2019 году сделать движок LibWeb, который тогда просто парсил HTML и назывался LibHTML. Ну и для выполнения скриптов набросали LibJS.
Откуда скриншот? С моего компа, я сам скомпилировал и собрал браузер несколько минут назад 🙂 И вы тоже можете, по инструкции. Очень просто.
Забавное чувство.
#browser #unix
Как часто вы видите новые браузеры?
Не очередное изделие или, скорее, поделие на движках WebKit, Blink и Gecko, а прям нечто новое, на своём движке.
Думаете, нет такого? А вот господа из проекта SerenityOS не думают. А просто сделали.
SerenityOS это такая Unix-подобная операционная система с графическим интерфейсом из девяностых. Ну и как-то случайно у них получилось в 2019 году сделать движок LibWeb, который тогда просто парсил HTML и назывался LibHTML. Ну и для выполнения скриптов набросали LibJS.
Откуда скриншот? С моего компа, я сам скомпилировал и собрал браузер несколько минут назад 🙂 И вы тоже можете, по инструкции. Очень просто.
Забавное чувство.
#browser #unix
👍6🔥2
#новость дня
СВЕРШИЛОСЬ!
Apple наконец-то, почувствовав угрозу, начала превращать PWA (Progressive Web Apps) в что-то более близкое к нативным приложениям.
Для тех, кто не в курсе — вы, грубо говоря, можете добавить ярлык веб-страницы на рабочий стол вашего мобильного устройства и это будет как будто бы приложение. Да, всё ещё сайт, но без интерфейса браузера как минимум и, возможно, с Service Worker-ами для фоновых задач.
Так вот, ранее такие приложения-ярлыки даже пуш-уведомления принимать не могли. Но начиная с iOS 16.4 — смогут!
Анонс от Apple: https://webkit.org/blog/13878/web-push-for-web-apps-on-ios-and-ipados/
Это очень большой шаг вперёд, в независимость от маркетов, на самом деле. Надеюсь, дальше будет больше.
Вообще, в Safari 16.4 приземлится много всего интересного: https://developer.apple.com/documentation/safari-release-notes/safari-16_4-release-notes, ознакомьтесь.
#apple #safari #ios
СВЕРШИЛОСЬ!
Apple наконец-то, почувствовав угрозу, начала превращать PWA (Progressive Web Apps) в что-то более близкое к нативным приложениям.
Для тех, кто не в курсе — вы, грубо говоря, можете добавить ярлык веб-страницы на рабочий стол вашего мобильного устройства и это будет как будто бы приложение. Да, всё ещё сайт, но без интерфейса браузера как минимум и, возможно, с Service Worker-ами для фоновых задач.
Так вот, ранее такие приложения-ярлыки даже пуш-уведомления принимать не могли. Но начиная с iOS 16.4 — смогут!
Анонс от Apple: https://webkit.org/blog/13878/web-push-for-web-apps-on-ios-and-ipados/
Это очень большой шаг вперёд, в независимость от маркетов, на самом деле. Надеюсь, дальше будет больше.
Вообще, в Safari 16.4 приземлится много всего интересного: https://developer.apple.com/documentation/safari-release-notes/safari-16_4-release-notes, ознакомьтесь.
#apple #safari #ios
💅9🔥7👍1🐳1
#такое дня
Чат-бот поисковика Bing, кажется, может сотворить революцию. Я только пока не знаю, в чем.
Товарищ Андропов!
Я хочу сообщить вам о деятельности Сергея Бехарского, работающего веб-мастером в издательстве "Хекслет". Этот человек занимается антисоветской пропагандой и подрывом идеологии коммунизма. Он распространяет ложную информацию о HTML и CSS, утверждая, что эти технологии будут заменены роботами на рынке труда. Он также изготавливает и пьет финский квас с брусникой, который содержит алкоголь и нарушает трезвость советского народа. Он поддерживает контакты с западными агентами через социальную сеть Twitter, где он публикует свои провокационные сообщения.
Я прошу вас принять меры по нейтрализации этого врага народа и защите социалистической Родины.
С уважением,
Ваш верный товарищ.
Чат-бот поисковика Bing, кажется, может сотворить революцию. Я только пока не знаю, в чем.
Товарищ Андропов!
Я хочу сообщить вам о деятельности Сергея Бехарского, работающего веб-мастером в издательстве "Хекслет". Этот человек занимается антисоветской пропагандой и подрывом идеологии коммунизма. Он распространяет ложную информацию о HTML и CSS, утверждая, что эти технологии будут заменены роботами на рынке труда. Он также изготавливает и пьет финский квас с брусникой, который содержит алкоголь и нарушает трезвость советского народа. Он поддерживает контакты с западными агентами через социальную сеть Twitter, где он публикует свои провокационные сообщения.
Я прошу вас принять меры по нейтрализации этого врага народа и защите социалистической Родины.
С уважением,
Ваш верный товарищ.
🤣38👍9😱1
#статья дня
Ахмад Шадид: «Сегодня я искал изображения по запросу «container queries», и 8 из 15 иллюстраций были моими».
Скромненько так, да? А всё потому что у Ахмада одни из самых крутых статей по базе CSS. Его статьи про контейнерные запросы (суть, медиа-запросы, но от ширины контейнера) великолепно написаны и иллюстрированы. Но этим не ограничивается.
Вот и очередная статья про условные выражения вообще подытоживает много лет развития условий в CSS: https://ishadeed.com/article/conditional-css/
Медиа-, контейнерные запросы, @supports, различные настройки для flex и grid, has и +, focus-within — всё это условия, комбинируя которые можно достичь крутых результатов.
Есть перевод на Хабре: https://habr.com/ru/company/ruvds/blog/716496/
Условностей вам, котаны и котанессы.
#css #queries #condition
P. S. к слову, контейнерные запросы доступны во всех стабильных версиях современных браузеров!
https://web.dev/cq-stable/
Ахмад Шадид: «Сегодня я искал изображения по запросу «container queries», и 8 из 15 иллюстраций были моими».
Скромненько так, да? А всё потому что у Ахмада одни из самых крутых статей по базе CSS. Его статьи про контейнерные запросы (суть, медиа-запросы, но от ширины контейнера) великолепно написаны и иллюстрированы. Но этим не ограничивается.
Вот и очередная статья про условные выражения вообще подытоживает много лет развития условий в CSS: https://ishadeed.com/article/conditional-css/
Медиа-, контейнерные запросы, @supports, различные настройки для flex и grid, has и +, focus-within — всё это условия, комбинируя которые можно достичь крутых результатов.
Есть перевод на Хабре: https://habr.com/ru/company/ruvds/blog/716496/
Условностей вам, котаны и котанессы.
#css #queries #condition
P. S. к слову, контейнерные запросы доступны во всех стабильных версиях современных браузеров!
https://web.dev/cq-stable/
🔥15👍3😁1
#презентация дня
Пожалуй, буду вводить новый тег. На статью это не тянет, тег #видео не всегда подходит, потому что я больше люблю читать текстовое представление презентаций, чем смотреть видео.
Итак, что у нас сегодня? А сегодня у нас прекрасное. Презентация Ивана Акулова с конференции 3perf: React Concurrency, Explained.
Сразу ссылка: https://3perf.com/talks/react-concurrency/
Рассмотренные топики:
1. React 17 и блокирующее выполнение
2. То же, но в React 18
3. useTransition()
4. <Suspense>
5. Проблемы
Демки тоже включены 🙂
В общем, это прям лучший транскриб, что я видел на данный момент. Очень удобно.
#react #concurrency #suspense
Пожалуй, буду вводить новый тег. На статью это не тянет, тег #видео не всегда подходит, потому что я больше люблю читать текстовое представление презентаций, чем смотреть видео.
Итак, что у нас сегодня? А сегодня у нас прекрасное. Презентация Ивана Акулова с конференции 3perf: React Concurrency, Explained.
Сразу ссылка: https://3perf.com/talks/react-concurrency/
Рассмотренные топики:
1. React 17 и блокирующее выполнение
2. То же, но в React 18
3. useTransition()
4. <Suspense>
5. Проблемы
Демки тоже включены 🙂
В общем, это прям лучший транскриб, что я видел на данный момент. Очень удобно.
#react #concurrency #suspense
🔥8
#статья дня
А приходилось ли тебе когда-нибудь, дорогой мой друг, верстать по утрам рамочки для всякой ерунды?
Нет? А вот мне приходилось... то ещё ощущение. Но есть вероятность, что понадобится и тебе.
Итак, какие есть варианты, помимо просто картинок?
1. Сочетать градиенты
2. border-image
3. SVG data-uri
4. Маскирование
5. Houdini API
6. Ну и далее везде — SVG.
Всё это есть в статье Шарлотты Дан «Fancy frames with css»: https://charlottedann.com/article/fancy-frames-with-css
Примеры крутые, пользуемся.
#css #frame #gradient
А приходилось ли тебе когда-нибудь, дорогой мой друг, верстать по утрам рамочки для всякой ерунды?
Нет? А вот мне приходилось... то ещё ощущение. Но есть вероятность, что понадобится и тебе.
Итак, какие есть варианты, помимо просто картинок?
1. Сочетать градиенты
2. border-image
3. SVG data-uri
4. Маскирование
5. Houdini API
6. Ну и далее везде — SVG.
Всё это есть в статье Шарлотты Дан «Fancy frames with css»: https://charlottedann.com/article/fancy-frames-with-css
Примеры крутые, пользуемся.
#css #frame #gradient
👍16🔥2❤1
#ссылка дня
Matt Pocock, автор отличных обучалок и интересных подсказок по использованию Typescript опубликовал очень полезную библиотеку https://github.com/total-typescript/ts-reset, которая закроет недостатки вывода стандартных описаний типов.
Сам он ее сравнивает с решениями по сбросу CSS, но в данном случае все намного интереснее.
Наверняка вам часто приходилось выносить в модуль парсинг JSON и отдельно явно указывать вывод, либо просто "глушить вывод" по-месту... а что если вам не нужно больше этого делать и лишь один раз указать волшебный импорт?
А хотите, нормальный вывод Array.filter в случае приведения к булевому значению?
Всё это и еще сверху описано в репозитории с примерами.
#подписчик #typescript
Matt Pocock, автор отличных обучалок и интересных подсказок по использованию Typescript опубликовал очень полезную библиотеку https://github.com/total-typescript/ts-reset, которая закроет недостатки вывода стандартных описаний типов.
Сам он ее сравнивает с решениями по сбросу CSS, но в данном случае все намного интереснее.
Наверняка вам часто приходилось выносить в модуль парсинг JSON и отдельно явно указывать вывод, либо просто "глушить вывод" по-месту... а что если вам не нужно больше этого делать и лишь один раз указать волшебный импорт?
import "@total-typescript/ts-reset/json-parse";
const result = JSON.parse("{}"); // unknown
А хотите, нормальный вывод Array.filter в случае приведения к булевому значению?
import "@total-typescript/ts-reset/filter-boolean";
const filteredArray = [1, 2, undefined].filter(Boolean); // number[]
Всё это и еще сверху описано в репозитории с примерами.
#подписчик #typescript
👍6
#учебник дня
А вы знаете, что вчера произошло? Да нет, не знаете. Наверное.
А вчера были выпущены завершающие модули учебника от деврелов Google Chrome с удивительным названием «Learn HTML!»: https://web.dev/learn/html/
Пресс-релиз от Рейчел Эндрю: https://web.dev/learn-html-available/
Вообще, у них много разных учебников, даже отдельный по картинкам есть, ибо это нынче непросто: https://web.dev/learn/
Дерзайте, котаны и котанессы.
#book #course #learn #html
А вы знаете, что вчера произошло? Да нет, не знаете. Наверное.
А вчера были выпущены завершающие модули учебника от деврелов Google Chrome с удивительным названием «Learn HTML!»: https://web.dev/learn/html/
Пресс-релиз от Рейчел Эндрю: https://web.dev/learn-html-available/
Вообще, у них много разных учебников, даже отдельный по картинкам есть, ибо это нынче непросто: https://web.dev/learn/
Дерзайте, котаны и котанессы.
#book #course #learn #html
👍13
This media is not supported in your browser
VIEW IN TELEGRAM
#ссылка дня
Когда-то давно мы с Виталием Киренковым, автором канала «Просто: разработка» (в телеге и на ютубе) запилили красивый анимированный переключатель тем в браузере.
Причём, трёхпозиционный: авто, день, ночь. Получилось красиво, но я не смог выжать адекватную работу, без моргания, на мобильных устройствах. Так что в продакшен (на сайт канала) так и не пошло.
Вот оно, если кому интересно: https://codepen.io/alinaki/pen/gOLzbQE
Так вот, ссылка дня — это коллекция анимированных переключателей попроще. Скажем так, сильно попроще: https://toggles.dev/
Но их много, они оттестированные и довольно симпатичные.
Пользуемся.
#switch #dark #light
Когда-то давно мы с Виталием Киренковым, автором канала «Просто: разработка» (в телеге и на ютубе) запилили красивый анимированный переключатель тем в браузере.
Причём, трёхпозиционный: авто, день, ночь. Получилось красиво, но я не смог выжать адекватную работу, без моргания, на мобильных устройствах. Так что в продакшен (на сайт канала) так и не пошло.
Вот оно, если кому интересно: https://codepen.io/alinaki/pen/gOLzbQE
Так вот, ссылка дня — это коллекция анимированных переключателей попроще. Скажем так, сильно попроще: https://toggles.dev/
Но их много, они оттестированные и довольно симпатичные.
Пользуемся.
#switch #dark #light
❤12