А вы знали что
на самом деле это "больше или ровно", и "меньше или равно".
Так что если вам нужен переход из одного медиа запроса в другой, писать надо например вот так
Update:
@inoyakaigor подсказывает что с использованием css-media-range-syntax можно еще вот так:
Очень круто, спасибо!
#css
@media (min-width: 600px) {...} и @media (max-width: 600px) {...}на самом деле это "больше или ровно", и "меньше или равно".
Так что если вам нужен переход из одного медиа запроса в другой, писать надо например вот так
@media (min-width: 599px) {...} и @media (max-width: 600px) {...}Update:
@inoyakaigor подсказывает что с использованием css-media-range-syntax можно еще вот так:
@media (width >= 600px) {...}
@media (width < 600px) {...}Очень круто, спасибо!
#css
Caniuse
"css-media-range-syntax" | Can I use... Support tables for HTML5, CSS3, etc
"Can I use" provides up-to-date browser support tables for support of front-end web technologies on desktop and mobile web browsers.
👍4
Вчера прошло 10 лет с тех пор как vue.js появился в публичном доступе
🎉2
Наверное ничто меня так не раздражает в кодовой базе как компоненты обьявленные через
И даже если отбросить полу-субьективные пункты, все равно остается одна большая проблема с тем что дженерики ломаются.
Так зачем же люди продолжают жрать кактус...
P.S. нет, запятая после аргумента в дженерике не помогает в vscode
const.И даже если отбросить полу-субьективные пункты, все равно остается одна большая проблема с тем что дженерики ломаются.
Так зачем же люди продолжают жрать кактус...
P.S. нет, запятая после аргумента в дженерике не помогает в vscode
Stack Overflow
What is the syntax for Typenoscript arrow functions with generics?
The typenoscript handbook currently has nothing on arrow functions. Normal functions
can be generically typed with this syntax:
example:
function identity<T>(arg: T): T {
return arg;
}
Wha...
can be generically typed with this syntax:
example:
function identity<T>(arg: T): T {
return arg;
}
Wha...
😢2
Читаю новости и часто попадаются истории про обманутых бабушек у которых телефонные мошенники украли то 150 000 евро, то 260 000, а последняя новость вот 760 000 евро отложенных с пенсии увели.
Обалдеть. У меня тоже такая пенсия будет???
Обалдеть. У меня тоже такая пенсия будет???
В некоторых странах европы и не только, есть такая штука как почтомат.
После перезда из беларуси в польшу я был удивлен насколько эта штука делает удобнее мою жизнь.
И не только мою, компания inPost которой принаделжит большая часть почтоматов - переслыает 745 миллионов посылок в год.
Но вот странная вещь - в беларуси сначала попробовали поставить почтоматы, но спустя 7 лет инциативу свернули так как никто не пользуется.
И это идеальный случай чтобы показать нам какую важную роль играет UX в продукте.
Технически все аналогично - есть приложение, есть метлический "шкаф" с дверцами который выглядит так же, словно делали на том же самом заводе, есть посылки.
Разница только в сценариях использования, давайте сравнивать.
В Польше:
1. Почтомат в 10 минутах ходьбы от вашего дома, где-то возле магазина в который вы ходите каждый день.
2. Работает круглосуточно, без выходных
Итоговый UX - к почтомату идти ближе чем к почте, как правило я вобще туда специально не хожу а забираю все по дороге пока иду в магазин / гуляю с псом.
Это так же удобнее и быстрее чем ждать курьера и согласовывать с ним время
В Беларуси:
1. Почтоматов 40 шт. на всю республику
2. Они стоят внутри почтовых отделений
Итоговый UX - нафига они вобще нужны, если я уже пришел на почту, в день и время когда она открыта
(P.S. Любопытно как сама белпочта говорит о назначении почтоматов - "должны были разгрузить работников почты". Т.е. они не для людей их ставили, а для работников почты, получается)
Выводы делайте сами
После перезда из беларуси в польшу я был удивлен насколько эта штука делает удобнее мою жизнь.
И не только мою, компания inPost которой принаделжит большая часть почтоматов - переслыает 745 миллионов посылок в год.
Но вот странная вещь - в беларуси сначала попробовали поставить почтоматы, но спустя 7 лет инциативу свернули так как никто не пользуется.
И это идеальный случай чтобы показать нам какую важную роль играет UX в продукте.
Технически все аналогично - есть приложение, есть метлический "шкаф" с дверцами который выглядит так же, словно делали на том же самом заводе, есть посылки.
Разница только в сценариях использования, давайте сравнивать.
В Польше:
1. Почтомат в 10 минутах ходьбы от вашего дома, где-то возле магазина в который вы ходите каждый день.
2. Работает круглосуточно, без выходных
Итоговый UX - к почтомату идти ближе чем к почте, как правило я вобще туда специально не хожу а забираю все по дороге пока иду в магазин / гуляю с псом.
Это так же удобнее и быстрее чем ждать курьера и согласовывать с ним время
В Беларуси:
1. Почтоматов 40 шт. на всю республику
2. Они стоят внутри почтовых отделений
Итоговый UX - нафига они вобще нужны, если я уже пришел на почту, в день и время когда она открыта
(P.S. Любопытно как сама белпочта говорит о назначении почтоматов - "должны были разгрузить работников почты". Т.е. они не для людей их ставили, а для работников почты, получается)
Выводы делайте сами
👍9
Сейчас все пытаются угадать как AGI и LLM изменят нашу жизнь? У меня тоже есть на эту тему есть соображение.
А именно, как измениться написание кода и библиотек?
Я не склонен думать что в будущем код писать станет не нужно. Но, рано или поздно, в каждом серьезном проекте будет собираться отдельная кастомная инсталяция чтобы помогать его писать.
И, почти наверняка, появится отдельная професия, что-то вроде девопсов, но для AI. Для тех кому интересны детали, далее я распишу как именно это будет проиходить и почему.
—
Вы наверняка уже заметили что ChatGPT и его аналоги отлично понимают код написанный на популярных ЯП (языках программирования) без использования библиотек.
Вы можете попросить расказать что этот код делает и получить подробное обьяснение, попросить AI протестировать этот код и получить полный набор готовых тестов, документации и даже типов!
Но, как только мы даем реальный код проекта - это перестает работать так же хорошо. Чтобы понять почему так происходит, достаточно поставить себя на место разработчика который только пришел в проект -
незнакомые абстракции, незнакомые библиотеки, незнакомая архитектура приводят к тому, что нам нужно время на погружение в контекст.
Вот именно этим - погружением AI в контекст проекта - и будут заниматься эти люди, и для них будут делаться продукты, помогающие управлаять этим погружением.
Кто знает, может в будущем каждая претендующая на фреймворк библиотека будет поставлять вместе со своими типами обученную plug-and-play модель, чтобы можно было сразу получать подсказки и поправки как этой библиотекой пользоваться, а документация в принципе будет чисто формальным артефактом прошлого. По крайней мере можно точно сказать что у таких фреймворков будет серьезное конкурентное преимущество
P.S. В комментариях спосили - почему просто не обучить AI на сушествушем проекте.
Ответ:
Нужного кода там может просто не оказаться.
То есть вобще, если мы только начали проект, или используем только что установленную библиотеку.
Ну или код есть, но не тот. если это легаси которое мы хотим переписать а не размножать
А именно, как измениться написание кода и библиотек?
Я не склонен думать что в будущем код писать станет не нужно. Но, рано или поздно, в каждом серьезном проекте будет собираться отдельная кастомная инсталяция чтобы помогать его писать.
И, почти наверняка, появится отдельная професия, что-то вроде девопсов, но для AI. Для тех кому интересны детали, далее я распишу как именно это будет проиходить и почему.
—
Вы наверняка уже заметили что ChatGPT и его аналоги отлично понимают код написанный на популярных ЯП (языках программирования) без использования библиотек.
Вы можете попросить расказать что этот код делает и получить подробное обьяснение, попросить AI протестировать этот код и получить полный набор готовых тестов, документации и даже типов!
Но, как только мы даем реальный код проекта - это перестает работать так же хорошо. Чтобы понять почему так происходит, достаточно поставить себя на место разработчика который только пришел в проект -
незнакомые абстракции, незнакомые библиотеки, незнакомая архитектура приводят к тому, что нам нужно время на погружение в контекст.
Вот именно этим - погружением AI в контекст проекта - и будут заниматься эти люди, и для них будут делаться продукты, помогающие управлаять этим погружением.
Кто знает, может в будущем каждая претендующая на фреймворк библиотека будет поставлять вместе со своими типами обученную plug-and-play модель, чтобы можно было сразу получать подсказки и поправки как этой библиотекой пользоваться, а документация в принципе будет чисто формальным артефактом прошлого. По крайней мере можно точно сказать что у таких фреймворков будет серьезное конкурентное преимущество
P.S. В комментариях спосили - почему просто не обучить AI на сушествушем проекте.
Ответ:
Нужного кода там может просто не оказаться.
То есть вобще, если мы только начали проект, или используем только что установленную библиотеку.
Ну или код есть, но не тот. если это легаси которое мы хотим переписать а не размножать
👍4❤1
Нашел интереснейший стартап, идея которого лежала на поверности с самого первого дня как ChatGPT зарелизился - виртуальная резиновая уточка.
Расказываете ей про свой баг, и чат начинает вместе с вами его раскуривать. Удивительно как хорошо это работает.
Попробуйте сами, там есть триалка: brainstory.ai
Расказываете ей про свой баг, и чат начинает вместе с вами его раскуривать. Удивительно как хорошо это работает.
Попробуйте сами, там есть триалка: brainstory.ai
👍1
О, первые обзоры на прозрачный лэптоп. Я честно говоря был уверен что дальше концепта это не пойдет, но видимо ошибался
https://www.zdnet.com/article/i-went-hands-on-with-lenovos-transparent-laptop-at-mwc-and-its-surprisingly-functional/
https://www.zdnet.com/article/i-went-hands-on-with-lenovos-transparent-laptop-at-mwc-and-its-surprisingly-functional/
ZDNET
I went hands-on with Lenovo's transparent laptop at MWC, and it's surprisingly functional
The company is demoing a new ThinkBook with a transparent display at Mobile World Congress 2024, and it may just be the king of concepts.
Задача для CI/CD:
1. Скачать артефакт
2. Запустить скрипт
3. Написать сообщение в мр
С помощью GitHub я это сделал за 2 - 2,5 часа - по сути подключение трех экшенов из маркетплейса
С помощью гитлаба - два полных рабочих дня а воз и ныне там. Маркетплейс не существует как явление, это ладно, но столько багов найти за такое короткое время это просто феноменально.
- Уже на этапе логина оказалось что сброс пароля сломан.
- CI токен не позволяет пользоваться апи для добавления комментариев.
Не смотря на то что по документации он получает все те же права что запустивший джобу.
Баге уже год.
- Использование одной фичи ломает другие. Needs ломает depends, а manual джобы вообще исчезают словно их и не было никогда. 0 упоминаний в доке. Нескончаемые потоки боли и ненависти в Гугле.
- апи для скачивания артефактов выдает 404 на существующий артефакт который я могу скачать через UI. При этом та же апи позволяет скачать любой другой артефакт. Я проверял каждую букву и был уверен такого не может быть и это я где то ошибся. Нет, я все делаю правильно, скорее всего опять какая-то никак не связана фича которую я использовал все сломала.
Люди которые считают что gitlab это то чем можно пользоваться либо ничего сложнее запуска трёх джоб на пуш не делали, либо никогда не использовали ничего кроме него.
1. Скачать артефакт
2. Запустить скрипт
3. Написать сообщение в мр
С помощью GitHub я это сделал за 2 - 2,5 часа - по сути подключение трех экшенов из маркетплейса
С помощью гитлаба - два полных рабочих дня а воз и ныне там. Маркетплейс не существует как явление, это ладно, но столько багов найти за такое короткое время это просто феноменально.
- Уже на этапе логина оказалось что сброс пароля сломан.
- CI токен не позволяет пользоваться апи для добавления комментариев.
Не смотря на то что по документации он получает все те же права что запустивший джобу.
Баге уже год.
- Использование одной фичи ломает другие. Needs ломает depends, а manual джобы вообще исчезают словно их и не было никогда. 0 упоминаний в доке. Нескончаемые потоки боли и ненависти в Гугле.
- апи для скачивания артефактов выдает 404 на существующий артефакт который я могу скачать через UI. При этом та же апи позволяет скачать любой другой артефакт. Я проверял каждую букву и был уверен такого не может быть и это я где то ошибся. Нет, я все делаю правильно, скорее всего опять какая-то никак не связана фича которую я использовал все сломала.
Люди которые считают что gitlab это то чем можно пользоваться либо ничего сложнее запуска трёх джоб на пуш не делали, либо никогда не использовали ничего кроме него.
Случайно накнулся на статью о том что еще в 2020 году в лабороториях уже научились читать и гонять по нейронам мозга OR, AND и даже XOR сигналы так как это делает наш мозг.
Прикинули даже количество герц - 4.6 ± 1.7 Hz
https://www.science.org/doi/10.1126/science.aax6239
Прикинули даже количество герц - 4.6 ± 1.7 Hz
https://www.science.org/doi/10.1126/science.aax6239
Science
Dendritic action potentials and computation in human layer 2/3 cortical neurons
Dendritic action potentials extend the repertoire of computations available to human neurons.
Интересное видео, рассказывает о том как написать AI помощника который проверяет свои предложения перед тем как выдать пользователю ответ
https://youtu.be/MvNdgmM7uyc?si=7K-6pkxnNY7GhK2T
https://youtu.be/MvNdgmM7uyc?si=7K-6pkxnNY7GhK2T
YouTube
Building a self-corrective coding assistant from scratch
LangGraph makes it easy to engineer flows with various cycles and decision points. Recent work by CodiumAI has shown that this is powerful for code generation, where answers to coding questions can be constructed iteratively using using tests to check answers…
👍1
Обычно если на фронте надо показать индикатор загрузки файла, то берут XMLHttpRequest API вместо fetch.
Дело в том что в fetch нету способа получить информацию о том сколько быо загружено данных, мы можем только узнать о том, что операция была окончена успешно или нет.
А XMLHttpRequest в свою очередь имеет событие progress, которое позволяет рисовать индикатор загрузки.
И вот, сравнительно недавно в сафари и хром завезли возможность стримить запросы на бэк.
Ну т.е. можно загружать файл на бэк еще до того как он был загружен в браузер.
А еще это значит что у нас появляется возможность на этот стрим подписаться и следить за прогрессом.
Апи многословная, поэтому лучше взять библиотеку, пример:
Дело в том что в fetch нету способа получить информацию о том сколько быо загружено данных, мы можем только узнать о том, что операция была окончена успешно или нет.
А XMLHttpRequest в свою очередь имеет событие progress, которое позволяет рисовать индикатор загрузки.
const xhr = new XMLHttpRequest();
xhr.addEventListener("progress", updateProgressBar);
xhr.open("GET", url);
xhr.send();
И вот, сравнительно недавно в сафари и хром завезли возможность стримить запросы на бэк.
Ну т.е. можно загружать файл на бэк еще до того как он был загружен в браузер.
А еще это значит что у нас появляется возможность на этот стрим подписаться и следить за прогрессом.
Апи многословная, поэтому лучше взять библиотеку, пример:
const request = {
headers: {
'Content-Type': 'application/octet-stream'
},
method: 'PUT',
body: blob
}
const trackedRequest = trackRequestProgress(
request,
(progress) => {
console.log(`Uploaded ${progress.loaded} bytes out of ${progress.total ?? 'unknown'}`)
}
)
const response = await fetch("https://httpbin.org/put", trackedRequest)❤9
Впервые в жизни увидел реальный рекламный ролик linux. Вернее чего-то для linux - System76 - компания занимающаяся проивзодством железяк под него.
Вот их реклама
https://x.com/system76/status/1771975677429862892
Вот их реклама
https://x.com/system76/status/1771975677429862892
X (formerly Twitter)
System76 (@system76) on X
This catchy song has Thelio desktops on our minds! Get $100 – $300 off a new US-manufactured desktop during the Thelio Spring Sale with swappable accent panels and fast, thermal-optimized performance.
Explore Thelio:https://t.co/thst0hP2V0
Explore Thelio:https://t.co/thst0hP2V0
Все к чему прикладывает руку Evan You всегда имеет на порядок выше DX чем aналогичные решения.
- Vue с React сравнивать сложно, они совсем разные. Но точно никто не будет спорить насколько в vue проще было зайти с такой хорошей докой переведенной на все основные языке, тогда как у реакта адекватная документация появилсь сравнительно недавно.
- Vite и Webpack сравнить по-проще, vite по части DX опережает на порядки, но все же по функционалу они пока не имеют паритета (webpack умеет больше. пока что)
- Но Jest и Vitest просто грешно не сравнить в виду того что имея в основе аналогичные апи, vitest уделывает jest и по функционалу и по удобству.
Jest не только умудрились прибить гвоздями к require, что автоматически пораждает мильен костылей. И это еще можно было бы понять в контексте - все ради DX. Но какое там, даже базовые вещи делаются в Jest через жепу.
А Vitest смог сделать все на ESM, всего пару не значительных изменений и получилось удобно, понятно и быстро.
- Vue с React сравнивать сложно, они совсем разные. Но точно никто не будет спорить насколько в vue проще было зайти с такой хорошей докой переведенной на все основные языке, тогда как у реакта адекватная документация появилсь сравнительно недавно.
- Vite и Webpack сравнить по-проще, vite по части DX опережает на порядки, но все же по функционалу они пока не имеют паритета (webpack умеет больше. пока что)
- Но Jest и Vitest просто грешно не сравнить в виду того что имея в основе аналогичные апи, vitest уделывает jest и по функционалу и по удобству.
Jest не только умудрились прибить гвоздями к require, что автоматически пораждает мильен костылей. И это еще можно было бы понять в контексте - все ради DX. Но какое там, даже базовые вещи делаются в Jest через жепу.
А Vitest смог сделать все на ESM, всего пару не значительных изменений и получилось удобно, понятно и быстро.
👍3💯1