IT Kniga
Интернет-магазин компьютерной литературы

JavaScript - habr.ru

RSS-материал Хабр
JavaScript – прототипно-ориентированный язык программирования
Обновлено: 30 минуты 42 секунды назад

Cложить два числа-гиганта или почему я прошел квест на собеседовании а на работу в BigTech взяли ChatGPT?

Чт, 20/03/2025 - 15:33

Евгений Жуков (@EvgeniiZhukov) написал статью «Сложить два числа‑гиганта: как я прошел квест на собеседовании в Бигтех».

Я решил развить мысль и проверить, как ChatGPT сможет пройти собеседование и устроиться на работу в BigTech. Стоит ли опасаться AI и сможет ли ChatGPT предложить решения, которые ни автор статьи ни авторы комментариев не смогли найти. Что остается делать простому front-end джуну в современном мире и как все-таки вкатиться в IT.

Читать далее
Категории: HTML, CSS, Javascript

DOM-Scope: создание искусственных областей видимости и управление идентификаторами элементов

Чт, 20/03/2025 - 09:48

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

Чтобы избежать этой проблемы, я разработал библиотеку dom-scope, которая позволяет создавать искусственные области видимости (скоупы) внутри DOM. Я хочу поделиться своим решением с сообществом Хабра.

Читать далее
Категории: HTML, CSS, Javascript

Понимая реактивные системы: искусство планирования зависимостей

Чт, 20/03/2025 - 08:10

В этой статье мы продолжим разбирать базовые концепции реактивности на основе идей и примеров, изложенных Райан Карниато (Ryan Carniato), автором SolidJS. Сегодня рассмотрим, как в реактивных системах планируется выполнение изменений производных значений.

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

Читать далее
Категории: HTML, CSS, Javascript

Yandex индексация для SPA приложений

Чт, 20/03/2025 - 05:33

Год с небольшим назад я проводил здесь испытания, как поисковики индексируют SPA сайты. На тот момент Google справился на отлично, Yandex - не очень

Сейчас Yandex хорошо проиндексировал SPA сайт на Vue 3.

Читать далее
Категории: HTML, CSS, Javascript

Выбор локальной LLM модели. Публикация на сайт с чатом

Ср, 19/03/2025 - 15:55

???? Выбор локальной LLM модели. Публикация на сайт с чатом.

В мире нейросетей - хайп. Не всегда заявления производителя соответствуют действительности, например, на бумаге DeepSeek R1 поддерживает русский язык, на деле не всё так гладко. Данная статья содержит подборку LLM моделей, хорошо работающих с русским языком и имеющих возможность tool calls - вызов внешних python/nodejs функций для интеграции в стороние сервисы

Читать далее
Категории: HTML, CSS, Javascript

[Перевод] Рекомендуемые библиотеки для React

Ср, 19/03/2025 - 15:05



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


React позволяет разработчикам создавать пользовательские интерфейсы (user interfaces, UI) на основе функциональных компонентов. Хотя он предоставляет встроенные решения, такие как хуки (hooks), для управления локальным состоянием, обработки побочных эффектов и оптимизации производительности, в конечном итоге все сводится к работе с функциями — как компонентами, так и хуками — для построения UI.


В этой статье мы рассмотрим основные библиотеки React на 2025 год. Эти библиотеки являются строительными блоками для разработки приложений. Независимо от того, новичок вы или опытный разработчик, эта шпаргалка поможет вам сориентироваться в обширной экосистеме React.


Читать дальше →
Категории: HTML, CSS, Javascript

Прожариваем React

Ср, 19/03/2025 - 14:43

Привет, Хабр! Я уже рассказал, что умею разнообразно писать счётчики . Пришло время сделать шаг вперёд! Сегодня поговорим о том инструменте, который я и миллионы разработчиков используют ежедневно. Речь пойдёт о великом и ужасном ReactJS.

Я пишу на React с 2018 года, делаю это, на мой взгляд, более-менее сносно. Мне нравится тезис о том, что профессионализм заключается не только в умении использоваться достоинства инструмента, но и в умении чётко видеть его недостатки.  Поэтому возникла идея сделать что-то типа прожарки React, указав на лично меня раздражающие моменты. С какими-то я смирился, с какими-то нет, что-то научился обходить. Если вас бесит в React что-то, что я не упомянул, не стесняйтесь писать в комментариях, было бы очень интересно сравнить мои ощущения с вашими.

И важное: несмотря на указанные ниже проблемы, я до сих пор считаю React прекрасным и удобным инструментом для создания фронтенда, в частности SPA.  Громких слов типа «ReactJS не пригоден для разработки» тут не будет - пригоден, да ещё как! Но... и на Солнце бывают пятна. Приступим.

Читать далее
Категории: HTML, CSS, Javascript

[Перевод] Визуальный редактор для вашего сайта – Бесплатно и с открытым исходным кодом

Ср, 19/03/2025 - 14:40

