Все боятся регулярок как огня, хотя это вполне простая штука, которую можно освоить за минут 30-40. Внезапно, в этом хорошо помогает универ, а конкретно курс теории формальных языков. Для примера можете глянуть вот эту статью. https://www.hse.ru/data/2013/02/24/1306622858/cc-1-automata.pdf Хотя в каждом из универов есть хороший набор прикладных материалов для изучения подобного(советую материалы ВМК МГУ, там всё ок, так как я там учился).
Главный вывод из статью такой: любая регулярка - это конечный автомат. А как мы записываем конечные автоматы? Верно в виде графов. И эта визуализация неплохо помогает работать с регулярками. И даже есть неплохой сервис, который делает это debuggex.com.
К примеру, есть нечитаемое выражение (/\*)|(\\\*)|(<=)|(>=), которое хрен знает что значит. Но если его нарисовать, то всё становится понятно.
Не бойтесь регулярок. Достаточно потратить минут 30-40, чтобы изучить синтаксис и поиграться с деревьями. Дальше будет всё просто
Главный вывод из статью такой: любая регулярка - это конечный автомат. А как мы записываем конечные автоматы? Верно в виде графов. И эта визуализация неплохо помогает работать с регулярками. И даже есть неплохой сервис, который делает это debuggex.com.
К примеру, есть нечитаемое выражение (/\*)|(\\\*)|(<=)|(>=), которое хрен знает что значит. Но если его нарисовать, то всё становится понятно.
Не бойтесь регулярок. Достаточно потратить минут 30-40, чтобы изучить синтаксис и поиграться с деревьями. Дальше будет всё просто
👍3💩2💅1
TIL css неплохо так помогает при написании js кода.
Я разрабатываю приложение, которое, так сказать, может кастомизироваться. И, у нас в кастомизации есть такая хотелка от заказчика: если окно шире такого-то размера, то нужно делать одну логику, иначе - другую.
Ну я и написал по-старинке что-то типа как на картинке 1.
Да, на каждый кадр тратим cpu, чтобы проверить норм нам или нет.
Я разрабатываю приложение, которое, так сказать, может кастомизироваться. И, у нас в кастомизации есть такая хотелка от заказчика: если окно шире такого-то размера, то нужно делать одну логику, иначе - другую.
Ну я и написал по-старинке что-то типа как на картинке 1.
Да, на каждый кадр тратим cpu, чтобы проверить норм нам или нет.
💩2🖕1
Но, внезапно, эту штуку можно перенести на плечи css через
window.matchMedia(any media query).
В итоге код превратился в более приятную штуку(см. картинку 2).
Теперь все проверки переложены на css, который, по идее, должен работать лучше чем наш js код. Как минимум не забирать cpu в мейнтреде, когда это не требуется.
window.matchMedia(any media query).
В итоге код превратился в более приятную штуку(см. картинку 2).
Теперь все проверки переложены на css, который, по идее, должен работать лучше чем наш js код. Как минимум не забирать cpu в мейнтреде, когда это не требуется.
👍3💩2💅1
TIL в exports для тайпингов можно задавать версию ts. https://github.com/DefinitelyTyped/DefinitelyTyped/blob/bd28a854c712dd45cd6e224a1571d2395e91dcf3/types/react/package.json#L9
Возможно, для костылей при переходе между версиями ts'а пригодится
Возможно, для костылей при переходе между версиями ts'а пригодится
👍2💩2💅1
Недавно у нас в команде были споры по поводу кодстайла(да, в 2023 году). Нашёл хорошую статью по поводу этой проблемы https://typenoscript-eslint.io/linting/troubleshooting/formatting/
typenoscript-eslint.io
What About Formatting? | typenoscript-eslint
We recommend against using ESLint for formatting.
💩2💅1
Сегодня у меня возникла микрозадачка: проверить как работает библиотека "qs" на некоторых корнеркейсах, чтобы иметь возможность выпилить её в пользу URLSearchParams.
Оказывается, в npm на странице любой библиотеки есть кнопочка "try on runkit". После чего можно играть с библиотекой как тебе хочется. Очень удобно
Оказывается, в npm на странице любой библиотеки есть кнопочка "try on runkit". После чего можно играть с библиотекой как тебе хочется. Очень удобно
👍3💩2🎉1
Андруша пишет код
Сегодня у меня возникла микрозадачка: проверить как работает библиотека "qs" на некоторых корнеркейсах, чтобы иметь возможность выпилить её в пользу URLSearchParams. Оказывается, в npm на странице любой библиотеки есть кнопочка "try on runkit". После чего…
Так же посоветовали аналог https://www.val.town/
💩2💯1
https://www.youtube.com/watch?v=4B2Nbxrz-Uw
Вполне неплохое видео, чтобы понять реактивность.
Сразу предупреждаю, что надо фильтровать в голове все обидки и "аксиомы", которые толкает автор. Но в остальном - неплохой воркшоп
Вполне неплохое видео, чтобы понять реактивность.
Сразу предупреждаю, что надо фильтровать в голове все обидки и "аксиомы", которые толкает автор. Но в остальном - неплохой воркшоп
YouTube
Препарируем Effector и находим родовые травмы
Столько обещаний, но..
- Линейная бизнес-логика превращается в лапшу.
- Много бойлерплейта с ручным приводом.
- Деградация производительности по мере роста приложения.
- Нестабильная работа при возникновении исключения.
- Легко допустить конфликт инвариантов…
- Линейная бизнес-логика превращается в лапшу.
- Много бойлерплейта с ручным приводом.
- Деградация производительности по мере роста приложения.
- Нестабильная работа при возникновении исключения.
- Легко допустить конфликт инвариантов…
✍2💩2🦄1
Иногда нужно передать файл с одной машины на другую, но нет доступа по ssh, из-за чего scp нельзя использовать. Если не слишком параноики, то можно использовать https://transfer.sh. Очень удобная штука
А если же параноик, то никто не мешает зашифровать файл перед загрузкой на их сервис.
А если же параноик, то никто не мешает зашифровать файл перед загрузкой на их сервис.
🔥4💩2💅1
Последнее время часто люди спрашивают школу, через которую РЕАЛЬНО можно научиться фронту с нуля. Такое, внезапно, есть: rs.school.
Бесплатно, долго, через труд. Но я рекомендую, так как у людей нет цели выкачать из вас деньги. Всё на энтузиазме.
Так же если захочется поменторить, то там всегда требуются менторы. Рекомендую. Тоже хороший опыт. Только советую не брать много людей. 2-3 оптимально. Больше - будете просто умирать от нагрузки
Бесплатно, долго, через труд. Но я рекомендую, так как у людей нет цели выкачать из вас деньги. Всё на энтузиазме.
Так же если захочется поменторить, то там всегда требуются менторы. Рекомендую. Тоже хороший опыт. Только советую не брать много людей. 2-3 оптимально. Больше - будете просто умирать от нагрузки
🔥4💩2👍1💅1