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

Веб-разработка *

Делаем веб лучше

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

Лучшие поисковые пакеты для JavaScript

Время на прочтение 8 мин
Количество просмотров 548

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

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

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

Новости

Почему typeof null === «object» в современном прочтении

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

Задача унарного оператор typeof возвращать строковое представление типа операнда. Другими словами, typeof 1 вернет строку "number", а typeof "" вернет "string". Все возможные значения типов, возвращаемых оператором typeof изложены в спецификации ECMA-262 - 13.5.1. По задумке, возвращаемое, оператором, значение должно соответствовать принятым в той же спецификации типам данных. Однако, при детальном рассмотрении, можно заметить, что typeof null должен возвращать "object", не смотря на то, что Null - это вполне себе самостоятельный тип, он описан в разделе 6.1.2. Причина тому - обычный человеческий фактор, или, попросту, невинная ошибка в коде. Как эта ошибка могла случиться, попробуем разобраться в этой статьей.

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

Вопросы и ответы для собеседования на позицию frontend-разработчик. Часть 1

Уровень сложности Простой
Время на прочтение 20 мин
Количество просмотров 3.9K

Всем привет! В этой статье хотел бы поделиться вопросами и ответами, которые я задаю на собеседованиях фронтенд-разработчикам и которые попадались мне, когда я сам искал работу. Здесь собраны вопросы именно по JavaScript. В дальнейшем планирую рассмотреть TypeScript отдельно, а также React и связанные с ним технологии.

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

Стартап — Сервис по тестированию. Часть 1. «О проекте»

Уровень сложности Простой
Время на прочтение 11 мин
Количество просмотров 2.4K

Примерно 2.5 года назад я приступил к созданию простенького пет проекта для тестирования себя на предмет усвоения знаний. Как это работало: в процессе усвоения информации выписываю важные моменты > в приложении создаю из них вопросы > прохожу созданный тест спустя пару месяцев > вспоминаю что забыл, остальное закрепляю.

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

Изучив проблему, я подумал: почему не реализовать решение на базе своего приложения для тестов, и бонусом сделать функционал создания тестов общедоступным? И тут понеслось… 2 года непрерывной разработки, множество усвоенных новых знаний, 100500 рефакторов, - 10 выгораний.

И каково оно?
Всего голосов 15: ↑13 и ↓2 +11
Комментарии 16

Истории

Техники для повышения гибкости в управлении проектами в период кризиса

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

За многие годы моей карьеры я столкнулся с множеством вызовов и уникальных ситуаций, которые позволили мне глубоко погрузиться в мир гибкого управления проектами. Думаю, статья будет полезна РМ’ам всех уровней.

В целом, эти методологии и инструменты – это более чем просто методы управления проектами; они представляют собой стратегии выживания и процветания в мире, где изменения – это новая норма.

Гибкость в управлении проектами – это способность адаптироваться к меняющимся условиям и требованиям без потери эффективности. Использование правильных инструментов и техник может значительно улучшить адаптивность команд и проектов.

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

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

Frontend. Чистые и грязные компоненты

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 9.5K

Здравствуйте!

Коротко о чем тут, чтобы вы могли понять, нужно ли оно вам или нет.

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

Сразу напишу, что это, скорее, не статья, а открытие дискуссии. Я уверен, что по этой теме было создано огромное количество материала, но вдруг в момент выхода моего — какой‑нибудь прошлый я прочтет это и о чем‑нибудь задумается. Если это поможет хотя бы одному — это было не зря.

Почему это дискуссия? Потому что я не могу утверждать, что это правильное решение или что это в принципе хорошее решение для действительно больших проектов. Я не знаю. Но в тоже время, чисто логически, это выглядит как правильное решение и все последние проекты которые я делал с этим подходом — легко поддерживаются и разрабатываются. Надеюсь, что более опытные разработчики оставят отзыв или комментарий на эту тему и по этому материалу.

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

Идентификация пользователей в Web 3.0

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 5.3K

В данной статье я публикую свои размышления по поводу идентификации пользователей в плавно привходящей третьей версии веба - Web 3.0. Если коротко, то, в отличие от стремящегося к гипер-централизации Web 2.0 (в пределе - по одному веб-приложению разного типа на всё человечество с центром у какой-нибудь глобальной корпорации), Web 3.0 отличается как раз таки децентрализацией и повышенным вниманием к конфиденциальности пользовательских данных (хотя ничего не мешает тем же глобальным корпорациям контролировать функциональность этих децентрализованных приложений на уровне кода приложения или среды его выполнения - браузера или ОС).

Так какие же требования к идентификации могут предъявлять веб-приложения современного настоящего и ближайшего будущего?

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

Serverless в первый раз

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 5.5K

Давно я приглядывался к Serverless технологиям, но все не доходили руки. Как и во многих компаниях, там где я работаю есть строгое разделение на бэкендеров и фронтендеров. Проблемы у этого известные и самая неприятная — надо договариваться, а разработчики далеко не всегда самые общительные люди.

Но однажды все поменялось...
Всего голосов 18: ↑17 и ↓1 +16
Комментарии 24

Статический сайт на AWS с редиректом http→https, www.site→site

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 2.1K

Задача

Есть AWS аккаунт, на котором требуется поднять статический сайт (html, js, css, png, jpg) на своём домене example.com.

Ссылки: http://example.com, http://www.example.com, https://www.example.com должны перенаправлять на основной сайт https://example.com.

План действий

Покупка домена.
Выпуск SSL сертификата.
Заливка файлов html, js, css в S3.
Создание двух CloudFront distributions (основного и для редиректа с www).
Привязка CloudFront функции редиректа к CloudFront distribution.
Создание A-записей в DNS.

Подробнее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 20

Типы событий в React и TypeScript

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 5K

При работе с React и TypeScript вы часто сталкиваетесь с подобными ошибками:

const onChange = (e) => {}; // Parameter 'e' implicitly has an 'any' type.

<input onChange={onChange} />;

Не всегда понятно, какой тип следует присвоить пременнойe внутри функции onChange.

Это может произойти с onClick, onSubmit или любым другим обработчиком событий, которые получают элементы DOM.

К счастью, есть несколько решений:

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

Увлекательный мир фронтенда

Уровень сложности Простой
Время на прочтение 16 мин
Количество просмотров 8.4K

Фронтенд-разработка — это как собирать лего без инструкции: иногда весело и творчески, но порой ты забираешься на кровать и кричишь: «*@#%*, да где же этот пропавший блок?!»

Каждый новый проект во фронтенде — это как уникальный набор лего, и ты никогда не знаешь, какие интересные вызовы подкинет он на этот раз. 

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

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 14

Разработка сайта для фудтеха. С какими сложностями мы столкнулись, интегрируя «Гриль №1» с iiko

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 1.2K

Привет, Хабр! На связи Пиробайт. В этом году мы разработали новую версию сайта для федеральной службы доставки «Гриль №1». У себя рассказали, как круто справились с задачей, но не упомянули о том, что приключилось на бэкенде. Считаем, что и такие стороны лучше освещать, мы за прозрачность. В статье расскажем, в чем была загвоздка с iiko (айко) и какие решения мы нашли.

Узнать, что пошло не так
Всего голосов 6: ↑3 и ↓3 0
Комментарии 1

Flask для начинающих

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 9.7K

Как начать работать с Flask

Меня зовут Михаил, и я пишу эту статью специально для начинающих программистов, желающих изучить основы веб-разработки с использованием Flask.

Вы новичок в программировании и мечтаете о создании собственных веб-приложений? Эта статья — ваш ключ к пониманию Flask, одного из самых доступных и гибких веб-фреймворков на Python. От установки и простых примеров до работы с данными и базами данных — мы покрываем все, что вам нужно для старта.

За 15-20 минут чтения вы получите не только теоретические знания, но и практические советы от опытного разработчика. Присоединяйтесь к миру веб-разработки и откройте для себя, как просто и увлекательно может быть создание ваших первых веб-приложений с Flask!

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

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

Astro vs Next.js

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 3.5K

Irelia Codeheart, Senior Developer

Astro против Next.js: Подробный анализ для разработчиков
В этой статье мы погрузимся в основы Astro и Next.js — двух надежных, богатых функциями JavaScript-фреймворков. Мы обсудим их функции, цели и отличительные характеристики, предоставляя вам подробный обзор обоих решений.

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

Как малые и средние компании по заказной разработке ПО живут без системных аналитиков?

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 8.8K

Плохо, но они этого не понимают. Распределяют их должностные обязанности между прочими сотрудниками без доплаты. Часть, связанную со сбором первичных данных берёт на себя менеджер проектов с воплем-лозунгом «Не умею, но сделаю»; часть, связанную с проектированием берут на себя разноуровневые разработчики, принимая в том числе те решения, которые потом отольются во много часов переделки уже готового кода и наполненной базы данных. Часть задач просто пропадает и не делается никем потому, что о них не знают или считают неважными, до тех пор, пока их не придётся спешно делать или заметать под ковёр.

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

Сколько стоит разработка сайта с нуля в 2024 году?

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 13K

Бизнес услуг может очень сильно разниться в стоимости: вы можете заказать сайт как за 100 000р., так и за несколько десятков миллионов. Давайте разберемся, в чем отличие дешевого сайта от дорогого и из чего сегодня формируется стоимость разработки с нуля.

Читать далее
Всего голосов 21: ↑18 и ↓3 +15
Комментарии 37

Когда не нужны библиотеки для работы с часовыми поясами

Уровень сложности Средний
Время на прочтение 13 мин
Количество просмотров 1.7K

Итак, настал тот moment, когда вам нужно работать с датами в разных часовых поясах (Новый год же!), а ваш архитектор/начальник не разрешает использовать Moment Timezone или Luxon, потому что они увеличат размер вашей сборки, а для вашего проекта важно, чтобы UI грузился быстро. Или потому что вы делаете небольшую задачу, и непонятно пока, будет ли расширение работы с часовыми поясами.

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

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

Знакомство с WebTransport API

Уровень сложности Средний
Время на прочтение 20 мин
Количество просмотров 6.6K


Hello world!


На днях я прочитал статью о WebTransport API как будущей альтернативе или даже замене WebSockets. Мне стало интересно, что это такое и с чем его едят. Давайте разбираться вместе.

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

Глубокий JS. Области тьмы или где живут переменные

Уровень сложности Сложный
Время на прочтение 16 мин
Количество просмотров 9.7K

В статье Глубокий JS. В память и типах и данных мы говорили о том, как выглядит структура переменной каждого конкретного типа в памяти движка V8. В этой статье предлагаю теперь рассмотреть, где именно эти переменные хранятся и каким образом попадают в память.

Речь пойдет об Абстрактном Синтаксическом Дереве (AST), типах переменных, областях видимости и выделении памяти в стэке и куче.

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

Я счастлив, что больше не веб-разработчик

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

Я написал своё первое одностраничное веб-приложение на Javascript в 2005 году, сразу после того, как узнал о XMLHttpRequest и до появления серьёзных фреймворков. Я оставил профессиональную веб-разработку примерно в 2009 году (а начал её в 1997 году с WebObjects), а последний десяток лет своей карьеры занимался мобильными.

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

Javascript — ужасный язык, никогда не задумывавшийся для чего-то подобного, но, как ни странно, ставший популярным, потому что он всегда был под рукой. Потрясающе, какой объём инноваций затрачен на построение современной вселенной веб-разработки, несмотря на достаточно шаткий фундамент, на котором она основана.

Читать далее
Всего голосов 103: ↑88 и ↓15 +73
Комментарии 181

Вклад авторов