Обновить
512K+

JavaScript *

Прототипно-ориентированный язык программирования

227,48
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Одна задача с собеса

Время на прочтение8 мин
Охват и читатели25K

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

Читать далее

React: разрабатываем хук для загрузки дополнительных данных

Время на прочтение9 мин
Охват и читатели9.8K


Привет, друзья!


В этой статье я хочу поделиться с вами опытом разработки хука для загрузки дополнительных данных (авось кому-нибудь пригодится).


На самом деле, хуков будет целых 2 штуки:


  • useLoadMore — для загрузки дополнительных данных при нажатии кнопки "Загрузить еще"
  • useLoadPage — для постраничной загрузки данных (аля пагинация на основе курсора)

Первый хук попроще, второй посложнее.


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

Читать дальше →

Книга «{Вы пока еще не знаете JS} Познакомьтесь, JavaScript. 2-е изд.»

Время на прочтение10 мин
Охват и читатели28K
image Привет, Хаброжители! Вы пока еще не знаете JS. И Кайл Симпсон признается, что тоже его не знает (по крайней мере полностью)… И никто не знает. Но все мы можем начать работать над тем, чтобы узнать его лучше. Сколько бы времени вы ни провели за изучением языка, всегда можно найти что-то еще, что стоит изучить и понять на другом уровне.

Учтите, что, хотя книга и называется «Познакомьтесь, JavaScript», она не для новичков. У нее другая задача: дать обзор тем, в которых необходимо разобраться на начальном этапе изучения JS. Даже если вы уже написали достаточно кода JS, эту книгу не стоит пропускать, возможно, в ваших знаниях есть пробелы, которые необходимо заполнить перед углубленным изучением сложных тем.
Читать дальше →

9 фишек инструментов разработчика Chrome

Время на прочтение3 мин
Охват и читатели12K

На вкладке «Элементы» в инструментах разработчика Chrome много интересных функций, поддерживающих отладку и ускоряющих работу. К сожалению, начинающие веб-мастера им уделяют недостаточно внимания. С помощью этой статьи мы об этих функциях напомним.

Читать далее

Webpack Module Federation — микрофронтенд на современных технологиях (часть 2) – deep dive

Время на прочтение6 мин
Охват и читатели8.2K

По мотивам вопросов из предыдущей статьи мы решили написать вторую часть и рассказать, что удалось сделать еще.

На повестке дня:

Роутинг хостового приложения (React/Vue Routing внутри Angular)

Полноценные адаптеры для работы удаленных плагинов

Использование сервисных модулей в рантайме

Читать далее

Запустилась Дока — опенсорсный справочник по веб-разработке

Время на прочтение4 мин
Охват и читатели23K
Дока — это опенсорсный справочник с документацией, который веб-разработчики пишут для веб-разработчиков. Цель Доки — сделать документацию по веб-разработке практичной, понятной и не скучной.

Это открытый проект, внести вклад в него может каждый. Контент и код Доки лежат на GitHub, правила участия, обсуждения и ревью проходят открыто для всех желающих.

Яндекс.Практикум поддерживает работу редакции Доки.


Читать дальше →

Почему сегодня от CDN больше вреда, чем пользы

Время на прочтение3 мин
Охват и читатели11K

CDN(Content Delivery Network) - это подход, позволяющий хранить части страниц вашего сайта на других серверах. Обычно это кастомные шрифты, таблицы стилей, скрипты и иконки. CDN хорош тем, что позволяет кэшировать часто используемые библиотеки типа jQuery, не загружая их заново для каждого сайта. При большом количестве подключаемых файлов на странице, браузер не может делать много запросов к одному домену одновременно. Однако использование CDN, расположенного на другом домене, позволяет обойти эту проблему. На сайтах с огромной посещаемостью CDN позволяет экономить ресурсы серверов. В общем это замечательная технология. А под катом я расскажу, почему первым делом при получении сайта на поддержку, я вырезаю все ссылки на CDN и заменяю их на локальные ресурсы.

Читать далее

Бинарный протокол для JavaScript

Время на прочтение6 мин
Охват и читатели10K

