Все потоки
Поиск
Написать публикацию
Обновить
28.81

Node.JS *

Среда для запуска JavaScript-приложений

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

Без головы но с идеями: как Strapi оживляет Next.js (часть 2)

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров928

Привет, Хабр!

С вами снова Дмитрий. В первой части мы с головой окунулись в философию Headless CMS и разобрали, почему Strapi стал глотком свежего воздуха для разработчиков, уставших от рамок монолитных систем. Мы увидели, как контент освобождается от шаблонов, получая возможность жить на любых платформах и устройствах.

Но мощный и гибкий бэкенд - только половина уравнения. Без современного, умного и производительного фронтенда вся эта свобода рискует остаться просто красивой теорией. Где же тот самый «идеальный фронтенд», который раскроет потенциал Headless на все 100%?

Читать далее

Новости

Можно ли войти в реку Технотекста дважды? А трижды? Анализ победителей Хабра за 7 лет

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров676

В этом году я второй раз подряд оказался в списке победителей «Технотекста». Когда вместе с летом прошла первая эйфория, во мне проснулся аналитик. Есть ли закономерность в победах? Что объединяет лучшие статьи на Хабре за последние семь лет? И главный вопрос - существует ли формула успеха, которая позволит покорить эту вершину и в третий раз?

Я вооружился своим парсером, собрал данные по всем победителям с 2018 по 2024 год и готов поделиться результатами. Это моя попытка реверс-инжиниринга победы, и, возможно, она поможет будущим чемпионам.

ИИ не за горами?

Настройка Express 5 для продакшна в 2025 году. Часть 1

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров2K

Эта статья поможет вам создать приложение Express 5 с поддержкой TypeScript.

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

Настоятельно рекомендую писать код вместе со мной. Мы будем использовать подход "Разработка через тестирование" (test-driven development, TDD) для создания REST API, который может стать основой вашего следующего приложения Express.

Читать далее

LibreChat: как настроить локальный мультичат для сотен нейросетей без подписок (Win11/Linux/Mac)

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров25K

Представьте себе единый интерфейс, очень похожий на ChatGPT, но с существенной разницей — в выпадающем списке вы можете выбрать не только DeepSeek, но и Claude от Anthropic, Gemini от Google, Grok от xAI и даже экспериментальные модели вроде ChatGPT 4o.

При этом вам не нужны десяток отдельных аккаунтов и VPN для доступа из них.

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

В этом гайде мы подробно пройдем все шаги установки и настройки LibreChat в средах Windows 11/Linux/Mac, чтобы вы смогли оценить преимущества этого подхода.

Читать далее

Взгляд на SEO продвижение молодого сайта в 2025 году и пару слов про NextJS

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

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

Мы с коллегами находимся в процессе активной реинкарнации моей старой, аж из 2014 года веб студии mindgroup‑web. На дизайн можете не смотреть. В то время мы были молодыми, начинающими разработчиками. Которые умели создавать сайты на Wordpress, писать простенькие скрипты на JS, и неплохо разбирались в тогдашнем SEO.

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

Это было интересное время ссылочного и контентного продвижения. Мне удавалось писать довольно неплохие информационные и коммерческие тесты. Почему берусь это утверждать? Все проекты, которые мы брали в продвижение — по итогу приносили поисковый трафик.

Мой рекорд — 15 000 дневных уникальных посетителей, на сайте информационной тематики. В то время, мы делили нишу контентных сайтов, с еще одним конкурентом. Сейчас при написании статьи попытался найти его в результатах поисках — увы, он как и мой проект, канул в лету. Спасибо, за интересное состязание.

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

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

Собственно, в данный момент я являюсь Senior Fullstack Developer. За плечами опыт работы в таких компаниях, как Яндекс, Лаборатория Касперского, Сбер. Основной стек — JS/React/NextJs/NodeJs/Express/NestJS. БД — Postgres. CI/CD — gitlab. Реже Python/C.

Читать далее

Без головы но с идеями: как Strapi оживляет Next.js

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

Привет, Хабр!

Меня зовут Дмитрий Гусаков, я менеджер проектов компании DD Planet. Рад поделиться с вами материалом, который, надеюсь, будет полезен всем, кто следит за эволюцией веб‑разработки и ищет современные подходы к созданию гибких и производительных проектов. Сегодня я расскажу про связку, которая уже стала стандартом для многих команд — Strapi + Next.js. Это не просто инструменты, а целая философия, где скорость, контроль и свобода творчества выходят на первый план.

