Обновить
512K+

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

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

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

Зачем в JavaScript нужен строгий режим?

Время на прочтение9 мин
Охват и читатели63K
Строгий режим (strict mode) — это важная часть современного JavaScript. Именно этот режим позволяет разработчикам пользоваться более ограниченным, чем стандартный, синтаксисом.

Семантика строгого режима отличается от традиционного нестрогого режима, который иногда называют «грязным» (sloppy mode). В таком режиме синтаксические правила языка не так строги, а когда происходят некоторые ошибки, система никак не оповещает о них пользователя. То есть — ошибки могут быть проигнорированы, а код, в котором они допущены, сможет выполняться дальше. Это способно привести к неожиданным результатам выполнения кода.



Строгий режим вносит в семантику JavaScript некоторые изменения. Он не даёт системе закрывать глаза на ошибки, выдавая соответствующие исключения. Это приводит к остановке выполнения программ.

Строгий режим, кроме того, помогает в написании программ, в которых нет недочётов, мешающих JS-движкам оптимизировать код. Далее, в этом режиме запрещено использование элементов синтаксиса, которые могут получить особый смысл в будущих версиях языка.
Читать дальше →

Динамическая CDN для WebRTC стриминга с низкой задержкой

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


Ранее, анализируя возможности стандартных конфигураций серверов в Digital Ocean с точки зрения WebRTC стриминга, мы отмечали, что один сервер может обслужить до 2000 зрителей. В реальной жизни часто встречаются случаи, когда одного сервера недостаточно.


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

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

Бэрримор, что за шум вокруг Voximplant? Внедрили веб-сокеты, сэр

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

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

И мы рады сообщить вам, что все это стало возможным в Voximplant благодаря новому модулю VoxEngine, который называется – сюрприз – WebSocket. Отныне вы сможете передавать текст и аудио, пользуясь преимуществами веб-сокетов в полной мере. Проще говоря, у вас появился еще один инструмент, чтобы прокачать ваше приложение.

Из этой статьи вы узнаете, как создать исходящее WebSocket-соединение, передать через него аудиопоток и преобразовать его в текст с помощью Google Cloud Speech-to-Text API.
Читать дальше →

PHP-Дайджест № 168 (5 – 25 ноября 2019)

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

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4 RC6, Symfony 5.0 и 4.4, WordPress 5.3 и другие релизы, об обновлении PSR-стандартов, RFC предложения из PHP Internals, порция полезных инструментов, митапы, видеозаписи, подкасты и многое другое.

Приятного чтения!


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

Дайджест свежих материалов из мира фронтенда за последнюю неделю №390 (18 — 24 ноября 2019)

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

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

Какие инструменты помогут соответствовать GDPR

Время на прочтение3 мин
Охват и читатели5.4K
Подборка утилит, литературы и фреймворков, которые помогут разобраться в требованиях регламента и подскажут, как им соответствовать. Под катом — бесплатные продукты от стартапа Algolia, сервисы которого использует Twitch, а также несколько открытых и проприетарных решений.

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

Анонсируем поддержку ECMAScript модулей в Node.js

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

Node.js 13.2.0 идет с поддержкой ECMAScript модулей, известных по своему синтаксису import и export. Ранее эта функциональность была за флагом --experimental-modules, который больше не требуется. Однако, реализация все еще экспериментальная и может меняться.


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

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

Deno: время Node.JS уходит?

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


Прошло примерно 18 месяцев с внутреннего релиза Deno, вышел preview release, появилось несколько статей на Хабре, и Райан ездит по конференциям и рассказывает о нём. Однако я нигде так и не видел сколько-нибудь вдумчивого разбора этого проекта — почему-то все ограничиваются переводом документации...


Что же, давайте попробуем это сделать сейчас. Последние 5 лет я пишу на Node.JS, а компания OneTwoTrip, где я сейчас работаю, пишет проекты на ноде около 9 лет (да, это я писал историю про 9 лет в монолите на ноде). Так что анализ должен выйти неплохой. Тем более что я его уже рассказал на Moscow Node.JS Meetup 10, и было интересно. Кстати, если вам удобнее слушать, а не читать, то послушать и посмотреть можно вот тут. Моё выступление второе, я чувак в розовой рубашке.

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