Нативная поддержка JSON одно из преимуществ разработки full-stack JavaScript приложений. JSON является простым, не требующим схемы и человекочитаемым - качества особенно ценимые на ранней стадии разработки, когда ваша модель данных подвержена частым изменениям. Однако за все надо платить, а именно размером и скоростью обработки данных.

JSON будучи текстовым форматом кодирует все значения как UTF-8, что приводит к увеличению размера данных при работе с нетекстовыми данными. Отсутствие схемы означает, что мы должны кодировать нашу структуру данных (ключи объекта) вместе с самими данными. Мы также делаем дополнительную работу при обработке данных, поскольку нам необходимо преобразовать бинарные данные в их текстовое представление до превращения в JSON и соответственно наоборот в случае декодирования.

Читать далее

Error Boundaries в React: препарируем лягушку

Время на прочтение11 мин
Охват и читатели30K

Представим, что у нас есть приложение на React, в котором можно читать и писать отзывы. Пользователь открыл список отзывов, пролистал его, нажал кнопку «Написать отзыв». Форма написания отзыва открывается в попапе. Пользователь начинает вводить текст, свой email. Вдруг валидация почты срабатывает с ошибкой, которую разработчики забыли обработать. Результат — белый экран. React просто не смог ничего отрендерить из-за этой ошибки в каком-то попапе.

Первая же мысль — не надо было всё уничтожать, список же был не при делах. Чтобы обработать ошибку в render-фазе в React, необходимо использовать Error Boundaries. Почему именно так нужно обрабатывать ошибки — расскажу под катом.

Читать далее

Neoflex проводит Hiring Week для Java-разработчиков и системных аналитиков

Время на прочтение2 мин
Охват и читатели1.8K


С 18 по 24 октября Neoflex приглашает Senior Java-разработчиков и системных аналитиков принять участие в Neoflex Hiring Week. Присоединяйся к нашей команде и получай welcome-бонус в размере одного оклада.

Как принять участие в Neoflex Hiring Week?

  • Заполни заявку на сайте;
  • Получи подтверждение от рекрутера;
  • Пройди техническое собеседование;
  • Прими оффер в течение 48 часов и получи welcome-бонус!
Читать дальше →

Делаем визуализацию распределения доходов населения России на основе данных Росстата

Время на прочтение5 мин
Охват и читатели47K

По данным Росстта в среднем житель России имеет доход 35 700 ₽ в месяц. Эта цифра мало что говорит о благосостоянии населения. Если взять двух человек — одного с доходом 70 000 ₽ и 1400 ₽, их средний ежемесячный доход будет равен ровно 35 700 ₽. Чтобы лучше продемонстрировать распределение доходов, я смастерил калькулятор, который позволяет посчитать количество людей с заданным диапазоном дохода и наглядно продемонстрировать их вклад в общий уровень доходов.

В этом посте я расскажу как от довольно скупых данных, которые доступны на сайте Росстата сгенерировать датасет для подробной инфографики.

Поехали!

Дайджест свежих материалов из мира фронтенда за последнюю неделю №489 (11 — 17 октября 2021)

Время на прочтение3 мин
Охват и читатели8K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

Читать дальше →

Почему в Ember не нужны React-хуки

Время на прочтение9 мин
Охват и читатели2.5K

От переводчика: Этот пост является продолжением поста о реализация паттернов React-компонентов в Ember.js. Автор рассматривает концепцию React-хуков для абстракции логики состояния (stateful logic) и сравнивает ее реализацию с реализацией в Ember. И хотя в экосистеме React эта концепция признана весьма полезной, в Ember.js попытки предложить похожую не нашли особенного отклика. Причина этому - наличие в фреймворке достаточных инструментов для решения этой задачи без использования хуков. О каких инструментах идет речь, вы узнаете из этого материала.

Читать далее

Ближайшие события

Как интегрировать веб-компоненты с помощью Lit в Angular

Время на прочтение6 мин
Охват и читатели3.6K

В этом руководстве я объясню необходимые шаги для интеграции веб-компонентов в Angular.

Читать далее

