The Art of Development. Channel
399 subscribers
133 photos
32 videos
1 file
167 links
YouTube канал с роликами по разработке: https://www.youtube.com/c/TheArtofDevelopment

Группа для общения: https://t.me/theartofdevel
Download Telegram
Какая же красота в ReactJS по сравнению с VueJS.

Задача:
Есть форма (создание большой сущности, полей в 40), которую надо разбить по компонентам.

Как это задача решается в VueJS?
1. vuelidate - которая заставляет тебя описывать валидацию отдельным объектом, а если это разные компоненты, то придется разбиваться валидацию на разные объекты и через события и методы собирать это все в один объект, морочится с $anyError и $anyDirty и так далее.

2. veelidate - которая также заставляет описать объект схемы, а не использования Composition API просто заставляет использовать свои компоненты (для 3 версии VueJS), для 2 версии там все надо обернуть в ValidationProvider


Как это решается в ReactJS? - react-hook-form и userFormContext.

1. Описываете всю форму в рутовом компоненте:
const methods = useForm<CreateTaskDTO>({})
2. Оборачиваете всю форму (включая подключаемые компоненты) в
<FormProvider {...methods}>
3. Используете все те же методы из контекста формы:
const {register, formState: {errors}} = useFormContext();

Кра-со-та!
👍62💩1
Ну что, первый пулл был смержен
https://github.com/theartofdevel/production-service/pull/1

К третьей части рубрики Production Service сделаю еще больше задач.
В продолжении вчерашней беседы касательно мультиязычности или двуязычности.

Как мы уже выяснили есть несколько категорий приложений.

World-wide application - то есть приложение с рынком по всему миру, например по продаже NFT токенов для фотографий голых кошек. Как вы думаете, поддержку скольких языков выгодно сделать на этапе MVP для такого приложения? Ключевое слово выгодно. Я считаю, что 1 и это английский. Быстро создаем MVP с 1 языком и проверяем гиппотезу. А если хотим проверить гипотезу на рынке китая, MVP все еще будет с 1 языком - китайским и проверяем гипотезу. Предположим провал (в 97% случаях) и мы счиатем что провал из-за особенностей рынка, переводим приложение китайский --> русский и выходим на русский рынок и проверяем гипотезу. Гипотеза удалась, мы вышли на рынок получаем прибыль. Далее нам надо выйти на новый рынок, Индонезия, что надо сделать с архитектурой приложения? Ничего. У нас были поля name, description, а теперь полей больше, name_indonesia, name_russia, description_russia, description_indonesia.
Таких стран и рынков будет вряд ли больше 1-2-3, а значит и полей будет не огромное количество и если что, их всегда можно спрятать в JSONB.

Если же мы говорим про приложения, для которых язык является ключевой фишкой, например отзывы по мировым отелям (привет tripadvisor), делать на уровне MVP поддержку миллиарда таблиц с языками я бы также не стал, так как MVP это почти всегда монолит. Я бы также сделал 1-2 языка, а уже после упешной гипотезы и аналитики стал бы делать разные микросервисы с отзывами на разных языках - то есть разнес бы языки по разным БД, а не по таблицам.

Итого: делать сразу мультиязычный я не вижу никакого смысла. Так как либо твое приложение будет иметь 1-2 языка, либо все языки мира, но это уже точно не в рамках одной БД, а такую архитекутуру создавать сразу, на этапе MVP или прототипа, или PoC'a я не вижу смысла, ни экономического, ни архитектурного.
🔥8👍3🤯1
https://zomro.com

Перестаёт принимать QIWI к оплате за хостинг с 18 мая - мне письмо пришло.

Все еще остаётся возможность оплатить через UnionPay и крипту.

Я через UP пробовал - мне на телефон код не приходил. Пробовал 10 раз.
👍2
Третья часть разработки production платформы e-commerce на Golang.

Теперь все задачи для подписчиков оформлены в виде Issue на GitHub. Вся информация в ролике и в описании. Приятного просмотра!

https://youtu.be/JYvWu-7vKY8
🔥12
Посмотрите какую красоту навоял @aintsashqa в Pull Request для фильтрации и сортировки. Код подробно еще не смотрел, постараюсь на выходных и обсудить.

https://github.com/theartofdevel/production-service/pull/12

Welcome обсуждать, проведите Code Review и напишите комментарий!

P.S. придираться к пуговицам не надо.
👍9🔥1
Forwarded from Kaznacheev Feed
Периодически встречаю вопросы, где и как держать логгер в Go приложении. Вопрос действительно неоднозначный, и идеального решения, кажется, нет.
За время работы на разных проектах я видел разные варианты, и даже придумал свои. О чем и написал статью.
🔥5
Давайте разберемся с CORS и больше не будем страдать.

ДРУЖБА GOLANG И REACTJS! НАСТРАИВАЕМ CORS

https://youtu.be/VY8thJoSw9E
👍12
Кто хочет проверить свои силы в ремонте бытовой техники, далеко ходить не надо. Регистрируемся здесь (https://remont-aud.net/tests/) и проходим тест после регистрации.


А вы говорите, капча, капча.

Нашел и сдал тест: @Сергей
Вышел убиииийца VScode. Но ссылка на скачивание отдает 500. Кто скачает - пришлите в канал дистр пожалуйста)
https://zed.dev/releases
Коротко про:

gRPC + buf.build + Golang
Кодогенерация!

Без предисловий и вступлений, сразу к практики.
Для теории будет отдельное видео: “Что такое gRPC за 200 секунд”

Приятного просмотра!

https://youtu.be/Yf7ZZdrQ7Bc
👍18
Сделал middleware JWT для gRPC и сделал фильтрацию и сортировку для списочных методов, ну типа получить список пользователей. И короче, это заняло часа 2, но это было гораздо проще, чем все тоже самое для HTTP ручек.

Я не говорю что gRPC какая то серебряная пуля, но в очередной раз я понимаю что я евангелист и меня прям прет от чего-то нового и что упрощает рутину.

Теперь будем думать о развитии и развивать gRPC!
👍10🔥1
а ещё чуть не забыл.

поздравляю всех коллег с днём сисадмина! единожды админ - на всю жизнь админ!

моя icq: 858683
мой IRC: unload
мой DC is Strong DC!
👏6🔥3👍1
у кого еще есть сомнения по поводу будущего AI и чему надо обучать своих детей?)