Аналитесса-разработчица👩🏻💻💅🏻
@analytess
Сама себе разработчица — оправдываю название канала
Месяца три назад рассказывала вам, как хотела за час навайбкодить приложение для учёта перелётов. Там получилась заготовка Python-приложения на Plotly+Dash (у второго под капотом Flask), которое в теории можно деплойнуть на настоящем сервере. Такой опыт даже у меня был в рамках написания дипломной работы в бакалавриате в далёком 2021 году (тогда даже не было этого вашего ИИ в таком виде)
Ситуация получила неожиданное продолжение, и за месяц на новой работе я уже дважды вайбкодила небольшие веб-приложения По сути мне сказали автоматизировать некий юзкейс наших данных (да что уж там, генерацию выписки по транзакциям конкретного арендатора или арендодателя). Изначально ad hoc задача, которая была полезна и для понимания данных, но всё-таки и бизнесово небесполезная.
Сегодня я хочу не просто похвастаться этим фактом, а рассказать вам (как минимум, ради кругозора) про Google Cloud Run
Disclaimer:для работы с Google Cloud Run нужно будет создать там платёжный аккаунт. Несмотря на наличие бесплатного периода, скорее всего, нужна зарубежная банковская карта.
В целом же я двигалась итеративно и не без обращения к ИИ:
Сначала я подготовила в colab ноутбуке работающий с нашей BigQuery базой данных скрипт для своей задачи и протестировала его, в том числе ту часть, где табличка с обработанными данными превращается в Markdown-отчёт.
Узнала, как из этого корректно сделать html, а затем и PDF-файл — тут уже помогла ChatGPT, либа называется weasyprint
Попросила ChatGPT сделать из этого простейшее Flask-приложение, закинула код через интерфейс в приватный репозиторий на гитхабе. Пользовалась официальной инструкцией для быстрого старта и ИИ-саммари — в теории это всё можно было провернуть и без docker, Cloud Run умеет делать простейшую сборку из репозитория сам.
НО бывают и нюансы, а именно, оказалось, что
Теперь моё приложение пересобиралось при каждом коммите в репозиторий, я его ещё немного подебажила и доработала, добавив форму для выбора дат, ввода имени для генерации выписки и две кнопки — предпросмотр и сразу загрузить PDF на компьютер. Получилось не особо красивое, но вполне валидное веб-приложение, своего рода MVP.
Последний, но очень важный штрих — информационная безопасность Если оставить такой веб-сервис открытым для всех по ссылке, он вполне может вскоре проиндексироваться, а в SQL-инъекциях приятного мало — ведь я хожу в базу с реальными данными. К счастью, у гугла и на это нашлось готовое решение в виде авторизации через Identity Aware Proxy, я добавила в белый список рабочий домен, и там теперь окошко логина через гугл, которое с личной почты не пустит Profit!
Мой опыт, конечно, не является универсальным, но я была приятно удивлена возможностями стека Google Cloud, который не на слуху, а задачу решил быстро и безболезненно.
В следующей части расскажу, почему я как аналитик вообще таким занимаюсь, и как на это повлиял тренд на вайбкодинг
#хардов_пост
@analytess
Месяца три назад рассказывала вам, как хотела за час навайбкодить приложение для учёта перелётов. Там получилась заготовка Python-приложения на Plotly+Dash (у второго под капотом Flask), которое в теории можно деплойнуть на настоящем сервере. Такой опыт даже у меня был в рамках написания дипломной работы в бакалавриате в далёком 2021 году (тогда даже не было
Ситуация получила неожиданное продолжение, и за месяц на новой работе я уже дважды вайбкодила небольшие веб-приложения По сути мне сказали автоматизировать некий юзкейс наших данных (да что уж там, генерацию выписки по транзакциям конкретного арендатора или арендодателя). Изначально ad hoc задача, которая была полезна и для понимания данных, но всё-таки и бизнесово небесполезная.
Сегодня я хочу не просто похвастаться этим фактом, а рассказать вам (как минимум, ради кругозора) про Google Cloud Run

Disclaimer:
В целом же я двигалась итеративно и не без обращения к ИИ:
Сначала я подготовила в colab ноутбуке работающий с нашей BigQuery базой данных скрипт для своей задачи и протестировала его, в том числе ту часть, где табличка с обработанными данными превращается в Markdown-отчёт.
Узнала, как из этого корректно сделать html, а затем и PDF-файл — тут уже помогла ChatGPT, либа называется weasyprint
Попросила ChatGPT сделать из этого простейшее Flask-приложение, закинула код через интерфейс в приватный репозиторий на гитхабе. Пользовалась официальной инструкцией для быстрого старта и ИИ-саммари — в теории это всё можно было провернуть и без docker, Cloud Run умеет делать простейшую сборку из репозитория сам.
НО бывают и нюансы, а именно, оказалось, что
weasyprint недостаточно прописать в стандартном requirements.txt, будет системная ошибка при сборке, так как это не самый типичный пакет. Поэтому пришлось навайбкодить Dockerfile🐳Теперь моё приложение пересобиралось при каждом коммите в репозиторий, я его ещё немного подебажила и доработала, добавив форму для выбора дат, ввода имени для генерации выписки и две кнопки — предпросмотр и сразу загрузить PDF на компьютер. Получилось не особо красивое, но вполне валидное веб-приложение, своего рода MVP.
Последний, но очень важный штрих — информационная безопасность Если оставить такой веб-сервис открытым для всех по ссылке, он вполне может вскоре проиндексироваться, а в SQL-инъекциях приятного мало — ведь я хожу в базу с реальными данными. К счастью, у гугла и на это нашлось готовое решение в виде авторизации через Identity Aware Proxy, я добавила в белый список рабочий домен, и там теперь окошко логина через гугл, которое с личной почты не пустит Profit!
Мой опыт, конечно, не является универсальным, но я была приятно удивлена возможностями стека Google Cloud, который не на слуху, а задачу решил быстро и безболезненно.
#хардов_пост
@analytess
❤ 38
🔥 10
⚡ 9
8
🥰 1
1
13 22 2.1K
Обсуждение 13
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram