Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Основы React: всё, что нужно знать для начала работы

Время на прочтение15 мин
Количество просмотров213K
Хотите узнать о том, что такое React, но вам всё никак не выпадает шанс изучить его? Или, может быть, вы уже пробовали освоить React, но не смогли толком понять? А может, вы разобрались с основами, но хотите привести в порядок знания? Эта статья написана специально для тех, кто положительно ответил хотя бы на один из этих вопросов. Сегодня мы создадим простой музыкальный проигрыватель, раскрывая основные концепции React по мере продвижения к цели.

image

Разобравшись с этим материалом, вы освоите следующее:

  • Компоненты React.
  • Рендеринг ReactDOM.
  • Классы компонентов и функциональных компоненты.
  • JSX.
  • Состояние (state).
  • Обработка событий.
  • Асинхронный метод setState.
  • Свойства (props).
  • Ссылки (refs).

Это — практически всё, что нужно знать для того, чтобы создавать и поддерживать React-приложения.
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии61

Что такое чистые функции в JavaScript?

Время на прочтение3 мин
Количество просмотров91K
Чистые функции — строительные блоки в функциональном программировании. Их обожают за простоту и тестируемость.

В этой статье вы найдете чек-лист, который поможет определить чистая функция или нет.

image

Чек-лист


Функция должна удовлетворять двум условиям, чтобы считаться «чистой»:

— Каждый раз функция возвращает одинаковый результат, когда она вызывается с тем же набором аргументов
Читать дальше →
Всего голосов 25: ↑12 и ↓13-1
Комментарии15

Введение в React

Время на прочтение30 мин
Количество просмотров94K
Оглавление
1. Getting started with React
....1.1 Методы добавления React
....1.2 Выбор метода добавления
........1.2.1 Добавление React с помощью тэга <script />
........1.2.2 Добавление React с помощью create-react-app
2. Basically React
....2.1 React object
....2.2 React element
........2.2.1 CreateElement
........2.2.2 CloneElement
........2.2.3 IsValidElement
........2.2.4 Children
....2.3 React компоненты
........2.3.1 React.Component
........2.3.2 React.Fragment
.........2.3.3 State
.........2.3.4 Events
.........2.3.5 Lifecycle
.........2.3.6 Refs
....2.4 ReactDOM
........2.4.1 Render
........2.4.2 Hydrate
........2.4.3 UnmountComponentAtNode
........2.4.4 CreatePortal
3. Other topics
....3.1 Lists and Keys
....3.2 Error Handling
........3.2.1 getDerivedStateFromError
........3.2.2 componentDidCatch
Заключение

React — JavaScript-библиотека с открытым исходным кодом для разработки пользовательских интерфейсов.

1. Getting started with React


1.1 Методы добавления React


Существует 2 основных метода для добавления React на сайт:

  1. С помощью тэга <script />
  2. С помощью create-react-app

1.2 Выбор метода добавления


Выбор метода зависит от потребностей. Если вы просто хотите добавить немного интерактивности на существующую страницу или хотите просто попробовать React тогда используйте первый метод подключения. Если вы собираетесь построить полноценное React приложение, то используйте create-react-app.

1.2.1 Добавление React с помощью тэга <script />


Шаг 1 Добавьте 3 тега в контейнер head на вашей странице:
<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>

Здесь подключаются библиотеки React и React-dom, а также компилятор babel.
Babel не является обязательным для использования React, но полезным для написания кода UI, с помощью JSX.

Шаг 2 Добавьте пустой контейнер на вашу страницу чтобы отметить место, где вы хотите что-либо отобразить с помощью React.
Читать дальше →
Всего голосов 14: ↑6 и ↓8+4
Комментарии9

Вёрстка в 2022. Часть 1: Теория

Время на прочтение5 мин
Количество просмотров30K

"Разработчик – это человек, который переводит мысли заказчика на язык машины"
@mikita_du

Идея статьи появилась год назад, думал назвать «Вёрстка в 2021», но как-то затянулось… Весной 2021 года Microsoft объявила, что с 15 июня 2022 года прекращается поддержка IE11 (да, не для всех версий Win 10, но всё же), а значит, к выходу статьи уже останется менее полугода до знаменательного события, когда не придётся верстать под IE.

Для меня же это значит, что можно будет по полной использовать новые стандарты браузеров, в частности – css-variables, grid layout.

Читать далее
Всего голосов 9: ↑7 и ↓2+8
Комментарии22

Statoscope: курс интенсивной терапии для вашего бандла

Время на прочтение17 мин
Количество просмотров7.2K

Statoscope — это инструмент для анализа webpack-бандлов, а я его автор и мейнтейнер. Он зародился в далеком 2016 году как эксперимент, а теперь это полноценный тулкит для просмотра, анализа и валидации сборки.



В ноябре на конференции HolyJS я выступил с докладом о Statoscope и провёл воркшоп по его использованию. Зрителям понравилось, так что мы с организаторами HolyJS решили, что доклад может пригодиться и читателям Хабра — поэтому сделали текстовую версию. Видеозапись тоже прилагаем.

Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии1

Отладка React для самых маленьких

Время на прочтение3 мин
Количество просмотров20K

Эта статья для тех, кто только начинает свой путь в написании больших React приложений, но все еще использует только console.log для их дебага. Мы с вами рассмотрим работу с расширением для браузера "React Developer Tools" на простом примере, который в дальнейшем вы сможете применить в своих проектах. Это расширение дает возможность просмотра дерева компонентов, их props, состояния и контекста. Также достаточно просто отловить неэффективные компоненты, которые подвергаются повторному рендерингу, посмотреть сколько на это уходит времени и построить графики для визуализации эффективности компонентов. Благодаря этой информации вы не только сможете оптимизировать ваше приложение, но и более глубоко изучить React и понять все тонкости работы с ним.

Читать далее
Всего голосов 4: ↑3 и ↓1+3
Комментарии1

JSX — подробности

Время на прочтение9 мин
Количество просмотров141K

React. Продвинутые руководства. Часть Первая


Этой публикацией я открываю серию переводов раздела "Продвинутые руководства" (Advanced Guides) официальной документации библиотеки React.js.


JSX — подробности


Фундаментально, JSX является синтаксическим сахаром для функции React.createElement(component, props, ...children).


Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии11

Redux против React Context API

Время на прочтение15 мин
Количество просмотров79K


В React 16.3 был добавлен новый Context API. Новый в том смысле, что старый Context API был за кадром, большинство людей либо не знали о его существовании, либо не использовали, потому что документация советовала избегать его использования.

Однако теперь Context API является полноценной частью React, открытой для использования (не так, как раньше, официально).
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии24

10 вещей, которые можно делать в верстке с помощью псевдоэлементов before и after

Время на прочтение10 мин
Количество просмотров48K

Привет, Хабр! Меня зовут Максим Васянович, я спикер курса “Веб-верстка” в Skillbox. Сегодня поговорим о верстке, а точнее - о нюансах работы с псевдоэлементами before и after. Статья будет полезна, прежде всего, начинающим верстальщикам. Но, возможно, и профи будет интересно освежить эти моменты в памяти. 

Псевдоэлементы - мощный инструмент для создания дополнительной стилизации элементов. В этой статье посмотрим, для чего их можно использовать и как.

Читать далее
Всего голосов 26: ↑25 и ↓1+29
Комментарии10
Привет, Хабр! С мая 2019 года из-за санкций США мы остались без приложений и API для Android от Google. Из-за этого нашим устройствам грозило будущее без push-уведомлений, магазина и облачных сервисов.

Естественно, мы не опустили руки, а разработали и запустили платформу Huawei Mobile Services, которая заменила сервисы Google для наших устройств. Чтобы вы с ней познакомились и интегрировали в свои приложения, мы собрали 10 самых популярных вопросов, которые возникают у разработчиков, впервые столкнувшихся с HMS.
Под катом — наши ответы
Всего голосов 34: ↑29 и ↓5+51
Комментарии28