Читать далее

Как Node.js выжимает максимум из I/O в 2025 году

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

Команда JavaScript for Devs подготовила перевод статьи о том, как Node.js выжимает максимум из I/O в 2025 году. В ней подробно объясняется цикл событий, порядок фаз и то, как правильно писать код, чтобы серверы оставались отзывчивыми даже под нагрузкой.

Читать далее

Clean Fury: эволюция одного Node.js сервиса

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров1.7K

Эта статья — история эволюции. Она о том, как простое желание купить билеты в театр прошло путь от однофайлового скрипта на несколько строк до полноценного сервиса с Clean Architecture, CI/CD и деплоем на VPS. Я не стану показывать пошаговый гайд по программированию, а разберу на примерах, какие боли на каждом этапе заставляли меня усложнять архитектуру, и какие архитектурные решения эти боли закрывали. Это практический гайд по принятию решений для ваших пет-проектов.

Читать далее

Вам больше не нужен JavaScript

Уровень сложностиПростой
Время на прочтение25 мин
Количество просмотров56K

Команда JavaScript for Devs подготовила перевод статьи о том, как CSS и HTML могут заменить значительную часть JavaScript. Автор делится взглядом на веб как на искусство, показывает возможности современных фич CSS — от вложенности и @starting-style до динамических viewport-единиц, — и доказывает, что сайты могут быть быстрыми, красивыми и интерактивными даже без JS.

Читать далее

За кулисами Bun Install

Уровень сложностиСредний
Время на прочтение29 мин
Количество просмотров1.9K

Запуск bun install работает быстро, очень быстро. В среднем, он работает примерно в 7 раз быстрее, чем npm, в 4 раза быстрее, чем pnpm, и в 17 раз быстрее, чем yarn. Разница особенно заметна в проектах с большой кодовой базой. То, что раньше занимало минуты, теперь занимает (милли)секунды.

Почему это так быстро? Читайте под катом.

Читать далее

Push-Notifications в PWA и браузере: полная реализация без сторонних сервисов

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

Полная реализация push-уведомлений в PWA без сторонних сервисов

Разбираем архитектуру: Service Worker, Push API, VAPID ключи и Notifications API. Показываем, как настроить PWA для работы на всех платформах, включая iOS.

В статье:
• Теория всех компонентов системы
• Готовый код Service Worker и клиентской части
• Backend на Express с отправкой уведомлений
• Настройка PWA для iOS 16.4+
• Детекция платформы и предложение установки

Все работает из коробки! 🎯

Читать далее

«Расскажите про SOLID»: Как проходить унизительный тех. скрининг с HR (Гайд от бывшего рекрутера)

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

Давайте честно. Есть один этап в IT-найме, от которого у любого Senior-разработчика начинает дергаться глаз. Это технический скрининг с HR-ом.

Вы специалист с 10-летним опытом. А напротив вас сидит 23-летняя девушка, которая по бумажке задает вам вопросы, ответы на которые она сама не понимает. «А чем отличается SQL от NoSQL?», «Расскажите про SOLID».

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

Но что, если я скажу вам, что ваша злость и попытки «доказать, что вы умный» это именно то, из-за чего вы проваливаете этот этап?

Как бывший рекрутер, я сейчас вскрою этот театр абсурда и покажу, что на самом деле происходит в голове у HR-а, и как нужно действовать, чтобы пройти этот фильтр с конверсией 90%.

Читать далее

Claude Code за $3/месяц и 2 новые «стелс» модели: потестил за вас

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров8.7K

На выходных вышли сразу две громкие ИИ-новости, которые захотелось пощупать руками.

Во-первых, на OpenRouter тихо появились две стелс-модели: Sonoma Dusk Alpha и Sky Alpha. Обе заявлены с окном контекста 2 млн токенов, поддержкой изображений на входе и параллельным вызовом инструментов, и сейчас бесплатны; Dusk заявляется как быстрая модель на каждый день, Sky - как максимально интеллектуальная для сложных задач.

Во-вторых, z.ai запустили API совместимый с Claude Code с доступом к своей флагманской модели GLM-4.5 по за $3/мес (план GLM Coding Lite) — с лимитом ~120 промтов на каждые 5 часов. Есть и Pro за $15/мес (~600 промтов/5 ч). Эти планы работают только внутри инструментов кодинга вроде Claude Code (в веб-чате их не включают).

