Обновить
256K+

JavaScript *

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

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

Разбор финала конкурса-квиза на стенде hh.ru на #HolyJS18

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

Привет, это последняя часть разборов вопросов с нашего стенда.


Вопросы по React тут.


Разбор первых четырех туров тут.



Здесь вопросы по темам практически не сгруппированы, разбираем все по одному.

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

Разбор вопросов на стенде hh.ru на #HolyJS18

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

Мы старались сделать для вас что-то интересное и необычное. Очень надеюсь что у нас получилось. Нам не хотелось оставлять вас без ответов и объяснений почему именно так. Давайте разбираться.


Для начала хочу напомнить как проходил конкурс, было 4 тура по 15 вопросов про JS, 1 внеконкурсный тур на 15 вопросов про React и финал на 10 вопросов.


image


Под катом — разбор задач первых 4 туров.

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

Самые популярные Node.js-фреймворки 2018 года

Время на прочтение7 мин
Охват и читатели26K
Сегодня мы публикуем перевод материала, автор которого хочет рассказать о самых популярных в наши дни фреймворках для Node.js. В этот список входят Sails.js, Hapi.js, NestJS, LoopBack, Derby.js, Mean.io и Total.js.


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

Ещё один dsl на Kotlin или как я печатал PDF из react

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


Нельзя просто взять и распечатать страницу написанную на React: есть разделители страниц, поля для ввода. Кроме того, хочется один раз написать рендеринг, чтобы он генерил как ReactDom, так и обычный HTML, который можно сконвертить в PDF.

Самое сложное, что у React свой dsl, а у html свой. Как решить эту проблему? Написать ещё один!

Чуть не забыл, всё это будет написано на Kotlin, так что, на самом деле, это статья о Kotlin dsl.
Читать дальше →

Разбор конкурса-квиза по React со стенда HeadHunter на HolyJs 2018

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

Привет. 24–25 сентября в Москве прошла конференция фронтенд-разработчиков HolyJs https://holyjs-moscow.ru/. Мы на конференцию пришли со своим стендом, на котором проводили quiz. Был основной квиз — 4 отборочных тура и 1 финальный, на котором были разыграны Apple Watch и конструкторы лего. И отдельно мы провели квиз на знание react.


Под катом — разбор задач квиза по react. Правильные варианты будут спрятаны под спойлером, поэтому вы можете не только почитать разбор, но и проверить себя :)


image


Поехали!

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

Руководство по JavaScript, часть 8: обзор возможностей стандарта ES6

Время на прочтение10 мин
Охват и читатели21K
Сегодня, в восьмой части перевода руководства по JavaScript, мы сделаем обзор возможностей языка, которые появились в нём после выхода стандарта ES6. Мы, так или иначе, сталкивались со многими из этих возможностей ранее, где-то останавливаясь на них подробнее, где-то принимая как нечто само собой разумеющееся. Этот раздел руководства призван, наряду с раскрытием некоторых тем, которых мы ранее не касались, упорядочить знания начинающего разработчика в области современного JavaScript.

Часть 1: первая программа, особенности языка, стандарты
Часть 2: стиль кода и структура программ
Часть 3: переменные, типы данных, выражения, объекты
Часть 4: функции
Часть 5: массивы и циклы
Часть 6: исключения, точка с запятой, шаблонные литералы
Часть 7: строгий режим, ключевое слово this, события, модули, математические вычисления
Часть 8: обзор возможностей стандарта ES6
Часть 9: обзор возможностей стандартов ES7, ES8 и ES9


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

Итерации цикла: как прошла конференция HolyJS, и что насчёт следующей

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


В спорте есть выражение «after the game is before the game»: с того момента, когда заканчивается матч, игрокам уже пора готовиться к следующему. Цикл подготовки конференций выглядит похоже. Только на этих выходных отгремела HolyJS 2018 Moscow — а мы уже анонсируем майскую HolyJS 2019 Piter (и сейчас, на старте продаж, билеты дешевле всего).

Из-за этого мы решили совместить обе темы: расскажем вам, как прошла московская HolyJS, и по этому рассказу вы сможете понять, хочется ли вам на петербургскую. В чём были отличия этой HolyJS от предыдущих? Как прошли доклады, и что было интересного, помимо них? Наконец, за что на JS-конференции могли торжественно вручать футболку «ДЖАВА»? Все ответы — под катом.

Объясняем бэкдор в event-stream

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