Как ваш браузер обрабатывает прикосновения к экрану телефона (js touch events)

Время на прочтение6 мин
Количество просмотров23K

Ссылка на github

Здесь я поделюсь своим опытом и постараюсь максимально подробно рассказать все основные фитчи которые есть в вашем javascript для обработки прикосновение к дисплею. touchstart и т.д.

ЧИТАТЬ
Всего голосов 9: ↑8 и ↓1+9
Комментарии7

Убираем JavaScript. Как при помощи htmx красиво использовать HTML и уменьшить объем кода

Время на прочтение6 мин
Количество просмотров51K

htmx — инструмент для создания сложных и интерактивных веб-приложений на HTML, альтернатива клиентскому рендерингу на Javascript. В этой статье рассказываем, как библиотека помогает переиспользовать элементы на сервере, сократить объем кода на Javascript и отказаться от сборки.

Читать далее
Всего голосов 16: ↑11 и ↓5+10
Комментарии24

Data Science на JavaScript без Python

Время на прочтение10 мин
Количество просмотров9.5K

Мы уже писали о том, как запустить Python в браузере, а сегодня к старту флагманского курса по Data Science расскажем, как привычные для Python задачи решаются на JavaScript. Если вы знакомы только с JS и хотите попробовать Data Science, не покидая зону комфорта, (или, наоборот, хотите познакомиться с JS), просто хочется необычных экспериментов или нужно интегрировать небольшую управляемую визуализацию о статистике на сайт, читайте подробности под катом.

Автор, переводом статьи которого о множестве Мандельброта мы уже делились в блоге, также включил ссылку на репозиторий polyglot_fit с решением задачи из сегодняшней статьи на других языках.

Читать далее
Всего голосов 7: ↑4 и ↓3+1
Комментарии1

Надоел JavaScript — используй браузерный Python

Время на прочтение9 мин
Количество просмотров42K
Мой опыт разработки игры «Змейка» на Brython

image

«Погоди, что?» – думаю, большинство читателей отреагирует на заголовок именно так.

В смысле «просто использовать Python в браузере»?

Все знают, что в браузерах работает только JavaScript.

Ну, выше приведен скриншот с исходным кодом моего личного сайта. Взгляните, возможно вы увидите для себя что-то новое.

Да, это Python!

А теперь, давайте поговорим о том, как и насколько хорошо это работает, а также обсудим ряд других альтернатив JavaScript.

Знакомство с Brython


Brython — это реализация Python3, написанная на JavaScript, которая позволяет писать код на Python для веба.

По сути, это JavaScript-библиотека, которая преобразует ваш код на Python в эквивалентный JS и исполняет его в рантайме.

Поскольку написание браузерного кода на Python звучит круто, я решил попробовать.
Читать дальше →
Всего голосов 37: ↑34 и ↓3+45
Комментарии52

Изучай observable, создавая observable

Время на прочтение7 мин
Количество просмотров38K

Эта статья — перевод оригинальной статьи Ben Lesh “Learning Observable By Building Observable”.

Ben Lesh рассказывает как создать свой observable и сравнивает его работу с observable из RxJs.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии2

Как запускать в облаке приложения, требовательные к latency? СУБД Arenadata DB на сверхбыстрых облачных дисках

Время на прочтение9 мин
Количество просмотров3.2K

Источник

Arenadata DB — мощная распределенная аналитическая база данных для высоконагруженных проектов. Эта СУБД может в короткие сроки обслуживать огромное количество аналитических запросов к данным, но такой режим работы делает ее требовательной к производительности дисков: она должна быть высокой, чтобы обеспечить быстрый отклик системы. Из-за этого Arenadata DB не так просто развернуть в облаке: «под капотом»‎ должны быть быстрые диски и возможность выбора их типа с учетом нагрузки проекта — для достижения нужной скорости работы.

