Обновить
256K+

JavaScript *

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

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

Babel + core-js + IE = ???

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

Сегодня будет рассказ про фронтендерский зоопарк. Начну издалека.

Если вы фронт, то вы знаете, что наш код читается многими браузерами. Вы так же знаете, что разные браузеры реализуют разные части стандарта языка. Вы так же знаете, что разные браузеры реализуют по-разному одни и те же части стандарта языка. Одно время такая разница в прочтении превращала разработку в ад. Но довольно быстро появились инструменты, “уравнивающие” ваш код таким образом, чтобы во всех браузерах он читался одинаково.

И эти инструменты в руках неопытного разработчика могут делать больно.

Читать далее

Remix: руководство по новому open source React-фреймворку

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

Последнее время кажется, что React-фреймворки выходят каждый день. Хотя каждому из них есть, что предложить, Remix особенно выделяется.

Remix — React-фреймворк для SSR (server-side rendering) от создателей react-router, который заопенсорсили совсем недавно.

В этой статье мы поговорим про некоторые удобные особенности Remix и создадим с его помощью приложение с погодой на SSR.

Читать далее

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

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

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

Библиотека как продукт: от папки в проекте до международного опенсорса

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

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

Давайте посмотрим, из чего может состоять путь крупной библиотеки, как планировать действия команде разработки и какие челленджи могут встретиться на нем. 

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

Давайте посмотрим

Цемна стронэ Моцы

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

Початково рыцер Еди, под вплывем Дартха Сидиоуса прешедл на цемна стронэ Моцы и прыял тытул „Дартх Вадер”.

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

Читать далее

Откуда сайт знает, что ты сидишь в уборной?

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


Многие не представляют, какой объём данных можно снимать с акселерометра в смартфоне. Думаете, информация используется только для поворота экрана? Далеко не так. На самом деле паттерны движения смартфона и его положение в пространстве многое говорят о действиях пользователя: он сидит, лежит, стоит, бежит… Можно распознать личность человека по голосу из динамика, записав реверберации корпуса смартфона через акселерометр. Определить, кто находится рядом в автобусе или автомобиле (с такими же паттернами движения).

Некоторые приложения постоянно снимают эти данные без разрешения пользователя (в Android и iOS 15 разрешение не требуется). Не только приложения, но и веб-сайты.
Читать дальше →

Fuite — инструмент для поиска утечек памяти в SPA

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

Fuite: инструмент для поиска утечек памяти в веб-приложениях

Читать далее

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

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

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

Новогодняя история одного телеграм-бота на NestJS

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

Можете представить Новый год без мандаринов, елки и подарков? А что насчет фильма «Один дома»? Каждый год мы наблюдаем за судьбой мальчика, который забаррикадировался дома и обороняет его от двух бандитов. Эта история стала неотъемлемой частью каждого Нового года, и предстоящий праздник не будет исключением. А что, если мы предложим вам помочь Кевину в обороне дома?

Мы решили написать небольшую игру в жанре Interactive Fiction на базе телеграм-бота. Целевой аудиторией стали разработчики. Участники игры будут две недели общаться с Кевином и помогать ему программировать устройства в умном доме, чтобы разрушить планы грабителей. Для работы выбрали NestJS. Расскажу подробнее, что из этого получилось.

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

Читать далее

Хабр, не делай больно писателям

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

Хабр! Добро пожаловать снова.

Сегодня я расскажу о том как писатели хабра теряют свои статьи из за ошибок в работе редактора Хабра. Мне бы очень хотелось чтобы разработчики Habr или Chromium услышали меня и исправили эту проблему как можно скорее.

Читать далее

Statoscope: курс интенсивной терапии для вашего бандла

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

Statoscope — это инструмент для анализа webpack-бандлов, а я его автор и мейнтейнер. Он зародился в далеком 2016 году как эксперимент, а теперь это полноценный тулкит для просмотра, анализа и валидации сборки.



