Сама себе разработчица — оправдываю название канала⌨️
Месяца три назад рассказывала вам, как хотела за час навайбкодить приложение для учёта перелётов. Там получилась заготовка Python-приложения на Plotly+Dash (у второго под капотом Flask), которое в теории можно деплойнуть на настоящем сервере. Такой опыт даже у меня был в рамках написания дипломной работы в бакалавриате в далёком 2021 году (тогда даже не было этого вашего ИИ в таком виде)👀
Ситуация получила неожиданное продолжение, и за месяц на новой работе я уже дважды вайбкодила небольшие веб-приложения😐 По сути мне сказали автоматизировать некий юзкейс наших данных (да что уж там, генерацию выписки по транзакциям конкретного арендатора или арендодателя). Изначально ad hoc задача, которая была полезна и для понимания данных, но всё-таки и бизнесово небесполезная.
Сегодня я хочу не просто похвастаться этим фактом, а рассказать вам (как минимум, ради кругозора) про Google Cloud Run🤩☁️
Disclaimer: для работы с Google Cloud Run нужно будет создать там платёжный аккаунт. Несмотря на наличие бесплатного периода, скорее всего, нужна зарубежная банковская карта.
В целом же я двигалась итеративно и не без обращения к ИИ:
😲 Сначала я подготовила в colab ноутбуке работающий с нашей BigQuery базой данных скрипт для своей задачи и протестировала его, в том числе ту часть, где табличка с обработанными данными превращается в Markdown-отчёт.
1️⃣ Узнала, как из этого корректно сделать html, а затем и PDF-файл — тут уже помогла ChatGPT, либа называется weasyprint
2️⃣ Попросила ChatGPT сделать из этого простейшее Flask-приложение, закинула код через интерфейс в приватный репозиторий на гитхабе. Пользовалась официальной инструкцией для быстрого старта и ИИ-саммари — в теории это всё можно было провернуть и без docker, Cloud Run умеет делать простейшую сборку из репозитория сам.
3️⃣ НО бывают и нюансы, а именно, оказалось, что weasyprint недостаточно прописать в стандартном requirements.txt, будет системная ошибка при сборке, так как это не самый типичный пакет. Поэтому пришлось навайбкодить Dockerfile🐳
4️⃣ Теперь моё приложение пересобиралось при каждом коммите в репозиторий, я его ещё немного подебажила и доработала, добавив форму для выбора дат, ввода имени для генерации выписки и две кнопки — предпросмотр и сразу загрузить PDF на компьютер. Получилось не особо красивое, но вполне валидное веб-приложение, своего рода MVP.
5️⃣ Последний, но очень важный штрих — информационная безопасность🤵 Если оставить такой веб-сервис открытым для всех по ссылке, он вполне может вскоре проиндексироваться, а в SQL-инъекциях приятного мало — ведь я хожу в базу с реальными данными. К счастью, у гугла и на это нашлось готовое решение в виде авторизации через Identity Aware Proxy, я добавила в белый список рабочий домен, и там теперь окошко логина через гугл, которое с личной почты не пустит👩 Profit!
➡️ Мой опыт, конечно, не является универсальным, но я была приятно удивлена возможностями стека Google Cloud, который не на слуху, а задачу решил быстро и безболезненно.
В следующей части расскажу, почему я как аналитик вообще таким занимаюсь, и как на это повлиял тренд на вайбкодинг🌟
#хардов_пост
@analytess 👩
Месяца три назад рассказывала вам, как хотела за час навайбкодить приложение для учёта перелётов. Там получилась заготовка Python-приложения на Plotly+Dash (у второго под капотом Flask), которое в теории можно деплойнуть на настоящем сервере. Такой опыт даже у меня был в рамках написания дипломной работы в бакалавриате в далёком 2021 году (тогда даже не было этого вашего ИИ в таком виде)👀
Ситуация получила неожиданное продолжение, и за месяц на новой работе я уже дважды вайбкодила небольшие веб-приложения😐 По сути мне сказали автоматизировать некий юзкейс наших данных (да что уж там, генерацию выписки по транзакциям конкретного арендатора или арендодателя). Изначально ad hoc задача, которая была полезна и для понимания данных, но всё-таки и бизнесово небесполезная.
Сегодня я хочу не просто похвастаться этим фактом, а рассказать вам (как минимум, ради кругозора) про Google Cloud Run🤩☁️
Disclaimer: для работы с Google Cloud Run нужно будет создать там платёжный аккаунт. Несмотря на наличие бесплатного периода, скорее всего, нужна зарубежная банковская карта.
В целом же я двигалась итеративно и не без обращения к ИИ:
😲 Сначала я подготовила в colab ноутбуке работающий с нашей BigQuery базой данных скрипт для своей задачи и протестировала его, в том числе ту часть, где табличка с обработанными данными превращается в Markdown-отчёт.
1️⃣ Узнала, как из этого корректно сделать html, а затем и PDF-файл — тут уже помогла ChatGPT, либа называется weasyprint
2️⃣ Попросила ChatGPT сделать из этого простейшее Flask-приложение, закинула код через интерфейс в приватный репозиторий на гитхабе. Пользовалась официальной инструкцией для быстрого старта и ИИ-саммари — в теории это всё можно было провернуть и без docker, Cloud Run умеет делать простейшую сборку из репозитория сам.
3️⃣ НО бывают и нюансы, а именно, оказалось, что weasyprint недостаточно прописать в стандартном requirements.txt, будет системная ошибка при сборке, так как это не самый типичный пакет. Поэтому пришлось навайбкодить Dockerfile🐳
4️⃣ Теперь моё приложение пересобиралось при каждом коммите в репозиторий, я его ещё немного подебажила и доработала, добавив форму для выбора дат, ввода имени для генерации выписки и две кнопки — предпросмотр и сразу загрузить PDF на компьютер. Получилось не особо красивое, но вполне валидное веб-приложение, своего рода MVP.
5️⃣ Последний, но очень важный штрих — информационная безопасность🤵 Если оставить такой веб-сервис открытым для всех по ссылке, он вполне может вскоре проиндексироваться, а в SQL-инъекциях приятного мало — ведь я хожу в базу с реальными данными. К счастью, у гугла и на это нашлось готовое решение в виде авторизации через Identity Aware Proxy, я добавила в белый список рабочий домен, и там теперь окошко логина через гугл, которое с личной почты не пустит👩 Profit!
➡️ Мой опыт, конечно, не является универсальным, но я была приятно удивлена возможностями стека Google Cloud, который не на слуху, а задачу решил быстро и безболезненно.
В следующей части расскажу, почему я как аналитик вообще таким занимаюсь, и как на это повлиял тренд на вайбкодинг🌟
#хардов_пост
@analytess 👩