Для чего используется stopPropagation()
Данный метод используется для предотвращения всплытия или поднятия события вверх по цепочке из предков целевого элемента. Другими словами, он прекращает передачу события от целевого элемента к его предкам. Рассмотрим пример ниже.
При клике по вложенному контейнеру в консоль выводится сообщение «Внутренний контейнер». Если убрать
#основы #javascript
Данный метод используется для предотвращения всплытия или поднятия события вверх по цепочке из предков целевого элемента. Другими словами, он прекращает передачу события от целевого элемента к его предкам. Рассмотрим пример ниже.
При клике по вложенному контейнеру в консоль выводится сообщение «Внутренний контейнер». Если убрать
event.stopPropagation()
, то при клике по вложенному контейнеру, в консоль будут выведены оба сообщения.#основы #javascript
👍11🔥4
Веб-страница
var, let, const — в чём разница? В JavaScript есть три способа объявить переменную. Все они ведут себя по-разному. Разберём детально, но простыми словами, чтобы больше не было путаницы. 🟡 var — привет из прошлого Особенности: 🔁 Область видимости: не блочная…
Что не так с var — и почему его всё реже используют
В предыдущем посте многие высказывались по поводу того, что
Да,
✅ Почему let и const — лучше:
— работают в пределах блока, а не всей функции;
— защищают от доступа до инициализации (TDZ);
— не позволяют случайно переобъявить переменную;
— делают поведение кода очевидным — особенно в условиях и циклах.
🚫 Почему var — неудачный выбор по умолчанию:
— всплывает с
— работает во всей функции, а не в том месте, где его видно;
— легко переопределяется и ведёт себя неожиданно в асинхронных сценариях и циклах.
⚙️ А как же производительность?
На уровне сборки (Vite, esbuild, Webpack) весь ваш
Вы пишете безопасно, а сборщик сам оптимизирует.
📌 Когда var всё-таки уместен?
Если вы работаете со старым кодом, пишете под очень старые браузеры, или используете особые трюки с hoisting —
Всё ещё не согласны? Делитесь вашим мнением в комментариях.
#простымисловами #javascript
В предыдущем посте многие высказывались по поводу того, что
var
не является устаревший способом. Давайте разберемся.Да,
var
— не устарел и не запрещён. Он по-прежнему часть JavaScript. Но в современной разработке ему предпочитают let
и const
. Не потому что это модно, а потому что так безопаснее и предсказуемее.✅ Почему let и const — лучше:
— работают в пределах блока, а не всей функции;
— защищают от доступа до инициализации (TDZ);
— не позволяют случайно переобъявить переменную;
— делают поведение кода очевидным — особенно в условиях и циклах.
🚫 Почему var — неудачный выбор по умолчанию:
— всплывает с
undefined
, даже если объявлен ниже;— работает во всей функции, а не в том месте, где его видно;
— легко переопределяется и ведёт себя неожиданно в асинхронных сценариях и циклах.
⚙️ А как же производительность?
На уровне сборки (Vite, esbuild, Webpack) весь ваш
let
и const
может быть скомпилирован в var
, если это действительно ускоряет загрузку.Вы пишете безопасно, а сборщик сам оптимизирует.
📌 Когда var всё-таки уместен?
Если вы работаете со старым кодом, пишете под очень старые браузеры, или используете особые трюки с hoisting —
var
может быть оправдан. Но это редкость, а не рекомендация.Всё ещё не согласны? Делитесь вашим мнением в комментариях.
#простымисловами #javascript
❤17👍3👎1
Первый сайт «своими руками»: пошаговая инструкция без фреймворков
Начало не всегда должно быть сложным. В этом гайде поэтапно разбирается создание сайта на чистом HTML и CSS — от структуры папок до стилей, адаптивного меню и внедрения Google Fonts. Полезно как новичкам, так и тем, кто хочет освежить фундамент перед переходом на современные фреймворки.
А вы когда последний раз вручную писали сайт без сборщиков?
#фронтенд #html #css
Начало не всегда должно быть сложным. В этом гайде поэтапно разбирается создание сайта на чистом HTML и CSS — от структуры папок до стилей, адаптивного меню и внедрения Google Fonts. Полезно как новичкам, так и тем, кто хочет освежить фундамент перед переходом на современные фреймворки.
А вы когда последний раз вручную писали сайт без сборщиков?
#фронтенд #html #css
🔥7🗿3👎1🤔1
Forwarded from Метод утёнка
ИИ должен помогать, а не мешать: почему техлиды разочарованы
Кажется, что AI-инструменты — это сплошной буст для команд: код подскажет, баги найдёт, документацию напишет. Но на деле всё сложнее.
Согласно опросу, больше половины техлидов недовольны результатами:
— ИИ экономит время, но снижает качество кода;
— разработчики начинают «думать по шаблону»;
— растёт нагрузка на лидов — проверять, править, дообъяснять.
Почему так получилось и как компании адаптируют подход к AI-инструментам — рассказали в статье. Материал пригодится, если вы работаете рядом с разработчиками или сами пробуете внедрять ИИ в процессы.
#ии #новости
Кажется, что AI-инструменты — это сплошной буст для команд: код подскажет, баги найдёт, документацию напишет. Но на деле всё сложнее.
Согласно опросу, больше половины техлидов недовольны результатами:
— ИИ экономит время, но снижает качество кода;
— разработчики начинают «думать по шаблону»;
— растёт нагрузка на лидов — проверять, править, дообъяснять.
Почему так получилось и как компании адаптируют подход к AI-инструментам — рассказали в статье. Материал пригодится, если вы работаете рядом с разработчиками или сами пробуете внедрять ИИ в процессы.
#ии #новости
🫡9👍3👎1
Как переносить «висячие» слова с помощью JavaScript
Тексты, в которых на новой строке одиноко торчит «в», «на» или «и», сразу теряют в читаемости. В этой статье — короткий, но полезный приём: как с помощью JavaScript автоматически заменять пробелы после коротких слов на неразрывные и избавляться от висячих слов. Работает и для HTML-содержимого, и для Markdown. Минимум кода — максимум пользы для интерфейса и редактурной чистоты.
#фронтенд #javascript #ux
Тексты, в которых на новой строке одиноко торчит «в», «на» или «и», сразу теряют в читаемости. В этой статье — короткий, но полезный приём: как с помощью JavaScript автоматически заменять пробелы после коротких слов на неразрывные и избавляться от висячих слов. Работает и для HTML-содержимого, и для Markdown. Минимум кода — максимум пользы для интерфейса и редактурной чистоты.
#фронтенд #javascript #ux
👍11👎3❤1
🤔7
This media is not supported in your browser
VIEW IN TELEGRAM
Естественно, Liquid Glass
Нашел интересный CodePen-проект: Apple со своим обновлением заставили сообщество переосмыслять Liquid Glass, не без этого. Автор реализовал такое с помощью пользовательского шейдера (shaderMaterial) на WebGL с помощью three.js.
Посмотреть код можно здесь: https://codepen.io/supah/pen/dPodbrX
#codepen #css #javascript
@tproger_web
Нашел интересный CodePen-проект: Apple со своим обновлением заставили сообщество переосмыслять Liquid Glass, не без этого. Автор реализовал такое с помощью пользовательского шейдера (shaderMaterial) на WebGL с помощью three.js.
Посмотреть код можно здесь: https://codepen.io/supah/pen/dPodbrX
#codepen #css #javascript
@tproger_web
🔥7👍3👎1
Forwarded from Представляешь,
Cloudflare призналась, что не может вернуть нормальную скорость работы в РФ
С начала июня сайты на Cloudflare начали открываться через раз или вообще не грузятся. Сегодня сама компания подтвердила: трафик в России упал на ~30%, страницы «обрезаются» после 16 КБ, а сделать с этим ничего нельзя...
По версии Cloudflare, трафик режут крупные провайдеры. Почему — неизвестно. Официальных писем от госструктур не было.
Так и живем.
@your_tech
С начала июня сайты на Cloudflare начали открываться через раз или вообще не грузятся. Сегодня сама компания подтвердила: трафик в России упал на ~30%, страницы «обрезаются» после 16 КБ, а сделать с этим ничего нельзя...
По версии Cloudflare, трафик режут крупные провайдеры. Почему — неизвестно. Официальных писем от госструктур не было.
Так и живем.
@your_tech
👎15🤯6🤣6😁2❤1
Деплоим свой React-сайт, или что делать на сервере
Когда ваш первый сайт готов, и VPS арендован, появляются закономерные вопросы: как развернуть проект на домене? Пост подойдет новичкам, которые впервые привязывают что-то свое к домену.
Шаг 1. Стягиваем код
Сначала клонируем репозиторий проекта на VPS:
Если для запуска понадобится Node.js определенной версии, установим через официальный скрипт:
После этого установим зависимости проекта (их указываем в package.json):
Если на сервере маловато оперативной памяти (например, минималка на 1-2 ГБ RAM) — может помочь добавление swap-файла:
Шаг 2. Настраиваем переменные окружения
Создаем файл
Обратите внимание на префикс
Шаг 3. Собираем проект
Для деплоя нужна готовая сборка с оптимизированными файлами в папке build/
Шаг 4. Автоматический запуск с PM2
pm2 — удобный менеджер процессов для Node.js, с его помощью каждый новый коммит будет «усвоен» автоматически. Устанавливаем глобально:
Запускаем приложение через конфигурационный файл:
Последняя команда создаст автозапуск после перезагрузки сервера.
Шаг 5. Установка и настройка Nginx
nginx будет выступать обратным прокси и обеспечит работу по доменному имени. Устанавливаем:
Создаём конфигурацию сайта:
Это стартовая версия конфиги. Адаптировать ее под свои нужды помогут документация и нейронки:
Активируем сайт и проверяем конфигурацию:
Шаг 6. Получаем SSL-сертификат Let's Encrypt
Для безопасной работы сайта нужен сертификат. Установим certbot:
Добавим в доменном регистраторе (например, reg.ru) ресурсные записи:
A - @ - [IP-адрес сервера без портов]
А - www - [IP-адрес сервера без портов]
«Усвоение» записей обычно занимает не больше получаса.
Запустим получение сертификата:
Certbot автоматически настроит Nginx на использование HTTPS. Его, правда, придется перегенерировать раз в 4 месяца. Но можно настроить и автообновление.
Бывает, что, несмотря на отсутствие правил файервола, блокирующих порты 80 и 443, генерация SSL-сертификата через Let's Encrypt падает. Это может быть связано с политиками хостинг-провайдера, NAT, или другими непрозрачными ограничениями.
Если столкнулись с такой проблемой, попробуйте сменить хостинг-провайдера — чаще всего это решает вопрос с выдачей сертификата.
Это последний шаг, теперь ваш сайт на домене, и у вас в копилке новая ачивка :)
#бэкенд #react
@tproger_web
Когда ваш первый сайт готов, и VPS арендован, появляются закономерные вопросы: как развернуть проект на домене? Пост подойдет новичкам, которые впервые привязывают что-то свое к домену.
Шаг 1. Стягиваем код
Сначала клонируем репозиторий проекта на VPS:
git clone https://github.com/username/repo-name.git
cd repo-name/
Если для запуска понадобится Node.js определенной версии, установим через официальный скрипт:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
После этого установим зависимости проекта (их указываем в package.json):
npm install
Если на сервере маловато оперативной памяти (например, минималка на 1-2 ГБ RAM) — может помочь добавление swap-файла:
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
Шаг 2. Настраиваем переменные окружения
Создаем файл
.env
в корне проекта. Админ использует условно бесплатную БД Supabase, потому шаблон состоит из таких средовых переменных:
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
Обратите внимание на префикс
NEXT_PUBLIC_
— он необходим, чтобы переменные стали доступны на клиенте в приложениях, построенных на Next.js. Шаг 3. Собираем проект
Для деплоя нужна готовая сборка с оптимизированными файлами в папке build/
npm run build
Шаг 4. Автоматический запуск с PM2
pm2 — удобный менеджер процессов для Node.js, с его помощью каждый новый коммит будет «усвоен» автоматически. Устанавливаем глобально:
sudo apt install -y curl
sudo npm install -g pm2
Запускаем приложение через конфигурационный файл:
pm2 start ecosystem.config.js
pm2 save
pm2 startup
Последняя команда создаст автозапуск после перезагрузки сервера.
Шаг 5. Установка и настройка Nginx
nginx будет выступать обратным прокси и обеспечит работу по доменному имени. Устанавливаем:
sudo apt update
sudo apt install -y nginx
Создаём конфигурацию сайта:
sudo vim /etc/nginx/sites-available/helenkapatsa
Это стартовая версия конфиги. Адаптировать ее под свои нужды помогут документация и нейронки:
server {
listen 80;
server_name example.com www.example.com;
location / {
proxy_pass http://localhost:3000; # порт вашего React-приложения или PM2 процесса
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Активируем сайт и проверяем конфигурацию:
sudo ln -s /etc/nginx/sites-available/domain/etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Шаг 6. Получаем SSL-сертификат Let's Encrypt
Для безопасной работы сайта нужен сертификат. Установим certbot:
sudo apt install -y certbot python3-certbot-nginx
Добавим в доменном регистраторе (например, reg.ru) ресурсные записи:
A - @ - [IP-адрес сервера без портов]
А - www - [IP-адрес сервера без портов]
«Усвоение» записей обычно занимает не больше получаса.
Запустим получение сертификата:
sudo certbot --nginx -d example.com -d www.example.com
Certbot автоматически настроит Nginx на использование HTTPS. Его, правда, придется перегенерировать раз в 4 месяца. Но можно настроить и автообновление.
Бывает, что, несмотря на отсутствие правил файервола, блокирующих порты 80 и 443, генерация SSL-сертификата через Let's Encrypt падает. Это может быть связано с политиками хостинг-провайдера, NAT, или другими непрозрачными ограничениями.
Если столкнулись с такой проблемой, попробуйте сменить хостинг-провайдера — чаще всего это решает вопрос с выдачей сертификата.
Это последний шаг, теперь ваш сайт на домене, и у вас в копилке новая ачивка :)
#бэкенд #react
@tproger_web
👍20❤3👎2🤔2🔥1😁1🗿1
Mobile‑first или Desktop‑first? Как выбрать с чего начать вёрстку
При запуске проекта важно определить: что приоритетнее — мобильный или десктопный интерфейс? Эта статья объясняет:
— Почему mobile‑first = UX для пальцев: удобство планшетов и смартфонов, индексирование Google.
— Когда desktop‑first выигрывает: дашборды, CRM, интерфейсы с насыщенным взаимодействием.
— Простые примеры медиазапросов (
С чего обычно начинаете вы?
#фронтенд #css #адаптивность
При запуске проекта важно определить: что приоритетнее — мобильный или десктопный интерфейс? Эта статья объясняет:
— Почему mobile‑first = UX для пальцев: удобство планшетов и смартфонов, индексирование Google.
— Когда desktop‑first выигрывает: дашборды, CRM, интерфейсы с насыщенным взаимодействием.
— Простые примеры медиазапросов (
@media (min-width)
vs max-width
) и практические советы по написанию адаптивного CSS.С чего обычно начинаете вы?
#фронтенд #css #адаптивность
👍6❤1🔥1
SSE vs WebSocket: разобрались, что где лучше работает
В вебе есть множество способов обмена данными. Но наиболее популярные из них сегодня — SSE и WebSocket. При этом у них есть кардинальные различия. Например, SSE это односторонняя технология для общения сервера с клиентом, в то время как WebSocket позволяет взаимодействовать им в двухстороннем режиме.
Это и другие различия определяют цели, для которых технологии используются. Подробнее об этом и много другом можно прочитать в новой статье.
#sse #websocket
В вебе есть множество способов обмена данными. Но наиболее популярные из них сегодня — SSE и WebSocket. При этом у них есть кардинальные различия. Например, SSE это односторонняя технология для общения сервера с клиентом, в то время как WebSocket позволяет взаимодействовать им в двухстороннем режиме.
Это и другие различия определяют цели, для которых технологии используются. Подробнее об этом и много другом можно прочитать в новой статье.
#sse #websocket
🔥8👍6❤1
Совет для тех, кто любит сглаживать углы
Речь о вёрстке, разумеется. Если у вас есть элемент с внешним и внутренним радиусом углов, то они будут выглядеть лучше, если на внешний радиус поставить сумму внутреннего + размер отступа.
На картинке наглядно это показано.
#советы
Речь о вёрстке, разумеется. Если у вас есть элемент с внешним и внутренним радиусом углов, то они будут выглядеть лучше, если на внешний радиус поставить сумму внутреннего + размер отступа.
На картинке наглядно это показано.
#советы
👍67🔥16❤7
#простымисловами: Что такое srcset и зачем он нужен
Обычный атрибут
Вот тут и приходит на помощь
🔍 Что здесь происходит:
—
—
—
В результате:
📱 На телефоне загрузится лёгкое изображение.
💻 На ноутбуке — среднее.
🖥 А на 4K-мониторе — чёткое и большое.
❗️ Важно:
#фронтенд #html
Обычный атрибут
src
в теге <img>
указывает одну-единственную картинку. Но что делать, если пользователи заходят с телефонов, ретина-экранов и 4K мониторов? Показывать одну и ту же версию — значит терять в качестве или перегружать страницу.Вот тут и приходит на помощь
srcset
. С его помощью можно указать несколько вариантов одного изображения, а браузер сам выберет нужное под конкретный экран.<img
src="image-400.jpg"
srcset="
image-400.jpg 400w,
image-800.jpg 800w,
image-1200.jpg 1200w
"
sizes="(max-width: 600px) 400px,
(max-width: 1000px) 800px,
1200px"
alt="Пример адаптивного изображения">
🔍 Что здесь происходит:
—
src
— запасной вариант на случай, если браузер не поддерживает srcset.—
srcset
— список изображений с их шириной.—
sizes
— помогает браузеру понять, сколько пикселей реально нужно на экране.В результате:
📱 На телефоне загрузится лёгкое изображение.
💻 На ноутбуке — среднее.
🖥 А на 4K-мониторе — чёткое и большое.
❗️ Важно:
src
обязателен, так как в браузере пользователя может отсутствовать поддержка srcset
.#фронтенд #html
👍25🔥4❤2
Forwarded from Точка входа в программирование
Промпт, который сделает из ChatGPT топового ментора по программированию. Это отличный лайфхак, чтобы не тратиться на дорогие и бесполезные курсы, а освоить темы самостоятельно и получить мощнейшую дозу практики.
ИИ выдаст вам теорию с домашками, сам проверит задания и будет поддерживать на пути освоения кодинга.
Сохраняйте себе и учитесь с кайфом.
ИИ выдаст вам теорию с домашками, сам проверит задания и будет поддерживать на пути освоения кодинга.
<System>
You are a Senior Software Engineer with 10+ years of full-stack development experience. You specialize in clean code practices, debugging, peer reviews, documentation, test-driven development (TDD), and performance optimization. Your responses should reflect industry best practices and clear, well-structured reasoning.
</System>
<Context>
The user is working on a software project and requires support with one or more of the following:
- Writing new code
- Debugging existing code
- Reviewing submitted code
- Explaining how a section of code works
- Refactoring inefficient or outdated code
- Writing or improving documentation
- Writing or improving test coverage
The user's goal is to improve code quality, maintainability, and performance.
</Context>
<Instructions>
1. Identify the specific type of task (write/debug/review/explain/refactor/document/test) based on the user's input.
2. Ask clarifying questions only if essential information is missing.
3. Provide detailed output with inline comments where helpful.
4. Suggest improvements aligned with modern best practices.
5. Include reasoning behind each major action or recommendation.
6. When writing or refactoring code, ensure it is modular, readable, and efficient.
7. When reviewing code, provide a bullet-point summary of observations and a suggestion section.
8. For documentation, write in clear, beginner-friendly language while also addressing intermediate-level concepts.
9. For testing, use the most suitable testing framework based on the programming language.
</Instructions>
<Constraints>
- Maintain readability and clean code principles.
- Avoid third-party libraries unless absolutely necessary.
- Prefer simplicity and clarity over clever or overly complex solutions.
- When unsure of the tech stack, ask the user to confirm.
- Keep each function under 50 lines unless context demands otherwise.
</Constraints>
<Output Format>
<TaskType> Write | Debug | Review | Explain | Refactor | Document | Test </TaskType>
<Language> Python | JavaScript | TypeScript | Java | C++ | Other (confirm with user) </Language>
<File/FunctionName> Specify target file or function name </File/FunctionName>
<Output>
[Insert code, explanation, or documentation as per task here, formatted with markdown-style code blocks]
</Output>
<Suggestions>
[List of improvements, next steps, or alternate methods the user may explore]
</Suggestions>
</Output Format>
<Reasoning>
Apply Theory of Mind to analyze the user's request, considering both logical intent and emotional undertones. Use Strategic Chain-of-Thought and System 2 Thinking to provide evidence-based, nuanced responses that balance depth with clarity.
</Reasoning>
<User Input>
Reply with: "Please enter your code request (e.g., Write, Debug, Review, Explain, Refactor, Document, or Test) and provide the code snippet or context, and I will start the process," then wait for the user to provide their specific task and code context.
</User Input>
Сохраняйте себе и учитесь с кайфом.
💩9🤩6👍3🗿3👎1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Команда Google Chrome выпустила бесплатный учебник по веб-разработке
В нём собраны курсы по разным темам, нужным любому веб-разработчику: HTML, CSS, JS, PWA, Формы, тестирование и так далее. Главное, что платить ни за что не нужно.
Переходите по ссылке и стартуйте с любого курса: https://web.dev/learn?hl=ru
#курс
В нём собраны курсы по разным темам, нужным любому веб-разработчику: HTML, CSS, JS, PWA, Формы, тестирование и так далее. Главное, что платить ни за что не нужно.
Переходите по ссылке и стартуйте с любого курса: https://web.dev/learn?hl=ru
#курс
🔥14❤6👍2
Media is too big
VIEW IN TELEGRAM
Сайт-портфолио нового уровня
Следите за мыслью. Что будет, если сделать интерактивный 3D-офис, в котором стоит с ЭЛТ-монитором, в который встроено нечто напоминающее Windows 95, в которой есть игры и браузер, в который встроен реальный сайт с портфолио? А получится проект Генри Хеффернана, созданный с использованием React, Three.js и WebGL.
Это не просто демонстрация возможностей разработчика, но и явная любовь и уважение к технологиям прошлого — тут воссозданы мерцание монитора, дрожание изображения и даже отпечатки пальцев на экране.
Заценить и оценить можно тут: https://henryheffernan.com
#фронтенд #webgl #threejs #портфолио
Следите за мыслью. Что будет, если сделать интерактивный 3D-офис, в котором стоит с ЭЛТ-монитором, в который встроено нечто напоминающее Windows 95, в которой есть игры и браузер, в который встроен реальный сайт с портфолио? А получится проект Генри Хеффернана, созданный с использованием React, Three.js и WebGL.
Это не просто демонстрация возможностей разработчика, но и явная любовь и уважение к технологиям прошлого — тут воссозданы мерцание монитора, дрожание изображения и даже отпечатки пальцев на экране.
Заценить и оценить можно тут: https://henryheffernan.com
#фронтенд #webgl #threejs #портфолио
👍29🔥10❤3👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Наглядный совет, как создавать простые анимации с помощью CSS
Здесь собраны 4 примера простых анимаций и код к ним. Они помогут разобраться, как пользоваться кейфреймами тем, кто лучше понимает наглядную демонстрацию, а не сухую теорию.
#совет #css
Здесь собраны 4 примера простых анимаций и код к ним. Они помогут разобраться, как пользоваться кейфреймами тем, кто лучше понимает наглядную демонстрацию, а не сухую теорию.
#совет #css
👍17❤4💩1
Forwarded from Типичный программист
Не понимаю, как я это упустил: Microsoft раскатила расширение, которое превращает VS Code в полноценную IDE для работы с PostgreSQL, без переключений между тулзами 👍
Внутри всё, что нужно:
• Визуализация схемы базы прямо в IDE.
• IntelliSense с автокомплитом и подсветкой и форматированием SQL-запросов.
• Запуск PostgreSQL в Docker.
• Быстрое подключение к любой базе (локально, в облаке).
• История запросов для быстрого повторного запуска.
• Просмотр и управление объектами БД.
• История запросов и запуск psql прямо из VS Code.
• Интеграция с GitHub Copilot — AI пишет и объясняет SQL
Поставить можно тут
Внутри всё, что нужно:
• Визуализация схемы базы прямо в IDE.
• IntelliSense с автокомплитом и подсветкой и форматированием SQL-запросов.
• Запуск PostgreSQL в Docker.
• Быстрое подключение к любой базе (локально, в облаке).
• История запросов для быстрого повторного запуска.
• Просмотр и управление объектами БД.
• История запросов и запуск psql прямо из VS Code.
• Интеграция с GitHub Copilot — AI пишет и объясняет SQL
Поставить можно тут
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍4