Обновить

Кейс. Как провести исследования, если нет доступных пользователей

На испытательный срок мне дали задание провести редизайн софта написанным лет 10 назад программистами. Задача была в том, чтобы десктопную версию поставить на web-рельсы. Улучшить пользовательский опыт и обновить внешний вид программы до корпоративного стиля. Софт стоял на Останкинской телебашне и отвечал за мониторинг и проходы посетителей через турникеты. Это был мой первый проект после смены профессии в которой я проработала 19 лет. На первый взгляд, задача звучала понятно, но сложности начались позже.

Несколько месяцев я работала над этим проектом и втягивалась в особенности специфических b2b продуктов и их пользователей. Тогда же я начала собирать Кейс под рабочим названием «Как не облажаться, когда не знаешь что именно нужно сделать». Это был мой первый проект после смены профессии в которой я проработала 19 лет.

UPD: интерфейс стоит на СКА-Арена в Санкт-Петербурге (чем я очень горжусь)

Читать далее

Эксперимент с матрицей А(2, 2)

Уровень сложностиСредний

Существует ли для любой действительной невырожденной матрицы A скалярная функция f(A), значение которой неизменно при операциях над матрицей A:
- произвольная перестановка столбцов
- произвольная перестановка строк
- умножение любой строки на положительное число?

Проведем эксперимент с матрицей A(2,2)и сделаем предположение.

Читать далее

Протоколы авторизации

Уровень сложностиПростой

Существует несколько основных протоколов авторизации, которые используются для контроля доступа к ресурсам и сервисам. Они различаются по механике работы, безопасности и областям применения. Рассмотрим наиболее популярные из них.

Читать далее

Краткий гайд создания telegram-бота для оценки релевантности YouTube-видео на основе семантического анализа комментариев

Уровень сложностиПростой

Привет, Хабр!

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

Читать далее

Топ сервисов, без которых можно прожить, но с ними проще

Уровень сложностиПростой

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

Читать далее

PHP и работа с базами данных: Как выбрать и использовать ORM для максимальной производительности

Уровень сложностиСредний

ORM (Object-Relational Mapping, рус. Объектно-реляционное отображение) — это технология, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную объектную базу данных». С помощью ORM упрощается процесс сохранения объектов в реляционной базе данных и их последующего извлечения, так как она автоматизирует преобразования данных между двумя различными форматами.

По своей сути, ORM обеспечивает работу с базой данных на уровне объектов, что подразумевает соответствие структуры и данных в БД объектам кода.

Читать далее

Уже более 3х лет работаем с API маркетплейсов — и вам рекомендуем

Уровень сложностиСредний

За 3 года работы в SoykaSoft ко мне нередко прилетает от коллег из других софтов вопрос, как и за счет чего же мы подгружаем данные селлеров и бухгалтеров в сервис. Наконец-то добрался до того, чтобы написать полноценную статью по этой теме и ответить на самые частые горячие вопросы. Что такое API маркетплейсов, как с этим работать и какие есть нюансы в работе - предлагаю начать с азов и постепенно переходить к секретам, которые мы каждый день используем в работе нашего сервиса внутренней аналитики.

Читать далее

Настройка клиента LiveKit (Flutter + Docker)

Уровень сложностиПростой

В данной статье описывается подробный путь для быстрого запуска и старта работы с livekit. Подключившись к LiveKit Cloud или самостоятельному серверу, вы можете быстро создавать такие приложения, как мультимодальный искусственный интеллект, прямые трансляции или видеозвонки. Работает все это дело в связке с Flutter + Docker, если было интересно поковыряться и написать свой Zoom, welcome.

Читать далее

От Windows к Ubuntu

Уровень сложностиСредний

Недавно я, начинающий тестировщик, принял решение перейти с операционной системы Windows на Ubuntu. Первые шаги были не сложными, но столкнулся с проблемой монтирования жесткого диска, на котором находилось около 10 000 фотографий и видео. В этой статье я хотел бы поделиться своим опытом решения этой проблемы, а также предоставить инструкцию, которая поможет тем, кто может столкнуться с подобной ситуацией.

Что имеем:

Читать далее

XSS в URL обратного вызова OAuth с обходом CSP, приводящий к захвату аккаунта без взаимодействия

Уровень сложностиПростой

Введение
В одном из недавних проектов я столкнулся с серией на первый взгляд незначительных уязвимостей. Однако, когда эти проблемы были объединены, они создали серьезный риск безопасности — уязвимость, позволяющую захватить учетную запись без какого-либо взаимодействия со стороны пользователя. Основной виновник — URL обратного вызова OAuth, в котором при детальном рассмотрении обнаруживается несколько проблем.

В этой статье будет подробно рассмотрен URL обратного вызова OAuth, шаг за шагом мы разберем каждую проблему и объясним цепочку событий, которая позволила проэксплуатировать эти уязвимости. Наша цель — предоставить пример из реальной жизни, который подчеркивает потенциальные угрозы как для безопасности веб-приложений, так и для данных пользователей.

Читать далее

Notion покидает Россию. Как создать копию Notion и кому не стоит переживать

Уровень сложностиПростой

Кто следит за новостями и обновлениями Notion знают, что 9 сентября пользователям закроют доступ к платформе. Как ни странно, причина связана с санкциями в нашу сторону. На самом деле, мне от этого стало немного грустно, но будем выкручиваться.

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

Читать далее

Как получить доступ к ssh, если у вас есть доступ только к kubectl?

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

В итоге на рабочем кластере есть доступ до kubernetes, а вот самого ssh доступа нету.

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

Почитав доку кубера по Volumes нашел интересный параметр hostPath, который как раз и монтирует файловую систему в Pod, выполнив этот файлик (заменив USER на имя пользователя) мы получим под со смонтированной файловой системой нашего юзера.

Читать далее

Телеграм-бот на GPT-4o: как использовать бесплатную квоту в 100 сообщений

Сегодня мы рассмотрим, как создать простого, но функционального Telegram-бота на основе GPT-4o, используя FutureForge API, доступное на платформе RapidAPI. Особое внимание уделим тому, как правильно интегрировать API в ваш проект и воспользоваться его бесплатной квотой в 100 сообщений в день. В этом руководстве я подробно объясню каждую строку кода, чтобы даже новички смогли легко справиться с задачей.

Читать далее

Gridans — DataGrid для больших данных. Сделано в России

Уровень сложностиПростой

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

Сейчас из доступных на рынке можно выделить бывший проект CUBA Platform - JMIX. Это Java библиотека интерфейсных компонент, где под капотом находится финская библиотека Vaadin Community Edition.

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

Понимая всю проблематику ситуации, в нашей студии Datamix решили разработать полностью отечественный DataGrid компонент Gridans на языке JavaScript без единой зависимости, который подходит для всех популярных FrontEnd фреймворков - React JS, Angular JS, Vue JS и пр.

Проект хостится в NPM - легко устанавливается и подключается.

Мы постоянно развиваем компонент и дополняем все новые и новые функции. Сейчас уже доступно :

Читать далее

Спасибо, FedEx, из-за таких как вы люди продолжают вестись на фишинг

В последнее время мне приходит куча СМС от мошенников о том что «моя посылка не может быть доставлена». Если у вас есть телефон то вы тоже скорее всего получали подобный спам.

Эти сообщения проходят через фильтры спама моего оператора связи Telco и захламляют раздел «Входящие СМС» на моём телефоне. Но я не ведусь на подобные разводы потому что знаю признаки по которым можно распознать фишинг: нагнетаемое чувство срочности, попытки внушить мысль о том что пользователь столкнётся с проблемами если не выполнит инструкции мошенника прямо сейчас и странные URL непохожие на сайты реальных служб доставки. Мошенники даже пытаются убедить меня в том что они из почты Австралии вставляя "auspost" в свою ссылку, но я умный человек который не ведётся на такие примитивные уловки.

Читать далее

Что случилось с приходом IOS 14.5

Уровень сложностиСредний

26 Апреля 2021 года появилась она, великая и ужасная «ОС 14,5» — прошивка на Айфон. И пока все яблочники дружно обновляли айфоны, многие бизнесы, чьи доходы зависели напрямую от ИОС пользователей, быстро начали разоряться и сокращать штаты мобильных маркетологов.

Что же случилось?

Очередной случай утечки персональных данных и открытая торговля персональной датой в даркнете — окончательно тригернуло руководство как Apple так и США. И было принято решение внедрить:

a) Собственный фреймворк защиты информации от Apple — SKAdNetwork

б) Запрашивать согласие на использование персональных данных (ATT App Tracking Transparancy)

в) Каждое приложение в Appstore обязали напрямую говорить какую именно оно информацию они хотят брать у рядового пользователя.

Читать далее

Гарантия консистентности двух и более состояний

Уровень сложностиСложный

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

Читать далее

Автоматизация проверки XML сообщений на платформе 1С с помощью инструмента Vanessa Automation

Всем привет! Меня зовут Пётр. И это моя первая статья.

Работаю с инструментом Vanessa Automation около года и решил поделиться своим видением, как можно автоматизировать проверку XML сообщений на платформе 1С: Предприятие.

Читать далее