Для чего компании нужен UI KIT? (Frontend + Design)

Время на прочтение5 мин
Охват и читатели26K

В этой статье мы расскажем, что такое UI KIT, для чего он нужен, и как он сэкономит время и деньги.

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

Читать далее

Как объединить несколько JS приложений с .NET Core (Create React APP + Next JS + .NET Core)

Время на прочтение3 мин
Охват и читатели6.1K

Всем привет! Пару месяцев назад у нас возникла задача запилить лендос для нашего онлайн сервиса. Наш стек - Create React App + .Net Core. Погугля немного, мы решили, что хотим запилить лендос на Next JS, но возник вопрос - как это все вместе подружить.
Мы хотели, что бы приложение открывалось по ссылке: yourdomain.com/app, а все остальные ссылки вели бы на лендос.

Читать далее

Распознаём позу прямо в браузере в реальном времени

Время на прочтение9 мин
Охват и читатели9.4K


Сегодня показываем и рассказываем, как прямо в браузере при помощи ИИ распознать сложную позу человека. Это пригодится, например, в разработке приложений для физических упражнений. Ранее с этой задачей не справлялись даже лучшие детекторы. За подробностями приглащаем под кат, пока у нас начинается флагманский курс Data Science.
Читать дальше →

О чём JS-разработчикам поведают на HolyJS 2021 Moscow

Время на прочтение13 мин
Охват и читатели4.4K

До HolyJS осталось меньше месяца — пора поведать Хабру, какие именно доклады там будут. Под катом их описания, а тут отметим пару вещей:

— В этот раз шире обычного раскрыта тема производительности. Когда React.memo не ускорит, а замедлит? Почему Solid.JS такой быстрый? Что нужно знать JS-разработчику в современном многоядерном мире?

— Помимо докладов, в программе есть несколько воркшопов, так что будет не только теория со слайдами, но и практическая деятельность.

Описания мы разделили по тематическим блокам, но это деление не строгое, некоторые доклады можно причислить к разным блокам сразу.

Смотреть программу

PWA: не Chrome'ом единым?

Время на прочтение3 мин
Охват и читатели9.2K

Я уже публиковал свою точку зрения, что Progressive Web Applications - это, прежде всего, технология для мобильных устройств. Основная особенность классических web-приложений - это клиент-серверная архитектура, а основная особенность "прогрессивных" web-приложений - возможность работы в offline. Понятно, что это очень сильно разные подходы в архитектуре - "всегда на связи" и "всё своё с собой". Совместить два таких разных подхода в одном приложении "это очень дорого и ни к чему".

Отталкиваясь от этой своей точки зрения, я решил посмотреть текущую статистику по браузерами - какие на данный момент у PWA-приложения возможности стать популярным и на какие браузеры оно должно ориентироваться. Данные для публикации взяты с сайта gs.statcounter.com

Читать далее

Node.js: разрабатываем сервер для тестирования API

Время на прочтение21 мин
Охват и читатели14K


Привет, друзья!


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


Основной функционал нашего приложения будет следующим:


  • админка с возможностью добавления данных (далее — проекты) путем их набора (ввода) или копирования/вставки, либо путем загрузки файла;
  • сохранение проектов на сервере;
  • безопасная запись, чтение и удаление файлов на любом уровне вложенности;
  • получение названий существующих проектов и их отображение в админке;
  • возможность редактирования и удаления проектов;
  • унифицированная обработка GET, POST, PUT и DELETE запросов к любому существующему проекту, включая GET-запросы, содержащие параметры и строки запроса;
  • обработка специальных параметров строки запроса sort, order, limit и offset;
  • и многое другое.

Наша админка будет выглядеть так:




Для быстрой стилизации приложения будет использоваться Bootstrap.


Исходный код проекта.


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


При разработке приложения мы будет придерживаться 2 важных условий:


  • формат данных — JSON;
  • основная форма данных — массив.

Обратите внимание: статья рассчитана, преимущественно, на начинающих разработчиков, хотя, смею надеяться, что и опытные найдут в ней что-нибудь интересное для себя.


Вы готовы? Тогда вперед.

Читать дальше →