1
00:00:00,000 --> 00:00:10,570
Представь: я создал торгового бота. В первый же день он заработал мне целых 11 долларов на двух сделках. Винрейт 100%!

2
00:00:10,820 --> 00:00:19,311
Ого, 100%? Звучит как начало истории успеха. Хотя на двух сделках это, конечно, скорее удача.

3
00:00:19,711 --> 00:00:28,402
Именно! Довольный собой, я решил внести крошечное улучшение в код и перезапустил сервис. Что могло пойти не так?

4
00:00:28,652 --> 00:00:34,543
Классика. «Просто поправлю одну строчку». Обычно после этого всё и начинается.

5
00:00:34,943 --> 00:00:44,394
Возвращаюсь через час, чтобы полюбоваться на свою прибыль, а на дашборде... нули. Абсолютно везде. Статистика девственно чиста.

6
00:00:44,644 --> 00:00:50,175
Твои 11 долларов испарились? Как будто и не было никакой победы?

7
00:00:50,575 --> 00:01:01,026
Именно! Я в панике полез в базу данных. И что ты думаешь? Сделки на месте, прибыль $11.53 записана.

8
00:01:01,276 --> 00:01:07,807
Подожди. То есть данные были, но бот их просто не видел? Он как будто... забыл о них?

9
00:01:08,207 --> 00:01:17,298
Точно! И тут до меня дошло. Это классическая проблема разницы между хранилищем (базой данных) и оперативной памятью.

10
00:01:17,548 --> 00:01:24,439
А, то есть история сделок жила только в оперативной памяти, и при перезапуске просто стиралась?

11
00:01:24,689 --> 00:01:35,100
Да. База данных всё помнит, как вечный архив. А переменная в коде — это как записка на стикере, которая улетает при первом сквозняке.

12
00:01:35,500 --> 00:01:44,471
Проблема была в том, что я забыл дописать логику, которая при старте загружает историю закрытых сделок из базы обратно в память.

13
00:01:44,721 --> 00:01:48,012
И сколько времени занял фикс этой «катастрофы»?

14
00:01:48,262 --> 00:01:54,633
15 минут и 30 строчек кода. Самые важные 30 строчек, как оказалось.

15
00:01:55,033 --> 00:02:05,004
Для личного проекта это забавно. Но представь, что инвестор в коммерческом сервисе видит, что вся его история успеха обнулилась.

16
00:02:05,254 --> 00:02:13,745
Он не будет разбираться в базах данных. Он просто решит, что сервис сломан, и уйдёт навсегда. Доверие потеряно.

17
00:02:14,145 --> 00:02:23,676
Из этой истории я вынес несколько правил. Во-первых, всё важное нужно немедленно писать в постоянное хранилище, например, в базу данных.

18
00:02:23,926 --> 00:02:29,817
Во-вторых, при каждом запуске нужно восстанавливать это состояние из хранилища.

19
00:02:30,067 --> 00:02:37,358
И в-третьих, нужно специально «убивать» свой сервис и проверять, что после перезапуска всё на месте.

20
00:02:37,608 --> 00:02:45,219
Проще говоря: всегда исходи из того, что твой бот может внезапно всё забыть, и подстели соломки.

