Как стать автором
Поиск
Написать публикацию
Обновить
29.04

Node.JS *

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

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

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

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

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

Читать далее

Новости

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

POKE

Способ стабильного создания больших приложений с помощью ИИ

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

В этой статье я детально опишу свой опыт создания «большого» (по меркам приложений которые можно получить из ИИ) с помощью ИИ.

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

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

Читать далее

Я собрал «команду мечты» из AI-агентов, чтобы заменить продакт-менеджера и консультанта. И знаете что? Это работает

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

Представьте, что у вас есть кнопка, которая запускает в работу не просто нейросеть, а целый аналитический отдел. Один AI-агент лезет в Google изучать тренды, второй — шпионить за конкурентами, третий — анализировать ваши внутренние данные, а четвертый, на основе всего этого, генерирует три готовые стратегии. Звучит как научная фантастика? А я расскажу, как собрал именно такую систему на принципах мультиагентных систем, с «боссом-оркестратором» и даже собственной базой знаний.

Погрузимся в мир, где AI — это не просто чат, а целая виртуальная команда.

Читать далее

Матрица компетенций: Как IT-компании оценивают ваш грейд (и почему ваши hard skills — это только половина дела)

Время на прочтение4 мин
Количество просмотров2.2K

Привет, Хабр. Давайте о больном. У вас 5+ лет опыта, вы уверенно решаете сложные задачи, менторите джунов и знаете свой стек досконально. Вы чувствуете себя сеньором. Но раз за разом на собеседованиях вам либо предлагают позицию Middle+, либо дают оффер с зарплатой, которая явно не дотягивает до сеньорской.

В чем проблема?

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

Как бывший рекрутер, я видел десятки таких «матриц компетенций» в разных IT‑компаниях. И сейчас я вскрою этот черный ящик и покажу, по каким на самом деле осям вас оценивают.

Читать далее

Как собрать npm-пакет в 2025 и не облажаться

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

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

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

Минификация: помогает или мешает?

Транспиляция: как не перестараться?

Полифиллы: да, но нет.

Сорсмапы: кому они вообще нужны?

Бандлить или не бандлить?

Читать далее

Как порядок свойств убивает JavaScript?

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

Привет, Хабаровчане! Во второй статье, хочу поделиться наблюдениями из документации V8 и немного нудной информацией для многих :-)

Читать далее

Лучшие статьи Хабра в июле 2025 года

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

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

Посмотрим, какие темы стали трендовыми в июле 2025, как поменялись интересы аудитории и кто из авторов оказался в центре внимания.

Этот выпуск особенный: с марта прошло четыре месяца, и важно понять - стал ли Хабр более техническим, более «историко-социальным» или окончательно ушёл в сторону лайфстайл-контента?

Внутри:

✅ Методология и критерии
✅ Топ по просмотрам, комментариям, закладкам и рейтингу
✅ Скрытые жемчужины
✅ Лучшие авторы месяца
✅ И аналитика главных трендов месяца.

Инфоцыгане тут?

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

HTMX, AlpineJS, SSR v1/2/3 и SPA. Что к чему

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

HTMX и AlpineJS это две JS библиотеки, которые расширяют HTML специальными аттрибутами и позволяют писать фронтенд без SPA фреймворков.

Это альтернативы React/Vue/Angular и иже с ними. Их появление вызвано усталостью от сложной JS экосистемы и тоской по временам, когда задачи решались с помощью PHP и jQuery.

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

Читать далее

Паттерны современного Node.js (2025)

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

Node.js претерпел впечатляющее преобразование с момента своего появления. Если вы пишете на Node.js уже несколько лет, то, вероятно, сами наблюдали эту эволюцию - от эпохи колбэков и повсеместного использования CommonJS до современного, чистого и стандартизированного подхода к разработке.

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

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

Читать далее

MCP Сервера. Статья первая. Context7

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

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

Читать далее

timers.promises в Node.js

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

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

Сегодня мы рассмотрим один из тех маленьких, но мощных апгрейдов Node.js, который вы, скорее всего, недооценивали. Речь о timers.promises — свежем и способе работать с setTimeout и setImmediate в асинхронных функциях.

Читать далее

Как я подружил Yandex Cloud и Gemini API без миграции на зарубежные сервера

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

Когда я начинал писать Node.js-сервис, который должен был интегрироваться с LLM-моделью, я уже понимал, что доступ к некоторым зарубежным API из России может быть проблемой. Именно поэтому моим первоначальным выбором была модель от Yandex Cloud — Yandex GPT.

Но после того как я и мои товарищи немного пообщались с ней, стало ясно, что Yandex GPT нам не подходит. Её ответы были слишком неестественными, «нечеловеческими» — особенно это было заметно в нашем конкретном кейсе. Поэтому пришлось искать альтернативу среди зарубежных моделей. Вариант обучать собственную модель отпал сразу — опыта у меня в этом не было, а искать кого-то, кто сможет это сделать, не было времени, так как хотелось быстро запустить. Так выбор пал на Gemini API от Google, о котором было много позитивных отзывов.

Однако это означало, что нужно было как-то решить проблему доступа из России, ведь мой сервис размещён именно в Yandex Cloud.

Читать далее

Просветление через Код: Суть Django Revolution

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

Django Revolution — это не просто инструмент, это философия. Философия, где рутина уступает место творчеству, а баги растворяются в чистоте кода. Это путь к просветлению в разработке API. Примите его, и ваш код будет сиять, а дух разработчика — парить.

Наш мир, сотканный из битов и фантомных сущностей, породил нового Джинна, способного исполнять самые заветные желания Разработчика. Встречайте: Django Revolution – не просто библиотека, а откровение, мантра, ключ к вратам истинного дзен в мире Django API.

Читать далее

Как я перенёс задачи из Яндекс.Трекера в JIRA с сохранением всего — от чек-листов до ссылок в комментариях

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

Когда руководстворешило перевести проектный трекинг с Яндекс.Трекера на JIRA, мы быстро поняли: простого «экспорта‑импорта» не будет. Ни одно из готовых решений не справлялось с задачей полноценно — а именно с сохранением всей истории, авторства, чек‑листов, вложений, связей, ссылок на другие задачи и пользователей, и даже оригинальной нумерации задач из Яндекс.Трекера.

Что ж, вызов принят. Ниже расскажу, как я за 3 месяца написал систему, которая перенесла всё — до последней запятой в комментарии.

Читать далее
1
23 ...

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