В ноябре на конференции HolyJS я выступил с докладом о Statoscope и провёл воркшоп по его использованию. Зрителям понравилось, так что мы с организаторами HolyJS решили, что доклад может пригодиться и читателям Хабра — поэтому сделали текстовую версию. Видеозапись тоже прилагаем.

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

Пример использования WebAssembly-модуля, скомпилированного из Rust, в React-приложении

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


Привет, друзья!


На днях прочитал интересную статью, в которой демонстрируется возможность использования WebAssembly-модулей (далее — Wasm), скомпилированных из Rust, в React-приложении.


Так вот, статья интересная, но автор толком ничего не объясняет, видимо, исходя из предположения, что читатели, как и он, владеют обоими языками программирования (JavaScript и Rust).


Поскольку я не отношусь к этой категории (пока не знаю Rust), но люблю как следует разбираться в интересующих меня вещах, представляю вашему вниманию собственную версию.


Исходный код проекта.


Если вам это интересно, прошу под кат.

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

Дайджест свежих материалов из мира фронтенда за последнюю неделю №497 (6 — 12 декабря 2021)

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

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

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

Node.js: документирование и визуализация API с помощью Swagger

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



Привет, друзья!


В этой небольшой заметке я расскажу вам о том, как генерировать и визуализировать документацию к API с помощью Swagger.


Мы разработаем простой Express-сервер, способный обрабатывать стандартные CRUD-запросы, с фиктивной базой данных, реализованной с помощью lowdb.


Затем мы подробно опишем наше API, сгенерируем JSON-файл с описанием и визуализируем его.


Так, например, будет выглядеть описание POST-запроса к нашему API:





Исходный код проекта.


Если вам это интересно, прошу под кат.

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

Как мы переходили на Node.JS v16, или История о сломанном GC

Время на прочтение3 мин
Охват и читатели7.8K
26 октября 2021 года вышел новый релиз Node.JS 16.13.0 который стал Active LTS.

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

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

Пять причин для ИТ-компании полюбить опенсорс

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

Я всегда старался выносить в опенсорс все, что может быть полезно людям вне моей компании. Помимо стремления не только брать от сообщества, но и отдавать, это приносит ряд бенефитов для самой компании.

Всю статью я построил на примерах опыта Taiga UI — огромной библиотеки компонентов под Angular, которая долго развивалась внутри компании, а 10 месяцев назад была выложена в опенсорс. Несмотря на то, что примеры взяты из опыта фронтовой библиотеки, все пункты применимы и актуальны для любого другого стека.

И что же он дает?

Латинский квадрат: вызываем демонов во имя математики

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

Привет, Хабр, я Олег, преподаватель Elbrus Bootcamp. Возможно, вы слышали о латинских квадратах. Раньше считали, что они защищают от зла и помогают в магических ритуалах, а теперь их используют в криптографии и играх. Но, несмотря на многовековую историю, генерация таких квадратов — все еще проблема.

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

Решил исправить ситуацию: в этой статье расскажу об алгоритмах генерации и их ограничениях, и покажу, как реализовал один из алгоритмов на JavaScript с классной визуализацией. А еще объясню, почему магический и латинский квадрат — не одно и то же.

Вызвать демона

5 причин почему Playwright лучше Cypress

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

Перевод статьи Alister ScottFive reasons why Playwright is better than Cypress

На основании проведенного сравнения, могу смело рассказать о причинах, почему Cypress все еще проигрывает конкуренцию.

Читать далее

Как написать эмулятор CHIP-8 на JS

Время на прочтение18 мин
Охват и читатели10K
Chip-8

Автор провёл детство за играми в эмуляторах NES и SNES на своём компьютере, но никогда не думал, что однажды сам напишет эмулятор. Иван Сергеев поставил перед автором задачу написать интерпретатор Chip-8, чтобы изучить основные понятия низкоуровневых языков программирования и то, как работает процессор.

Результат — эмулятор Chip-8 на JavaScript, который автор написал под его руководством. Подробности рассказываем, пока у нас начинается курс по Fullstack-разработке на Python.
Читать дальше →

Дайджест свежих материалов из мира фронтенда за последнюю неделю №496 (29 ноября — 5 декабря 2021)

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

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