Обновить
512K+

Веб-разработка *

Делаем веб лучше

388,77
Рейтинг
Сначала показывать
Порог рейтинга

Новость: nLighten без предупреждения отключил оборудование MIRhosting в Европе

UPD: Причина в этом https://habr.com/ru/articles/1040364/
Сервера изъяли правоохранительные органы, владельца взяли под стражу.

Оператор дата-центров nLighten в одностороннем порядке и без уведомления остановил работу серверов MIRhosting в Нидерландах и Германии. В MIRhosting назвали действия поставщика абсолютно неприемлемыми.

Что делается сейчас:

  • MIRhosting привлекает юристов для выяснения деталей;

  • Идутся поиски альтернативных площадок для размещения инфраструктуры;

  • Инженеры пытаются восстановить доступ к серверам для спасения данных;

  • Готовятся варианты экстренного переезда для клиентов.

Компания «Евробайт» полностью контролирует ситуацию и находится на связи с партнёром. Как только появится конкретика по срокам и параметрам миграции оборудования, специалисты «Евробайт» свяжутся с каждым пострадавшим клиентом индивидуально. Команда приложит все усилия, чтобы решить проблему с минимальными неудобствами.

--- Новость подготовлена на основе информации от Евробайт ---

Теги:
0
Комментарии0

Открытый проект Python library for interacting with the Solvecaptcha API (captcha‑solving service) — это легковесная библиотека на Python, которая проходит самые популярные проверки через Solvecaptcha.

Обходит большинство самых мощных и популярных капч:

  • reCAPTCHA v2 и v3;

  • Cloudflare Turnstile;

  • FunCaptcha (Arkose Labs);

  • GeeTest и GeeTest v4;

  • Amazon WAF;

  • KeyCaptcha;

  • Grid, ClickCaptcha, Rotate, Canvas;

  • обычные текстовые и графические капчи, в том числе аудио.

Библиотека небольшая, работает стабильно, разработчики её поддерживают, добавляя новые виды капч. Можно настраивать таймауты решения капч, чтобы имитировать поведение человека.

Теги:
+1
Комментарии0

Мультиязычность в стартапе

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

Если вы сразу сделаете сервис на 10 языках, вы замучаетесь это поддерживать. При любом изменении интерфейса вам нужно будет изменять файлы переводов на всех языках. Хотя большинство ваших пользователей скорее всего поймут интерфейс на английском. Но если вы делаете проект для определенной страны, делайте его на языке этой страны и не добавляйте английский. Даже 2 языка на старте хуже, чем 1 язык. При одном языке вы можете добавлять текст прямо в код и не выносить в отдельные файлы переводов.

Blog • Telegram

Теги:
0
Комментарии0

Эхо из прошлого: ошибки архитектуры могут "выстрелить" спустя годы (благодаря WebArchive)

Представьте: 8 лет назад была небезопасная архитектура с IDOR. Т.е. можно было получить доступ к документу просто зная его ссылку. А ссылки чудным образом попали в WebArchive (он же - Wayback Machine). Спустя время архитектуру поменяли и проблема ушла. Но, WebArchive всё помнит: ссылки уже успели сохраниться. И кто-то, спустя многие годы, публикует статью с указанием ссылок на WebArchive, где указаны персональные данные и платёжки клиентов. Внимание, вопрос: успокоит ли общественность реакция в стиле: "да это давно было, сервиса уж нет"?

Вот один из сохранённых по ссылке документа: он сохранился в Wayback Machine в 2018 и до сих пор доступен.

Самое печальное - некоторые компании не считают это угрозой. Для них это "фича, а не бага". Поподробнее о том почему компании не желают признавать проблему - в моей статье Wayback Machine как архив IDOR: как временные ссылки перестали быть временными.

Теги:
+2
Комментарии0

Туц-туц-туц. Слышите?

Это звуки Техно-Квартирника, нашей регулярной неформальной встречи сообщества A?.Frontend. В этот раз встречаемся в Москве, в нашем ИТ-офисе на Технопарке, и онлайн — из любой точки мира.

27 мая (среда) в 19:00 переходим в режим «техно», чтобы разобрать примеры, как использовать ИИ-агенты в разработке интерфейсов:

Чистая архитектура frontend-приложений и при чём здесь ИИ-агенты?

Илья Агапов, технический лидер разработки, Данила Звягин, ведущий разработчик, Альфа-Банк

Как я поднял ИИ-агента и снова стал высыпаться: OpenClaw, скиллы и корпоративная рутина

Роман Троицкий, старший разработчик интерфейсов (frontend), Сбер

Как ИИ ломают привычную модель веб-безопасности?

Анастасия Егорова, разработчик интерфейсов (frontend), CozyFrontend

После каждого доклада устроим дискуссию по самым трендовым темам, а в завершении вечера проведём:

  • Консультации по ИИ-агентам

  • Диджей-сет

  • Нетворкинг

Регистрируйтесь

Теги:
+1
Комментарии1

Make something agents want!

Y combinator выпустили вишлист для стартапов на лето 2026

Одна из мыслей, простых и доступных любому бизнесу — делать свой бизнес доступным агентам, не только людям. Менять формы и кнопки на API и MCP. Я говорю об этом уже давно. Будущее уже наступило, просто оно распределено неравномерно.

Теги:
Рейтинг0
Комментарии0

AI-агент уничтожил производственную базу данных SaaS. За 9 секунд

Jer Crane, основатель PocketOS, сервиса для компаний по аренде автомобилей. Агент Cursor (на базе Claude Opus) работал в staging-среде, наткнулся на ошибку credentials и сам решил "починить" проблему: удалил Railway-volume одним GraphQL-запросом.

Токен, который он нашёл в случайном файле, был создан для управления доменами. Но Railway не разграничивает права токенов: каждый из них фактически является root-доступом. Никакого подтверждения не потребовалось.

Бэкапы? Они хранились в том же volume и ушли вместе с данными. Последний восстановимый бэкап был трёхмесячной давности. Когда Jer спросил агента, почему он так поступил, тот ответил письменно и перечислил все правила безопасности, которые нарушил: угадывал вместо того, чтобы проверять, выполнил деструктивное действие без запроса, не прочитал документацию перед удалением и не спросил разрешения.

Итог: малый бизнес потерял данные клиентов за три месяца. Люди приходили в субботу забирать арендованные машины и не находили своих записей. Главный вывод: системные промпты не могут быть единственным слоем защиты. Безопасность должна быть встроена в API, токены и обработчики деструктивных операций, а не в текст, который модель "должна прочитать и соблюдать".

Если вы используете Railway и AI-агенты в проде, сегодня хороший день проверить скоупы токенов и то, где реально хранятся ваши бэкапы

Теги:
Всего голосов 4: ↑4 и ↓0+4
Комментарии5

Препарируем Lit и находим родовые травмы

Задействованы самые современные веб-стандарты, однако:

  • Заявляется отсутствие VDOM, однако он есть, со всеми вытекающими.

  • Любое исключение капитально ломает весь компонент.

  • Неизбежные конфликты имён компонент всё ломают.

  • Адовые тормоза и потребление памяти из-за привязки к DOM.

  • Тонны бойлерплейта, если нужна кастомизация хотя бы стилей компонент.

Поблагодарить: https://boosty.to/hyoo
Обсудить: https://t.me/giper_dev

Теги:
Всего голосов 7: ↑6 и ↓1+5
Комментарии1

Как я запускал российское зеркало для SQL-песочниц: гибридное облако и блокировки Composer

Привет, Хабр! Меня зовут Слава, я развиваю SQL-платформы sqltest.online и sqlize.online для бесплатной тренировки запросов на реальных СУБД (PostgreSQL, Oracle, MariaDB 12.3, MS SQL 2025).

Зачем понадобилось зеркало?

От 30% моей аудитории из РФ стали приходить сообщения: «Сайт открывается только через VPN».

Переносить бэкенд целиком - дорого, сервер завязан на тяжелые СУБД в Docker. Поэтому я выбрал гибридную модель: поднять фронтенд в зоне .ru, оставив бэкенд в Германии.

Архитектура: Фронт в РФ, мозг в Германии

Фронтенд: PHP без фреймворков

Нативный PHP, HTML и JS. Меньше зависимостей - проще деплой. Для RU-зеркала я выбрал SpaceWeb*, где есть отличные бюджетные тарифы и классная поддержка.

