Обновить
256K+

JavaScript *

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

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

Самые интересные задачи для безопасников — Джабба одобряет

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

Мы решили не один CTF-турнир. За плечами остались KnightCTF, 0xL4ugh и DiceCTF. Найти по-настоящему интересные и сложные задачи все труднее, поэтому будем смотреть в оба глаза и следить за несколькими мероприятиями одновременно.

На этот раз — порешаем задачи сразу двух CTF-турниров: Space Heroes и ThCon 2024. Уже интересно, что подготовили безопасники из США и Франции? Тогда добро пожаловать!
Читать дальше →

Руководство по Next.js. 2/3

Уровень сложностиСредний
Время на прочтение52 мин
Охват и читатели20K


Hello world!


Представляю вашему вниманию вторую часть обновленного руководства по Next.js.



На мой взгляд, Next.js — это лучший на сегодняшний день инструмент для разработки веб-приложений.


Предполагается, что вы хорошо знаете JavaScript и React, а также хотя бы поверхностно знакомы с Node.js.


Обратите внимание: руководство актуально для Next.js версии 14.


При подготовке руководства я опирался в основном на официальную документацию, но в "отсебятине" мог и приврать (или просто очепятаться) 😁 При обнаружении подобного не стесняйтесь писать в личку 😉


Парочка полезных ссылок:


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

В чем разница между движками и средами выполнения JavaScript?

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

Среду выполнения и движки часто ошибочно называют одним и тем же.

Вы скорее всего слышали термины "движок JavaScript" и "среда выполнения JavaScript", которые используются, как взаимозаменяемые понятия, подразумевающие под собой "программу, которая выполняет JavaScript". Их часто смешивают, ссылаясь на V8, Node.js или некоторые другие комбинации схожих программ. Однако, существует значительная разница между движком и средой выполнения JavaScript с точки зрения их области применения и функциональности. Понимания этого различия является ключом к хорошему пониманию языка JavaScript в целом.

Читать далее

Как стать Frontend-разработчиком с нуля? Бесплатная программа обучения

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

Если вбить слово «фронтенд» в поисковую строку, можно найти огромное количество курсов по данному направлению. Проблема в том, что все курсы являются платными и, как правило, имеют ценник в несколько десятков тысяч рублей. 

Чтобы разбавить засилие платных курсов, мы подготовили для вас программу обучения «Frontend-разработчик с нуля», которая состоит только из бесплатных материалов.

Читать далее

Смартфон для джаваскриптера-олдфага: стоит ли гику брать дешманские девайсы на KaiOS? Смотрим на Nobby 240 LTE

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели19K
image

Друзья! Много ли платформ вы знаете, где для написания пользовательских приложений используется стек… веб-технологий, причём это единственный нативный способ писать программы? Услышав о HTML5 + CSS + JS, на ум приходит разве что webOS — которая используется в современных телевизорах от LG (а ранее использовалась ещё и в Palm Pre — уникальный смартфон, единственный в своём роде), а олды вспомнят ещё и про FireFox OS, в которой вся оболочка (включая многозадачность, шторку уведомлений и все приложения) также была реализована на JS. Но ни webOS, ни FFOS в своё время не суждено было стать массовыми ОС на смартфонах: сказывались аппаратные ограничения устройств, да и проблемы с портированием уже существующих приложений с других платформ (например, игр). Однако несколько лет назад, проект FireFox OS был форкнут и на свет появилась новая система, предназначенная для… умных кнопочных телефонов с LTE! И имя ей — KaiOS. Вероятно, многие мои читатели слышали о ней и о новых умных кнопочниках от Nokia. Но что из себя представляет система под капотом и чем она может быть интересна гику? Читайте в новом материале!
Читать дальше →

5 полезных JS-библиотек для анимации, которые могут пригодиться в работе

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

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

Читать далее

Руководство по Next.js. 1/3

Уровень сложностиСредний
Время на прочтение45 мин
Охват и читатели59K


Hello world!


Представляю вашему вниманию первую часть обновленного руководства по Next.js.



На мой взгляд, Next.js — это лучший на сегодняшний день инструмент для разработки веб-приложений.


Предполагается, что вы хорошо знаете JavaScript и React, а также хотя бы поверхностно знакомы с Node.js.


Обратите внимание: руководство актуально для Next.js версии 14.


При подготовке руководства я опирался в основном на официальную документацию, но в "отсебятине" мог и приврать (или просто очепятаться) 😁 При обнаружении подобного не стесняйтесь писать в личку 😉


Парочка полезных ссылок:


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

Выкиньте свой husky

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

А вы знаете, что миллионы человек тащат лишнюю npm-зависимость зря? Сегодня я покажу вам, как настроить самые что ни на есть "lean" хуки для гита.

Ничего себе!

