Обновить
512K+

JavaScript *

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

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

Дайджест свежих материалов из мира фронтенда за последнюю неделю №473 (14 — 20 июня 2021)

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

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

Идеальный инструмент для создания прогрессивных веб-приложений или Всё, что вы хотели знать о Workbox. Часть 1

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

Что такое Workbox?


Workbox (далее — WB) — это библиотека (точнее, набор библиотек), основной целью которой является "предоставление лучших практик и избавление от шаблонного кода при работе с сервис-воркерами" (далее — СВ).


Если вы впервые слышите о СВ, то перед изучением данного руководства настоятельно рекомендуется ознакомиться со следующими материалами:



WB предоставляет следующие возможности:


  • предварительное кэширование
  • кэширование во время выполнения
  • стратегии (кэширования)
  • обработка (перехват сетевых) запросов
  • фоновая синхронизация
  • помощь в отладке

На что похож WB API?


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

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

За что я не люблю Redux

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

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

Читать далее

Темизация. История, причины, реализация

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

Когда веб только зарождался – единственной его целью было размещение контента (гипертекстовые страницы), чтобы у пользователей из всемирной паутины был к нему доступ. В то время не могло идти и речи о дизайне, ведь зачем нужен дизайн страницам с научными публикациями, разве они станут от этого полезнее (первый сайт). Времена меняются и сегодня во всемирной паутине далеко не только научные публикации. Блоги, сервисы, социальные сети и многое, многое другое. Каждый сайт нуждается в своей индивидуальности, ему необходимо заинтересовывать и привлекать пользователей. Даже научные сайты постепенно это понимают, ведь большинство ученых хотят не просто изучать те или иные аспекты, а доносить их до людей, тем самым повышая свою популярность и ценность своих исследований (пример – 15 из 15 научных сайтов списка сделали редизайн в последние 6 лет). Рядовым обывателям не интересен серый сайт с непонятным содержанием. Наука становится доступнее, а сайты преобразуются в приложения с удобным и приятным интерфейсом.

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

Читать далее

Скрываем номера курьеров и клиентов с помощью key-value хранилища

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

В условиях пандемии курьерские сервисы стали востребованы как никогда прежде. Чтобы клиент и курьер могли созвониться для уточнения информации по заказу, им нужно знать номера телефонов друг друга. А что насчет соблюдения прайваси? Многие сервисы доставок уже озаботились этим вопросом после не очень приятных инцидентов, о которых вы могли читать в новостях.

Каждый сервис использует свои решения для маскировки номеров клиентов и курьеров. В этой статье я расскажу, как сделать это с помощью key value storage в Voximplant.

Вау

SpaceShooter на Phaser 3

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

Здравствуйте! Я веб-разработчик и интересуюсь вопросом создания игр для веба. На просторах интернета я нашел для этих целей такую библиотеку как Phaser и множество материала для новичков на английском языке. Это перевод курса (ссылка на оригинал в конце статьи), который охватывает создание космического шутера с помощью Phaser 3. Курс будет состоять из 5 частей, в каждой из которых будет решаться определенная задача при создании проекта. Перед началом прохождения курса желательно знать основы JavaScript.

Шаг первый. Настроить веб-сервер

Первое, что необходимо сделать, это настроить веб-сервер. Несмотря на то, что фазерные игры запускаются в браузере, к сожалению нельзя просто запустить локально html-файл непосредственно из файловой системы. При запросе файлов по протоколу http, безопасность сервера позволяет получить доступ только к тем файлам, которые вам разрешены. При загрузке файла из локальной файловой системы (file://) ваш браузер сильно ограничивает его по очевидным причинам безопасности. Из-за этого нам нужно будет разместить нашу игру на локальном веб-сервере. Вы можете использовать любой удобный для вас веб-сервер, будь то OpenServer или какой-либо другой.

Шаг второй. Создать необходимы файлы и папки

Найдите где ваш веб-вервер размещает файлы сайтов и создайте в нём папку с вашим проектом. Назовите его как вам будет удобно. Внутри проекта создайте файл index.html. Наш индексный файл - это место, где объявим местоположение фазерного скрипта и остальных игровых скриптов.

Читать далее

Юмористичный обзор Rust с перспективы JavaScript

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

В этой статье я в несколько забавном ключе документирую кое-какие размышления о своем знакомстве с Rust с позиции прожженного энтузиаста JavaScript. Здесь вас ждет импровизированная прогулка по феодам Вестероса, встреча с Ланнистерами и даже замаскированный под остров корабль — занятные аналогии, которые можно провести с работой в этом языке.
Читать дальше →

React. Не вглубь, а вширь. Композиция против реальности

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

Давайте рассмотрим искусственный пример кода, который, как и в жизни, постепенно будет расширяться и усложняться, а наша задача, глядя на это всё, понять: не пора ли рефакторить. План наших действий: задача – решение – анализ – рефакторинг. Приступим.

Читать далее

Как я доделал функции за Яндекс.Музыкой

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

Можно ли без официального API создавать плейлисты и удалять дубликаты? Статья описывает расширение для браузеров на Chromium. Преследуя цель добавить новые функции на сайт Яндекс.Музыки.

Мой первый крупный опыт работы с JavaScript и что из этого вышло. В решении не используется библиотека от MarshalX, не запрашивается логин/пароль.

Читать далее

Как работает Middleware в Express?

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

Эта статья представляет собой адаптированный отрывок из книги "Express API Validation Essentials". Она научит вас полноценной стратегии валидации API, которую вы можете начать применять в своих Express-приложениях уже сегодня.

__________________

Документация Express говорит нам, что "приложение Express - это, по сути, серия вызовов функций промежуточного ПО". На первый взгляд это звучит просто, но, честно говоря, промежуточное ПО может быть весьма запутанным. Вы, вероятно, задавались вопросом:

Читать далее

Книга «JavaScript с нуля»

Время на прочтение6 мин
Охват и читатели22K
imageПривет, Хаброжители! JavaScript еще никогда не был так прост! Вы узнаете все возможности языка программирования без общих фраз и неясных терминов. Подробные примеры, иллюстрации и схемы будут понятны даже новичку. Легкая подача информации и живой юмор автора превратят нудное заучивание в занимательную практику по написанию кода. Дойдя до последней главы, вы настолько прокачаете свои навыки, что сможете решить практически любую задачу, будь то простое перемещение элементов на странице или даже собственная браузерная игра.

Вот небольшой список того, что вы узнаете:

  • Как организовать код с помощью переменных.
  • Как функции делают ваш код повторно используемым.
  • Как работать с циклами и условиями.
  • Что такое глобальная и локальная области видимости.
  • Что такое замыкания.
  • Как правильно писать комментарии.
  • Основные типы объектов, с которыми вы столкнетесь в JavaScript.
  • Как работать с текстом и выполнять стандартные операции со строками.
  • Как использовать массивы для обработки списков.
  • Как создавать собственные объекты.

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

<img>. Доклад Яндекса

Время на прочтение30 мин
Охват и читатели28K
«Просто добавь картинку на сайт», — говорили они. А оказалось, что «просто» не значит «правильно». В докладе я постарался разобраться, как эффективно добавлять изображения на страницу, какие форматы графики для каких случаев полезны и как автоматизировать автоматизируемое.

— Всем привет. У меня доклад с интригующим названием в виде одного тега.

Дайджест свежих материалов из мира фронтенда за последнюю неделю №472 (7 — 13 июня 2021)

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

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

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

Как написать пассивный доход: Пишем качественного трейд бота на JS (часть 1)

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

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

Читать далее

CSS, JavaScript и блокировка парсинга веб-страниц

Время на прочтение5 мин
Охват и читатели17K
Недавно мне попался материал, посвящённый проблеме загрузки CSS-файлов, которая замедляет обработку материалов страниц. Я читал ту статью, стремясь научиться чему-то новому, но мне показалось, что то, о чём там говорилось, не вполне соответствует истине. Поэтому я провёл собственное исследование этой темы и поэкспериментировал с загрузкой CSS и JavaScript.


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

История одной интеграции Agora SDK

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

Всем привет. Меня зовут Дмитрий, и я типичный представитель касты гребцов на галере X. Основной ЯП, который я использую - PHP, но иногда приходится писать на других.

Читать далее

Как я ускорил движок на 13%

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

Недавняя статья о важности использования линейных алгоритмов вдохновила меня на оптимизацию «горячей» квадратической функции, о том как я это сделал, и к каким результатам это привело — я сегодня расскажу. Завари в чашке Пу Эр, откинься на спинку кресла:
Начинаем

Роботы на Тинькофф и Binance на JavaScript и +5000$;

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

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

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

В общем как это водится у многих разработчиков, мне стало интересно, на что способен JavaScript и V8 с JIT, может ли он дать нужную скорость для сложной математики? И изначально все началось больше как исследовательская миссия. А дело кстати было полтора года назад.

Итак, что нам потребуются для разработки и запуска торговой стратегии, ну например, на Тинькофф Инвестиции :

Читать далее

Автоматизация или смерть: как управлять тысячами единиц игрового контента с помощью гугл-таблиц

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

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

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

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

Читать далее

Кастомные операторы RxJS

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

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

Читать далее