Бездумная эпидемия

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

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

Позвольте мне привести вам простой пример.

Мне приходится работать с большим количеством данных, и большая часть того, что я делаю в последнее время, — это извлечение новых источников данных и их объединение с нашими существующими флагманскими данными. Это приносит новые идеи и новые возможности для более быстрого и эффективного анализа вещей.

В некоторых случаях мне приходится использовать определенный инструмент для работы, и в этом примере вариантом использования был Postgres. Видите ли, наш инструмент ETL изначально не подключается к ShipStation, и нам нужно было надежно извлекать некоторые данные из этой платформы в базу данных, которую можно было бы обновлять ежедневно. После этого обновления создаются обновленные отчеты, которые рассылаются клиентам, чтобы информировать их о текущем состоянии их кампаний.

Мне удалось найти способ надежно получать данные с корабля в режиме реального времени, а затем я смог загрузить устаревшие данные в таблицу в Postgres. Однако при создании представлений для панели мониторинга я столкнулся с проблемой.

Данные не могли обновляться каждый день из-за ограничения типов данных полей. По сути, у меня было поле, которое должно было быть FLOAT, когда оно хранилось как STRING в базе данных. Преобразование в числовой тип данных изначально нарушало возможность обновления. Так что это не буэно. Это побеждает весь вариант использования того, что было построено.

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

Поле «[Элемент — Кол-во]» представляет собой строку, и оно должно быть непрерывной мерой для получения желаемых диаграмм. Итак, вот решение, которое я нашел: если вы оберните это поле функцией FLOAT, а затем функцией SUM, оно сработает.

SUM(FLOAT([Элемент — Кол-во]))

Просто, я знаю. Но в этом вся суть!

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

Глупо, что я должен продолжать учить этот урок, вы могли бы подумать, что достаточно ночей до полуночи, пытаясь решить проблему только для того, чтобы решить ее утром с первой попытки, это научило бы меня, но эй, мы существа привычки.

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