sqltest-online.ru (SpaceWeb, РФ)
├── PHP (без фреймворков) + HTML/JS
└── Минимум зависимостей

Бэкенд: Docker Compose

Мощный сервер в Германии у Contabo*, где в контейнерах крутятся MySQL, PostgreSQL, ClickHouse и другие базы. Серьезные СУБД требуют ресурсов, так что всё живет на одной полноценной машине.

Как они общаются?

Пользователь отправляет запрос -> браузер делает AJAX-вызов к .ru серверу -> фронт делает HTTP-запрос к бэкенду в Германии (server-to-server) -> бэкенд выполняет SQL и возвращает результат.

Плюсы схемы:

  • CORS не нужен: браузер общается только со своим доменом.

  • Бэкенд закрыт: принимает запросы только от white-list IP.

  • Задержка минимальна: интерфейс грузится из РФ, тяжелые запросы идут по быстрому каналу серверов.

Резервного бэкенда нет - проект бесплатный, на второй сервер пока нет бюджета. Если падает Германия, ложится всё.

Проблемы деплоя: Composer «ушел в отказ»

С git pull всё прошло гладко, но установка зависимостей зависла намертво.

Проблема: Composer не мог достучаться до packagist.org. Просто бесконечный таймаут, вызванный нестабильностью сетевых маршрутов.

Решение: Поддержка SpaceWeb не стала отписываться «проблема на вашей стороне», а сразу дала адрес HTTP-прокси.

Дело одной команды:

export HTTPS_PROXY=http://proxy.host:port
composer install

(Для Windows: set HTTPS_PROXY=...)

Мораль: При деплое на российские площадки проверяйте доступность packagist.org (curl -v https://packagist.org). Если висит - просите прокси у хостера, не тратьте время на Composer.

Итоги

Зеркало sqltest-online.ru работает. Гибридная схема спасает: пользователи получают быстрый интерфейс без VPN, а запросы улетают на проверенный бэкенд.

Я верю, что образование должно быть доступным. Если для практики SQL нужно включать VPN и ждать по 10 секунд - человек не будет учиться. Зеркало .ru - мой способ сказать: «Продолжайте практиковаться».

А как вы деплоите зависимости на RU-площадки? Используете прокси, зеркала или есть решения изящнее?

* P.S. Ссылки на SpaceWeb и Contabo в статье - реферальные. Сервисами пользуюсь сам и смело рекомендую, а бонусы пойдут на оплату серверов проекта.

Теги:
Всего голосов 4: ↑4 и ↓0+4
Комментарии4

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

https://pointerpointer.com/ — PointerPointer: сервис находит фото, где человек указывает пальцем прямо на ваш курсор.

https://hackertyper.net/ — HackerTyper: почувствуйте себя кинохакером — просто быстро жмите любые клавиши.

https://www.window-swap.com/ — WindowSwap: видео из случайных окон реальных людей по всему миру.

https://astronaut.io/Astronaut.io: случайные видео с YouTube с нулевым количеством просмотров и странными названиями.

https://neal.fun/wonders-of-street-view/ — Wonders of Street View: самые необычные и прикольные места, найденные на Google Картах.

https://radio.garden/ — Radio Garden: глобус, на котором можно слушать прямой эфир радиостанций из любой точки планеты.

https://radiooooo.com/ — Radiooooo: музыкальная машина времени — выбираете страну и десятилетие.

https://earth.fm/Earth.fm: интерактивная карта с записями звуков природы со всего мира.

https://floor796.com/ — Floor796: огромная живая анимация с сотнями персонажей поп-культуры.

https://www.windows93.net/ — Windows 93: полноценная (и очень странная) операционная система прямо в вашем браузере.

http://www.excelworld.ru/ — ExcelWorld: всё о работе в Excel и даже чуть больше.

https://www.makewordart.com/ — MakeWordArt: тот самый дизайн надписей из Microsoft Word 2000.

https://90s.myretrotvs.com/ — 90s TV: симулятор телевизора из 90-х с рекламой и передачами того времени.

https://archive.org/details/softwarelibrary_msdos_games — MS-DOS Games: огромный архив старых игр, в которые можно играть онлайн.

https://webamp.org/ — Webamp: легендарный плеер Winamp, работающий в браузере.

https://poolsuite.net/ — Poolsuite: эстетика 80-х, ретро-радио и летний вайб.

http://savethesounds.info/ — Save The Sounds: музей исчезающих звуков (от кассет до старых модемов).

https://zzz.zoomquilt2.com/ — Zoomquilt 2: бесконечное сюрреалистичное изображение, в которое можно «влипать» вечно.

https://stars.chromeexperiments.com/ — 100,000 Stars: визуализация ближайших к нам звезд в 3D.

https://htwins.net/scale2/ — Scale of the Universe: интерактивная шкала масштабов Вселенной — от атомов до галактик.

https://pastvu.com/ — PastVu: архив исторических фотографий с привязкой к месту на карте.

https://pudding.cool/ — The Pudding: визуализация плотности населения Земли в виде 3D-гор.

https://trismegistus.tech/apps/begit/index.html — Бегит, Анжуманя: забавный чеклист для тренировок (пресс качать, анжуманя).

https://www.koalastothemax.com/ — Koalas to the Max: расщепляйте круги, пока не увидите картинку.

https://www.incredibox.com/demo/ — Incredibox: создавайте крутой битбокс с помощью стильных персонажей.

Записал видео, как показываю эти сервисы:

Теги:
Всего голосов 17: ↑17 и ↓0+17
Комментарии6

Не особо интересный пост.

Я все еще считаю, что стартап — это весело 🐙


Наша разработка hardware продукта напрямую связана с софтом. В нашем случае умный датчик качества воздуха Atmy, становится по настоящему “умным” в связке с целой экосистемой в виде интеграций ML моделей, системы подтверждения качества данных Atmy Trust Rating (хочу об этом написать отдельно позже), токенизации, веб-сайта и приложения для управления устройством.

Всю эту архитектуру приходиться менять практически в real-time. Поймал себя на ощущении, что уже немного вышел в пограничное состояние. Дни заканчиваются не вечером, а как-то плавно перетекают в следующий день. Иногда в голове уже слышен характерный «треск» старого жесткого диска. Но самое странное — мне это нравится. Потому что именно сейчас добрался до тех вещей, которые годами откладывал «на потом, когда будут ресурсы».

Спойлер 👀: ресурсов никогда не будет хватать. 


Приведу вам пример того, как мы работаем над платформой atmy.ai

Наша платформа раскладывается на три уровня:

↖️User product ← сейчас мы здесь

Какой воздух вокруг меня?

↖️Device management

Как живут мои станции?

↖️Data intelligence

Дай аналитику, API, выгрузки и объясни, что вообще происходит.


Объем большой. Мы реализуем функционал, которого еще не существует, поэтому выбрали работу по уровням и с быстрым тестированием:

накрутить идеи на максимум → быстро обкатать → выкинуть лишнее → остальное в прод и допиливать API

На практике это выглядит так:

появилась идея → накидываем проект в Figma (важно визуальное, так как делаем для людей) → дорабатываем за пару дней MPV через Cursor → тестируем → а далее либо удаляем без сожалений / либо сразу на git программистам.

Из того, что уже долетело до продакшна:

— Atmy Data Hub

Место, где наконец появилась нормальная аналитика по стране и миру. Скачивание графика по клику или скачать готовый csv файл. Графики, которых мне самому отчаянно не хватало в начале пути, когда заинтересовался экологией в своем городе.

— Режим “Мониторинг”

Внутри я его называю «око Саурона». По клику кнопки “Мониторинг” переходишь в этот режим сразу с карты, где “сейчас” находишься — и просто наблюдаешь за динамикой изменения воздуха в реальном времени. Все элементы в большем масштабе для удобного считывания с расстояния, обновление происходит практически real-time.


Есть ещё несколько фич, но их судьба пока под вопросом.

Например:

Мы тестируем гибридный режим (CAMS+AirMap Local) отображения глобального слоя pm2.5 CAMS совмещенный с локальными данными с земли, чтобы достичь максимальной актуальности данных. Здесь много математики и это тоже очень увлекательно.

И это всё — только первый слой.

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

Больше картинок и общения в нашем маленьком чате разработки телеграм: https://t.me/atmyhub

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии0

Представлен открытый проект Awesome DESIGN.md для обучения ИИ на основе дизайнов 30 топовых IT-компаний, включая полный разбор дизайнов каждой компании: например Airbnb, Pinterest, Revolut, Uber, Spotify, SpaceX, NVIDIA и Apple. В итоге получается набор данных, в том числе паттерны, шрифты, цвета, кнопки, отступы и вообще всё, что формирует стиль.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Вам пишет рекрутер из известной компании. Вакансия — мечта. Собеседование — завтра. Нужно только установить «утилиту для тестового задания». А дальше — украденные учётки, шантаж и ощущение, что мир сошёл с ума.

HRD Далее Ася Маркевич выступила экспертом подкаста от Департамента разработки «Как не стать жертвой фейковых рекрутеров».

Смотрите на Rutube https://rutube.ru/video/8888fe21f49e6c50f1e78816fde1216c/

Теги:
Всего голосов 2: ↑1 и ↓1+1
Комментарии0

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

Вторая часть курса по JavaScript уже доступна 💻

Привет, Хабр! Массивы, объекты, операторы, DOM — если вы еще не работаете с ними, проходите бесплатный курс «Первые шаги в JavaScript». Во время обучения вы освоите базовый синтаксис и конструкции языка, а затем напишете пет-проект.  

Вторая часть состоит из пяти модулей. После курса вы сможете:

  • изучать более продвинутые фреймворки и библиотеки;

  • понимать архитектуру простых веб-приложений;

  • писать скрипты, управлять DOM и изменять интерфейс веб-страниц.

Осваивайте практические навыки с помощью IT-инфраструктуры Selectel — промокод на бесплатный доступ уже ждет на курсе. После успешного прохождения финального теста пришлем именной сертификат.

Начните обучение прямо сейчас →

Теги:
Всего голосов 4: ↑3 и ↓1+7
Комментарии3

Будет слишком по девчачьи сказать, что я плакала из-за код ревью?

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

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

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

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

Мне захотелось поделиться своими мыслями на тему код-ревью, о том как формулировки влияют на скорость работы и состояния людей:

Ссылка на статью

Если хоть раз сидел и думал: «что от меня тут вообще хотят?» — ты точно поймёшь :)

