Продовжуємо нашу підтримку ЗСУ
Як я в вже писав, ми в WebbyLab віддаємо весь прибуток ЗСУ. Завдяки спільним зусиллям, нам вдається заробляти гроші для нашої армії. В цей місяць ми відправили ще 882164,82 грн (разом з початку війни вже більше 5 млн грн).
Разом до перемоги! Слава Україні! 🇺🇦💪
Як я в вже писав, ми в WebbyLab віддаємо весь прибуток ЗСУ. Завдяки спільним зусиллям, нам вдається заробляти гроші для нашої армії. В цей місяць ми відправили ще 882164,82 грн (разом з початку війни вже більше 5 млн грн).
Разом до перемоги! Слава Україні! 🇺🇦💪
👍84🔥41
Doom II й Інтерв'ю Джона Кармака
Нещодавно постив інтервью Джона Кармака. Мені дуже сподобалося й я вирішив, що настав момент зробити ретро стрім про Doom II й обговорити це інтервью. Якщо є бажання, то доєднуйтесь.
Ось анонс: https://t.me/RelaxRetroGaming/24 😎
Нещодавно постив інтервью Джона Кармака. Мені дуже сподобалося й я вирішив, що настав момент зробити ретро стрім про Doom II й обговорити це інтервью. Якщо є бажання, то доєднуйтесь.
Ось анонс: https://t.me/RelaxRetroGaming/24 😎
Telegram
Ретрогеймінг на релаксі 🕹
Стрім "Doom II" в цю п'ятницю (19-го серпня) в 19:00😎
Doom II - гра, яка заклала фундамент для 3D шутерів. Ми спробуємо оцінити геймплей Doom II з сучасної перспективи. Поговоримо трохи про історію та обговоримо нещодавнє Інтерв'ю Джона Кармака (багато…
Doom II - гра, яка заклала фундамент для 3D шутерів. Ми спробуємо оцінити геймплей Doom II з сучасної перспективи. Поговоримо трохи про історію та обговоримо нещодавнє Інтерв'ю Джона Кармака (багато…
🎉8👍3
Forwarded from Bite the Byte
Непогані шанси, що ви вже бачили — вчора вийшов новий (регулярний) випуск подкасту, з Іллєю Клімовим, з яким ми дивним чином раптово перетнулися у Києві. :)
Ілля (якщо хтось дивним чином цього не знає) — євангеліст джаваскріпта, розробник у Гітлабі (не у сенсі що він користується гітлабом, хаха), і один з небагатьох розробників в Україні з багатотисячною аудиторією на ютубі.
Він останнім часом витрачає багато енергії на волонтерство у Харкові, але розмовляли ми здебільшого про технології — багато цікавого зачепили, в тому числі і мікросервіси знов. 🤣
На подкаст-платформах 🎙
• SoundCloud 👉 https://bit.ly/3TqXfaX
• Apple Podcasts 👉 https://apple.co/3Kz44mY
• Google Podcasts 👉 https://bit.ly/3e6ANDY
Велкам дивитися, розповсюджувати, і давайте відгуки. :)
Ілля (якщо хтось дивним чином цього не знає) — євангеліст джаваскріпта, розробник у Гітлабі (не у сенсі що він користується гітлабом, хаха), і один з небагатьох розробників в Україні з багатотисячною аудиторією на ютубі.
Він останнім часом витрачає багато енергії на волонтерство у Харкові, але розмовляли ми здебільшого про технології — багато цікавого зачепили, в тому числі і мікросервіси знов. 🤣
На подкаст-платформах 🎙
• SoundCloud 👉 https://bit.ly/3TqXfaX
• Apple Podcasts 👉 https://apple.co/3Kz44mY
• Google Podcasts 👉 https://bit.ly/3e6ANDY
Велкам дивитися, розповсюджувати, і давайте відгуки. :)
YouTube
Ілля Климов про Vue 3, GitLab, GraphQL, npm та Node.js.
Зустрічайте 6-ий випуск подкасту "Right Tool For The Job". Гість цього випуску Ілля Климов — Senior Frontend Developer at GitLab Inc та лідер проєкту JavaScript.Ninja.
Наш ведучий Олександр Соловйов разом з Іллею поспілкувалися про Vue 3, GraphQL, npm та…
Наш ведучий Олександр Соловйов разом з Іллею поспілкувалися про Vue 3, GraphQL, npm та…
👍27❤5🔥4
Має бути цікаво https://t.me/bitethebyte/189
Telegram
Bite the Byte
Мій друг Дмитро пішов добровольцем на війну у перші дні повномасштабного вторгнення — вчора ще колупав кубернет в Касті, а сьогодні вже обивав поріг військкомат. Завдяки спеціальності після воєнки в університеті він попав в артилерію, в 45 оабр.
З цікавого:…
З цікавого:…
👍18
Що далі буде?
Очікую, що через пару тижнів буде трохи більше вільного часу. А то зараз сиджу тут й готую фічі до релізу, які мають бути показані на Google Cloud Next й нічого іншого не бачу :). Так от, через пару тижнів буде більше фільного часу й нарешті відбудеться запуск ютуб каналу по розробці. За кілька місяців я відтестував технічний сетап на іншому каналі (Ретрогеймінг на релаксі) й розібрався, як працює ютуб.
Зараз у мене є цікаві теми для відео, але питаю у вас про наступне:
1. Які теми найбільш цікаві?
2. Як назвати ютуб-канал?
Очікую, що через пару тижнів буде трохи більше вільного часу. А то зараз сиджу тут й готую фічі до релізу, які мають бути показані на Google Cloud Next й нічого іншого не бачу :). Так от, через пару тижнів буде більше фільного часу й нарешті відбудеться запуск ютуб каналу по розробці. За кілька місяців я відтестував технічний сетап на іншому каналі (Ретрогеймінг на релаксі) й розібрався, як працює ютуб.
Зараз у мене є цікаві теми для відео, але питаю у вас про наступне:
1. Які теми найбільш цікаві?
2. Як назвати ютуб-канал?
👍41🔥2❤1
Щомісячний апдейт - https://t.me/webbylab/133 . Разом до перемоги! 🇺🇦💪
Telegram
WebbyLab - вакансії
Щомісячно звітуємо про переказ коштів на підтримку Збройних Сил України!
Цього тижня на спеціальний рахунок НБУ (UA843000010000000047330992708) ми переказали 1 139 097,63 грн.
За весь час на рахунки ЗСУ було переведено 6 172 880,32 грн. Дякуємо співробітникам…
Цього тижня на спеціальний рахунок НБУ (UA843000010000000047330992708) ми переказали 1 139 097,63 грн.
За весь час на рахунки ЗСУ було переведено 6 172 880,32 грн. Дякуємо співробітникам…
👍20❤11
Домовлятися завжди — Гевін Кеннеді. Книжковий клуб #2
Мене запросили на DOU івент одним із учасників. Всі читають одну й ту ж саму книгу, а потім обговорюють. Цікавіше було б обговорити якусь технічну літературу, але книга про перемовини теж не такий поганий варіант 🙂
ВІДЕО: https://www.youtube.com/watch?v=ryVjmuOHsfI
Мене запросили на DOU івент одним із учасників. Всі читають одну й ту ж саму книгу, а потім обговорюють. Цікавіше було б обговорити якусь технічну літературу, але книга про перемовини теж не такий поганий варіант 🙂
ВІДЕО: https://www.youtube.com/watch?v=ryVjmuOHsfI
YouTube
Домовлятися завжди — Гевін Кеннеді. Книжковий клуб #2
В етері рубрика для тих, хто ніяк не почне читати — Книжковий клуб!
Цього разу у нас на обговоренні книга «Домовлятися завжди. Як досягати максимуму в будь-яких перемовинах», автор – Гевін Кеннеді — https://www.yakaboo.ua/ua/domovljatisja-zavzhdi-jak-dosjagati…
Цього разу у нас на обговоренні книга «Домовлятися завжди. Як досягати максимуму в будь-яких перемовинах», автор – Гевін Кеннеді — https://www.yakaboo.ua/ua/domovljatisja-zavzhdi-jak-dosjagati…
👍16
Щомісячний звіт https://t.me/webbylab/137
Підтримуємо ЗСУ! 🇺🇦💪
Підтримуємо ЗСУ! 🇺🇦💪
Telegram
WebbyLab - вакансії
Ранок не з легких, але ми продовжуємо працювати та триматися. Виходимо до вас із щомісячним звітом. В п‘ятницю ми переказали 1 201 993,40 грн. на спеціальний рахунок НБУ. (UA843000010000000047330992708) За весь час на рахунки ЗСУ було переведено 7 374 873…
❤18👍13🔥7👏1
Автоматизовані тести для React фронтенду
Писати тести на фронті складно й часто вони є крихкими. Пару місяців тому робив доповідь на цю тему й спробував проаналізувати різноманітні підходи. Ну й поділився баченням, як зробити тести менш крихкими. В доповіді поступово йду від бази й закінчую вже робочим рішенням.
ВІДЕО: https://youtu.be/qOyWzQ1mfXE
Писати тести на фронті складно й часто вони є крихкими. Пару місяців тому робив доповідь на цю тему й спробував проаналізувати різноманітні підходи. Ну й поділився баченням, як зробити тести менш крихкими. В доповіді поступово йду від бази й закінчую вже робочим рішенням.
ВІДЕО: https://youtu.be/qOyWzQ1mfXE
YouTube
Автоматизовані тести для React фронтенду [ukr] / Віктор Турський
Відео з онлайн-конференції JS+React fwdays'22, яка пройшла 9 липня 2022 року.
Опис доповіді:
Всі пишуть тести для бекенду, але тестам фронтенду часто приділяється мало уваги. Й насправді, чи варто писати тести для фронтенду? Які складнощі ви отримаєте? А…
Опис доповіді:
Всі пишуть тести для бекенду, але тестам фронтенду часто приділяється мало уваги. Й насправді, чи варто писати тести для фронтенду? Які складнощі ви отримаєте? А…
👍39⚡3
Why Event Sourced Systems Fail [eng] / Greg Young
Класна доповідь від Грега для перегляду у вихідний.
Грег - батько івент сорсингу. Й в доповіді він розповідає про класичні проблеми й непорозуміння з цим підходом. Доповідь мені дуже сподобалася й починає Грег з основ - що таке Event Sourcing.
Я помітив, що люди часто плутають CQRS й Event Sourcing. CQRS значно ширший підхід й основна ідея, що у нас у нас різні об'єкти доменої модели для запису й читання (є класний слайд у Грега про це). Й цей підхід можна зустріти в багатьох проектах (й WebbyLab багато разів доводилося його використовувати). Event Sourcing теж передбачає таке саме розділення, але каже про те, що основним джерелом правди є збережені івенти. Такий підхід вже зустрічається не так часто, хоча мені доводилося реалізовувати цей паттерн (робив доповідь про це в 2018).
Також важливий аспект, що Event Sourcing це не фреймворк й не бібліотека, а просто підхід й може він бути реалізований зовсім по різному. Окрім того, не треба реалізовувати всю систему через Event Sourcing підхід, достатньо обмежитися тими частинами системи, де це реально потрібно й це повністю ок.
✅ ДОПОВІДЬ ВІД ГРЕГА "Why Event Sourced Systems Fail [eng]": https://www.youtube.com/watch?v=FKFu78ZEIi8
✅ МОЯ ДОПОВІДЬ з 2018 "Offline mode for a mobile application, Redux on server, event sourcing [ru]": https://my-talks.net/viktor-turskyi/offline-mode-for-a-mobile-application-redux-on-server-and-a-little-bit-about-event-sourcing
Класна доповідь від Грега для перегляду у вихідний.
Грег - батько івент сорсингу. Й в доповіді він розповідає про класичні проблеми й непорозуміння з цим підходом. Доповідь мені дуже сподобалася й починає Грег з основ - що таке Event Sourcing.
Я помітив, що люди часто плутають CQRS й Event Sourcing. CQRS значно ширший підхід й основна ідея, що у нас у нас різні об'єкти доменої модели для запису й читання (є класний слайд у Грега про це). Й цей підхід можна зустріти в багатьох проектах (й WebbyLab багато разів доводилося його використовувати). Event Sourcing теж передбачає таке саме розділення, але каже про те, що основним джерелом правди є збережені івенти. Такий підхід вже зустрічається не так часто, хоча мені доводилося реалізовувати цей паттерн (робив доповідь про це в 2018).
Також важливий аспект, що Event Sourcing це не фреймворк й не бібліотека, а просто підхід й може він бути реалізований зовсім по різному. Окрім того, не треба реалізовувати всю систему через Event Sourcing підхід, достатньо обмежитися тими частинами системи, де це реально потрібно й це повністю ок.
✅ ДОПОВІДЬ ВІД ГРЕГА "Why Event Sourced Systems Fail [eng]": https://www.youtube.com/watch?v=FKFu78ZEIi8
✅ МОЯ ДОПОВІДЬ з 2018 "Offline mode for a mobile application, Redux on server, event sourcing [ru]": https://my-talks.net/viktor-turskyi/offline-mode-for-a-mobile-application-redux-on-server-and-a-little-bit-about-event-sourcing
YouTube
Why Event Sourced Systems Fail [eng] / Greg Young
This is a video from the Highload fwdays'20 online conference, that was held on October 24, 2020.
Talk description:
I have given literally hundreds of talks on what makes them great but I don't think I have ever discussed previously the common failures :O…
Talk description:
I have given literally hundreds of talks on what makes them great but I don't think I have ever discussed previously the common failures :O…
👍19⚡1🔥1
Awesome technical talks 😎
Думав, де сбирати цікаві доповіді, які мені часом траплаються й зрозумів, що можна створити додатковий аккаунт на my-talks. Це як інстаграм, тільки для доповідей. Й як в інстаграмі ви можете викладати персональний контент й робити власне портфоліо доповідей або можна зробити аккаунт для агрегації чужого цікавого контента 😁
Якщо хочете отримувати сповіщення про нові доповіді, то підписуйтесь на аккаунт https://my-talks.net/awesome-technical-talks
Думав, де сбирати цікаві доповіді, які мені часом траплаються й зрозумів, що можна створити додатковий аккаунт на my-talks. Це як інстаграм, тільки для доповідей. Й як в інстаграмі ви можете викладати персональний контент й робити власне портфоліо доповідей або можна зробити аккаунт для агрегації чужого цікавого контента 😁
Якщо хочете отримувати сповіщення про нові доповіді, то підписуйтесь на аккаунт https://my-talks.net/awesome-technical-talks
my-talks.net
Awesome Technical Talks
I gather here technical talks that I really love and recommend for everyone to watch.
As for my personal talks you can find them here - https://my-talks.net/viktor-turskyi
As for my personal talks you can find them here - https://my-talks.net/viktor-turskyi
👍17⚡4❤2
Applied Performance Theory
Дивився цю доповідь мабуть ще в 2018 й зараз вирішив передивитися. Одна з моїх улюблених доповідей про scalability. Доповідь про теорію й як характер навантаження впливає на поведінку системи. Однозначно рекомендую до перегляду!
Додав в список на my-talks - https://my-talks.net/awesome-technical-talks/kavya-joshi-applied-performance-theory
Дивився цю доповідь мабуть ще в 2018 й зараз вирішив передивитися. Одна з моїх улюблених доповідей про scalability. Доповідь про теорію й як характер навантаження впливає на поведінку системи. Однозначно рекомендую до перегляду!
Додав в список на my-talks - https://my-talks.net/awesome-technical-talks/kavya-joshi-applied-performance-theory
my-talks.net
Awesome Technical Talks - Kavya Joshi "Applied Performance Theory" - at Awesome Talks 2018
One of my favourite talks related to performance and scalability. Kavya Joshi talks about performance theory and dives into results like Little’s Law and the Universal Scalability Law. She explores the use of performance theory in real systems at companies…
👍15
Hacking Google 😎
Документальний серіал на 1.5 години про те, як Google працює над безпекою й цікаві приклади взломів. Звісно зроблено для широкої аудиторії й драматично так зрежесовано, але вийшло пізнавально.
Насолоджуйтесь: https://www.youtube.com/playlist?list=PL590L5WQmH8dsxxz7ooJAgmijwOz0lh2H
Документальний серіал на 1.5 години про те, як Google працює над безпекою й цікаві приклади взломів. Звісно зроблено для широкої аудиторії й драматично так зрежесовано, але вийшло пізнавально.
Насолоджуйтесь: https://www.youtube.com/playlist?list=PL590L5WQmH8dsxxz7ooJAgmijwOz0lh2H
👍17
JS Fwdays Europe - ще одна конференція від друзів🙂
Якщо дивитися онлайн, то безкоштовно. Якщо хочете доступ до записів й інші плюшки, тоді платно, але для підписників каналу отримав промокод зі зніжкою в 10% - AF6287B461
Плануються доповіді про: micro-frontends, Fullstack Components, JS фреймворки майбутнього, React 18, Playwright, e2e тестування etc
Серед спікерів: Chen Hui Jing, Kent C. Dodds, Steve Kinney, Артем Захарченко, Tejas Kumar та інші.
Конференція планувалася повністю англомовною, але оскільки багатьом простіше сприймати контент українською, то у якості експерименту, буде синхронний переклад треку В. Для перегляду українською мовою буде окремий плеєр на сайті.
ПОСИЛАННЯ: https://bit.ly/3UEOxWn
10% від вартості квитків йде на підтримку України🇺🇦
Якщо дивитися онлайн, то безкоштовно. Якщо хочете доступ до записів й інші плюшки, тоді платно, але для підписників каналу отримав промокод зі зніжкою в 10% - AF6287B461
Плануються доповіді про: micro-frontends, Fullstack Components, JS фреймворки майбутнього, React 18, Playwright, e2e тестування etc
Серед спікерів: Chen Hui Jing, Kent C. Dodds, Steve Kinney, Артем Захарченко, Tejas Kumar та інші.
Конференція планувалася повністю англомовною, але оскільки багатьом простіше сприймати контент українською, то у якості експерименту, буде синхронний переклад треку В. Для перегляду українською мовою буде окремий плеєр на сайті.
ПОСИЛАННЯ: https://bit.ly/3UEOxWn
10% від вартості квитків йде на підтримку України🇺🇦
👍13🥰2
Регулярний апдейт по пітримці ЗСУ
https://t.me/webbylab/141
https://t.me/webbylab/141
Telegram
WebbyLab - вакансії
8,5 місяців від початку повномасштабного вторгнення росії в Україну. Більше 8 місяців боротьби за свободу, мирне небо і майбутнє. Пишаємось незламністю нашого народу і вдячні кожному, хто робить свій вклад у нашу перемогу❤️
Ми активні в нашій підтримці…
Ми активні в нашій підтримці…
❤38
Чудова доповідь про те, як працює менеджмент пам’яті в різних реалізаціях Python. Інші мови мають подібні прийоми.
Наприклад, для Perl ви можете запустити цей код в консолі:
perl -MDevel::Peek -E 'my $num = 10; print Dump($num); my $string = "hello"; print Dump($string)'
і побачити внутрішні параметри змінних, які дуже схожі на cpython. Колись доводилоси оптимізувати споживання пам'яті й там є хитрі штуки.
Також JavaScript V8 робить pointer tagging, як це робить micropython – гугли V8 Small Integers(SMIs). Мені довелося зіткнутися з цим, коли оптимізував движок електронних таблиць у JS. Був дуже цікавий кейс, коли массив виду [a, b, c, d, e] я зконвертував в [a, b, [c, d, e]] й це дало великий буст в перформансі, хоча здавалося, що має зробити навпаки. Спрацювало, оскільки c, d, e - це адреса ячейки й це цілі числа, які влазять в 31 біт, що дозволило це масив упакувати в неперервну область пам'яті як native array
Доповідь додав в свій список (підписуйся 😉) - https://my-talks.net/awesome-technical-talks/kavya-joshi-the-memory-chronicles-a-tale-of-two-pythons
Наприклад, для Perl ви можете запустити цей код в консолі:
perl -MDevel::Peek -E 'my $num = 10; print Dump($num); my $string = "hello"; print Dump($string)'
і побачити внутрішні параметри змінних, які дуже схожі на cpython. Колись доводилоси оптимізувати споживання пам'яті й там є хитрі штуки.
Також JavaScript V8 робить pointer tagging, як це робить micropython – гугли V8 Small Integers(SMIs). Мені довелося зіткнутися з цим, коли оптимізував движок електронних таблиць у JS. Був дуже цікавий кейс, коли массив виду [a, b, c, d, e] я зконвертував в [a, b, [c, d, e]] й це дало великий буст в перформансі, хоча здавалося, що має зробити навпаки. Спрацювало, оскільки c, d, e - це адреса ячейки й це цілі числа, які влазять в 31 біт, що дозволило це масив упакувати в неперервну область пам'яті як native array
Доповідь додав в свій список (підписуйся 😉) - https://my-talks.net/awesome-technical-talks/kavya-joshi-the-memory-chronicles-a-tale-of-two-pythons
my-talks.net
Awesome Technical Talks - Kavya Joshi "The Memory Chronicles - A Tale of Two Pythons" - at Awesome Talks 2017
Great talk from Kavya about how memory management works in different Python implementations. Other languages do similar tricks as well.
For example, for Perl you can run this one-liner:
perl -MDevel::Peek -E 'my $num = 10; print Dump($num); my $string…
For example, for Perl you can run this one-liner:
perl -MDevel::Peek -E 'my $num = 10; print Dump($num); my $string…
🔥14👍3⚡1
Raymond Hettinger "Modern Python Dictionaries"
Одна з найкращих доповідей про хештаблиці й техніки їх оптимізацій, які реально працюють в Python 3.6 й вище.
Хештаблиці одна з базових структур даний й одна з найбільш важливих. Практично кожен інженер знає, як вони працюють, але мало хто знає про додаткові оптимізації базового алгоритму. В доповіді поазано з десяток різноманітних оптимізацій на дуже простих прикладах. Однозначно рекомендую цю доповідь - багато цікавих ідей, які можуть допомогти й в інших ситуаціях.
Додав в свій список цікавих доповідей: https://my-talks.net/awesome-technical-talks/raymond-hettinger-modern-python-dictionaries
PS: Доповідь про фундаментальні штуки, не звертайте уваги, що це на прикладі Python
Одна з найкращих доповідей про хештаблиці й техніки їх оптимізацій, які реально працюють в Python 3.6 й вище.
Хештаблиці одна з базових структур даний й одна з найбільш важливих. Практично кожен інженер знає, як вони працюють, але мало хто знає про додаткові оптимізації базового алгоритму. В доповіді поазано з десяток різноманітних оптимізацій на дуже простих прикладах. Однозначно рекомендую цю доповідь - багато цікавих ідей, які можуть допомогти й в інших ситуаціях.
Додав в свій список цікавих доповідей: https://my-talks.net/awesome-technical-talks/raymond-hettinger-modern-python-dictionaries
PS: Доповідь про фундаментальні штуки, не звертайте уваги, що це на прикладі Python
my-talks.net
Awesome Technical Talks - Raymond Hettinger "Modern Python Dictionaries" - at Awesome Talks 2017
One of the best talks about hashtables and optimization techniques which were made in Python. Definitely recommend!
👍6⚡1🔥1
LIVR v2.5 з асинхронною валідацією
Багато років тому я шукав валідатор, який буде вміти наступне:
1. Декларативний опис валідації
2. Мати можливість валідувати ієрархічні структури.
3. Не зупиняти валідацію на першій помилці, а перевіряти всі поля й повертати інформацію о помилці в структурованому вигляді.
4. Видаляти поля, для який не описані правила валідації
5. Можливість легко додавати свої правила валідації
6. Бути мінімалістичним й не робити зайвого (як генерація форм й тд).
7. Мати фільтри, для зміни даних.
8. Серіалізація правил валідації (можливість зберегти правила валідації в файл, в базу, передати по мережі).
9. Має реалізацію під різні мови програмування й сумісний не тільки по правилам, а й по формату опису помилок.
Я на той час перепробував багато валідаторів й були цікаві, але у кожного була якась проблема. Тому я написав спеціфікацію https://livr-spec.org/ з тест кейсами (а тестів там багато), а потім вже почали з'явлитися імплементації під різні мови.
В деталях про все можна почитати в цьому пості - "LIVR – Data Validation Without Any Issues"
JavaScript версія має ще декілька особливостей:
✅ Ніяких зовнішних залежностей
✅ Працює в в NodeJs й в браузері
✅ Validator (без правил) менше 1KB (min+gzip)
✅ Validator з усіма правилами 3.93KB (min+gzip)
✅ Є додатковий пакет правил - livr-extra-rules
Не вистачало тільки асинхронної валідації й сьогодні додав й її (в доках - AsyncValidator).
ПОСИЛАННЯ НА NPM: https://www.npmjs.com/package/livr
Багато років тому я шукав валідатор, який буде вміти наступне:
1. Декларативний опис валідації
2. Мати можливість валідувати ієрархічні структури.
3. Не зупиняти валідацію на першій помилці, а перевіряти всі поля й повертати інформацію о помилці в структурованому вигляді.
4. Видаляти поля, для який не описані правила валідації
5. Можливість легко додавати свої правила валідації
6. Бути мінімалістичним й не робити зайвого (як генерація форм й тд).
7. Мати фільтри, для зміни даних.
8. Серіалізація правил валідації (можливість зберегти правила валідації в файл, в базу, передати по мережі).
9. Має реалізацію під різні мови програмування й сумісний не тільки по правилам, а й по формату опису помилок.
Я на той час перепробував багато валідаторів й були цікаві, але у кожного була якась проблема. Тому я написав спеціфікацію https://livr-spec.org/ з тест кейсами (а тестів там багато), а потім вже почали з'явлитися імплементації під різні мови.
В деталях про все можна почитати в цьому пості - "LIVR – Data Validation Without Any Issues"
JavaScript версія має ще декілька особливостей:
✅ Ніяких зовнішних залежностей
✅ Працює в в NodeJs й в браузері
✅ Validator (без правил) менше 1KB (min+gzip)
✅ Validator з усіма правилами 3.93KB (min+gzip)
✅ Є додатковий пакет правил - livr-extra-rules
Не вистачало тільки асинхронної валідації й сьогодні додав й її (в доках - AsyncValidator).
ПОСИЛАННЯ НА NPM: https://www.npmjs.com/package/livr
👍39🔥16⚡2
Жабаскрипт (веде Віктор Турський)
Как мы управляем конфигами для NodeJs приложений? (продолжение предыдущего поста) Теперь к делу, вместо того, чтобы просто рассказывать про проблемы, я посидел ночь и напилил confme - решение, которое идет в наш бойлерплейт по NodeJS и может быть полезно…
Доречі, confme теж використовує LIVR. Але й без валідації confme корисна штука 🤓
👍9⚡1