Обновить
256K+

JavaScript *

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

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

C DevTools на Эльбрус: яркие доклады HolyJS 2018 Piter

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


Отдышавшись после петербургской HolyJS, мы прочитали все зрительские отзывы — и узнали, какие доклады понравились зрителям сильнее всего. А благодаря тому, что во время конференции шла YouTube-трансляция первого зала, часть этих «фаворитов» уже доступна для всех.

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

Открытая трансляция главного зала РИТ++

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

В этом году мы снова бесплатно транслируем главный зал фестиваля конференций РИТ++.

Трансляция первого дня РИТ++ в YouTube


Трансляция второго дня РИТ++ в YouTube


Текстовый медиастрим в телеграм-канале (канал @RITFestStream)


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

Начинаем в 9:30 с приветственного слова Олега Бунина, а в 10:00 начнутся доклады.

Полное расписание доступно на сайте, а ниже самые интересные доклады, которые сможет увидеть любой желающий!

Классические алгоритмы и структуры данных на JavaScript

Время на прочтение2 мин
Охват и читатели96K
Привет Всем! Я недавно запустил на GitHub проект JavaScript Algorithms and Data Structures, который содержит примеры классических алгоритмов и структур данных написанных на JavaScript с объяснениями, примерами и ссылками для дальнейшего изучения (в частности на соответствующие YouTube видео).

Основная задача проекта — помочь программистам в изучении и применении алгоритмов и сделать это на JavaScript-е.
Читать дальше →

Как написать децентрализованную мультиблокчейн биржу за сутки

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


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

Для тех, кто любит читать код, а не статьи — репозиторий проекта.

Любители видео тоже не обижены :) В этом видео можно послушать краткое содержание статьи, посмотреть, как реализуется биржа шаг за шагом и увидеть вживую ее работу.

Децентрализуем это

Символы, генераторы, async/await и асинхронные итераторы в JavaScript: их сущность, взаимосвязь и варианты использования

Время на прочтение23 мин
Охват и читатели34K
Сущность и предназначение множества возможностей JavaScript вполне очевидны. А вот некоторые, вроде генераторов, могут, на первый взгляд, показаться странными. Такое же впечатление способны вызвать и, скажем, символы, которые похожи и на значения примитивных типов, и на объекты. Однако, язык программирования — это целостная система, одни возможности которой полагаются на другие. Поэтому обычно нельзя в полной мере понять что-то одно, не разобравшись со всем тем, с чем это связано, от чего зависит, и на что влияет.

image

Материал, перевод которого мы сегодня публикуем, направлен на разъяснение таких механизмов и конструкций JavaScript, как символы, известные символы, итераторы, итерируемые объекты, генераторы, механизм async/await, и асинхронные итераторы. В частности, речь здесь пойдёт о том, почему они появились в языке, и о том, как ими пользоваться. Надо отметить, что темы, которые будут здесь подняты, рассчитаны на тех, кто уже имеет некоторое представление о JavaScript.
Читать дальше →

Руководство по промисам для тех, кто хочет в них разобраться

Время на прочтение9 мин
Охват и читатели39K
Лес чуден, тёмен — глянь в глубину.
Но прежде я все долги верну…
И много миль, пока я усну,
Так много миль, пока я усну...

Роберт Фрост

image

Промисы — это одно из самых замечательных новшеств ES6. JavaScript поддерживает асинхронное программирование посредством функций обратного вызова и с помощью других механизмов. Однако при использовании функций обратного вызова мы сталкиваемся с некоторыми проблемами. Среди них — «ад коллбэков» и «пирамида ужаса». Промисы — это паттерн, который значительно упрощает асинхронное программирование на JS. Асинхронный код, написанный с использованием промисов, выглядит как синхронный и лишён проблем, связанных с коллбэками.

Материал, перевод которого мы сегодня публикуем, посвящён промисам и их практическому использованию. Он рассчитан на начинающих разработчиков, которым хочется разобраться с промисами.
Читать дальше →

Frontend 2018: многообразие фреймворков и недостаток миддлов

Время на прочтение9 мин
Охват и читатели39K
Frontend — довольно конкурентная среда. Здесь легко начинать карьеру, но сложно перейти в разряд middle. Вдобавок возникает вопрос, в каком направлении развиваться, если каждый день появляются новые фреймворки и темы для холиваров?

О том, как выглядит и куда движется современный frontend, я расспросил Сергея Попова, члена программного комитета нашей FrontendConf, которая пройдет в конце мая в Москве в рамках РИТ++. Попутно мы поговорили про то, как происходит отбор докладов, и какие тут возникают трудности.


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

Как я начал любить Vue

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

Вступление



Данный пост — это логическое продолжение моего поста/статьи — Как я перестал любить Angular / How I stopped loving Angular.
Рекомендуется к ознакомлению перед прочтением.


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

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

Открытая трансляция главного зала HolyJS

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


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

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

Сразу сообщаем заветную ссылку: holyjs-piter.ru/online-free. А под катом приводим описания докладов, попавших в бесплатную трансляцию — можно пробежаться по ним и быстро понять, что из этого вам интересно.
Читать дальше →

Особенности разработки API: какой API является хорошим?

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

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

image

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


Поиск и устранение неисправностей Node.js-приложений под капотом

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


Мы расшифровали для Хабра доклад Николая Матвиенко из Grid Dynamics с нашей конференции HolyJS. Далее повествование идёт от лица спикера.
Читать дальше →

В каждой «serverless» платформе есть серверы

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

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

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

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


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

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

BigInt — длинная арифметика в JavaScript

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

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

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

Полезные приёмы работы с массивами в JavaScript

Время на прочтение6 мин
Охват и читатели54K
В большинстве приложений, которые разрабатываются в наши дни, требуется взаимодействовать с некими наборами данных. Обработка элементов в коллекциях — это часто встречающаяся операция, с который вы, наверняка, сталкивались. При работе, например, с массивами, можно, не задумываясь, пользоваться обычным циклом for, который выглядит примерно так: for (var i=0; i < value.length; i++ ){}. Однако, лучше, всё-таки, смотреть на вещи шире.

image

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

На самом деле, такие средства в JavaScript имеются. Некоторые из них рассмотрены в материале, перевод которого мы представляем сегодня вашему вниманию. В частности, речь идёт об операторе расширения, о цикле for…of, и о методах includes(), some(), every(), filter(), map() и reduce(). Здесь мы, в основном, будем говорить о массивах, но рассматриваемые здесь методики обычно подходят и для работы с объектами других типов.
Читать дальше →

UI-компоненты на пиксельных шейдерах: пишем ваш первый шейдер

Время на прочтение10 мин
Охват и читатели14K
Кого можно назвать «пиксельных шейдеров начальник и пикселов командир»? Дениса Радина, работающего в Evolution Gaming над фотореалистичными веб-играми с использованием React и WebGL: он известен многим как раз под именем Pixels Commander.

В декабре на нашей конференции HolyJS он выступил с докладом о том, как использование GLSL может улучшить работу с UI-компонентами по сравнению с «обычным джаваскриптом». А теперь для Хабра мы подготовили текстовую версию этого доклада — добро пожаловать под кат! Заодно прикладываем видеозапись выступления:


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

Пятничный JS: случайное перемешивание

Время на прочтение6 мин
Охват и читатели53K
Экзамен в школе прапорщиков.
— Вот смотрите. Это большой палец, это — указательный, это — средний, это — безымянный, это — мизинец. Мешаем, мешаем, мешаем (двигает пальцами)… Теперь где какой?
Всем привет. С ортодоксальной точки зрения сегодня не настоящая пятница — просто день, когда завтра выходной. Поэтому статья в моей традиционной рубрике тоже будет не совсем настоящая, у неё пониженный градус безумия и повышенная полезность. Однако довольно предисловий, перейдём к сути.

Перед моими студентами регулярно встаёт задача случайного перемешивания массива. За её решением они, как правило, лезут в гугл. И гугл им подсказывает следующее:

var shuffledArr = arr.sort(function(){
  return Math.random() - 0.5;
});

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

Оптимизируем веб с Виталием Фридманом, — компрессия, картинки, шрифты, фичи HTTP/2 и Resource Hints

Время на прочтение12 мин
Охват и читатели27K
Предлагаем вашему вниманию подборку всевозможных лайфхаков и трюков по оптимизации объема загружаемого кода и файлов, а также общего ускорения загрузки веб-страниц.


В основе статьи расшифровка выступления Виталия Фридмана из Smashing Magazine на декабрьской конференции Holy JS 2017 Moscow.

Дайджест свежих материалов из мира фронтенда за последнюю неделю №313 (30 апреля — 6 мая 2018)

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


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

Анимации в мире состояний

Время на прочтение16 мин
Охват и читатели18K
Многие уже научились строить чистые интерфейсы и писать «undo-redo» в несколько строчек. Но как быть с анимациями? Часто их обходят стороной, и они не всегда вписываются в подход (state) ↦ DOM. Есть отличные решения вроде React Motion, но что если вам нужно делать сложные анимации или работать с Canvas, используя физический движок?

В нашем тексте рассказывается, как работать с анимациям в React-приложениях, и сравнивается несколько подходов (D3, React-Motion, «грязные компоненты»). А также о том, как «запускать» анимации в Redux-приложениях. Материал основан на расшифровке доклада Алексея Тактарова с нашей декабрьской конференции HolyJS 2017 Moscow. Прилагаем заодно видеозапись этого доклада:


Осторожно, трафик: под катом много картинок и гифок (сами понимаете, материал про анимации).