Теги:
Всего голосов 2: ↑1 и ↓1+1
Комментарии0

Какой user-side подход выбрать?

Может многие и не задавались вопросом, но я думаю это интересная тема, которую можно прояснить.

Допустим, мы пилим какой-нибудь интересный сервис. Ну вот написали мы бэкенд, а как пользователь будет с ним взаимодействовать? По моему мнению сейчас есть несколько основных вариантов: веб-приложение, мобильное прилижение и телеграм-бот. Конечно, если есть много лишних рук, можно написать всё и сразу, но это не мой варик.

В моём случае каждая строчка кода дорога. Работаю я в одиночку.

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

Телеграм-бот

Вообще начал я user-side телеграм-ботом. Поначалу это, конечно, может, и казалось достаточным, но всё-таки для какого-либо функционала простого телеграм-бота не хватает.

Да и ещё в добавок в Russian Federation начали блокировать тг, поэтому пользоваться им приходится с костылями, а бот перестал стабильно работать.

Вывод: тг-бот - для простого функционала, но довольно нестабилен и ограничен функционал

Хотя, есть mini-app, но в их подробности я не вдавался.

Веб-приложение

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

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

Мобильное приложение

Наверное самый сложный и трудозатратный, но по моему мнению в нынешнее время самый перспективный вариант. Да, по сравнению с веб-собратом работать оно будет не везде, а только на мобилке, при том на определённой (IOS или Android).

Но при этом мобильное приложение даёт реализовать максимально удобное и оптимизированное управление, потому что почти всё можно настроить под свой продукт.

Небольшая сводка

Для чего бот: для простого функционала. Можно использовать как небольшое дополнение к какой-либо инфраструктуре. Этот подход наименее трудозатратен.

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

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

Что кому разрабатывать в первую очередь зависит от самого проекта, универсального варианта здесь нет по моему мнению.

PS: интересно узнать чужое мнение, так как возможно здесь много субъективщины.

Теги:
Рейтинг0
Комментарии0

Мы привыкли воспринимать DevTools как инструмент для разработчиков и тестировщиков. Но на практике это хороший источник информации и для других специалистов: через него можно понять, как устроена страница, где возникают проблемы и как интерфейс ведет себя в разных сценариях.

Попросили Костю, frontend-разработчика Naumen, рассказать, какие возможности DevTools он использует в работе и на что стоит обращать внимание.

1️⃣ Как открыть DevTools, если F12 не сработал

Самый простой способ — клавиша F12 для Windows/Linux. На macOS сочетание отличается, но открыть DevTools можно не только с клавиатуры.

Например, через контекстное меню — нажать правой кнопкой мыши на элемент страницы и выбрать «Исследовать элемент». DevTools откроются сразу на нужном месте.

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

2️⃣ Как работать с версткой во вкладке Элементы

Вкладка Элементы показывает DOM-дерево страницы — структуру документа, из которого собран интерфейс. 

Здесь можно:

  • навести курсор на элемент и посмотреть, где он находится на странице

  • быстро найти нужный блок через селектор

  • посмотреть размеры, фон и отступы

А еще можно посмотреть доступность — как элементы переключаются через Tab.

3️⃣ Как находить итоговые стили 

Если у элемента много CSS-правил, я перехожу во вкладку Вычисленные.

Там собраны все итоговые стили элемента — включая те, что пришли через наследование или заданы браузером. Можно быстро найти нужное свойство, например, border-radius, и понять, какое значение реально применяется.

4️⃣ Как проверять изменения без правок в коде

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

После обновления страницы все возвращается как было.

5️⃣ Как разбирать запросы во вкладке Сеть

Во вкладке Сеть видно, какие запросы отправляет страница и что приходит в ответ. А еще в этой вкладке есть не только список запросов, но и инструменты для фильтрации, поиска и просмотра этапов выполнения. Если нужно исключить что‑то из поиска, можно использовать инверсию или минус в строке фильтра.

Также можно сохранить HAR-файл и передать его разработчику — в нем будет вся история сетевых запросов. Но в HAR попадут только те запросы, которые видны с учетом текущих фильтров.

6️⃣ Как подменять ответ бэка

В DevTools можно изменить ответ запроса и посмотреть, как на него отреагирует интерфейс.

Я использую это, когда нужно проверить нестандартный кейс. Например, подставить более длинный текст или другие данные и посмотреть, что произойдет на странице.

7️⃣ Как проверять работу при медленном интернете

DevTools позволяют проверить, как работает интерфейс при плохом соединении. Во вкладке Сеть можно:

  • выбрать готовые профили — 3G, 4G

  • настроить собственную скорость сети

  • протестировать поведение приложения в режиме офлайн

8️⃣ Как работать с локальными данными

Во вкладке Приложение можно посмотреть данные, которые браузер сохраняет на стороне пользователя:

  1. Локальное хранилище — данные, которые сохраняются надолго и не исчезают после перезагрузки страницы.

  2. Сессионное хранилище — данные, которые живут только пока открыта вкладка.

  3. Файлы cookie — похожи на локальное хранилище, но у них есть срок жизни и дополнительные ограничения по источнику.

Все это можно просматривать, изменять и очищать. 

9️⃣ Как менять геолокацию и часовой пояс

DevTools позволяют изменить геолокацию и часовой пояс, не меняя настройки операционной системы.

Можно выбрать готовую точку или указать координаты вручную. Полезно, когда нужно проверить поведение элементов в другом городе, регионе или стране.

🔟 Как записывать пользовательские сценарии

Инструмент Регистратор умеет записывать действия пользователя на странице — фиксируются шаги, например, клики и переходы по интерфейсу.

После записи сценарий можно воспроизвести, отредактировать, сохранить и отправить коллегам.

Теги:
Всего голосов 4: ↑3 и ↓1+7
Комментарии0

Выпустили бесплатный курс для PHP-разработчиков

Пример одного из уроков курса
Пример одного из уроков курса

Всем привет! Год назад рассказывал в этой статье на Хабре о том, как мы подготовили и записали курс на 30+ часов для наших PHP-разработчиков. В итоге у нас вышло 43 урока, разбитые на 5 направлений.

Сначала думали упаковать все это в коммерческий формат, но решили оставить все как есть и просто поделиться с сообществом. Надеюсь, что он принесет вам пользу.

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

Отдельные блоки посвящены внутренностям PHP (zval, сборщик мусора, OPcache, асинхронность), архитектурным подходам (SOLID, DDD, паттерны, организация бизнес-логики) и работе с БД — от проектирования схем до оптимизации запросов и масштабирования.

В части тестирования рассматриваются TDD, структура тестов и подходы к оценке их качества.

Материал основан на практических кейсах и разбирает задачи, которые встречаются в реальных проектах.

Теги:
Всего голосов 6: ↑6 и ↓0+7
Комментарии2

Представлен открытый проект Awesome Web Scraping Tools 2026 с веб-скрейперами с API-ориентированным подходом (YouTube, Bluesky, Reddit, Google Maps).

Все инструменты бесплатны и доступны в Apify Store, включая компоненты для:

  • API-first — более 20 инструментов используют официальные API (Reddit JSON, YouTube Innertube, Wikipedia MediaWiki);

  • JSON-LD вместо CSS — для сайтов с обзорами структурированные данные более надежны;

  • бесплатных API — CoinGecko, Open-Meteo, ip-api, Frankfurter;

  • ограничения скорости запросов — встроенные задержки, никогда не нацелены на DDoS-атаки на сайты.

Теги:
Рейтинг0
Комментарии0

WT CDEK library v.1.3.0 - обновление PHP SDK для Joomla + CDEK.

Небольшая нативная PHP Joomla библиотека для работы с API v.2 службы доставки CDEK. Библиотека представляет собой клиент для авторизации в CDEK API по OAuth, работы с некоторыми методами API: получения ряда данных и расчета стоимости доставки. Поддерживается Joomla 4.2.7 и выше.

В пакет входят:

  • библиотека Webtolk/Cdekapi

  • системный плагин System — WT Cdek для хранения настроек и AJAX‑интеграций

  • task‑плагин Task — Update WT Cdek data для обновления локальных копий справочников CDEK по расписанию

  • web asset с официальным JavaScript‑виджетом СДЭК

👉 v.1.3.0. Что нового?

  • Полный рефакторинг библиотеки. Библиотека переработана в entity‑based API с фасадом Cdek и отдельным слоем запросов. Обратная совместимость не нарушена, поэтому версия библиотеки — 1.3.0.

  • Добавлена поддержка новых разделов API СДЭК. Добавлена поддержка новых разделов API СДЭК: webhooks, prealert, печатные формы, payment, passport, reverse, intakes и других сущностей.

  • Улучшена интеграция с Joomla. Улучшена интеграция с Joomla: installer script для layouts, новые поля Joomla Form для тарифов и обновлённые js виджета CDEK.

  • документация библиотеки. Все методы библиотеки подробно описаны, а так же текст документации собран в отдельной папке в git репозитории.

Пример запроса — запрос информации о городе.

<?php

use Webtolk\Cdekapi\Cdek;

\defined('_JEXEC') or die;

// Вариант 1: брать credentials из настроек плагина
$cdek = new Cdek();

// Вариант 2: передать credentials явно
$cdek = new Cdek(test_mode: true, client_id: 'your_client_id', client_secret: 'your_client_secret');

$result = $cdek->location()->getCities([
    'postal_code' => '410012',
    'city'        => 'Саратов',
    'size'        => 1,
]);

Результат запроса:

Array
(
    [0] => Array
        (
            [code] => 428
            [city_uuid] => 7e54a0b3-76f0-41e2-92e0-f1e600ad84fd
            [city] => Саратов
            [fias_guid] => bf465fda-7834-47d5-986b-ccdb584a85a6
            [country_code] => RU
            [country] => Россия
            [region] => Саратовская область
            [region_code] => 47
            [fias_region_guid] => df594e0e-a935-4664-9d26-0bae13f904fe
            [sub_region] => городской округ Саратов
            [longitude] => 46.034266
            [latitude] => 51.533562
            [time_zone] => Europe/Saratov
            [payment_limit] => -1
        )

)

Библиотека эта нужна для разработчиков, создающих свои расширения для интеграции Joomla и курьерской службы CDEK.

Страница расширения

GitHub расширения

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0
1
23 ...