This media is not supported in your browser
VIEW IN TELEGRAM
https://codepen.io/pavlovsk/pen/OXGdoN
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥5❤2💯1
Как реализовать простой контроль версий с помощью JavaScript, чтобы лучше разобраться в Git
Что такое Git и управление версиями в целом?
Это система, которая помогает отслеживать проект во времени. Так, с помощью Git мы можем легко погрузиться в историю исходного кода и посмотреть, как он выглядел в определенное время в прошлом.
Зачем разбираться в Git?
Во-первых, чтобы не использовать команды бездумно, когда что-то пойдет не так. Во-вторых, важно понимать, как работает система, с которой мы взаимодействуем каждый день.
Мы разберем основные понятия Git на примере реализации упрощенной системы управления версиями под названием Gitj.
Реализация
Выполнение первой команды Init
Как вы, наверное, знаете, мы запускаем проект командой git init, после чего Git создает папку .git и сохраняет в ней данные. Нам предстоит это реализовать.
Две важные папки, которые создает git, — это refs и objects. Objects (объекты) — это строительные блоки Git. Они могут быть 3 типов (на самом деле их 4): commit, tree и blob. Сейчас мы подробно рассмотрим каждый из этих типов. В папке refs есть подпапка heads, содержащая ветви и последний коммит каждой ветви (из названия должно быть понятно, что в ней хранится голова ветви). У нас также есть важный файл HEAD, который хранит текущую ветвь или коммит (иногда необходимо выполнить проверку в коммите, а не в ветви).
Создадим эти папки при вызове функции init.
Git Add. Добавление файлов в индекс
📌 Продолжение
@react_tg
Что такое Git и управление версиями в целом?
Это система, которая помогает отслеживать проект во времени. Так, с помощью Git мы можем легко погрузиться в историю исходного кода и посмотреть, как он выглядел в определенное время в прошлом.
Зачем разбираться в Git?
Во-первых, чтобы не использовать команды бездумно, когда что-то пойдет не так. Во-вторых, важно понимать, как работает система, с которой мы взаимодействуем каждый день.
Мы разберем основные понятия Git на примере реализации упрощенной системы управления версиями под названием Gitj.
Реализация
Выполнение первой команды Init
Как вы, наверное, знаете, мы запускаем проект командой git init, после чего Git создает папку .git и сохраняет в ней данные. Нам предстоит это реализовать.
Две важные папки, которые создает git, — это refs и objects. Objects (объекты) — это строительные блоки Git. Они могут быть 3 типов (на самом деле их 4): commit, tree и blob. Сейчас мы подробно рассмотрим каждый из этих типов. В папке refs есть подпапка heads, содержащая ветви и последний коммит каждой ветви (из названия должно быть понятно, что в ней хранится голова ветви). У нас также есть важный файл HEAD, который хранит текущую ветвь или коммит (иногда необходимо выполнить проверку в коммите, а не в ветви).
Создадим эти папки при вызове функции init.
const fs = require("fs");
function init() {
// создается папка .gitj и подпапки .gitj/objects,.gitj/refs и .gitj/refs/heads
fs.mkdirSync(".gitj");
fs.mkdirSync(".gitj/objects");
fs.mkdirSync(".gitj/refs");
fs.mkdirSync(".gitj/refs/heads");
// создается файл с именем .gitj/refs/heads/master
fs.writeFileSync(".gitj/refs/heads/master", "");
// создается файл с именем .gitj/HEAD
fs.writeFileSync(".gitj/HEAD", "ref: refs/heads/master");
}
init();
Git Add. Добавление файлов в индекс
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍11🔥1
Поговорим о принципах SOLID с точки зрения приложений React. Я прекрасно понимаю, что статей на эту тему уже достаточно много, и знаю это потому, что прочитал большинство из них.
Должен сказать, что не согласен с тем, как подается информация в таких материалах (иначе я бы, конечно, не стал публиковать эту статью).
Проблема, на мой взгляд, заключается в том, что авторы рассказывают только о том, как прекрасны принципы SOLID, не упоминая об их возможных изъянах и подводных камнях.
Никто не задается вопросом: а применимы ли вообще принципы SOLID в React-приложениях? Именно это мы и обсудим, так что читайте дальше.
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤3🥴3🔥1🤡1
This media is not supported in your browser
VIEW IN TELEGRAM
🍔 Beat Burger
Приложение на React, анимированное библиотекой gsap. При нажатии на элементы проигрываются звуки.
#react #js
https://codepen.io/ste-vg/pen/MWpxKYR
@react_tg
Приложение на React, анимированное библиотекой gsap. При нажатии на элементы проигрываются звуки.
#react #js
https://codepen.io/ste-vg/pen/MWpxKYR
@react_tg
❤18👍9🔥2
Никто не будет спорить, что Figma круто изменила работу для UX/UI дизайнера, делая все проще и объединяя все необходимое в одном месте. Однако даже со всеми потрясающими возможностями и плагинами в Figma существуют и другие приложения и сайты, которыми дизайнеры пользуются каждый день и которые Figma заменить не может. Каждое из них выполняет особую задачу, которая выходит за пределы возможностей Figma. Поэтому хочется поделиться 7 приложениями и сайтами, которые можно использовать вместе с Figma. Этот список покажет, что иногда для достижения лучших результатов нужно использовать несколько инструментов.
1. Mobbin
2. Lyssna
3. Maze
4. Typeform
5. Fonts in Use
6. Designstripe
7. PaletteMaker
▪Читать
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🔥2🥰1😢1
•HTML: 🌐 https://w3schools.com
•CSS: 🎨 https://web.dev/learn/css
•JavaScript: 🚀 https://javascript.info
•Git & GitHub: 📚 https://git-scm.com
•SQL: 🔍 https://SQLzap.com
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12🔥5👍2
This media is not supported in your browser
VIEW IN TELEGRAM
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥4❤2
Представляем список из семи проектов, которые, подходят для того, чтобы стать получить хорошую практику на React, - от простых до сложных приложений.
Так же описан весь технологический стек, который можно использовать для создания каждого проекта, а также о том, как пошагово сделать каждый из них.
▪Читать
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15👍7🔥3
https://github.com/szimek/sharedrop #opensource
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3❤1🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
Стильный слайдер для сайта
#html #css #js #slider
https://codepen.io/theseventh/pen/LYVqMYb
@javascriptv
#html #css #js #slider
https://codepen.io/theseventh/pen/LYVqMYb
@javascriptv
❤12🔥4👎1🥰1
Примеры профессионального использования всплывающих окон включают раскрывающиеся меню навигации, средства выбора дат и экскурсии во время процесса регистрации.
В экосистеме React эту потребность удовлетворяют многие библиотеки, предлагая различные уровни настройки, стратегии позиционирования и оперативности.
1 Popper.js
2 act-tiny-popover
3 react-laag
4 reactjs-popup
5 react Joyride
#js #react #ru
▪ Подробнее
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤4🔥2
⚛ Создание UI-компонентов React на продвинутом уровне
React — хорошая библиотека. Так давайте сделаем ее еще лучше, создавая многоразовые компоненты на высокопрофессиональном уровне.
Для использования этого руководства достаточно базовых знаний о React, TypeScript и Tailwind CSS.
В качестве примера поработаем с button, но принципы, которым будем следовать здесь, применимы к любому HTML-тегу.
Приведенный выше код работает, но что, если понадобится ввести ARIA (accessible rich internet application attribute — доступные полнофункциональные интернет-приложения), ссылки или любые другие свойства обычного тега button?
Можно просто добавить больше свойств и на этом закончить.
Это одно из решений, но оно не эффективно. Чтобы сделать его более действенным, поработаем с TypeScript и React. Быстро создать проект с использованием React и TypeScript поможет документация Vite.
Первым шагом будет импорт необходимых типов из React и создание интерфейса для свойств кнопки (button).
📌 Продолжение
@react_tg
React — хорошая библиотека. Так давайте сделаем ее еще лучше, создавая многоразовые компоненты на высокопрофессиональном уровне.
Для использования этого руководства достаточно базовых знаний о React, TypeScript и Tailwind CSS.
В качестве примера поработаем с button, но принципы, которым будем следовать здесь, применимы к любому HTML-тегу.
const Button = ({children, className}) => {
return (
<button className={className}>{children}</button>
)
}
Приведенный выше код работает, но что, если понадобится ввести ARIA (accessible rich internet application attribute — доступные полнофункциональные интернет-приложения), ссылки или любые другие свойства обычного тега button?
Можно просто добавить больше свойств и на этом закончить.
const Button = ({children, className, ref, type}) => {
return (
<button className={className} ref={ref} type={type}>{children}</button>
)
}
Это одно из решений, но оно не эффективно. Чтобы сделать его более действенным, поработаем с TypeScript и React. Быстро создать проект с использованием React и TypeScript поможет документация Vite.
Первым шагом будет импорт необходимых типов из React и создание интерфейса для свойств кнопки (button).
📌 Продолжение
@react_tg
👍16🔥3❤🔥2
Искусство манипулирования массивами JavaScript: исследование метода Array.prototype.filter()
Такие методы, как Array.prototype.filter(), Array.prototype.map() и Array.prototype.reduce(), являются неотъемлемой частью парадигмы функционального программирования JavaScript. Но достаточно ли хорошо вы понимаете, как работает метод filter? Не будем вдаваться в подробности реализации, а рассмотрим только внутренний механизм этого метода. “Дьявол кроется в деталях” — попробуем копнуть поглубже и поискать этого “дьявола” в языке JavaScript.
В JavaScript массивы не являются “примитивными значениями”, а рассматриваются как “объекты”, а при слове “объект” на ум приходит другое слово — “метод”. В этой статье хочу обратить ваше внимание на неизменяющие (Non-Mutating ) и изменяющие (Mutating) методы массива. На простом языке разницу между ними я бы объяснил так: методы, которые не изменяют исходный массив, а создают или возвращают новый массив с необходимыми изменениями, называются неизменяющими, а изменяющие методы — это те, которые изменяют исходный массив.
Array.prototype.filter() — один из неизменяющих методов, возвращающий новый массив. Возвращаемый массив содержит элементы, отфильтрованные из исходного массива на основе теста, реализованного функцией обратного вызова, переданной в качестве входного аргумента методу .filter().
Сигнатура метода “filter” выглядит следующим образом:
📌Смотреть
@react_tg
Такие методы, как Array.prototype.filter(), Array.prototype.map() и Array.prototype.reduce(), являются неотъемлемой частью парадигмы функционального программирования JavaScript. Но достаточно ли хорошо вы понимаете, как работает метод filter? Не будем вдаваться в подробности реализации, а рассмотрим только внутренний механизм этого метода. “Дьявол кроется в деталях” — попробуем копнуть поглубже и поискать этого “дьявола” в языке JavaScript.
В JavaScript массивы не являются “примитивными значениями”, а рассматриваются как “объекты”, а при слове “объект” на ум приходит другое слово — “метод”. В этой статье хочу обратить ваше внимание на неизменяющие (Non-Mutating ) и изменяющие (Mutating) методы массива. На простом языке разницу между ними я бы объяснил так: методы, которые не изменяют исходный массив, а создают или возвращают новый массив с необходимыми изменениями, называются неизменяющими, а изменяющие методы — это те, которые изменяют исходный массив.
Array.prototype.filter() — один из неизменяющих методов, возвращающий новый массив. Возвращаемый массив содержит элементы, отфильтрованные из исходного массива на основе теста, реализованного функцией обратного вызова, переданной в качестве входного аргумента методу .filter().
Сигнатура метода “filter” выглядит следующим образом:
📌Смотреть
@react_tg
👍19❤4🔥4
Разработка веб-дэшбордов с использованием React, Material UI, Tailwind CSS и Nivo. Часть 1
Визуализация данных — важнейший компонент процесса принятия обоснованных решений и представления информации в удобном для пользователя виде. Она позволяет преобразовывать сложные данные в четкие и осмысленные визуальные картины, благодаря чему организации могут решать различные задачи и повышать эффективность своей работы.
Для визуализации данных существует множество платформ бизнес-аналитики (BI). В качестве примера можно привести Tableau, Power BI, QlikView и Looker. Однако они могут иметь ограничения и отличаться высокой стоимостью. Альтернативным подходом к использованию BI-инструментов является применение библиотек визуализации данных, таких как Nivo, при веб-разработке фронтенда.
В этом цикле из трех частей мы рассмотрим, как создавать дэшборды, отслеживающие производительность сайта, с помощью React, Tailwind CSS, Material UI и Nivo. Если вы разработчик, желающий усовершенствовать навыки визуализации данных, владелец бизнеса, стремящийся получить представление о данных, или просто человек, интересующийся миром React и визуализации данных, рекомендуем приступить к работе после прочтения серии этих статей.
Итак, начнем!
📌 Читать
@react_tg
Визуализация данных — важнейший компонент процесса принятия обоснованных решений и представления информации в удобном для пользователя виде. Она позволяет преобразовывать сложные данные в четкие и осмысленные визуальные картины, благодаря чему организации могут решать различные задачи и повышать эффективность своей работы.
Для визуализации данных существует множество платформ бизнес-аналитики (BI). В качестве примера можно привести Tableau, Power BI, QlikView и Looker. Однако они могут иметь ограничения и отличаться высокой стоимостью. Альтернативным подходом к использованию BI-инструментов является применение библиотек визуализации данных, таких как Nivo, при веб-разработке фронтенда.
В этом цикле из трех частей мы рассмотрим, как создавать дэшборды, отслеживающие производительность сайта, с помощью React, Tailwind CSS, Material UI и Nivo. Если вы разработчик, желающий усовершенствовать навыки визуализации данных, владелец бизнеса, стремящийся получить представление о данных, или просто человек, интересующийся миром React и визуализации данных, рекомендуем приступить к работе после прочтения серии этих статей.
Итак, начнем!
📌 Читать
@react_tg
🔥9👍7❤2👎1
Инструмент работает все максимально просто: сами комментарии подключаются по системе plug&play, а настроить их можно прямо на веб-сайте проекта
Replyke предоставляет готовый к использованию компонент комментариев, который легко настраивается и интегрируется с существующими React-проектами
https://replyke.com/
#React #web
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2❤1
8 советов, которые сделают JavaScript-код чище
Прежде чем перейти к теме, выясним, что такое чистый код.
ЧИСТЫЙ КОД — это концепция в разработке программного обеспечения, подчеркивающая важность написания кода, который легко понять, поддерживать и тестировать. она включает в себя такие принципы, как читабельность, простота, избегание избыточности, осмысленное именование, единственная ответственность функций или методов, эффективная обработка ошибок, четкая коммуникация через код и тестируемость.
ЦЕЛЬ ЧИСТОГО КОДА — сделать исходный код понятным как для нынешних, так и для будущих разработчиков, что способствует сотрудничеству и облегчает постоянное сопровождение и оптимизацию программного обеспечения. принципы чистого кода наиболее подробно изложены в книге роберта к. мартина “чистый код: руководство по гибкой разработке программного обеспечения”.
Если у вас много сложного кода и вы не работаете над его очисткой, вам будет очень сложно его поддерживать.
Вот 8 советов, которые сделают JavaScript-код более читабельным и чистым.
📌 Смотреть
Прежде чем перейти к теме, выясним, что такое чистый код.
ЧИСТЫЙ КОД — это концепция в разработке программного обеспечения, подчеркивающая важность написания кода, который легко понять, поддерживать и тестировать. она включает в себя такие принципы, как читабельность, простота, избегание избыточности, осмысленное именование, единственная ответственность функций или методов, эффективная обработка ошибок, четкая коммуникация через код и тестируемость.
ЦЕЛЬ ЧИСТОГО КОДА — сделать исходный код понятным как для нынешних, так и для будущих разработчиков, что способствует сотрудничеству и облегчает постоянное сопровождение и оптимизацию программного обеспечения. принципы чистого кода наиболее подробно изложены в книге роберта к. мартина “чистый код: руководство по гибкой разработке программного обеспечения”.
Если у вас много сложного кода и вы не работаете над его очисткой, вам будет очень сложно его поддерживать.
Вот 8 советов, которые сделают JavaScript-код более читабельным и чистым.
📌 Смотреть
❤13👍5🔥3🤨3
Разработка веб-дэшбордов с использованием React, Material UI, Tailwind CSS и Nivo. Часть 2
Продолжаем серию статей из 3 частей по визуализации данных с помощью React, Material UI, Tailwind CSS и Nivo.
В 1-й части мы создали каркас для веб-приложения, содержащий 3 отдельные страницы: Home, About и Insights.
В этой, 2-й части, будем использовать Tailwind CSS в качестве фреймворка для работы со стилями веб-приложения.
Предварительные условия
Если у вас еще нет каркаса веб-приложения, выполните шаги, указанные в 1-й части. Затем интегрируйте в проект Tailwind CSS.
Перед разработкой веб-приложения обычно создается руководство по проектированию.
Оно включает указания, касающиеся цветовых схем, типографики, интервалов и других стилистических компонентов.
По сути, такое руководство является планом проекта.
Задачи данного туториала будут сведены только к разработке цветовой схемы.
📌Читать
📌Часть 1
@react_tg
Продолжаем серию статей из 3 частей по визуализации данных с помощью React, Material UI, Tailwind CSS и Nivo.
В 1-й части мы создали каркас для веб-приложения, содержащий 3 отдельные страницы: Home, About и Insights.
В этой, 2-й части, будем использовать Tailwind CSS в качестве фреймворка для работы со стилями веб-приложения.
Предварительные условия
Если у вас еще нет каркаса веб-приложения, выполните шаги, указанные в 1-й части. Затем интегрируйте в проект Tailwind CSS.
Перед разработкой веб-приложения обычно создается руководство по проектированию.
Оно включает указания, касающиеся цветовых схем, типографики, интервалов и других стилистических компонентов.
По сути, такое руководство является планом проекта.
Задачи данного туториала будут сведены только к разработке цветовой схемы.
📌Читать
📌Часть 1
@react_tg
👍10❤2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 useLocation - #React TS хук, который предоставляет данные о геолокации в реальном времени, а также метрики курса движения и скорости. 🗺️📍
Используйте его для получения информации о близлежащих местах или для определения местоположения пользователей поблизости.
▪Демо
▪Код
@react_tg
Используйте его для получения информации о близлежащих местах или для определения местоположения пользователей поблизости.
▪Демо
▪Код
@react_tg
👍25🔥6❤3🤯3
https://www.youtube.com/watch?v=VlzPNfdNt_k&t=89s
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Полное собеседование React разработчика 2024🧑🏻💻
https://t.iss.one/javascriptv - наш телеграм канал с огромным количеством полезного материала для Frontend разработчиков.
С 12 по 15 февраля пройдет Frontend Interview Fest — онлайн-фест тестовых собеседований для Junior Frontend Developer-ов. Будут интервью…
С 12 по 15 февраля пройдет Frontend Interview Fest — онлайн-фест тестовых собеседований для Junior Frontend Developer-ов. Будут интервью…
👍7🔥2❤1