Ну как не потестить? Потестим.

Читать далее

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

Не доверяй и проверяй, или как я валидировал ссылку в JavaScript

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров2.7K

Всем привет! На связи Сергей, ведущий фронтенд-разработчик в команде привлечения Центрального университета. Расскажу историю, как валидировал ссылку и попал впросак. Я использовал браузерный URL API для своих целей и думал, что знаю, как он работает. И прежде чем кидать в меня помидоры, как в разработчика, который не читает документацию, дайте шанс рассказать свою историю.

Читать далее

Создание приложения для сопоставления резюме с помощью tRPC, NLP и Vertex AI

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров673

В этой статье, Я рассказываю, как сделал приложение для сопоставления резюме с вакансиями, используя tRPC, TypeScript и Google Vertex AI. Проект принимает PDF-резюме и описания вакансий, извлекает из них текст, применяет базовое NLP для выявления навыков, а затем обращается к Gemini 1.5 Flash для более глубокого анализа. По ходу статьи я объясняю, почему tRPC показался мне быстрее и чище, чем REST или GraphQL для MVP, показываю примеры кода из репозитория и обсуждаю как преимущества, так и ограничения такого подхода.

Читать далее

Пишем геймтон на nodejs

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

Сегодня мы разработаем с 0 собственный геймтон и запустим соревнования среди хабравчан и всех желающих just for fun. А также дадим возможность запустить свой геймтон локально по своим правилам Под катом вас ждет разработка геймтона на стеке nodejs + prisma + vuejs + fastify. А также пример разработки фулстек приложения с различными тонкостями построения API.

Читать далее

Как мне надоело создавать файлы и папки

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

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

Написал утилиту на Go для генерации структур файлов по шаблонам, которая, думаю, будет полезна многим.

Читать далее

Собственный протокол и масштабирование вебсокетов: эксперимент с миллионом ячеек

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.3K

Real-time системы и протоколы — тема, которая меня давно интересовала. В рамках эксперимента я решил попробовать свои силы:

Работа с WebSocket для двунаправленной связи в реальном времени

Масштабирование соединений и оптимизация производительности

Разработка собственного протокола/формата передачи данных для надёжности и скорости

Читать далее

JavaScript: зачем конструктору return …

Уровень сложностиСложный
Время на прочтение5 мин
Количество просмотров7.3K

Этот вопрос интересовал меня настолько давно, что за прошедшие годы даже стал как-то про него забывать. И не то, чтобы меня это прям как-то сильно интересовало, но всё же лучше понимать назначение было бы приятно.

И, ведь, ну в самом деле, подумаешь, ну может разработчику хочеться вернуть не эземпляр, не instance, а какой-нибудь другой объект, и зачем-то при этом ему нужен именно вызов конструктора. Ну, допустим, он хочет чтобы new.target был заполнен и т.п., ну, мало ли какие варианты зачем-то иметь возможность в противном случае вернуть объект. Или может он хочет асинхронных конструкторов и вернуть new Promise, где уже в resolve передать this как вариант для создания await new MyConstructor. Или может быть хочет вернуть Proxy над this для отслеживания операций с этим экземпляром. В общем есть всякие разные причины когда гуманно было бы иметь этот "сахар", но всё же, может быть есть что-то, что иначе никак не сделать? И, самое важное, что эта функциональность былв всегда, с самой первой версии же. Понятно, что может быть про это вообще не думали, просто делали "как привычно". И, да, функции-конструкторы, в отличие от class-овможно вызвать без new и в те времена никаких классов в JavaScript не было конечно, и return объективно был нужен, но может быть есть какие-нибудь варианты когда и с new имеется глубокий практический смысл уже и тогда существовали, то есть может быть назначение операции возврата иного значения конкретно у конструкторов вполне себе приемлемое. И, да, конечно, конструкторы не возвращают примитивы, но может быть и для объектов есть какое-то применение тоже находилось бы, ну, вдруг, внезапно, может быть ...

Читать далее

Свой родной GUI для yt-dlp на Electron и React

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров4.8K

Нет ничего лучше, чем сделать что‑то своими руками. Особенно, когда этим смогут пользоваться другие люди.

POKE — это графический интерфейс (GUI) для скачивания видео с youtube на базе yt‑dlp.

POKE
1
23 ...

Вклад авторов