Angular без zone.js: максимум производительности

Время на прочтение12 мин
Охват и читатели21K
Angular-разработчики в большом долгу перед библиотекой zone.js. Она, например, помогает достичь в работе с Angular почти волшебной лёгкости. На самом деле, практически всегда, когда нужно просто поменять какое-нибудь свойство, и мы меняем его, ни о чём не задумываясь, Angular производит повторный рендеринг соответствующих компонентов. В результате то, что видит пользователь, всегда содержит самую свежую информацию. Это просто замечательно.

Здесь мне хотелось бы исследовать некоторые аспекты того, как применение нового компилятора Ivy (он появился в Angular 9) способно значительно облегчить отказ от использования zone.js.



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

Обратите внимание на то, что подход к оптимизации Angular-приложений, представленный в этом материале, возможен лишь благодаря тому, что Angular Ivy и AOT включены по умолчанию. Эта статья написана в учебных целях, она не направлена на пропаганду представленного в ней подхода к разработке Angular-проектов.
Читать дальше →

Частное мнение о Яндекс.Турбо

Время на прочтение5 мин
Охват и читатели38K
Данная статья является своего рода взглядом со стороны не искушенного пользователя на Турбо-страницы от Яндекс, до которого наконец-то дошли некоторые особенности работы этой технологии, а так же не совсем очевидные последствия от её использования.

Что такое Турбо-страницы Яндекс официально?

Турбо-страницы — лёгкие версии страниц вашего сайта
Исследования показывают, что люди не готовы ждать загрузки более 2 секунд.
Мы предлагаем вам подключить Турбо-страницы, которые очень быстро открываются из сервисов Яндекса и эффективно монетизируются.
В принципе описано все четко, для чего это нужно. И хотя понимаешь, что технология привязывается к Яндексу, ну да ладно. Тем более, если это повышает удобство пользователей и тем самым увеличивает пользовательский трафик, то почему бы и нет?

Но как всегда, есть нюанс.


Читать дальше →
Банки и госструктуры становятся самыми крупными работодателями в IT, и это явный тренд. Поэтому мы решили выяснить, как айтишники относятся к этому тренду. Этот опрос — хорошая возможность сказать свое слово и узнать мнение коллег.
Подробности — под катом

Топ-5 JS-фреймворков для фронтенд-разработки в 2020 году. Часть 2

Время на прочтение5 мин
Охват и читатели31K
Публикуем вторую часть перевода материала, посвящённого пятёрке лучших JavaScript-инструментов для разработки клиентских частей веб-проектов. В первой части речь шла о библиотеке React и о фреймворке Angular. Здесь мы обсудим Vue, Ember и Backbone.


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

Как устроен поиск Яндекс.Маркета и что будет, если упадёт один из серверов

Время на прочтение11 мин
Охват и читатели20K
Привет, меня зовут Евгений. Я работаю в инфраструктуре поиска Яндекс.Маркета. Хочу рассказать сообществу Хабра о внутренней кухне Маркета – а рассказать есть что. Прежде всего, как устроен поиск Маркета, процессы и архитектура. Как мы справляемся с внештатными ситуациями: что случится, если упадёт один сервер? А если таких серверов будет 100?

А ещё вы узнаете, как мы внедряем новую функциональность на куче серверов сразу. И как тестируем сложные сервисы прямо в production, не доставляя пользователям никаких неудобств. В общем, как устроен поиск Маркета, чтобы всем было хорошо.


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

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

Встреча PHP-разработчиков Уфы

