Как стать автором
Обновить
175.55
Рейтинг

JavaScript *

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

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Подробное описание операторов RxJS — Часть 1

JavaScript *Angular *TypeScript *
Перевод

Первое, что нужно понять об операторах, - это почему они существуют. Они существуют, потому что observables как тип позволяют нам обрабатывать события (или значения во времени) как множества или набор вещей.

Говоря более просто, любое четко определенное множество будет иметь операции, которые могут быть выполнены с ним, которые могут преобразовать его в новое множество того же типа. Например, предположим, что у нас есть грузовик с яблоками. Мы могли бы превратить его в грузовик с нарезанными яблоками с помощью машины для нарезки яблок. Та же самая машина для нарезки яблок затем может быть использована на любом грузовике с яблоками, чтобы превратить их в грузовик, загруженный нарезанными яблоками. В этом случае машина для нарезки яблок будет считаться «оператором», который сопоставляет яблоки с ломтиками яблок. Точно так же мы могли бы иметь грузовик с сахаром, мукой, яйцами и т. д. И объединить их с грузовиком с ломтиками яблока, чтобы сделать грузовик с яблочными пирогами, используя какую-то машину для производства пирогов. Итак, в этом примере грузовик - это тип множества, машина для нарезки яблок или машина для изготовления пирогов будут «операторами», а сахар, яблоки, ломтики яблок, яйца и т. д. Будут просто значениями, переносимыми нашим типом множества.

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

Возможности функций, возвращающих другие функции в JavaScript

Блог компании OTUS JavaScript *Программирование *
Перевод

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

Поскольку функции можно передавать куда угодно, мы можем поместить их в аргументы функций.

Читать далее
Всего голосов 9: ↑4 и ↓5 -1
Просмотры 2.4K
Комментарии 3

Обход блокировки РКН с помощью магии Service Worker'ов

Информационная безопасность *JavaScript *
Tutorial

Приветствую, Хабр!

Я не претендую на срывание покров или какой-то революционный способ, но мой метод позволит как минимум сохранить ту часть трафика, так преданного вашему проекту/сайту/блогу, и немного вернуть справедливость со всеми этими перипетиями с массовыми блокировками.
Читать дальше →
Всего голосов 28: ↑26 и ↓2 +24
Просмотры 10K
Комментарии 25

SSR для Bitrix с Vue.js без Nuxt.js: как не потерять поисковую индексацию

Блог компании Агентство AGIMA JavaScript *

Привет, Хабр!

Я Саша Шутай, backend-тимлид в компании AGIMA. Сейчас расскажу, что делать, если на проекте Bitrix сожительствует с Vue.js и поисковые боты не видят контента вашего сайта. Рассмотрим технологию серверного рендеринга страниц с помощью Puppeteer, как это всё настроить и быстро запустить для любого веб-приложения.

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 1.9K
Комментарии 7

Первое знакомство с JavaScript-библиотекой Solid

Блог компании RUVDS.com Разработка веб-сайтов *JavaScript *
Перевод
Solid — это реактивная JavaScript-библиотека для создания пользовательских интерфейсов без использования виртуальной DOM. Она однократно компилирует шаблоны, превращая их в узлы реальной DOM, а благодаря тщательно спланированным механизмам обновления контента при изменении состояния приложения выполняется только тот код, который необходим для визуализации этого изменения.

При таком подходе компилятор может оптимизировать процесс первого рендеринга страницы, а среда выполнения кода способна оптимизировать процессы обновления страниц. Такое внимание к производительности делает Solid одним из JavaScript-инструментов, показывающих самые высокие результаты в тестированиях производительности.


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

Тех, кому не терпится взглянуть на код готового проекта, приглашаю заглянуть сюда.
Читать дальше →
Всего голосов 20: ↑19 и ↓1 +18
Просмотры 3.3K
Комментарии 0

Современная архитектура Electron приложений в 2021

JavaScript *

Я хочу рассказать об архитектуре приложений на Electron: из чего они состоят как работают, какие имеют ограничения и требования.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 2.6K
Комментарии 0

35 вопросов с собеседования JavaScript-разработчика

JavaScript *Интервью
Из песочницы
Перевод

Это перевод статьи, в которой Abdo Amin приводит 35 вопросов на собеседованиях JavaScript-разработчиков, которые он сам задает. К вопросам прилагаются и ответы.

Читать далее
Всего голосов 7: ↑3 и ↓4 -1
Просмотры 3.4K
Комментарии 5

Файлы как они есть. Работа с типизированными массивами

Блог компании Райффайзенбанк JavaScript *

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

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

Фотогалерея на максималках

Python *JavaScript *Обработка изображений *Машинное обучение *Искусственный интеллект

~1 год назад я начал разрабатывать свою фотогалерею (песочницу для теста всяких технологий). Данная статья – это описание её архитектуры, а также различные твики/лайфхаки/микрогайды которые я узнал за время разработки + немного про производительность.

Читать далее
Всего голосов 19: ↑18 и ↓1 +17
Просмотры 3K
Комментарии 0

Игра с голосовым управлением на React и Phaser

Блог компании KTS JavaScript *ReactJS *Медийная реклама

В апреле 2020 года перед отделом рекламных спецпроектов KTS встала непростая задача: разработать игру-раннер с управлением голосом в браузере.

В этой статье я расскажу, как мы делали этот проект, какие технические решения принимали, какие технологии использовали и с какими проблемами сталкивались.
При разработке мы использовали TS + React + MobX и Phaser в качестве игрового движка.

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 1.2K
Комментарии 0

Добавляем интернационализацию в приложение на Next.js

Блог компании Alconost Разработка веб-сайтов *JavaScript *Программирование *Локализация продуктов *
Перевод

С 10-й версии в Next.js есть встроенная обработка интернационализированной маршрутизации.

В этой статье мы рассмотрим, как добавить интернационализацию в приложение на Next.js — к концу статьи научитесь делать следующее:

• Добавлять интернационализированную маршрутизацию в приложение на фреймворке Next.js.

• Обрабатывать переключение языковых стандартов («локалей»).

• Добавлять в приложение переведенный текст.

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

Любопытные извращения из мира IT, или зачем мы JS в C++-код вкомпилили

Ненормальное программирование *JavaScript *Программирование *C++ *Браузеры

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

Мы занимались разработкой... скажем так, системы отображения интерактивного контента для рынка одной азиатской страны. Пользователь имел "умное устройство", например, ТВ-приставку или смарт-телевизор, а "интерактивный контент" представлял собой по сути дела html/js/css-приложение, которое прилетало на устройство с трансляции или из интернета и отображалось в прозрачном окне поверх видео. В качестве веб-движка использовался модифицированный Blink из гугловского Chrome.

И вот, в один прекрасный день после какого-то из обновлений, один наш партнер (читай "поставщик контента") обратился к нам с проблемой: что-то не работает.

Читать далее
Всего голосов 35: ↑35 и ↓0 +35
Просмотры 9.4K
Комментарии 20

Core Web Vitals: с чего начать?

Блог компании Mail.ru Group Разработка веб-сайтов *JavaScript *SvelteJS *


Согласно web.dev, улучшение качества взаимодействия с пользователем — ключ к долгосрочному успеху любого сайта. Понимая, насколько важен для развития интернета качественный пользовательский опыт, компания Google в 2020 году представила инициативу Web Vitals. Это единое руководство по метрикам качества, которые необходимы для обеспечения удобного взаимодействия с пользователем. Хотя за прошедшие годы Google создала ряд инструментов для измерения эффективности взаимодействия и составления отчетов (Lighthouse, PageSpeed Insights и Measure), Web Vitals должна упростить измерение производительности и помогает разработчикам сайтов сосредоточиться на самых важных показателях — Core Web Vitals.
Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 1.8K
Комментарии 0

JavaScript: о том, что нас ждет в следующем году

Блог компании Timeweb Разработка веб-сайтов *JavaScript *Программирование *

Привет, друзья! Не за горами 2022 год, а это значит, что пришло время познакомиться с новыми возможностями, которыми нас порадует ECMAScript2022.


Вот о чем мы поговорим в этой статье:


  • await верхнего уровня
  • метод at() для индексируемых сущностей
  • метод hasOwn() для объектов
  • флаг d для регулярных выражений
  • 5 предложений для классов (специальные проверки для частных полей, блоки статической инициализации и др.)

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

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

Декларативная схема данных: создание единой структуры из фрагментов

Ненормальное программирование *Разработка веб-сайтов *JavaScript *Администрирование баз данных *

В предыдущей статье я обозначил некоторые плюсы декларативного описания реляционных структур данных в web-приложениях с "WordPress-философией" (слабонагруженные, модульные, с единой БД). В этой статье я рассматриваю экспериментальную реализацию данного подхода. Сразу предупреждаю, что это не готовый рецепт того, как нужно делать (пусть даже и с моей точки зрения), а, скорее, публичные размышления. Ну нравится мне размышлять вслух, не пинайте сильно.


Реализуемая в приложении задача высосана из вакуума и практической пользы не имеет. Само приложение состоит из трёх npm-пакетов: основного и двух зависимых. Каждый пакет декларирует свою собственную структуру данных в JSON-формате. Основное приложение создаёт в двух различных базах данных две различные структуры, комбинируя свою собственную декларацию и декларацию из соответствующего пакета (own + pack1 & own + pack2). Совмещение различных фрагментов в общую структуру является типовой задачей модульных приложений с единой БД. Эту задачу я и рассматриваю ниже.

Читать дальше →
Рейтинг 0
Просмотры 596
Комментарии 0

React 18: что нужно знать о новой версии

JavaScript *ReactJS *

В начале лета в официальном блоге React вышла новость о планах на 18 версию библиотеки. Команда разработчиков рассказала о новых фичах и API, которые планируется зарелизить в обновлении. Меня зовут Ильмир Шайхутдинов, я frontend разработчик Технократии, и в этой статье я хочу пробежаться по изменениям и познакомить вас с ними поближе. 

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 6.2K
Комментарии 4

Дайджест свежих материалов из мира фронтенда за последнюю неделю №484 (6 — 12 сентября 2021)

Разработка веб-сайтов *CSS *JavaScript *HTML *
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

Читать дальше →
Всего голосов 25: ↑25 и ↓0 +25
Просмотры 5.6K
Комментарии 3

Компактные Vue компоненты из самописных SVG иконок

Работа с иконками *JavaScript *Работа с векторной графикой *Системы сборки *VueJS *


История вопроса


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


Мне уже давно и прочно нравится мир Vue. Особенно завораживает скорость, с которой в нём рождаются новые возможности писать код более лёгким и понятным. Недавно появились Composition API, VueUse, Vite… По ходу освоения этих новых инструментов я нашёл шаблон Vitesse, буквально насыщенный удобными средствами — и для управления макетами (layout), и для маршрутизации, и для локализации и ещё для много чего… Возможно, есть смысл написать отдельный обзор этого арсенала по русски (чего в Интернете пока ещё нет). Но сейчас речь не об этом.

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

Почему я ненавижу JS или как я в 15 лет переписывал свой интернет-магазин

JavaScript *Программирование *.NET *Node.JS *C# *

Я написал интернет-магазин для магазинов мяса на Blazor Server. Попробовал переписать его на React + Node.

Сейчас расскажу, почему после этого я так возненавидел JS...

Читать, почему я ненавижу JS
Всего голосов 72: ↑28 и ↓44 -16
Просмотры 15K
Комментарии 88

Пользовательские хуки React: зачем нам нужен контекст

Блог компании OTUS JavaScript *Программирование *ReactJS *
Перевод

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

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

Пользовательский хук — это функция JavaScript, имя которой начинается с "use" и которая может вызывать другие хуки.

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

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