Обновить
256K+

JavaScript *

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

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

Qooxdoo 6.0 — JavaScript фреймворк для тех, кто любит кодить

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

Создать полноценное веб приложение с помощью только Javascript без HTML и CSS? Написать код с использованием ООП, которое превосходит возможности даже стандарта ES7? Звучит впечатляюще? И это далеко не все, что вас ожидает! Также мы добавили оптимизирующий ваш код компилятор, тестовый фреймворк, улучшенную темизацию, больше виджетов и полную поддержку многоязычных приложений. Все это идет с установкой всего лишь одного npm пакета.

В статье мы покажем, как создать первое Qooxdoo приложение и запустить его в два клика.

Читать далее

Создание расширения браузера Google Chrome для извлечения всех изображений web-страницы. Часть 2

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

Представляю вашему вниманию вторую часть статьи о создании расширения web-браузера Chrome, которое позволяет извлечь все изображения с web-страницы.

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

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

Читать далее

NestJS для разрастающейся разработки: зачем так сложно и почему всё-таки да

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

Привет, Хабр. Меня зовут Денис Былинин, я архитектор в компании Сравни. 

Сегодня хочу рассказать, как мы пришли к использованию NestJS и какие сделали выводы после года работы с ним. Чтобы не уходить в абстракции, которые легко гуглятся, я сосредоточусь на том, как использование этого фреймворка в реальности влияет на разработку, а также на его плюсах и минусах, с которыми мы лично столкнулись в работе. 

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

Читать далее

Весенние конференции JUG Ru Group: много офлайна и много онлайна

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

Помните доисторические времена вроде 2019 года, когда ещё не было пандемии? Тогда мы проводили офлайновые конференции, и обычно они длились дня два с утра до вечера: можно успеть и доклады послушать, и наобщаться вволю.

В эпоху онлайн-конференций многие ностальгировали по этому и просили «вернуть как было». Однако другие участники успели полюбить удобство онлайна (например, те, кто живёт далеко от Москвы/Петербурга). И просто вернуть прежний формат означало бы сделать им хуже.

Поэтому на наших весенних конференциях мы постараемся, чтобы никто не ушёл обиженным: и офлайн будет двухдневным (с 2019-го такое не делали), и у онлайн-участников будет много контента. Подробности — под катом.

Читать далее

Как собрать, покрыть тестами и опубликовать TypeScript‑пакет в npm в 2022 году

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели12K

Опубликовать TypeScript‑пакет в npm кажется простой задачей, пока не приходится разбираться со сборкой, типами, тестами и содержимым релиза.

В статье пошагово соберём библиотеку, настроим Jest и проверим пакет перед публикацией.

Читать далее

Вся боль undefined

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

Внедрение типа Undefined в JavaScript, на мой взгляд, было ошибкой с далеко идущими последствиями. Именно разбору и предотвращению основных проблем, связанных с наличием данного типа, и посвящена эта небольшая публикация.

Читать далее

React: работа с 3D-графикой

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


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


В данном туториале я покажу вам самый простой и быстрый, хотя и не очень оптимальный с точки зрения размера сборки, способ рендеринга 3D-объектов и моделей в React.


Мы решим 3 интересные задачи:


  • рендеринг самописного 3D-объекта;
  • рендеринг готовой 3D-модели;
  • совместный рендеринг объекта и модели.

Знание вами основ работы с трехмерной графикой в браузере является опциональным.


Источником вдохновения для меня послужила эта замечательная статья.


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

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

Создаем свой babel плагин и публикуем в npm

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

Сегодня мы рассмотрим процесс написания своего собственного плагина babel и опубликуем его в npm.

Читать далее

Брендан Эйх о создании JavaScript за 10 дней и о том, что сегодня он сделал бы по-другому

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

Миллионы современных разработчиков активно используют язык программирования, который родился буквально за 10 дней в период экспоненциального развития интернета. Создатель JavaScript Брендан Эйх не так давно заново обратился к истокам созданного им языка и рассказал о том, как семена, посеянные им в 1995 году, теперь наконец-то взошли.

Читать далее

Фронтендерская история

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

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

Прогресс в этой области действительно поражает. От галлюциногенных картинок DeepDream до шедевров от Stable Diffusion прошло каких-то 8 лет. И ведь это не единственный лидер сейчас. Здесь же мы имеем Midjorney, Imagen, Dalle, Kandinsky в конце концов. И знаете, мне это что-то напоминает.

Что это напоминает?

Как я создал дополнение для чата в minecraft

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

О том, как я создал аддон-дополнение чата для сервера Minecraft. Также я научу вас делать подобное.

Читать далее

Спрячь и покажи: чистый фронтенд

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

Допустим, у вас есть тестовое задание.

В статье мы обсудим, как это тестовое выполнить аккуратно, пошагово. Ну и - побочный эффект - сравнительно быстро.

Читать далее

Создание расширения браузера Google Chrome для извлечения всех изображений web-страницы. Часть 1

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