Обычно облака не гарантируют скорости отклика, подходящей для работы со сверхнагруженными системами. Но на платформе Mail.ru Cloud Solutions запущена полностью управляемая Arenadata DB Cloud и есть быстрые диски для ее работы High IOPS SSD. Их производительности вполне достаточно для большинства приложений. А для систем с особо высокими нагрузками, где критически важно минимизировать время отклика до десятых долей миллисекунды, теперь можно подключить и сверхбыстрые диски Low Latency NVMe — они предназначены для задач, где скорость отклика выходит на первый план.

Меня зовут Дмитрий Яценко, я являюсь преподавателем-исследователем в Южном федеральном университете, тренером по продуктам в Arenadata, а также по совместительству разработчиком и системным интегратором в других организациях. В этой статье я покажу результаты тестирования Arenadata DB c Low Latency NVMe, которые помогли улучшить производительность СУБД при по-настоящему высоких нагрузках.
Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии6

Знакомьтесь: Слесарь 1С. Профессия, которая уже захватила рынок

Время на прочтение7 мин
Количество просмотров44K

Пока я работал на заводах, мир 1С сильно изменился. А мне ничего не сказали. Поэтому я, вернувшись в мир 1С, продолжил пользоваться старой терминологией и, в частности, устаревшим классификатором профессий.

Я считал, что главный в мире 1С – программист. Позже в жёлтый мир пришли новые профессии, из большой разработки – аналитики, архитекторы, разработчики, даже тестировщики. Но я, как упрямый баран, называл эти профессии ненужными, вынужденными. Это просто неудавшиеся программисты, говорил я. Не можешь программировать – иди в аналитики. Боишься разговаривать с директором – иди в разработчики. Вообще ничего не умеешь – иди в тестировщики.

Но даже такая картина мира 1С не могла до конца объяснить происходящего. Аналитиков, архитекторов, разработчиков, сервис-инженеров и даже программистов в нашей отрасли – мало. А людей – много. Кто они?

За два с лишним года наблюдений, исследований и выращивания 1Сников я понял, что подходящего названия их профессии сейчас просто нет. Оттого постоянно возникает путаница, завышенные ожидания, неверные направления подготовки. Поэтому пришлось придумать название профессии самостоятельно.

Разрешите представить: Слесарь 1С. Без стёба. Статья – абсолютно серьёзная.

Читать далее
Всего голосов 51: ↑43 и ↓8+44
Комментарии108

Делаем собственные курсоры для сайтов

Время на прочтение7 мин
Количество просмотров19K
Существует множество способов обогащения визуальных впечатлений, которые вызывает у пользователей креативный веб-сайт, множество способов перевода существующего статического дизайна на новый уровень. В частности, речь идёт об оснащении сайтов интерактивным функционалом. А здесь мы исследуем один из способов реализации такого функционала через разработку собственного курсора (указателя мыши) для сайта, представляющего собой независимый элемент пользовательского интерфейса. Это — элемент интерфейса, который будет не только интерактивным и визуально привлекательным, но и полезным с практической точки зрения. Мы уделим особое внимание примерам кода, которые дадут всем желающим возможность расширить те базовые вещи, которые мы рассмотрим, и сделать собственный качественный курсор для сайта.


Пользователь взаимодействует со страницей сайта 14islands.com с использованием собственного курсора этого сайта
Читать дальше →
Всего голосов 27: ↑22 и ↓5+29
Комментарии20
Даже консервативные отрасли идут в облака. Для многих компаний облачные сервисы играют роль катализатора цифровой трансформации. Они открывают дорогу к новым бизнес-моделям и продуктам без существенных капитальных вложений. Это было особенно заметно в 2020 ковидный год.

Облачные сервисы — не панацея: тут есть свои проблемы. Но сложности сходят на нет за счёт развития самих облаков. В ЦОДах используются более совершенные железо и технологии, развивается клиентский сервис операторов, появляются новые подходы к эксплуатации и обслуживанию.

Облачные сервисы можно рассматривать на разных уровнях абстракции, и для каждого характерны свои тенденции.
Читать далее
Всего голосов 38: ↑37 и ↓1+57
Комментарии0
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность