Рубрика «javascript» - 186

Для тех, кто еще не видел: Google опубликовал руководство по стилям для JavaScript, где изложены лучшие стилистические практики (по версии компании) для написания аккуратного, понятного кода.

13 интересных моментов из руководства по стилям для JavaScript от Google - 1

Это не жесткий свод правил для грамотного программирования на JavaScript, а просто набор ограничений, чтобы выдерживать единую привлекательную стилистику во всех исходных файлах. Для JavaScript подобное руководство представляет особенный интерес — это очень гибкий и нетребовательный язык, который дает значительный простор для выбора.

Самые популярные руководства по стилю — те, которые предложили Google и Airbnb. Если вы много времени проводите за работой с JS, рекомендую ознакомиться с обоими. Ниже я приведу тринадцать правил из руководства Google, которые показались мне особенно интересными. Оно затрагивает все: и камни преткновения, которые вызывают больше всего споров (пробелы против табуляции, дискуссионный вопрос о том, как использовать точки с запятой), так и некоторые менее обсуждаемые моменты, которые меня удивили. Все это определенно повлияет на мои практики написания кода в будущем.
Читать полностью »

Наверное, абсолютно все читатели используют API, работая с фрэймворками, библиотеками, виджетами, как некий язык общения между сущностью и основным приложением. И вы наверняка замечали, что некоторыми API удобнее пользоваться, а в некоторых есть явные проблемы. Всеволод Шмыров (@vsesh) в своем докладе на Frontend Conf, расшифровку которого вы найдете под катом, постарался ответить на вопрос, какой API является хорошим.

Рассказ опирается на опыт разработки АPI Яндекс.Карт, и хотя это и JavaScript-библиотека, многие принципы и особенности его разработки применимы и к другим типам АPI, к примеру, к серверным API и Standalone библиотекам. Все то, о чем пойдет речь, относится именно к публичному АPI. Если к API вашей библиотеки обращаются только ваши коллеги, которым вы можете легко рассказать, что где-то что-то надо поменять, то вы, скорее всего, не столкнетесь с теми проблемами, с которыми сталкиваются разработчики публичного АPI.

image

Однако, в докладе не будет ответа на вопрос, нужен ли вам свой API. Надеемся, после прочтения вы взвесите все «за» и «против» и сами поймете, нужен ли он вам. Всеволод просто расскажет, с какими сложностями приходится сталкиваться разработчикам API, какие проблемы решать и что еще делать, а именно про эти четыре важных пункта:

Читать полностью »

С момента появления Node.js диагностика совершенствовалась в несколько этапов, от отладки приложений до глубокого анализа производительности. В этот раз речь пойдет о стратегиях использования таких инструментов, как core dump debuggers, flame graphs, ошибках в production и утечке памяти.

В основе материала — расшифровка доклада Николая Матвиенко из Grid Dynamics с нашей декабрьской конференции HolyJS 2017 Moscow.
Читать полностью »

JS DevDay. Запись докладов - 1

27 апреля мы провели JavaScript DevDay — разговаривали и про мобилку, и про веб, и про гибридные приложения. Делимся записями трёх докладов.

Первый будет полезен, если вам понадобилась аргументация почему НЕ стоит использовать Аppcelerator Titanium. Второй повествует о том, как ускорить ваше веб-приложение с помощью service worker. Посмотрев третий доклад вы узнаете, как написать гибридное приложение на Angular.

Читать полностью »

Security Week 17: восстание машин - 1Прошлая неделя была богата новостями на тему искусственного интеллекта. Начнем с сообщения издания The Information о прогрессе в расследовании смертельного ДТП с автономно управляемым автомобилем Uber. ДТП произошло в марте в Аризоне: погибшая в аварии переходила дорогу в неположенном месте, и даже если бы назначенный следить за роботами водитель-наблюдатель не клевал носом, вовремя отреагировать он не успел бы. Но ведь на то и нужны всякие сенсоры: они по идее и в темноте лучше видят, и реагируют быстрее. По данным The Information, датчики действительно обнаружили женщину относительно вовремя, но софтом было принято решение какое-то время не реагировать на объект — с целью борьбы с ложными срабатываниями.

Заметку The Information стоит делить на десять: пока официально в Uber не стали ничего подтверждать или опровергать, информация поступила из анонимных источников. Да и слишком просто это звучит: «ложные срабатывания». Вроде бы автопилот настраивается так, чтобы игнорировать предметы типа летающих пакетов и бордюрных столбиков, иначе получится не автономная езда, а сплошное мучение с постоянными попытками объезда несуществующих препятствий и резкими торможениями. Может ли оптимизация кода приводить к человеческим жертвам? В этом случае непонятно, но вообще, наверное, да. Почему нет-то?
Читать полностью »

Редизайн популярного сайта — всегда большая и сложная задача, где в миллионе вопросов всё может пойти не так. А когда речь о Smashing Magazine, всё становится ещё интереснее: какие решения приняли создатели сайта, который рассказывает миллионам читателей как раз о возможных веб-решениях?

Сооснователь Smashing Magazine Виталий Фридман рассказал об этом на нашей конференции HolyJS подробнейшим образом, начав с общего дизайнерского подхода, продолжив деталями реализации фронтенда и в итоге дойдя до бэкенда. А теперь в ожидании следующей HolyJS, где Виталий выступит с новыми темами, мы сделали для вас текстовую версию этого доклада, переведя всё с английского на русский.

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

Читать полностью »

В эту пятницу, 18 мая, состоится профессиональная конференция веб-разработчиков DevConf 2018. Приглашаем принять участие. Очень кратко про программу:

DevConf::BackEnd: Агрегатное мышление, переписывание проекта с Drupal 8 на Yii 2, Yii 2.1, PHP и фреймворки, Service Oriented Architecture, отправка уведомлений, sample profiling, open tracing, Business Intelligence.

DevConf::FrontEnd: HOC в React, WebRTC: видеозвонки из браузера, Headless Chrome, архитектура большого легаси проекта, JSON API, Фреймворк для индивидуального дизайна, Тестируй это, Node.js и бесплатный митап LuaInMoscow.

DevConf::Storage: MySQL/MariaDB/Percona Server: что нового, логическая репликация в PostgreSQL, SphinxSearch, ClickHouse, ProxySQL для отказоустойчивости MySQL, обзорный доклад про разные механизмы сжатия данных от Андрея Аксенова.
Читать полностью »

image

Последние несколько лет мы все чаще слышим термин «Serverless» по отношению к облачным сервисам. Более того, в Европе наш собственный Voximplant часто называют «Serverless телефонией для разработчиков». Но ведь у нас есть серверы, и много! Откуда такое странное название и что именно имеют в виду те, кто его использует? Чтобы обобщить и собрать в одном месте информацию про «Serverless», организация с длинным названием «Cloud Native Computing Foundation» посвятила ей официальный документ, Swapnil Bhartiya его внимательно изучил и написал интересную статью (интересные статьи про linux и open source он пишет уже лет 15), а мы адаптировали перевод для Хабра. Кстати, в очередной раз обновляя холивар «зачем переводить для Хабра». Во-первых, по-русски, если перевод адекватный, читать быстрее и когнитивно менее напряжно. Даже с очень хорошим английским. Физиология, ничего личного. Во-вторых, если кто-то решил перевести статью — то она, скорее всего, того стоит. Если вы не эксперт в чем-то, можно смело пропустить 100 статей, вышедшие по интересной теме за последний месяц, а посмотреть только те две, что перевели для Хабра.
Читать полностью »

Существует новое API JavaScript, предназначенное для организации асинхронного доступа к буферу обмена с использованием спецификации, которая всё ещё находится на этапе разработки. До сих пор в веб-разработке стандартным способом копирования текста в буфер обмена является подход, предусматривающий использование метода document.execCommand. Основной недостаток этого подхода заключается в том, что это — синхронная блокирующая операция. Асинхронное API для работы с буфером обмена основано на промисах, одной из его задач является устранение этого недостатка. Оно призвано дать веб-разработчикам более простое в использовании унифицированное API для работы с буфером обмена. Кроме того, это API спроектировано с учётом возможности поддержки множества типов данных, а не только text/plain.

Работа с буфером обмена в JavaScript с использованием асинхронного API Clipboard - 1


Надо отметить, что сейчас новое API доступно только в Chrome 66+ и поддерживает лишь копирование и вставку обычного текста. Кроме того, работает оно только тогда, когда страница загружена по HTTPS или с localhost, и только в тех случаях, когда страница открыта в текущей активной вкладке браузера.
Читать полностью »

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

Применение правил тригонометрии для создания качественной анимации - 1

Неестественная анимация
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js