Расширения браузера это web-приложения, которые устанавливаются в web-браузер чтобы расширить его возможности. Обычно для того чтобы воспользоваться расширением, пользователю нужно найти его в Chrome Web Store и установить.

В этой статье я покажу как создать расширение для браузера Google Chrome с нуля. Это расширение будет использовать API браузера для того чтобы получить доступ к содержимому web-страницы любой открытой вкладки. С помощью этих API можно не только читать информацию с открытых web-сайтов, но и взаимодействовать с этими страницами, например, переходить по ссылкам или нажимать на кнопки. Таким образом расширения браузера могут использоваться для широкого круга задач автоматизации на стороне клиента, таких как web-scrape или даже автоматизированное тестирование фронтенда.

Мы создадим расширение, которое называется Image Grabber, которое будет содержать интерфейс для подключения к web-странице и для извлечения из нее информации о всех изображениях. Далее, при нажатии на кнопку "GRAB NOW" список абсолютных URL этих изображений будет скопирован в буфер обмена. В этом процессе вы познакомитесь с фундаментальными строительными блоками, которые в дальнейшем можно будет использовать для создания других расширений.

Расширения, создаваемые таким образом для браузера Chrome совместимы с другими браузерами, основанными на движке Chromium и могут быть установлены, например, в Yandex-браузер или Opera.

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

Читать далее

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

server-queryselector aka парсим html в nodejs

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

Итак, мы хотим получить информацию с веб сайта — это можно сделать в 3 шага

1) Получить html сайта (пропустим этот шаг)

2) Распарсить html строку и создать dom. — builderdom.js

3) Найти нужные dom_node из dom по кссселекторам.

3.1) Распарсить строку кссселекторов и создать дерево для поиска. — cssselectorparser.js
3.2) Отфильтровать дом_ноды по дереву кссселекторов и найти нужные. — treeworker.js

Читать далее

Ещё одна подборка книг по фронтенду

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели57K

«Под поверхностью машины движется программа. Без усилий, она расширяется и сжимается. Находясь в великой гармонии, электроны рассеиваются и собираются. Формы на мониторе — лишь рябь на воде. Суть остаётся скрытой внутри…» Мастер Юан-Ма, Книга программирования.

Под катом собрали 8 книг, которые рекомендуют прочитать наши разработчики. В целом, они все есть на заглавной картинке. Но если хотите почитать разные интересные вырезки из книг, цитаты, пару задач и мнения наших frontend-разработчиков — заходите под кат.

Читать далее

React: разработка реального приложения с помощью React Query

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


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


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


Репозиторий с кодом проекта


Прим. пер.: автор рассказывает лишь о ключевых особенностях приложения, поэтому я рекомендую клонировать репозиторий, установить зависимости и запустить сервер для разработки, чтобы иметь возможность выполнять необходимые операции при чтении статьи. Обратите внимание: если у вас возникнут проблемы при запуске сервера для разработки с помощью команды npm start, перенесите переменные, определенные в этой команде в файле package.json, в файл .env:


SKIP_PREFLIGHT_CHECK=true
TSC_COMPILE_ON_ERROR=true
ESLINT_NO_DEV_ERRORS=true

И отредактируйте команду start следующим образом:


"start": "react-scripts start"

Руководство по React Query

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

Простой Telegram-бот на JavaScript за 10 минут

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

Привет, Хабр! Эту статью написал Тарас Голомозый, fullstack web-разработчик и преподаватель в школе программирования Эльбрус Буткемп. Хотя про ботов рассказано уже немало, эта тема по-прежнему интересует начинающих разработчиков, — и опыт наших студентов это подтверждает. Позволим себе написать еще одну инструкцию по созданию простого бота на JavaScript с возможностью расширения функционала. В базовом варианте его задача — показывать текущую погоду по геолокации пользователя.

Читать далее

Typescript в hh.ru

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

Привет! Меня зовут Владислав Коротун, я — ведущий фронтенд-разработчик в одной из продуктовых команд hh.ru. Сегодня я расскажу о том, как мы затащили TypeScript в наши проекты. 

Читать далее

Как мы в команде пришли к low-code и закрываем задачи бэка силами фронта

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

В статье расскажу, как наша команда начала закрывать бэк силами фронтов, как мы искали идеальный фреймворк, прошли путь от PHP до Node.js, а потом поняли, что делаем low-code. Теперь мы можем закрывать потребность клиентов на несложный бэкенд, не превращаясь в фуллстек-команду.

Читать далее

Архитектура сайта: Node.js (Nuxt.js) + ORM

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

Привет, Хабр! Меня зовут Влад, я frontend-разработчик в SimbirSoft. Я часто задумывался, почему на проектах, где используется Node.js (в частности Nuxt.js и Next.js — фреймворки на базе Vue и React), мы каждый раз, словно по шаблону дополнительно используем еще одну прослойку бэка —  PHP, Java, C# или другой язык программирования, к примеру, «неродной» JavaScript. И тогда я с головой погрузился в анализ ситуации по работе с популярными системами управления базами данных (СУБД), файлами, изображениями и другими естественными потребностями современного проекта. 

Читать далее