Обновить
512K+

JavaScript *

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

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

free AI girlfriend. Почему мужчины уходят из экономики отношений и как устроен пространственный 3D-аватар в браузере

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

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

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

Давайте отбросим эмоции и посмотрим на сухие цифры, а затем разберем, как инженерные технологии позволяют создать альтернативу — полностью бесплатного пространственного 3D-компаньона, работающего прямо в браузере.

Читать далее

Новости

Я устал от Electron, Tauri и Neutralino — и случайно сделал… лучше?

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

Webnative - фреймворк для разработки нативных приложений на языках веба с использованием нативных webview компонентов.

Читать далее

Медицинское обучение через игру: симулятор лечения сифилиса и ВИЧ

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

В мире — миллионы заражений сифилисом и ВИЧ, и цифра растёт. Но мой пост не об этом.
Я решил техническую задачу: как сделать медицинский образовательный инструмент, который работает офлайн, не требует бэкенда и не собирает данные пользователей, используя веб‑технологии JS. Ведь в медицине приватность — это требование.

Код открыт, лендинг и игры доступны по ссылке.

Полечить сифилис и ВИЧ

Mini Bucket 3.6.4: теперь с плагинами — двери для разработки открыты

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

Как мы превратили панель управления NAS в платформу для расширений, зачем туда Log Manager и для чего Plugin Template.

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

И......

Что же дальше...

Шпаргалка BA: как не потеряться на встрече со стейкхолдером и командой

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

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

Я поискал готовые шаблоны. Нашёл Excel-таблицы, PDF-чеклисты и десятки статей с советами. Ни одно из этого не открывалось быстро прямо на встрече и не помогало думать в реальном времени.

Поэтому я сделал BA Toolkit — набор интерактивных инструментов для структурирования BA-встреч. Открываешь в браузере, идёшь по шагам, фиксируешь всё на месте.

Три месяца спустя — три инструмента в продакшене, открытый код на GitHub и эта статья.

Читать далее

Использование Blob API для обработки файлов, их загрузки и создания клиентских приложений без утечек памяти

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

Современные фронтенд-приложения постоянно взаимодействуют с файлами.

Пользователи загружают аватары, перетаскивают видео в дашборды, экспортируют CSV-отчеты, просматривают PDF-файлы, скачивают сгенерированные конфигурационные файлы и работают с медиаконтентом прямо в браузере. На первый взгляд все это выглядит довольно просто: поле загрузки файла, элемент предпросмотра, возможно, кнопка скачивания — и задача решена.

Но именно здесь начинаются настоящие проблемы.

Читать далее

TypeScript vs JavaScript в 2026: почему TS обогнал JS и что это значит для разработчиков

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

В августе 2025 года TypeScript впервые возглавил рейтинг GitHub по числу активных контрибьюторов, обойдя Python и JavaScript. Изменился подход к написанию кода: типы стали машиночитаемыми контрактами, фреймворки сделали TS вариантом по умолчанию, а ИИ-инструменты используют типы как ограничения. Разбираемся, какие цифры подтверждают тренд, где он создаёт издержки и как выбирать стек в 2026 году с учётом изменений рынка.

Цифры, кейсы и матрица выбора →

Как попасть во фронтенд и дойти до senior в ВК — интервью с Александром Ламковым

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

Фронтенд-разработка давно перестала быть просто «вёрсткой сайтов». Сегодня это сложная экосистема: фреймворки, state-менеджмент, TypeScript, оптимизация производительности, работа с API и постоянный поток новых инструментов. Но за всей этой технологической гонкой часто теряется главное: что на самом деле нужно знать начинающему разработчику, где проходит грань между джуном и сеньором, и почему умение проходить собеседования — такой же навык, как и писать код.

Я, Александр, автор телеграм-канала «Shulepov Code», поговорил с Александром Ламковым — фронтенд-разработчиком, основателем YouTube-канала Friendly Frontend (аудитория более 50 000 подписчиков) и телеграм-канала «Friendly Frontend», опытным наставником, который провёл более 200 персональных консультаций с разработчиками, помог прокачать их навыки. Александр успешно прошёл собеседования на позицию сеньора в нескольких крупных IT-компаниях России, а сейчас работает в компании ВК. В этом выпуске узнаем, что такое современная фронтенд-разработка, какие навыки нужны, чтобы войти в профессию, что выбрать (найм или фриланс), и сколько на самом деле зарабатывают фронтенд-разработчики.

