И так, вы в Telegram Web и вы запускаете безобидное на первый взгляд Mini App, сворачиваете его или просто переключаетесь на соседний приватный чат, чтобы продолжить переписку. Казалось бы, контексты изолированы, фрейм приложения неактивен, и вы в полной безопасности. Но так ли это на самом деле? Всё началось с негромких новостей от малоизвестного блогера, которого в сети называют «Дядя J», который упомянул странное поведение Mini Apps в Telegram и не только. А проблема заключалась в фрейме. Я …
Один из лучших способов по-настоящему разобраться в инструменте — понять, как он устроен изнутри. С большинством JavaScript-библиотек у меня работает так: мне не нужно заглядывать в исходники, потому что по дизайну API уже можно примерно представить его реализацию. Но API фикстур в Playwright поставил меня в тупик. Минимальный тест выглядит следующим образом:import { test, expect } from "@playwright/test"; test("basic test", async ({ page }) => { await page.goto("https…
Когда верстаешь адаптив, постоянно скачешь между десктопом и мобильной версией: то DevTools в режиме устройства, то ресайз окна, то открыть на телефоне. Десктоп и мобайл при этом никогда не видны одновременно — один прячется, когда смотришь на другой. А при показе работы заказчику демонстрация «узкого окна браузера» по видеосвязи выглядит так себе.Готовые решения, конечно, есть. Я смотрел на мобильные симуляторы из Chrome Web Store — например «Mobile First»Мобильный симулятор - тестирование ада…
Меня зовут Денис, я бизнес-аналитик. Статья про то, как я построил себе рабочий инструмент — Custom Tool — который живёт прямо в браузере, ничего не требует устанавливать и помогает не забыть ни одного важного вопроса при разборе задачи.Ссылка на инструмент: denissadykov.github.io/ba-cheatsheet/custom Всё открыто, бесплатно, без регистрации.Проблема, которую я решалКогда берёшь задачу в работу, первый час — самый важный. Нужно понять: что это вообще такое, кто владелец, есть ли риски, что будет…
Привет всем уважаемые читатели.Около года назад я решил сделать универсальное open-source решение для визуализации списков. В первых версиях я отрабатывал технологию виртуализации с различными параметрами, было много исследований, вопросов. Сегодня же состоялся релиз X.12.X версии, которая работает под управлением Angular 14-22. Хочу рассказать на что способен инструмент (ng-virtual-list), какие задачи решает и проведу краткий обзор с демонстрацией примеров.Все приведенные ниже примеры содержат…
Если оглянуться вокруг, можно заметить что практически вся физическая и цифровая инфраструктура, которой мы пользуемся ежедневно — дороги, дома, электростанции, системы водоснабженияи канализации, интернет — спроектирована, построена и обслуживается преимущественно мужчинами.При этом, согласно макроэкономической статистике, структура перераспределения капитала выглядит иначе. Возникает логичный вопрос: как именно распределяются финансовые потоки в обществе и почему традиционная «экономика отнош…
Всем привет. В статье разберём, как с помощью open-source трекера ошибок Хоук восстанавливать цепочку событий перед ошибкой и быстрее понимать, что именно привело к сбою в приложении.Представим обычную ситуацию: пользователь пишет в поддержку, что нажимает «Оплатить», но ничего не происходит. В мониторинге при этом есть ошибка. Видно, где она произошла в коде, виден URL страницы, браузер, устройство и окружение. Но открытым остается вопрос: что именно пользователь делал перед ошибкой?Он сразу н…
Статья о том, как превратить TypeScript-схему в единый источник истины для работы с базой данных: из одного определения получить типы строк, имена таблиц и колонок, типизированные запросы, связи, миграции и unit-of-work поверх Knex.Все примеры ниже взяты из xpenser — open-source приложения для учёта личных доходов и расходов. Это одновременно полезное приложение, которым я сам пользуюсь, и референсная реализация Cleverbrush Framework: контракты, сервер, клиент, формы, auth, observability, Postg…
В предыдущей статье разбирали, как собрать структурированную wiki из markdown-файлов на Astro/Starlight — на примере личного карьерного менеджера. В комментариях появились закономерные вопросы: «почему именно так?», «что за странный выбор стека?», «а для чего ещё это можно использовать, кроме как для себя?».Хороший вопрос. Эта статья отвечает на него делом.Та же механика — wiki из markdown — но теперь с Telegram-ботом поверх. Бот умеет искать по базе знаний и отвечать с цитатами и ссылками на и…