Пошаговое руководство по развёртыванию блога с нуля: Strapi CMS (админка и API) и Nuxt.js (фронтенд) на VPS Ubuntu. В итоге — работающий блог за Nginx с возможностью включить SSL по отдельной инструкции.1. Подготовка сервераПодключитесь к VPS по SSH. Обновите систему и при необходимости задайте пароль root:sudo apt update && sudo apt upgrade -y sudo passwd root # опционально: установить пароль root2. Создание пользователя UbuntuРаботать под root небезопасно. Создайте отдельного пользо…
Привет. Я фронтендер, и я... люблю веб-компоненты. Ещё меня расстраивает, когда в статьях о веб-компонентах упоминается connectedCallback(), и, может быть, shadowRoot, хотя возможности веб-компонентов куда шире, да и скучно читать пересказ документации. Хочу показать вам веб-компоненты с другой стороны, и эта статья — туториал, где мы пошагово реализуем сложный веб-компонент — <combo-box> — пройдя все восемь кругов... ну вы поняли. Шучу. На самом деле мы напишем мало кода, вопреки устоявш…
Я столкнулся с простой (как мне изначально показалось – даже очень) задачкой. Мне в последнее время потребовалось часто проводить поиск в 4 словарях. Государство мне их дало в виде пяти PDF файлов, выложенных онлайн. Это нормативные словари русского языка, слова из которых можно использовать в публичном пространстве после 1 марта 2026 г. Например, caсhe - можно использовать на русском как кэш, а не переводить как тайник или склад (не путать с cash как наличные), поскольку в Словарь иностранных …
Привет, Хабр!Меня зовут Виктор, и я хочу рассказать, как бытовая рабочая задача привела меня к тому, что я написал полноценный аудиоредактор, который работает целиком в браузере - без единого запроса на сервер. Под капотом - Web Audio API, OfflineAudioContext, порт LAME-энкодера на JavaScript и немного стыдных архитектурных решений, о которых тоже расскажу.Как всё началосьУ нас на работе, как и у многих, регулярные совещания в Zoom. И у Zoom есть прекрасная особенность: если во время звонка хот…
За последние пару лет я провёл сотни технических собеседований — от junior до senior специалистов. И я обнаружил что есть одна тема, с пониманием которой есть проблемы почти у всех кандидатов с кем мне доводилось общаться. Это Virtual DOM. Почти каждый кандидат объясняет его примерно так:“Virtual DOM нужен, чтобы обновлять не всю страницу, а только её часть. Поэтому всё работает быстрее.”Формулировка вроде звучит логично. Но проблема в том, что это неверное понимание в принципе.Браузер и без вс…
В наше время программирование стало очень доступным из-за развития инструментов и языков. Написать «привет, мир» может практически каждый, а количество фреймворков для JavaScript уже воспевается в шутках. Теперь, чтобы выделиться и впечатлить друзей и коллег, нужно спускаться глубже. Придумаем свой язык шуточный программирования! В этой статье кратко рассмотрим базу компиляторов и мемные эзотерические языки программирования. В конце придумаем свой язык и попробуем его реализовать. Это упрощенна…
Всем привет! Кажется, настала пора поделиться изменениями в Азбуке, которые произошли с 2022 года, когда я выпускал прошлую статью. Несмотря на то, что в данный момент я уже не руководитель фронта, интересно рассказать, к чему мы пришли за это время. Я, конечно, рекомендую ознакомиться с прошлой статьей, но в целом буду рассказывать "с нуля". Наш текущий стэк: Vue 3, Nuxt 4, TS. На данный момент, мы практически полностью переехали с jQuery, оставив за собой относительно небольшое количе…
У меня есть платформа для работы с метафорическими ассоциативными картами. Это инструмент психологов, коучей: колода картинок, вопросы, разговор. Звучит нишево, но суть задачи универсальна – авторский визуальный контент в вебе, который надо защитить от массового скачивания и пиратства. При этом контент загружают сами пользователи.Если вы делаете галерею, маркетплейс иллюстраций, образовательную платформу с визуалами или любой сервис, где картинки – это ценность, а не декорация, эта статья для в…
Всем привет, меня зовут Сергей Прощаев, и в этой статье расскажу про то, что обычно остаётся за кадром для многих бэкенд‑разработчиков — про «вторую половину» API.Много лет пишу на Java и Kotlin, проектирую высоконагруженные системы и, честно говоря, долгое время относился к фронтенду немного свысока. Ну подумаешь, дёрнул наш эндпоинт, получил JSON и отрисовал. Что там сложного? Пока однажды не пришлось плотно разбираться с производительностью одного внутреннего портала. Бэкенд летал, база данн…