У вас есть контент на сайте? Хотели бы редактировать его визуально, без необходимости погружаться в код?

Intlayer Visual Editor – это бесплатный инструмент с открытым исходным кодом, который позволяет редактировать контент вашего веб-приложения прямо в визуальном интерфейсе.

Читать далее
Категории: HTML, CSS, Javascript

Дзен и публикация картинок

Пнд, 17/03/2025 - 17:45

Привет, Хабр! Сегодня я хотел бы поговорить с тобой о проблеме публикации картинок. Зачем вообще об этом говорить? Ежедневно миллионы людей публикуют миллионы, или даже, миллиарды изображений, что тут можно обсуждать? Наверняка, для веб-разработчика, тем более, опытного - это вообще никакая не проблема.

Эх, как бы не так.
Категории: HTML, CSS, Javascript

Сложить два числа-гиганта: как я прошел квест на собеседовании в Бигтех

Пнд, 17/03/2025 - 12:42

 Привет, Хабр! Меня зовут Евгений Жуков, я работаю в Битриксе мобильным разработчиком. Моя основная задача — создавать приложения, которые упрощают бизнес-процессы. А еще я обожаю разбирать задачи с собеседований: они как головоломки, которые не только проверяют знание алгоритмов, но и учат видеть не очевидные подходы к коду. Хочу делиться такими кейсами — вдруг это поможет кому-то пройти сложное интервью или вдохновит на новые идеи. Поехали? ????

Сценарий: вы на собеседовании, ожидаете вопросов про React, WebGL или хотя бы про Event Loop. А вместо этого получаете: «Напишите функцию сложения двух чисел в столбик, но числа передаются как массивы.

«Что? — думаете вы. — Это же уровень начальной школы! Где мои хитрые асинхронные задачи?» Но не спешите радоваться. Я тоже недооценивал эту задачу, пока не попытался реализовать её на JavaScript. 

Читать далее
Категории: HTML, CSS, Javascript

«Философия платформы TeqFW» или «Как усложнить себе жизнь, делая вид, что это инновация»

Сб, 15/03/2025 - 10:27

Аудитория Хабра, в силу своей айтишности и любознательности, отлично подходит для различного рода экспериментов . Этот документ - эксперимент. Создан мной в соавторстве с LLM и предназначен как для людей, так и для LLM. Хочу увидеть реакцию людей. Реакцию LLM я уже видел.

Всё изложенное касается только разработчиков на JavaScript (JS !== TS).

Философия Tequila Framework (TeqFW) — это мой личный взгляд на организацию разработки веб-приложений. Я, Алекс Гусев, сформировал этот подход, исходя из собственного опыта, который сосредоточен на модульных монолитах с одной базой данных. Этот документ отражает именно такой контекст и не претендует на универсальность.

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

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

Читать далее
Категории: HTML, CSS, Javascript

Как интегрировать миниапп (активность) в Discord

Пт, 14/03/2025 - 11:12

Привет! Я Егор Стеблин, фронтенд-разработчик в юните спецпроектов KTS.

В этой статье я расскажу о том, каким образом в Discord можно встроить свой миниапп (a.k.a. «активность»). Для тех, кто еще не сталкивался с этим понятием: активности — это интерактивные приложения, которые можно запустить в Discord. Они могут интегрироваться со следующей функциональностью Discord:

получение информации о пользователе;

голосовой и текстовый чаты;

данные профиля и встроенная монетизация.

Если ваша ЦА включает в себя молодежь, студентов или геймеров, то активности помогут вам сделать рекламу в приложении, в котором они регулярно проводят время. В целом, Discord — довольно удобная платформа для создания мультиплеерных проектов, и с помощью миниаппов вы можете создать на ней интерактивное многопользовательское пространство и кастомизировать его под ваши цели.

Ниже я опишу процесс создания Discord-активностей от инициализации приложения на портале Discord до написания кода и его тестирования.

Читать далее
Категории: HTML, CSS, Javascript

Playwright: игра в скриншотные тесты

Пт, 14/03/2025 - 06:47

Работа с Playwright всегда доставляет мне удовольствие. «Наиграв» уже десятки, если не сотни часов в библиотеке, решая проблемы, копаясь в исходниках или на просторах сети, я практически всегда находил удачное решение. И это я списываю не столько на свой опыт, сколько на удобство самой библиотеки. Чаще всего удачные решения находились уже в коробке. А то, что приходилось допиливать руками, всегда сопровождалось ощущением игры и веселья – настолько приятно и легко работать с этим инструментом. Вот уже год, как наши тесты работают стабильно без каких-либо значимых изменений. Сегодня я расскажу вам о скриншотных тестах, реализованных на основе Playwright и Storybook.

Читать далее
Категории: HTML, CSS, Javascript

Интерактивные метки на изображении JS

Чт, 13/03/2025 - 11:15

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

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

Читать далее
Категории: HTML, CSS, Javascript

TypeScript 7 в 10 раз быстрее: анонс нативного компилятора TSGO

Чт, 13/03/2025 - 10:15

11 Марта вышел аннонс Typescript 7, в котором рассказали о разработке нового tsgo компилятора.

Андерс Хейлсберг объявил о следующем этапе в развитии Typescript, направленном на кардинальное повышение производительности.
Основная ценность Typescript — это удобный опыт разработки, с ростом кодовой базы эта ценность становится всё более очевидной. Но, как показала практика, текущая реализация часто не справляется с очень крупными проектами. Разработчики сталкиваются с долгим временем загрузки, медленным автокомплитом и проблемами с производительностью.

Нативный порт компилятора на Go - tsgo доступен в репозитории на GitHub - typescript-go. Уже сейчас его можно потестировать и попытаться собрать какой-нибудь проект, но пока реализовано 80% функционала языка. А завершить разработку tsgo обещают в пределах 2025 года.

Читать далее
Категории: HTML, CSS, Javascript

Алгебраические эффекты на Javascript

Чт, 13/03/2025 - 08:30

В этой статье я хотел рассказать об интересном подходе к построению программ, описанному в книге Sandy Maguire, Algebra-Driven Design. Подход позволяет строить программы на основе абстрактных математических структур и законов. Это позволяет разработать обобщенные подходы к их созданию и тестированию. Но потом я понял, что в этом мало смысла без объяснения, почему такой подход в принципе имеет право на существование. В книге для примеров используется Haskell - ленивый, чистый функциональный язык, имеющий крайне мало отношения к языкам, которые широко применяются на практике. Распространено мнение, что приемы, используемые в Haskell, существуют в основном для преодоления его же недостатков и в других языках не нужны. Например, про монады пишут, что это оторванная от реальной жизни абстракция, которую не встретить в повседневной работе. Нет ничего более далекого от истины.

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

Читать далее
Категории: HTML, CSS, Javascript

Понимая реактивные системы: Производные, эффекты и оптимизация

Чт, 13/03/2025 - 08:19

С этой статьи я начну цикл материалов, посвященных базовым концепциям реактивности, основанных на идеях и примерах, которые подробно изложил автор SolidJS, Райан Карниато (Ryan Carniato), в своем блоге. Наша цель — разобрать фундаментальные принципы, лежащие в основе реактивных систем, и показать их применимость в различных контекстах.

Читать далее
Категории: HTML, CSS, Javascript

Особенности национальной верстки: PWA

Чт, 13/03/2025 - 08:04

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

Сегодня мы сосредоточимся на проблемах (а точнее на одной конкретной), с которой вы можете столкнуться, решив сделать свое веб-приложение прогрессивным.

Забегая вперед, сразу скажу, кому статья может быть полезна. Не столько важно, являетесь вы владельцем продукта или разработчиком. Если вы создаете PWA-приложение, в котором планируется реализовать открытие ссылок на сторонние ресурсы в браузере, вы можете столкнуться с неочевидной проблемой в верстке. Об этом я, frontend-разработчик IT-компании SimbirSoft Эльвина, расскажу в статье.

Решить проблему????
Категории: HTML, CSS, Javascript

Галилео Галилей и вычислительная физика: забавная предыстория создания симулятора Пизанской башни

Ср, 12/03/2025 - 18:01

Однажды, в курсе «Математические модели физической реальности» я предложил студентам «поиграть в Галилея». То есть, повторить его натурные эксперименты с падающими телами и определить из экспериментов величину ускорения свободного падения.

Согласно общепринятой легенде, «экспериментальной установкой» для одного знаменитого опыта Галилею служила всемирно известная Пизанская башня: высотой приблизительно 50 метров.

Если вы сейчас не в Италии, то можете «поиграть в Галилео Галилея» (онлайн) с помощью компьютерной модели, которая воспроизводит падение экспериментального тела за счёт численного интегрирования дифференциальных уравнений движения. Модель учитывает действие сопротивления воздуха.

Читать далее
Категории: HTML, CSS, Javascript

Обновление SPA приложения в браузере пользователя Node/React

Ср, 12/03/2025 - 14:11

Всем привет. Мне читатели иногда присылают сообщения с одним и тем же вопросом, что ты же Software Engineer и Solution Architect, но почти все твои статьи касаются бизнеса, менеджмента, процессов, управления командами и так далее. Но нет статей технического характера, про разработку и создание разных фич (feature) для проекта. Причина по которой это происходит в том, что весь интернет забит информацией о том, как программировать, но очень мало информации о том, что именно программировать, и о том, что за пределами кодинга огромное количество нерешенных проблем, которые нивелируют весь процесс программирования. Но сегодня я расскажу об одной фиче, которая может оказаться очень полезной для многих.

Читать далее
Категории: HTML, CSS, Javascript

Большая распродажа компьютерной литературы

Полный список здесь