Читать далее

Многофункциональные списки ng-virtual-list как замена стандартным

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

Около года назад я решил сделать универсальное open-source решение для визуализации списков. В первых версиях я отрабатывал технологию виртуализации с различными параметрами, было много исследований, вопросов, ну и конечно дефектов). Сегодня же состоялся релиз X.12.X версии, которая работает под управлением Angular 14-22. Хочу рассказать на что способен инструмент (ng-virtual-list), какие задачи решает и проведу краткий обзор с демонстрацией примеров.

Все приведенные ниже примеры содержатся в документации с примерами кода.

Инструмент ng-virtual-list это виртуализированные, высокопроизводительные списки с множеством различного функционала, которого нет у стандартных списков.

Читать далее

Сравниваем современные подходы к разработке десктопных приложений на веб‑технологиях: ElectroBun, NeutralinoJS и Wails

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

Небольшой R&D о современных альтернативах Electron для десктоп‑приложений на веб‑технологиях. На одинаковом тестовом приложении (React + TypeScript + Vite) сравниваются ElectroBun, NeutralinoJS и Wails: как устроена их архитектура, каким образом они взаимодействуют с ОС, что происходит под капотом и почему результаты по памяти так сильно отличаются. В статье есть практические наблюдения, замеры потребления ОЗУ, плюсы и минусы каждого подхода, а также рекомендации, в каких сценариях выбирать минималистичный WebView‑подход, полноценный backend на Go или браузерный рантайм с максимально широкой поддержкой Web API и графики.

Читать далее

Как настроить сбор согласий на cookie и корректную отправку данных в Яндекс.Метрику на сайте Tilda

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

Баннер с запросом согласия на cookie есть почти на каждом сайте. Но часто он существует «для галочки» — данные в аналитику улетают сразу при загрузке страницы, независимо от того, что выбрал пользователь. И если раньше это была просто недоработка, то с 1 сентября прошлого года в 152-ФЗ (Федеральный закон «О персональных данных») был внесен ряд изменений, в том числе, появились новые требования к оформлению согласия на обработку персональных данных. Во-первых, оно должно быть получено в явном виде, а во-вторых, существенно вырос штраф за несоблюдение этого пункта. Компаниям было дано время на устранение несоответствий закону, а со второй половины этого года должны начаться массовые проверки того, как компании собирают и хранят персональные данные. Так что если вы до сих пор не привели эту часть вашего сайта в порядок — сейчас самое время этим заняться.

Разберемся с этими настройками на примере нашего сайта cleverdata.ru: если ничего не делать/использовать дефолтные настройки/использовать стандартный набор Tilda с Яндекс метрикой, то ... баннер отображается, но Яндекс.Метрика загружается и собирает данные ещё до того, как пользователь успевал нажать хоть какую-то кнопку. Конечно, такие настройки использовать нельзя — это нарушает требования 152-ФЗ и GDPR, которые обязывают получить явное согласие пользователя до начала сбора данных. И мы так, естественно, не делаем. А можно ли как-то исправить эту ситуацию? – Можно!

Привет, я Анна Таюрская, инженер технической поддержки (L1) компании CleverData. Я знаю, как решить эту проблему.

Читать далее

Пишем движок для JavaScript с нуля

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

Как выкатить собственный движок JavaScript

Привет, Хаброжители! Мы подготовили для вас перевод статьи, в которой автор делится опытом создания собственного движка JavaScript с нуля.

Автор на языке Go с нуля создаёт простой движок JavaScript. В статье пошагово разобраны ключевые этапы: от лексического анализа и построения AST до реализации вычислителя и встроенных функций (print, fetch, JSON). Отличный материал, чтобы понять, как код на JS превращается в работающие инструкции.

Читать далее

Как устроен ГИГАХРУЩ: клеточный мир, WebGL-рейкастер и A-Life без движка

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

В прошлой статье про ГИГАХРУЩ мы показали игру как живой weird-проект: браузерный survival horror / ARPG без движка, ассетов и спокойной жизни.

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

Разберем, как ГИГАХРУЩ устроен под бетоном: один активный клеточный этаж, typed arrays, плоские сущности, WebGL raycasting, A-Life, самосбор как мутация мира, сохранение, ограничения и MESH PASS как render-only объем поверх клеточной симуляции.

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

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

Как я сжёг 17,4 миллиарда токенов за 25 дней. По тарифам API это 3,2 миллиона рублей. IT приходит конец

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

В конце цикла я прогнал скрипт по своим логам Claude Code и увидел число, в которое сам не сразу поверил. За 25 дней, с 24 апреля по 19 мая, я сжёг 17,4 миллиарда токенов. Один человек, 344 сессии, 75 587 ответов ассистента, 176 695 строк транскриптов. Посчитайте это по тарифам API, и выходит 39 651 доллар. Около 3,17 миллиона рублей. Примерно 1586 долларов в день. Почти всё это Opus, самая дорогая модель на рынке.

Читать далее

Ошибка в коде, на которую приходится не обращать внимание

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

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

Читать далее

SSE в production: почему нативного EventSource недостаточно и что с этим делать

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

Разбираю, почему нативного EventSource часто недостаточно для production SSE: авторизация через headers, контролируемый reconnect, backoff, race conditions, stale-stream watchdog и синхронизация нескольких вкладок через Web Locks + BroadcastChannel.

На базе этих проблем я вынес real-time слой из AI SaaS-продукта в open-source библиотеку sse-runtime и заменил ей самописную инфраструктуру: −3 455 строк кода в production PR, один useSSE-хук вместо ручного reconnect, leader election и отладочного boilerplate.

Почему EventSource ломается в production

Почему $mol?

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

У $mol реактивность, локальное хранилище, оффлайн и темы приезжают одним пакетом. Минусы есть, но они почти все про коммьюнити и тулинг, не про сам код.

Начинаю с минусов, чтобы было честно. Потом — плюсы и таблица сравнения с React/Angular/Vue. Главная цифра: за 10 лет у $mol один мажорный релиз. У React за то же время 19 версий, у Angular 21.

Внутри: ОРП, view.tree, типизированный CSS, локализация без extractor-плагинов, виртуализация любой вёрстки автоматом, кросс-платформа Web/Tauri/MV3/TMA. Живые демо: треугольник Серпинского React vs $mol, корнер-кейс реактивности на Svelte, js-framework-benchmark с включённым $mol.

А почему не Vue ?

Пять продуктов в одном FastAPI-монолите: HTMX вместо React, грабли Telegram Mini App и биллинг на Stars

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

TL;DR: Привет, Хабр. С 2 по 12 мая я в режиме нон-стоп писал Doday — кросс-платформенный todo: web, Telegram Mini App, чат-бот. Получилось 317 коммитов, ~40 000 строк кода, 633 теста, 38 модулей в app/. Стек — FastAPI + HTMX + Alpine.js + Tailwind, без единой строчки React. Писал в паре с Claude Code, и не скрываю этого — расскажу как именно и какая часть кода реально моя голова, а какая — клавиатура. Грабли, цифры, ссылки внутри.

Читать далее

Пауза, двойственная по природе: контракт хука и протокол воркера

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

Предположим, вы пишете интерпретатор машины Тьюринга, запущенный в Web Worker’е. UI должен показывать трейс — как машина шагает от состояния к состоянию, что пишется на ленту, как двигается каретка. Чтобы пользователь успевал считывать изменения в UI, между итерациями движка нужна короткая задержка — миллисекунды, регулярно, на каждом шаге. Это приостановка движка между итерациями — регулярная и предсказуемая, не «пауза» в смысле UI-кнопки «Пауза» (та останавливает машину до клика «Продолжить»).

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

Где живёт пауза

Как я превратил хаотичные формы во Vue в типизированную модель данных (AdaptForm)

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

Как из миксинов для валидации форм вырастает полноценная TypeScript-библиотека с плагинами, масками и 500+ скачиваниями в неделю. История рефакторинга, архитектурных решений и работы над ошибками длиной в 10 месяцев.

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