Время на прочтение2 мин
Охват и читатели1.9K
Часто крутые вещи получаются почти спонтанно — и потому что кому-то не влом сделать чуть больше. Отличные докладчики собрались в Уфу на конференцию — и легко согласились прочитать по дополнительному, более техническому докладу, отдельно от основного мероприятия. Организаторы Ufadevconf, за что им отдельное спасибо, согласились компенсировать докладчикам дополнительный день в городе. А ребята из Модульбанка, которые давно писали, что готовы посотрудничать с нами по линии митапов, не подвели: дали площадку, хотя PHP даже не их стек, а вечером пятницы могут быть дела поинтереснее.



Ну а остальное — слайды, пицца, регистрация — не проблема. Заглядывайте на уфимский PHP-митап вечером 29 ноября. А если захотите вступить — есть слот для третьего доклада.

Под катом можно познакомиться с уже подтвержденными докладчиками.
Читать дальше →

Как Apple убивает веб технологии

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

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

Языки программирования для создания веб-сайтов часто используют и для написания приложений. Во многом это связано с программным обеспечением, которое позволяет разработчикам «повторно использовать» код, который они пишут для веба, в продуктах, которые они создают для операционных систем, таких как Linux, Android, Windows и macOS.

Но у Apple есть причина не любить переиспользование веб-технологий. Она хочет, чтобы App Store был заполнен эксклюзивными приложениями, а не доступными на каждой платформе. С недавним изменением политики, компания немного усложнила для разработчиков опубликование приложений, содержащих веб-код.
Читать дальше →

Облачный WebRTC стриминг на DigitalOcean

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


Известный облачный хостинг DigitalOcean с недавних пор обзавелся собственным магазином с готовыми образами, из которых можно быстро развернуть какой-либо сервер приложений. Совсем, как AWS, только DO, для тех, кто уже пользуется услугами этого провайдера. Давайте посмотрим, как, имея аккаунт DO, развернуть простой сервер за 10$ в месяц для стриминга WebRTC на базе Flashphoner WebCallServer, и чем такой сервер может быть полезен.

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

Как спихнуть на соседа счёт за пользование услугами Yandex Maps API или для чего IT гиганту нужен контроль качества

Время на прочтение2 мин
Охват и читатели33K
С 10 июня 2019 (а технически с ноября 2019), Яндекс прекратил поддержку анонимного использования сервисов JS API & HTTP Geocoder — тарифицируемые запросы к API (поиск, геокодирование, панорамы и т.д.) перестали работать. Но адекватного биллинга и трекинга запросов Яндекс — не предоставил. Если интересно как спихнуть счёт за геокодирование на гигантов рунета (перечисленных партнёров на заглавной странице сервиса), а так же — как трекинг запросов делается «по уму» — прошу под кат.
Читать дальше →

48 open source ресурсов для JavaScript (2019)

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

Мы выбрали из 20 000 проектов и библиотек для JavaScript 48 самых лучших (по звёздам на GitHub) и сгруппировали в 5 категорий:

  • Пользовательский интерфейс (1~9)
  • Инструменты JavaScript (10~25)
  • Machine Learning (26~33)
  • Проекты (34~39)
  • Инструменты разработчика (40~48)
Читать дальше →

Топ-5 JS-фреймворков для фронтенд-разработки в 2020 году. Часть 1

Время на прочтение7 мин
Охват и читатели95K
Вероятно, фронтенд-разработчикам знакомо нечто подобное: вводишь в поисковике «лучшие JavaScript-фреймворки» и получаешь в ответ целую гору результатов, из которой очень непросто выбрать именно то, что нужно.

Что лучше всего подходит для разработки клиентских частей веб-проектов? Автор материала, первую часть перевода которого мы сегодня публикуем, говорит, что она, как человек, полный рабочий день занимающийся программированием, знает, что фронтендеры ищут то, что позволит им ускорить работу и облегчить создание интерфейсов.



В основу составления этого рейтинга фреймворков и библиотек легли результаты опроса более чем 450 разработчиков из ValueCoders. Сюда попали пять наиболее интересных инструментов.
Читать дальше →

ок.tech: Frontend Meetup #2: мини-интервью спикеров

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


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

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

Под катом ответы на многие интересующие вас вопросы.

Зарегистрироваться на мероприятие
Читать дальше →