Делаем текстовый редактор с Lexical и React.
Термин WYSIWYG очень часто используется в программном обеспечении для описания текстового редактора или системы, которая дает вам возможность редактировать текст в насыщенном формате. В текстовом редакторе WYSIWYG вы, по сути, видите, как будет выглядеть конечный результат в процессе работы над документом. Такой подход выгоден тем, что обеспечивает немедленную обратную связь, в отличие от систем, где вам приходится писать на языке разметки, например, markdown.
https://blog.logrocket.com/build-rich-text-editor-lexical-react/
👉 @frontend_1
Термин WYSIWYG очень часто используется в программном обеспечении для описания текстового редактора или системы, которая дает вам возможность редактировать текст в насыщенном формате. В текстовом редакторе WYSIWYG вы, по сути, видите, как будет выглядеть конечный результат в процессе работы над документом. Такой подход выгоден тем, что обеспечивает немедленную обратную связь, в отличие от систем, где вам приходится писать на языке разметки, например, markdown.
https://blog.logrocket.com/build-rich-text-editor-lexical-react/
👉 @frontend_1
👍3
Forwarded from Node JS
Паттерны и антипаттерны в Node.js
Node.js — это серверная среда выполнения JavaScript, построенная на движке V8 в Chrome, который по своей природе является асинхронным и событийным. С помощью Node.js относительно несложно создать REST API и использовать такие фреймворки, как Express.js. Эта простота обеспечивает большую гибкость. Однако при создании масштабируемых сетевых приложений, управляемых сетью, можно запутаться в том, каким шаблонам следовать.
Эта статья посвящена некоторым паттернам и лучшим практикам, которым следует следовать при создании приложений Node.js. Вы узнаете о стиле кодирования, обработке ошибок, логгерах и тестировании. Давайте начнем!
✍️ @nodejs_lib
Node.js — это серверная среда выполнения JavaScript, построенная на движке V8 в Chrome, который по своей природе является асинхронным и событийным. С помощью Node.js относительно несложно создать REST API и использовать такие фреймворки, как Express.js. Эта простота обеспечивает большую гибкость. Однако при создании масштабируемых сетевых приложений, управляемых сетью, можно запутаться в том, каким шаблонам следовать.
Эта статья посвящена некоторым паттернам и лучшим практикам, которым следует следовать при создании приложений Node.js. Вы узнаете о стиле кодирования, обработке ошибок, логгерах и тестировании. Давайте начнем!
✍️ @nodejs_lib
👍4
:where() :is() :has()? CSS селекторы, которые сделют вашу жизнь проще.
https://polypane.app/blog/where-is-has-new-css-selectors-that-make-your-life-easier/
👉 @frontend_1
https://polypane.app/blog/where-is-has-new-css-selectors-that-make-your-life-easier/
👉 @frontend_1
👍5
Вводное руководство по непрерывной интеграции и доставке/развертыванию (CI/CD) для фронт разработчиков.
Инженеры-программисты должны следовать лучшим практикам в создании надежного и простого в обслуживании программного обеспечения, и возникает несколько проблем, которые мешают командам разработчиков быстро выпускать программное обеспечение, такие как
Ручной процесс развертывания
Отсутствие автоматизированного тестирования
Интеграция кода
С помощью Continuous Integration and Delivery/Deployment (CI/CD) эти проблемы легко решаются с помощью автоматизации. В этой статье я объясню, что такое CI/CD, каковы его преимущества и как вы можете применить его на практике в качестве Frontend Developer.
👉 @frontend_1
Инженеры-программисты должны следовать лучшим практикам в создании надежного и простого в обслуживании программного обеспечения, и возникает несколько проблем, которые мешают командам разработчиков быстро выпускать программное обеспечение, такие как
Ручной процесс развертывания
Отсутствие автоматизированного тестирования
Интеграция кода
С помощью Continuous Integration and Delivery/Deployment (CI/CD) эти проблемы легко решаются с помощью автоматизации. В этой статье я объясню, что такое CI/CD, каковы его преимущества и как вы можете применить его на практике в качестве Frontend Developer.
👉 @frontend_1
👍5
Forwarded from React
useId для генерации уникальных ID
В React 18 появится новый хук для генерации уникальных id. Этот хук можно использовать для связки названия и инпута:
Проблема, которую решает хук useId, связана с новым подходом серверного рендеринга в React. Раньше для генерации уникальных id использовался простой счетчик. В новой версии React, при использовании конкурентного рендеринга, HTML может передаваться в произвольном порядке.
Для генерации уникальных id в хуке useId используется текущая позиция компонента в дереве приложения. Внутри React, id представляет из себя двоичное число. Для дочерних элементов добавляются дополнительные биты слева от последовательности родителя, которые представляет положение дочернего элемента на текущем уровне дочерних элементов.
Это позволяет быть уверенным, что каждый вызов useId будет возвращать уникальный id. Если в компоненте несколько лейблов и инпутов, то можно добавить локальные префиксы, что гарантирует уникальность id глобально:
Хотя так делать не обязательно, если несколько раз вызвать useId в одном компоненте, то каждый из них вернёт свой уникальный id.
https://github.com/reactwg/react-18/discussions/111
✍️ @React_lib
В React 18 появится новый хук для генерации уникальных id. Этот хук можно использовать для связки названия и инпута:
function Checkbox() {
const id = useId();
return (
<>
<label htmlFor={id}>Do you like React?</label>
<input type="checkbox" name="react" id={id} />
</>
);
);
Проблема, которую решает хук useId, связана с новым подходом серверного рендеринга в React. Раньше для генерации уникальных id использовался простой счетчик. В новой версии React, при использовании конкурентного рендеринга, HTML может передаваться в произвольном порядке.
Для генерации уникальных id в хуке useId используется текущая позиция компонента в дереве приложения. Внутри React, id представляет из себя двоичное число. Для дочерних элементов добавляются дополнительные биты слева от последовательности родителя, которые представляет положение дочернего элемента на текущем уровне дочерних элементов.
00101 00010001011010101
╰──┬──╯ ╰────────┬────────╯
Fork 5 of 20 id родителя
Это позволяет быть уверенным, что каждый вызов useId будет возвращать уникальный id. Если в компоненте несколько лейблов и инпутов, то можно добавить локальные префиксы, что гарантирует уникальность id глобально:
function NameFields() {
const id = useId();
return (
<div>
<label htmlFor={id + '-firstName'}>First Name</label>
<div>
<input id={id + '-firstName'} type="text" />
</div>
<label htmlFor={id + '-lastName'}>Last Name</label>
<div>
<input id={id + '-lastName'} type="text" />
</div>
</div>
);
}
Хотя так делать не обязательно, если несколько раз вызвать useId в одном компоненте, то каждый из них вернёт свой уникальный id.
https://github.com/reactwg/react-18/discussions/111
✍️ @React_lib
GitHub
Intent to Ship: useId · reactwg/react-18 · Discussion #111
This feature is now available in the latest alphas facebook/react#22644 useId is an API for generating unique IDs on both the client and server, while avoiding hydration mismatches. We haven't ...
👍10
Deno_lint — быстрый линтер для JavaScript и TypeScript, написанный на Rust
https://github.com/denoland/deno_lint
👉 @frontend_1
https://github.com/denoland/deno_lint
👉 @frontend_1
GitHub
GitHub - denoland/deno_lint: Blazing fast linter for JavaScript and TypeScript written in Rust
Blazing fast linter for JavaScript and TypeScript written in Rust - denoland/deno_lint
👍4🔥1
Forwarded from CodePen Community
This media is not supported in your browser
VIEW IN TELEGRAM
CPC - Spotlight/Highlight (TMNT) 🐢 - Анимация при наведении на карточки, сделанная с помощью CSS и JavaScript
#codepen #css #js
Подпишись👉 @codepen_1
#codepen #css #js
Подпишись👉 @codepen_1
👍5
Используем GraphiQL для понимания схемы GraphQL. GraphiQL можно рассматривать как Postman для REST API.
Нужно ли вам использовать сложный метод, когда есть лучшая и более простая альтернатива? Зачем всегда использовать интерфейсы командной строки при выполнении самых простых действий?
https://blog.logrocket.com/visualizing-graphql-schema-with-graphiql/
👉 @frontend_1
Нужно ли вам использовать сложный метод, когда есть лучшая и более простая альтернатива? Зачем всегда использовать интерфейсы командной строки при выполнении самых простых действий?
https://blog.logrocket.com/visualizing-graphql-schema-with-graphiql/
👉 @frontend_1
👍3
Forwarded from CodePen Community
This media is not supported in your browser
VIEW IN TELEGRAM
Delivering happiness - Анимированная форма ввода электронной почты, сделанная с помощью Vue.js
#codepen #js
Подпишись👉 @codepen_1
#codepen #js
Подпишись👉 @codepen_1
👍19🤩1
Подборка каналов для IT специалистов 🎯
https://yangx.top/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://yangx.top/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://yangx.top/kotlin_lib Подборки полезного материала по Kotlin
https://yangx.top/nodejs_lib Подборки по Node js и все что с ним связано
https://yangx.top/React_lib Подборки по React js и все что с ним связано
https://yangx.top/ruby_lib Библиотека Ruby программиста
Программирование C++📌
https://yangx.top/cpp_lib Библиотека C/C++ разработчика
https://yangx.top/cpp_knigi Книги для программистов C/C++
Программирование Python 📌
https://yangx.top/pythonofff Python академия. Учи Python быстро и легко🐍
https://yangx.top/BookPython Библиотека Python разработчика
https://yangx.top/python_real Python подборки на русском и английском
https://yangx.top/python_360 Книги по Python Rus
Java разработка 📌
https://yangx.top/BookJava Библиотека Java разработчика
https://yangx.top/java_360 Книги по Java Rus
GitHub Сообщество 📌
https://yangx.top/Githublib Интересное из GitHub
CodePen 📌
https://yangx.top/codepen_1 Сообщество пользователей CodePen
Базы данных (Data Base) 📌
https://yangx.top/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://yangx.top/developer_mobila Мобильная разработка
Фронтенд разработка 📌
https://yangx.top/frontend_1 Подборки для frontend разработчиков
Разработка игр 📌
https://yangx.top/game_devv Все о разработке игр
Вакансии 📌
https://yangx.top/sysadmin_rabota Системный Администратор
https://yangx.top/progjob Вакансии в IT
Чат программистов📌
https://yangx.top/developers_ru
Библиотеки 📌
https://yangx.top/book_for_dev Книги для программистов Rus
https://yangx.top/programmist_of Книги по программированию
https://yangx.top/proglb Библиотека программиста
https://yangx.top/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://yangx.top/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://yangx.top/bookflow Лекции, видеоуроки, доклады с IT конференций
https://yangx.top/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://yangx.top/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://yangx.top/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://yangx.top/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://yangx.top/ux_web Статьи, книги для дизайнеров
https://yangx.top/arhitekturamira World Architecture
Системное администрирование 📌
https://yangx.top/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://yangx.top/sysadminof Книги для админов, полезные материалы
https://yangx.top/i_odmin Все для системного администратора
https://yangx.top/i_odmin_book Библиотека Системного Администратора
https://yangx.top/i_odmin_chat Чат системных администраторов
https://yangx.top/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
Английский 📌
https://yangx.top/UchuEnglish Английский с нуля
Математика 📌
https://yangx.top/Pomatematike Канал по математике
Арбитраж трафика 📌
https://yangx.top/partnerochkin CPA и арбитраж трафика
Крипта 📌
https://yangx.top/bitkoinoff Новости криптовалют
Метавселенная, GameFi, Crypto 📌
https://yangx.top/metaverse360
DeepFake 📌
https://yangx.top/deepfakenow Публикуем deepfake видео
Мир технологий 📌
https://yangx.top/mir_teh Видео из мира технологий
Excel лайфхак📌
https://yangx.top/Excel_lifehack
https://yangx.top/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://yangx.top/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://yangx.top/kotlin_lib Подборки полезного материала по Kotlin
https://yangx.top/nodejs_lib Подборки по Node js и все что с ним связано
https://yangx.top/React_lib Подборки по React js и все что с ним связано
https://yangx.top/ruby_lib Библиотека Ruby программиста
Программирование C++📌
https://yangx.top/cpp_lib Библиотека C/C++ разработчика
https://yangx.top/cpp_knigi Книги для программистов C/C++
Программирование Python 📌
https://yangx.top/pythonofff Python академия. Учи Python быстро и легко🐍
https://yangx.top/BookPython Библиотека Python разработчика
https://yangx.top/python_real Python подборки на русском и английском
https://yangx.top/python_360 Книги по Python Rus
Java разработка 📌
https://yangx.top/BookJava Библиотека Java разработчика
https://yangx.top/java_360 Книги по Java Rus
GitHub Сообщество 📌
https://yangx.top/Githublib Интересное из GitHub
CodePen 📌
https://yangx.top/codepen_1 Сообщество пользователей CodePen
Базы данных (Data Base) 📌
https://yangx.top/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://yangx.top/developer_mobila Мобильная разработка
Фронтенд разработка 📌
https://yangx.top/frontend_1 Подборки для frontend разработчиков
Разработка игр 📌
https://yangx.top/game_devv Все о разработке игр
Вакансии 📌
https://yangx.top/sysadmin_rabota Системный Администратор
https://yangx.top/progjob Вакансии в IT
Чат программистов📌
https://yangx.top/developers_ru
Библиотеки 📌
https://yangx.top/book_for_dev Книги для программистов Rus
https://yangx.top/programmist_of Книги по программированию
https://yangx.top/proglb Библиотека программиста
https://yangx.top/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://yangx.top/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://yangx.top/bookflow Лекции, видеоуроки, доклады с IT конференций
https://yangx.top/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://yangx.top/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://yangx.top/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://yangx.top/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://yangx.top/ux_web Статьи, книги для дизайнеров
https://yangx.top/arhitekturamira World Architecture
Системное администрирование 📌
https://yangx.top/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://yangx.top/sysadminof Книги для админов, полезные материалы
https://yangx.top/i_odmin Все для системного администратора
https://yangx.top/i_odmin_book Библиотека Системного Администратора
https://yangx.top/i_odmin_chat Чат системных администраторов
https://yangx.top/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
Английский 📌
https://yangx.top/UchuEnglish Английский с нуля
Математика 📌
https://yangx.top/Pomatematike Канал по математике
Арбитраж трафика 📌
https://yangx.top/partnerochkin CPA и арбитраж трафика
Крипта 📌
https://yangx.top/bitkoinoff Новости криптовалют
Метавселенная, GameFi, Crypto 📌
https://yangx.top/metaverse360
DeepFake 📌
https://yangx.top/deepfakenow Публикуем deepfake видео
Мир технологий 📌
https://yangx.top/mir_teh Видео из мира технологий
Excel лайфхак📌
https://yangx.top/Excel_lifehack
Telegram
1C программист
Cтатьи, курсы, советы, шаблоны кода 1С. По всем вопросам @evgenycarter
👎8❤1
Продвинутые вопросы для CSS собеседования. Реализуем if-else.
https://medium.com/frontend-canteen/an-advanced-css-interview-question-implement-if-else-in-css-bb681d786d76
👉 @frontend_1
https://medium.com/frontend-canteen/an-advanced-css-interview-question-implement-if-else-in-css-bb681d786d76
👉 @frontend_1
Medium
An Advanced CSS Interview Question: Implement if-else in CSS
One of my friends recently came across a funny CSS interview question during an interview. When I first saw the question, I thought it was…
👍5
Создаем веб-компонент сортируемой таблицы с пагинацией.
https://www.raymondcamden.com/2022/05/23/building-table-sorting-and-pagination-in-a-web-component
👉 @frontend_1
https://www.raymondcamden.com/2022/05/23/building-table-sorting-and-pagination-in-a-web-component
👉 @frontend_1
👍1
Forwarded from React
Сравнение инструментов для оптимизации перфоманса в React
https://blog.logrocket.com/comparing-tools-optimizing-performance-react/
✍️ @React_lib
https://blog.logrocket.com/comparing-tools-optimizing-performance-react/
✍️ @React_lib
👍3
Kubernetes для фронт разработчиков.
https://www.smashingmagazine.com/2022/05/kubernetes-front-end-developers/
👉 @frontend_1
https://www.smashingmagazine.com/2022/05/kubernetes-front-end-developers/
👉 @frontend_1
👍2
Forwarded from CodePen Community
This media is not supported in your browser
VIEW IN TELEGRAM
Sparkly skull ✨ - Анимированная 3D сцена, выполненная с помощью SCSS и библиотек Three.js и GSAP
#codepen #css #js
Подпишись👉 @codepen_1
#codepen #css #js
Подпишись👉 @codepen_1
👍11🔥1
Топ 5 библиотек для анимации на Vue - сравнение
https://blog.logrocket.com/top-5-vue-animation-libraries-compared/
👉 @frontend_1
https://blog.logrocket.com/top-5-vue-animation-libraries-compared/
👉 @frontend_1
👍2
Быстрая сборка JS c Metro
https://medium.com/airbnb-engineering/faster-javascript-builds-with-metro-cfc46d617a1f
👉 @frontend_1
https://medium.com/airbnb-engineering/faster-javascript-builds-with-metro-cfc46d617a1f
👉 @frontend_1
👍1
Forwarded from React
This media is not supported in your browser
VIEW IN TELEGRAM
Sapling – это расширение для просмотра иерархии компонентов проекта в сайдбаре VS Code.
Каждый узел в такой иерархии – компонент React. У каждого узла есть несколько иконок:
- Список пропсов, которые отображаются при наведении.
- Переход в файл компонента.
- Индикатор подключения к Redux.
Для работы расширения используется
✍️ @React_lib
Каждый узел в такой иерархии – компонент React. У каждого узла есть несколько иконок:
- Список пропсов, которые отображаются при наведении.
- Переход в файл компонента.
- Индикатор подключения к Redux.
Для работы расширения используется
@babel/parser
для создания AST и VS Code Extension API для интеграции в VS Code. Для отображения используется React. ✍️ @React_lib
👍4🔥3
Создание адаптивной галереи с CSS flexbox.
https://blog.logrocket.com/how-create-responsive-image-gallery-css-flexbox/
👉 @frontend_1
https://blog.logrocket.com/how-create-responsive-image-gallery-css-flexbox/
👉 @frontend_1
👌5
Что такое SPA - плюсы и минусы, некоторые особенности. Краткая заметка, которая подойдет для подготовки к собеседованию
https://www.keycdn.com/blog/single-page-application
👉 @frontend_1
https://www.keycdn.com/blog/single-page-application
👉 @frontend_1
👍2