Люблю решать сложные задачки
или форматирование данных в Antd
Недавно общались со знакомой, ей нужна была помощь с форматированием данных в поле ввода. Суть в чем — у Antd есть свой встроенный форматер для ввода данных, но он довольно криво работает. И вот у знакомой возникла с ним проблема.
Сам с этим когда-то сталкивался. И пару раз выручал коллег на работе. Так что проблема достаточно распространённая. Делюсь решением:
1. Выносим форматирование в отдельную функцию
2. В инпут вставляем эту функцию
3. На ончендж сетаем в стейт новое значение, не забыв его обратно отформатировать
4. …
5. Профит!
Потестить решение в кодсандбоксе
или форматирование данных в Antd
Недавно общались со знакомой, ей нужна была помощь с форматированием данных в поле ввода. Суть в чем — у Antd есть свой встроенный форматер для ввода данных, но он довольно криво работает. И вот у знакомой возникла с ним проблема.
Сам с этим когда-то сталкивался. И пару раз выручал коллег на работе. Так что проблема достаточно распространённая. Делюсь решением:
1. Выносим форматирование в отдельную функцию
2. В инпут вставляем эту функцию
3. На ончендж сетаем в стейт новое значение, не забыв его обратно отформатировать
4. …
5. Профит!
Потестить решение в кодсандбоксе
🐳1
Люблю решать интересные и сложные задачки
Наткнулся на днях на задачку про программиста и сто дверей:
В самой задаче дано 2 решения, как решали бы математики и как решали бы программисты на питоне. Но программисты там почему-то глупые — не пользуются математическим решением и совсем не думают о быстродействии.
Поэтому стало интересно решить эту задачу на JS, и использовать для ее решения минимальное число операций. Делюсь тем, что получилось ↑
А вот тут можно потыкать код
Наткнулся на днях на задачку про программиста и сто дверей:
Перед программистом сто закрытых дверей. Он проходит все двери, столько раз, сколько всего дверей. Если номер двери кратен номеру прохода, то меняет ее состояние: закрытую открывает, а открытую — закрывает. Нужно сказать какие двери останутся открытые.
В самой задаче дано 2 решения, как решали бы математики и как решали бы программисты на питоне. Но программисты там почему-то глупые — не пользуются математическим решением и совсем не думают о быстродействии.
Поэтому стало интересно решить эту задачу на JS, и использовать для ее решения минимальное число операций. Делюсь тем, что получилось ↑
А вот тут можно потыкать код
👍1🦄1
Использование только определенных браузеров
История с использованием только конкретных браузеров, кажется странной и непонятной. Особенно если это какой-то локальный браузер, построенный на чужих технологиях. Вот что такого есть в АПИ Яндекс браузера, чего нет в Chrome, Brave или Arc?
Кто не знает, все эти браузеры построены на движке Chromium, а значит, под капотом используют одно и то же АПИ. Значит, и сайты на них будут работать одинаково.
Вообще, это странная история, использовать технологии, которые не будут адекватно работать в других браузерах. Да, конечно, у нас есть caniuse, чтобы смотреть, все ли браузеры используют новые АПИ. Но вот что такого в последнее время выходило, без чего нельзя обойтись на фронте?
Все последние апишки не то чтобы сильно ускоряют работу. Максимум, что они могут принести — ускорение на пару миллисекунд и сокращение кода на пару строк. Если у вас логика на сайте отрабатывает дольше 50 мс — проблема не в отсутствии нового АПИ, а в дерьмовом коде.
Что такое использует лэндинг медклиники, без чего он не может обойтись? Все, что нужно от их сайта —
Короче, пишите нормальный код, а не упарывыйтесь в технологи.
История с использованием только конкретных браузеров, кажется странной и непонятной. Особенно если это какой-то локальный браузер, построенный на чужих технологиях. Вот что такого есть в АПИ Яндекс браузера, чего нет в Chrome, Brave или Arc?
Кто не знает, все эти браузеры построены на движке Chromium, а значит, под капотом используют одно и то же АПИ. Значит, и сайты на них будут работать одинаково.
Вообще, это странная история, использовать технологии, которые не будут адекватно работать в других браузерах. Да, конечно, у нас есть caniuse, чтобы смотреть, все ли браузеры используют новые АПИ. Но вот что такого в последнее время выходило, без чего нельзя обойтись на фронте?
Все последние апишки не то чтобы сильно ускоряют работу. Максимум, что они могут принести — ускорение на пару миллисекунд и сокращение кода на пару строк. Если у вас логика на сайте отрабатывает дольше 50 мс — проблема не в отсутствии нового АПИ, а в дерьмовом коде.
Что такое использует лэндинг медклиники, без чего он не может обойтись? Все, что нужно от их сайта —
<input type="tel" />, чтобы телефон кликабельный был и форма обратной связи. Если не писать сложную валидацию полей, можно даже без JS обойтись. И грузить весь сайт за 100-200 мсКороче, пишите нормальный код, а не упарывыйтесь в технологи.
😁1🤔1🦄1
Еще один браузер не как у всех
Мне тут пришла в голову мысль – разработчикам нужен браузер, который содержит в себе только те методы и API, которые гарантировано есть во всех остальных браузерах
Если вся разработка будет вестись под него, то мы никогда не столкнемся с тем, что в каком-то браузере что-то не работает
Мне тут пришла в голову мысль – разработчикам нужен браузер, который содержит в себе только те методы и API, которые гарантировано есть во всех остальных браузерах
Если вся разработка будет вестись под него, то мы никогда не столкнемся с тем, что в каком-то браузере что-то не работает
😁2👀1💘1
В обновлениях лучше ничего не писать, чем писать такой бред
Если вы обновляете приложение, то значит этим обновлением вы либо закрываете какую-то задачу пользователя, например фиксите багу, либо выкатываете новую фичу.
И об этом принято сообщать пользователю, чтобы он понимал, что получит от обновления. Может ему и старой версии достаточно.
Как видим команда яндекс музыки не делает ни того ни другого, за то ртом ловит снежинки. Зачем сообщать об этом пользователю не понятно. Пользователь и так видит, что команда яндекс музыки ничего не делает.
А могли бы наконец сделать удобное создание плейлистов
Если вы обновляете приложение, то значит этим обновлением вы либо закрываете какую-то задачу пользователя, например фиксите багу, либо выкатываете новую фичу.
И об этом принято сообщать пользователю, чтобы он понимал, что получит от обновления. Может ему и старой версии достаточно.
Как видим команда яндекс музыки не делает ни того ни другого, за то ртом ловит снежинки. Зачем сообщать об этом пользователю не понятно. Пользователь и так видит, что команда яндекс музыки ничего не делает.
А могли бы наконец сделать удобное создание плейлистов
🙏2☃1🌭1
Forwarded from ProIT Fest
📅 Сделали удобное расписание мероприятия, которое можно установить на телефон как приложение.
Что внутри:
• актуальное расписание всех секций.
• ⭐ возможность собрать свое личное расписание через «Избранное»
• 🗺️ карта этажей с расположением секций и аудиторий.
• 📱 установка на главный экран.
• 📶 работа даже без интернета после первого открытия.
Открыть расписание можно по ссылке.
Если добавите сайт на главный экран, он будет открываться почти как обычное приложение — быстро и в один тап.
А кому нужно скачать программу, можно загрузить с основного сайта.
Что внутри:
• актуальное расписание всех секций.
• ⭐ возможность собрать свое личное расписание через «Избранное»
• 🗺️ карта этажей с расположением секций и аудиторий.
• 📱 установка на главный экран.
• 📶 работа даже без интернета после первого открытия.
Открыть расписание можно по ссылке.
Если добавите сайт на главный экран, он будет открываться почти как обычное приложение — быстро и в один тап.
А кому нужно скачать программу, можно загрузить с основного сайта.
❤3
Это приложение для расписания сделал я.
Каждые полгода возвращаюсь к нему и что-нибудь допиливаю. В этот раз добавил офлайн-режим и возможность установить приложение на главный экран.
В текущих реалиях офлайн уже сложно назвать избыточной функцией. После первого открытия расписание продолжит работать даже без интернета.
Такие проекты позволяют выйти за рамки привычного стека. На работе я тоже выбираю инструменты сам, но они должны вписываться в существующий стек. Здесь же таких ограничений нет. Можно взять другой стек, посмотреть, какие задачи он решает лучше, а заодно лучше понять сильные и слабые стороны разных подходов.
Через полгода снова вернусь к этому проекту. За это время накопилось достаточно идей, чтобы переписать его на другом стеке и сделать более универсальным
Каждые полгода возвращаюсь к нему и что-нибудь допиливаю. В этот раз добавил офлайн-режим и возможность установить приложение на главный экран.
В текущих реалиях офлайн уже сложно назвать избыточной функцией. После первого открытия расписание продолжит работать даже без интернета.
Такие проекты позволяют выйти за рамки привычного стека. На работе я тоже выбираю инструменты сам, но они должны вписываться в существующий стек. Здесь же таких ограничений нет. Можно взять другой стек, посмотреть, какие задачи он решает лучше, а заодно лучше понять сильные и слабые стороны разных подходов.
Через полгода снова вернусь к этому проекту. За это время накопилось достаточно идей, чтобы переписать его на другом стеке и сделать более универсальным
❤3