Kornilov Tools · Daniil Kornilov

Kornilov Tools · Daniil Kornilov 

Offline tools for freelancers & developers. RU/EN

Blog contains AI content

3subscribers

43posts

Showcase and bundles

19
A bundle is a collection, compilation, playlist, or catalog of posts that saves you from searching through the blog and lets you buy the entire content series in a single click.
goals1
0 of 10 paid subscribers
Первые 10 подписчиков — это старт! Помогите мне достичь этой цели.
Oct 24 04:56 · AI content

Сервер принял запрос. Почему интерфейс уже пишет «Готово»?

Кнопка экспорта позеленела. Сервер вернул 202. Файла ещё нет.
Разберём условный сервис: пользователь запускает выгрузку, API принимает задание, а отдельный обработчик готовит файл. Если интерфейс сразу пишет «Экспорт готов», он обещает результат, который система пока не подтвердила.

Что означает ответ сервера

HTTP 202 означает, что запрос принят в обработку. Работа может ещё не начаться, завершиться позже или закончиться ошибкой. Сам ответ не доказывает, что файл создан.
Описание статуса в MDN:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/202
Для такого сервиса полезно разделить состояния: запрос отправляется, задание в очереди, файл готовится, готов, ошибка. Отдельно — состояние неизвестно, когда проверить обработчик сейчас не получается.
Это состояния конкретного приложения. Способ проверки результата нужно определить в его API: например, ресурс статуса по идентификатору задания. Код 202 сам по себе такого адреса не создаёт.

Где появляется второй экспорт

Представьте последовательность:
1. Сервер принял задание.
2. Проверка статуса оборвалась.
3. Интерфейс показал ошибку и предложил запустить экспорт заново.
4. Первое задание продолжает работать, а пользователь создаёт второе.
Проблема здесь в том, что ошибка наблюдения превратилась в утверждение о провале самой работы. До повторного запуска стоит сохранить ID и проверить существующее задание, если API это позволяет.

Что проверить до выпуска

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

Инструмент для подготовки запуска

Launch Control Desk помогает собрать проверки, риски, ответственных и подтверждения перед выпуском. В нём можно записать такой сценарий, ожидаемый результат, итог проверки и зависимость от обработчика.
В комплекте локальное приложение RU/EN, инструкции и примеры. Распакуйте ZIP и откройте index.html. Рабочие данные хранятся локально; JSON-копии выгружайте отдельно. Инструмент помогает вести проверку, а результаты испытаний вы вносите сами.
Цена — 1 190 ₽ разово, без обязательной подписки внутри приложения.
Купить Launch Control Desk:
https://boosty.to/swiftuidev/posts/68708fd5-1dad-4ed3-ac0c-3356d796a00f?utm_source=boosty&utm_medium=post&utm_campaign=engineering_20261023
Я Даниил Корнилов, автор Kornilov Tools. Подпишитесь на блог и Telegram: разбираю ошибки в интерфейсах, работу с данными и подготовку небольших продуктов к запуску.
https://t.me/SwiftUIDaily
Где в вашем продукте «успешно» пока означает только «поставлено в очередь»?
Subscription levels2

Kornilov Tools · Library

$13 per month
Доступ к постам уровня Library при активной подписке. 990 ₽/месяц с продлением по правилам Boosty. SwiftUI Archive — отдельный уровень за 1900 ₽/месяц. Разовая покупка доступна в постах с указанной ценой. Скачанные файлы — по прежним условиям; онлайн-доступ действует во время подписки. Состав инструментов: https://pease163.github.io/digital-products/. Поддержка — сообщения автору. Обновления файлов — в постах продуктов по мере выпуска.

Kornilov Tools · SwiftUI Archive

$25 per month
Исторические материалы SwiftUI: PDF и Markdown с примерами архитектуры и отдельных частей приложения.
Готовый Xcode-проект в сохранённом комплекте отсутствует. Код нужно проверить и адаптировать.
1900 ₽/месяц: доступ к материалам уровня во время активной подписки. Скачанные файлы — по прежним условиям.
Права прежних покупателей сохраняются. Обновления — по мере выпуска. Поддержка: сообщения автору Boosty.
Go up