Если вы работаете с Javascript, то скорее всего вы заметили много шума об уязвимости в npm-пакете event-stream. (На Хабре тоже опубликовали пост об этом — пер.) К сожалению, детальный анализ ситуации похоронен под более чем 600 комментариями в issue на Github, большая часть которых – флейм о состоянии npm, open-source в целом и т.д. Я подумал, что это плохо, потому что нам самом деле бэкдор исключительно умный и интересный с технической точки зрения, а также преподает нам важный урок о том, как поддерживать безопасность в приложениях на Javascript. Так что я решил написать пост с детальным объяснением, как сработала эта атака и что может сделать Javascript сообщество, чтобы лучше защититься от подобных атак в будущем.

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

Руководство по обработке ошибок в JavaScript

Время на прочтение17 мин
Охват и читатели65K
Ошибки — это хорошо. Автор материала, перевод которого мы сегодня публикуем, говорит, что уверен в том, что эта идея известна всем. На первый взгляд ошибки кажутся чем-то страшным. Им могут сопутствовать какие-то потери. Ошибка, сделанная на публике, вредит авторитету того, кто её совершил. Но, совершая ошибки, мы на них учимся, а значит, попадая в следующий раз в ситуацию, в которой раньше вели себя неправильно, делаем всё как нужно.



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

Генерируем красивые SVG-плейсхолдеры на Node.js

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


Использование SVG-картинок в качестве плейсхолдеров — это очень неплохая идея, особенно в нашем мире, когда чуть ли не все сайты состоят из кучи картинок, которые мы пытаемся асинхронно подгружать. Чем больше картинок и чем более объемные они, тем выше вероятность получения различных проблем, начиная от того, что пользователь не совсем понимает, а что же там собственно грузится, и заканчивая известным скачком всего интерфейса после прогрузки картинок. Особенно на плохом интернете с телефона — там может и на несколько экранов все улететь. Именно в такие моменты заглушки приходят на помощь. Еще один вариант их использования – это цензура. Бывают такие моменты, когда нужно скрыть от пользователя какую-то картинку, но хотелось бы сохранить общий стиль страницы, цвета и место, которое картинка занимает.


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

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

Приверженцы статической и динамической типизаций никогда не поймут друг друга. И TypeScript им не поможет

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


Когда мы с другом учились в школе и только мечтали стать разрабами, мы думали как сделаем вместе какую-нибудь штуковину — игру или супер-полезную программу.

Я начал учить плюсы и C#, он — JavaScript. Закончили школу, отучились в универах, отслужили в армии, устроились на работы. Нас потаскало промышленной разработкой там и тут, и когда мы оба от нее подустали, вспомнили с чего начинали.

Собравшись уже матерыми разрабами, мы решили, наконец, сделать свой проект — двумерную видеоигру. Так как друг был чистый фронт, а я фулстек, очевидной платформой для нас стал браузер. Раньше я разрабатывал фронт только на TypeScript, и мы подумали, никаких проблем, TS — всего-лишь надмножество JavaScript. Возьмем его и все пройдет гладко. Как бы не так. Когда мы начали обсуждать работу, столкнулись с невероятной бездной непонимания друг друга.
Читать дальше →

11 декабря, Москва — Alfa JS MeetUp

Время на прочтение1 мин
Охват и читатели2.5K
Во вторник, 11 декабря, мы проводим очередной митап. На этот раз наша встреча будет посвящена JavaScript-разработке.

Начинаем в 19:00, территориально — Большая Полянка, 2/10, стр.1 (Corporate Innovations Hub)


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

Под катом — темы докладов от четырех наших спикеров.
Читать дальше →

Руководство по JavaScript, часть 7: строгий режим, ключевое слово this, события, модули, математические вычисления

Время на прочтение23 мин
Охват и читатели24K
Сегодня, в седьмой части перевода руководства по JavaScript, мы поговорим о выполнении кода в строгом режиме, об особенностях ключевого слова this, о событиях, о модулях, о математических вычислениях. Здесь же мы затронем темы работы с таймерами и асинхронного программирования.

Часть 1: первая программа, особенности языка, стандарты
Часть 2: стиль кода и структура программ
Часть 3: переменные, типы данных, выражения, объекты
Часть 4: функции
Часть 5: массивы и циклы
Часть 6: исключения, точка с запятой, шаблонные литералы
Часть 7: строгий режим, ключевое слово this, события, модули, математические вычисления
Часть 8: обзор возможностей стандарта ES6
Часть 9: обзор возможностей стандартов ES7, ES8 и ES9


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

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

Frontend DevDay: Карты, команды, два запроса

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


7 декабря приглашаем на Frontend DevDay. В этот раз мы смешаем формат всем привычного митапа с технической презентацией нового 2ГИС. Присоединяетесь, чтобы посмотреть на знакомую технологию под новым углом, утвердиться в значимости команды и разобраться в отношениях запроса и браузера.

Под катом детали, тезисы и всё про регистрации.
Под кат

Хотеть странного: обзор предстоящей конференции DartUP в Питере

Время на прочтение6 мин
Охват и читатели2K
1 декабря в Санкт-Петербурге пройдёт конференция, посвящённая языку Dart, а также всей экосистеме и продуктам, которые его окружают: AngularDart и Flutter. О том, почему стоит на неё идти, что там можно узнать и кого встретить, вы сможете узнать из этой статьи. Кстати, каждый, кто прочитает до конца, получит гарантированный приз с бесплатной доставкой прямо на дом.



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

Фронтенд, алгоритмы и опоссум Фридрих. Разбираем задачи конкурса Яндекса

Время на прочтение32 мин
Охват и читатели32K
Этим постом мы завершаем серию публикаций о конкурсах Яндекс.Блиц в 2018 году. Надеемся, что вам довелось поучаствовать или хотя бы посмотреть, какие приближенные к продакшену задачи мы предлагаем. Последний контест был посвящен применению алгоритмов во фронтенде. Сегодня мы публикуем подробные разборы 12 задач: первые 6 из них предлагались в квалификационном раунде, а задачи 7–12 — в финале. Мы постарались объяснить, как формировались условия, на какие навыки мы обращали внимание. Спасибо всем участникам за проявленный интерес!



Задача 1


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

Дайджест свежих материалов из мира фронтенда за последнюю неделю №340 (19 — 25 ноября 2018)

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


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

node.js serverside — работа над ошибками. Часть 1

Время на прочтение7 мин
Охват и читатели8K
Добрый день.

Эта статья ориентирована на разработчиков, имеющих представление о node.js.

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

Вот, решил поделиться. Пока только первая часть, это около 30%. Если будет интересно, последует продолжение!

Я старался предоставить возможность быстрого ознакомления, поэтому примеры, рассуждения и комментарии спрятал в спойлерах. Если утверждения очевидны, «воду» можно пропустить. Хотя наши «грабли» в спойлерах тоже могут быть интересны.

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

Приступим!

Виртуальная машина node.js



Однопоточность



В отличие от javavm, nodejs-vm является однопоточной**.



Источник
Читать дальше →

Mrr: тотальное FRP для Реакта

Время на прочтение18 мин
Охват и читатели3.7K
Mrr — функционально-реактивная библиотека для React'а (извиняюсь за мнимую тавтологию).

При слове «реактивность» обычно вспоминают Rx.js, как эталонный образец FRP. Однако серия последних статей на эту тему на Хабре([1], [2], [3]) показала громоздкость решений на Rx, которые на несложных примерах проигрывали в ясности и простоте почти любому другому подходу. Rx велик и могуч, и прекрасно подходит для решения проблем, в которых абстракция потока напрашивается сама собой (на практике это преимущественно координация асинхронных задач). Но стали бы вы писать, к примеру, простую синхронную валидацию формы на Rx? Сэкономил бы он ваше время, по сравнению с обычными императивными подходами?

mrr — это попытка доказать, что ФРП может быть удобным и эффективным решением не только в специфических «потоковых» проблемах, но и в самых обычных рутинных задачах фронтенда.
Читать дальше →

«JS становится более зрелым»: интервью с программным комитетом HolyJS 2018 Moscow

Время на прочтение9 мин
Охват и читатели5.2K
Как JS-разработчик может провести время на выходных лениво, но в то же время с пользой? Посмотреть онлайн-трансляцию HolyJS: и что-то новое узнаешь, и выходить из дома не придётся.

А в преддверии конференции мы задали вопросы программному комитету HolyJS: людям, от которых зависит, какие доклады можно будет увидеть. Как они сами видят правильную программу «конференции для JS-разработчиков»? Что в неё может попасть, а что нет? Как борются со сложностями?



В разговоре поучаствовали:

Евгений bunopus Кот
Дмитрий DmitryMakhnev Махнёв
Вадим bmsdave Горбачёв
Алексей zolotyh Золотых
Андрей real_ales Дмитриев

Помимо них над программой также работали Екатерина cakeinpanic Павленко и Михаил v1r Полубояринов.
Читать дальше →