«Михалыч, где заказ?» или как мы автоматизировали процесс заказа лома и отслеживали его по RFID

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

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

Привет, Habr! На связи Александр Тамразов и Дмитрий Кривенко, разработчики из Аxenix.

Читать далее

Понимаем полностью useMemo и useCallback

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

Понимаем полностью useMemo и useCallback

Экскурсия по двум самым известным хукам в React

Если вы изо всех сил пытались разобраться в useMemo и useCallback, вы не одиноки! Я разговаривал со многими разработчиками React, которые cломали голову над этими двумя хуками.

Моя цель в этом здесь — прояснить всю эту путаницу. Мы узнаем, что они делают, почему они полезны и как получить от них максимальную пользу.

Погнали!

Читать далее >

Путешествие в yarn

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели17K

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

Наши бекендеры решили настроить резервную инфраструктуру на базе ресурсов «Яндекса». Мы, фронтендеры, задумались над альтернативой npm registry — источнику библиотек, фреймворков и других полезных в работе штук.

От нашей изначальной идеи — создания локального registry — мы пришли к yarn 2+. О том, как так получилось, и с чем мы столкнулись на этом тернистом пути, я сегодня и расскажу.

Читать далее

Фильтр Блума

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели14K



У каждого разработчика есть набор инструментов для решения различных задач. Однако со временем возникает необходимость расширять этот набор, чтобы эффективно справляться с более сложными задачами. В этой статье я хочу познакомить вас с инструментом, которым вы, скорее всего, раньше не пользовались. И хотя он подходит для решения узкого спектра задач, его использование может оказаться весьма полезным. Знакомьтесь — "фильтр Блума" (Bloom filter).

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

Самые полезные библиотеки JS для красивых анимаций

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

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

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

Мы поговорим о библиотеках JavaScript упрощающих добавление этих анимаций для разработчиков, делая приложения более приятными.

Приятного прочтения :-)

Читать далее

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

Что такое semantic-release и как с ним работать

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели20K

Привет! Я — Алексей Бондаренко, работаю в команде Платформа Банки.ру. Сегодня хочу рассказать о semantic-release и его практическом применении на примере упрощения разработки и внедрения библиотеки в проект. 

Читать далее

То, что вы пишете, это точно composables?

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

В этой статье c помощью простого чек листа за пару шагов выясним, являются ли функции, которые вы пишете в своем vue коде, настоящими composables

Читать далее

Книга «React быстро. 2-е межд. изд.»

Время на прочтение11 мин
Охват и читатели10K
image Привет, Хаброжители!

React предельно упрощает создание привлекательных и надежных интерфейсов для веб-приложений. Эта великолепная библиотека JavaScript имеет модульную архитектуру, что позволяет легко создавать, объединять и тестировать компоненты. React идеально подходит для небольших прототипов, корпоративных сайтов и других подобных решений.

«React быстро. 2-е издание» предлагает уникальный подход к освоению фреймворка React. Более 80 компактных примеров проведут читателя от изучения основ работы к созданию довольно сложных приложений. В книге подробно описаны многие функциональные компоненты, хуки React и средства доступности веб-приложений, а также представлены интересные проекты для отработки новых навыков.

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

Typescript Generics

Уровень сложностиСложный
Время на прочтение8 мин
Охват и читатели14K

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

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

При этом написание типов бывает действительно утомительным, но Typescript предоставляет возможности ускорить и этот процесс. Здесь нам на помощь придут дженерики.

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

Читать далее

Топ-3 причины, почему вы должны использовать Copilot

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

Всем привет! Меня зовут Анатолий Барцев, я frontend-разработчик в команде Модерации Циан. Я решил протестировать Copilot, чтобы оценить, полезен ли он для реальной разработки. В статье расскажу, какие выделил для себя плюсы использования, а также покажу, как GitHub Copilot помогает в разработке на примере проекта на React/Typescript.

Читать далее

Анатомия htmx

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели45K



Hello world!


По данным 2023 JavaScript Rising Stars библиотека htmx заняла второе место в разделе Front-end Frameworks (первое место вполне ожидаемо принадлежит React) и десятое место в разделе Most Popular Projects Overall.


htmx — это библиотека, которая предоставляет доступ к AJAX, переходам CSS, WebSockets и Server Sent Events прямо из HTML через атрибуты, что позволяет создавать современные пользовательские интерфейсы (насколько сложные — другой вопрос), пользуясь простотой и мощью гипертекста. На сегодняшний день у библиотеки почти 30 000 звезд на Github. Удивительно, что до такого решения мы додумались только сейчас, учитывая, что весь функционал был доступен уже 10 лет назад (вы сами убедитесь в этом, когда мы изучим исходный код htmx).


В этой статье мы с вами разберемся, как htmx работает. Но давайте начнем с примера ее использования.

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

Структура объекта в JavaScript движках

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

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

Читать далее