Использование браузерного расширения tweak для тестирования Личного кабинета
Эта статья подойдет как новичкам, так и опытным специалистам, интересующихся поиском удобных и легких инструментов для упрощения процессов тестирования.
Разработчик ПО
Эта статья подойдет как новичкам, так и опытным специалистам, интересующихся поиском удобных и легких инструментов для упрощения процессов тестирования.
Несмотря на зрелость PHP и большую экосистему, многие разработчики упускают из виду редкие уязвимости, скрывающиеся в стандартных и малоизученных механизмах языка. Изучив их, вы сможете укрепить безопасность приложений и предотвратить неожиданные атаки.
PHP – один из самых популярных языков веб-разработки. Благодаря экосистеме фреймворков (Laravel, Symfony, Yii) и обширному опен-сорсу он остаётся выбором №1 для быстрого вывода приложений. При этом сообщество в основном концентрируется на классических уязвимостях (SQL-инъекции, XSS, CSRF, LFI/RFI). Тонкие особенности интерпретатора, малоизученных расширений и встроенных механизмов нередко остаются вне поля зрения. В этой статье мы подробно рассмотрим малоизвестные опасности и способы защиты от них.
В этой статье приведены основные понятия, которые возникают, когда речь заходит о криптографии. Попытаемся объяснить их на простом бытовом уровне, понятном каждому.
Кому это может быть интересно? Например:
· менеджерам и аналитикам, которым не важны технические детали, но важно понимать, о чем говорят их коллеги разработчики
· новичкам, которым предстоит погрузиться в мир криптографии
· всем несчастным, кому приходится слушать о задачах информационной безопасности при встрече с друзьями программистами.
В некоторых случаях необходимо исследовать большие объемы информации и затрачивать на это минимум времени. Например, когда мы не хотим читать большой документ целиком, а нам нужно найти ответы на некоторые вопросы. Конечно, это звучит странно. Ведь, чтобы задать вопрос, нужно знать о чем документ :).
Тем не менее, сейчас многие говорят о RAGах. Технология позволяет "говорить" с информацией, которая может храниться в базе, или в огромном текстовом документе. Как правило, речь идет о текстовой информации. Но есть возможность построить RAG на картинках. В этой статье будем говорить именно о такой задаче и легком способе ее решения.
Сегодня каждый может обзавестись своим собственным ИИ. И даже не потребуется супер-пупер компьютера и дата-центра с кучей GPU. При этом он будет работать без Интернета. Давайте, приступим к тому, чтобы обзавестись на компьютере милым и пушистым питомцем.
Self-modifying SQL — это техника, при которой SQL-запросы не просто выполняют фиксированную операцию, а генерируют, изменяют и выполняют другие SQL-запросы во время работы приложения. Эта концепция может показаться экзотической и даже спорной, но в определённых сценариях она позволяет создать гибкие, адаптивные решения для динамического управления базой данных.
Эта статья предназначена для разработчиков всех уровней: от начинающих, которые хотят понять основы динамического SQL, до продвинутых специалистов, интересующихся нетривиальными приёмами и автоматизацией управления данными.

Vouch Proxy (VP) представляет собой мощный инструмент для обеспечения безопасности и удобства использования веб-приложений, особенно в условиях высокой нагрузки. VP позволяет использовать различные Identity Provider (IdP) для аутентификации пользователей и предоставления им доступа к защищенным ресурсам. В этой статье мы рассмотрим, как Vouch Proxy может быть использован для реализации OAuth2 в нагруженных системах.
Если рассуждать о сути приоритизации тест-кейсов и ее роли в процессе тестирования, прежде всего стоит обозначить те ситуации, в которых данный подход проявляет себя наиболее явно. Как правило, приоритизация тест-кейсов становится особенно актуальной в рамках регрессионного тестирования, когда возникает необходимость выявления потенциальных уязвимостей продукта и подтверждения его соответствия заданной логике поведения без критических ошибок.
Для начала необходимо определить отправную точку этого процесса. То есть от чего мы отталкиваемся, когда запускаем регрессионное тестирование?
Чаще всего мы принимаем во внимание последние изменения в продукте. Пытаемся определить, какие именно области системы подвержены наибольшему риску возникновения регрессионных дефектов. Следовательно, эти области требуют наиболее тщательного повторного тестирования, чтобы гарантировать сохранение текущей функциональности и исключить появление нежелательных побочных эффектов, способных нарушить стабильную работу продукта.
Если уйти от идеализации, то обычно в начале регрессионного тестирования мы видим огромное количество тест-кейсов в виде большого списка, который, как правило, структурировано выделен по папкам и разбит на модули, связанные между собой. Такое тестирование занимает большой объем работы и времени, а главная задача — это не упустить ничего, что может блокировать нам использование нашего продукта.
На выходе мы имеем: высокий уровень ответственности и ограниченное количество отведенного времени на эту работу. Так как же мы можем оптимизировать и облегчить себе работу во время регрессионного тестирования и при этом не упустить критических багов?
Данная статья содержит описание личного опыта взаимодействия автора и нейросетей DeepSeek и GigaChat на уровне <рядовой пользователь – машина>. Автор не является профессиональным программистом и профессиональным промпт-инженером, поэтому воздерживается от комментариев относительно качества кода и обоснованности того или иного решения, предлагаемого ИИ.
Автор также не является профессиональным аналитиком данных, в связи с чем выбор методов прогнозирования и само видение реализации замысла могут не соответствовать представлениям профессионалов. Автор прекрасно понимает, что на сегодняшний день существуют как отдельные специалисты, так и готовые технические решения, прекрасно справляющиеся с задачами, рассматриваемыми в данной статье.
В мире разработки и работы с базами данных Bloom-фильтры – это мощный, но малоизвестный инструмент, который может значительно ускорить выполнение запросов и снизить нагрузку на систему. Однако, несмотря на их потенциал, многие разработчики даже не знают, что Postgres поддерживает Bloom-фильтры "из коробки" (функциональность Bloom-фильтров доступна сразу после установки Postgres, при включении соответствующего расширения) через расширение bloom.
Bloom-фильтры особенно полезны в ситуациях, когда нужно быстро проверить, принадлежит ли элемент к множеству, или когда требуется оптимизировать запросы с несколькими условиями. Например, они могут ускорить JOIN-запросы, поиск по нескольким столбцам или агрегатные функции.
В этой статье мы разберем, что такое Bloom-фильтры, как они работают в Postgres, и в каких случаях их использование может быть полезным. Мы также рассмотрим практические примеры и покажем, как Bloom-фильтры могут помочь в оптимизации запросов.
Микросервисная архитектура стала стандартом для современных IT-проектов и позволяет создавать автономные сервисы с независимым жизненным циклом. В такой среде Nginx часто используется как балансировщик нагрузки и обратный прокси, но при этом возникают определенные проблемы. Для начала их перечислим, а затем подробно рассмотрим способы решения.
В работе с базами данных ключевым аспектом является не только отслеживание изменений в их структуре, но и подробная документация таблиц и их полей. Это особенно важно для проектов с быстро изменяющейся архитектурой, где ясность и точность данных играют решающую роль. Например, в крупных веб-приложениях часто требуется фиксировать новые таблицы, обновления полей или удаление устаревших элементов.
Для решения данной задачи разработаны два PHP-скрипта, предназначенные для работы с PostgreSQL. Эти скрипты выполняют две основные функции:
1. Сравнение старой и новой структуры базы данных с выявлением добавленных, удалённых и изменённых таблиц.
2. Создание Markdown-документации, которая содержит подробное описание назначения таблиц и характеристик их полей, что делает изменения в структуре базы данных прозрачными для разработчиков.
Привет, Хабр!
Сегодня мы хотим поделиться решением интересной и новой для нас задачи: нужно встроить поддержу ЭЦП в мобильное приложение заказчика. Бизнес-процесс подразумевает формирование неких документов в мобильном приложении с дальнейшей их отправкой на сервер и последующей обработкой. Поскольку документы без подписи не имеют юридической силы, пользователям заказчика приходилось распечатывать созданные документы для их подписания вручную. Вот этот процесс и было решено автоматизировать с целью экономии времени и ресурсов.
Определение скорости объекта на видеопотоке является актуальной задачей в сфере компьютерного зрения и обработки видео, в частности, в области автономного вождения, контроля на дорогах, видеонаблюдения, спортивной аналитики. Скорость объектов может быть важной информацией в задаче трекинга, определения действий и других задач.
Мы разработали алгоритм, который учитывает движение камеры при помощи оптического потока. Оптический поток определяет движение пикселей между двумя последовательными кадрами. Изменения в потоке являются, смещением пикселей, анализируя которое, можно вычислить относительную скорость движения объекта и скорость фона вокруг него. Из физики известно, что вектор абсолютной скорости является их разностью. Так как смещение в пикселях можно пересчитать в смещение в метрах, то и абсолютная скорость движения в пикселях пересчитывается в скорость в м/с, что требуется для решения задачи.
Привет, Хабр!
Дискуссионный тезис о том, что советская плановая система экономики была не так уж и плоха и ее надо бы вернуть, перестал быть предметом дискуссий. Теперь это реальность. Глава государства и правительство РФ ставят задачи, а ведомства разрабатывают соответствующие планы по отраслям. Стратегическое планирование коснулось и области высоких технологий. В частности, на недавнем ПМЭФ-2024 Владимир Путин заявил о нетривиальной цели: «Россия за короткий срок должна войти в топ-5 стран мира по плотности роботизации». Глава государства отметил, что производство роботов следует развивать на собственной технологической базе.
О том, на каком уровне находится сейчас эта база, достаточно ли у нас ресурсов для выполнения такого масштабного плана мы поговорили с председателем правления Консорциума робототехники и систем интеллектуального управления Евгением Дудоровым.
Привет, Хабр!
Думаю, все заметили, что технологии компьютерного зрения и искусственного интеллекта появились во многих сферах нашей жизни. Аналитика изображений применяется на производстве, в медицине, в системах управления, в географии.
В сфере спорта также не обошлось без компьютерного зрения. Современные технологии используются для анализа игр и стратегий, предоставляя тренерам и спортсменам ценную информацию, которую сложно или невозможно получить вручную. В частности, в футболе компьютерное зрение используется для трекинга, детектирования действий игроков, вычисления их скоростей и решения многих других задач. Аналитика матча вручную может занимать много времени и требует внимания квалифицированных специалистов, а технологии компьютерного зрения позволяют значительно автоматизировать и оптимизировать процессы.
Одна из задач, которая была поставлена в рамках нашего проекта по футбольной аналитике, заключается в определении команды, к которой принадлежит конкретный игрок. Для человеческого глаза эта задача — проще некуда. Достаточно посмотреть на цвет формы игрока, чтобы понять, в какой он команде. Однако как научить компьютер автоматически понимать цвет? Оказалось, что в общем случае эта задача совсем не тривиальна.
Изначально были попытки обучить на размеченных данных классические детекторы объектов, например, YOLO. Однако оказалось, что модель сильно усложняет задачу — начинает ориентироваться на расстановку игроков, и из-за этого точность становится невысокой. Поэтому возникла идея попробовать более классические и, соответственно, более простые алгоритмы.
Привет, Хабр!
Технологический прогресс постоянно снабжает население земного шара множеством “плюшек”, делая нашу жизнь удобной и динамичной.
Но бывает так, что какие-то "плюшки" очень плохо воздействуют на психику и образ жизни людей. Например, чрезмерное увлечение онлайн-играми часто приводит к лудомании. Постоянное “зависание” в соцсетях может вызвать депрессию. А такая, казалось бы ерунда, как фильтры, способна спровоцировать дисморфофобию, когда человек не принимает собственное тело, зацикливается на внешности и стремится постоянно исправлять надуманные недостатки.
Список различных расстройств, так или иначе связанных с интернетом и гаджетами, весьма обширен. Но наиболее тревожным пунктом в этом печальном перечне следует считать алкоголизм. Потому что это уже не просто расстройство, а хроническое заболевание, очень тяжело поддающееся лечению.
Но каким образом современные технологии втягивают своих адептов в алкоголизм? И кто подвержен наибольшему риску?
Многие слышали, что ИИ может видеть. Не просто ставить прямоугольники на объектах и определять, что это за объект, а видеть по‑настоящему. Понимать, что изображено на картинке, и в тексте передавать детали увиденного. Сейчас мы воспроизведем эту технологию у себя на компьютере и немного покопаемся в мозгах ИИ. Может быть эти манипуляции наведут на более серьезные мысли по поводу интеллекта машин и натолкнут на вопрос: «А так ли сильно он отличается от человеческого?»
Для генерации изображений сегодня существует множество сервисов. Некоторые из них платные, другие нет. И даже в большинстве бесплатных сервисов вы можете столкнуться с ограничениями, например, на количество бесплатных картинок за единицу времени, разрешение изображений и прочее. Это обстоятельство объясняется просто. Несмотря на доступность технологии, железо, которое требуется для генерации, остается дорогим. И бесплатно отдавать ресурсы GPU мало кому хочется. Однако, тягу к бесплатному трудно победить. Поэтому в этой статье мы узнаем, как, всё же, генерировать изображения только при помощи браузера и нескольких строк кода.
Привет, Хабр!
Возможно, многие сталкивались с задачей: есть сервер с некими cronjob-ами, результат выполнения которых хотелось бы мониторить определенному числу лиц, но при этом сервер находится в каком-нибудь intranet и не имеет доступа к сети интернет. Вот и у нас однажды возникла подобная проблема. Единственным доступным средством коммуникации с внешним миром у сервера был почтовый шлюз, через который можно было отправить электронную почту. До некоторого времени задача решалась отправкой нескольких копий письма, но со временем стало понятно, что гораздо удобнее читать уведомления в Telegram. Такую настройку мы произвели с помощью Yandex Cloud Functions.