Рубрика «базы данных»

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

Парсинг (скрапинг) — автоматизированный сбор данных с сайтов. Технически всё выглядит просто: задаёшь условия, программа проходится по сайту, сортирует данные, выдаёт отчёт. Однако юридически могут возникать определенные риски.

Когда парсер проходится по сайту, он потенциально затрагивает сразу несколько правовых режимов:

Когда сервис поднимается по 8-15 минут, команда почти всегда начинает крутить одни и те же ручки: увеличивает initialDelaySeconds, добавляет startupProbe, поднимает progressDeadlineSeconds, иногда переносит миграцию в initContainer и считает, что стало «по-кубернетесному». Обычно это не лечение. Это способ аккуратнее завернуть проблему в YAML. Если тяжёлая миграция живёт внутри старта приложения, вы связали жизненный цикл Pod, rollout Deployment и поведение базы в один общий узел. А такие узлы в проде рвутся не там, где их ждут.

Есть очень узнаваемая картина. Новый релиз выкатывается нормально на staging, а в production внезапно «висит». kubectl get podsЧитать полностью »

Реализация автоудаления блокирующих сессий в MS SQL - 1

Привет! Меня зовут Евгений Грибков, я ведущий разработчик в центре технологий VK. В этой статье я покажу решение, к которому мы с коллегами пришли при работе над одной из наших внутренних систем.

Читать полностью »

Если ты разрабатываешь под Android и нужно сохранять информацию на телефоне, без базы данных не обойтись. В системе есть встроенная SQLite — бесплатно и надёжно, но есть минус: чтобы с ней работать, приходится писать SQL-запросы вручную, в коде разбирать объект Cursor и не забывать закрывать соединения. Я сам сталкивался с тем, что из-за такой возни появляются баги и тратится много времени.

Читать полностью »

Представьте: вы открываете Grafana в три часа ночи по алерту. На экране — 30 дашбордов, сотни графиков, и везде мигает жёлтым. CPU 60%, connections 50%, replication lag 500ms, bloat растёт, dead tuples накапливаются. Ни один показатель не пробил красную черту — но что-то явно идёт не так. База тормозит. Пользователи жалуются. А вы стоите перед этим океаном данных и пытаетесь понять: это уже пожар или ещё можно ждать до утра?

Это не гипотетическая история. Именно в такие моменты становится ясно: мониторинг PostgreSQL сломан на уровне концепции. Не потому что метрик мало — их избыток. Проблема в том, что нет единого ответа на вопрос «база здорова?».

Читать полностью »

Простой вопрос, который разделяет инженеров и «операторов фреймворков»

Тест для «сеньора»: в каком типе данных хранить номер паспорта? - 1

Я провёл больше ста технических собеседований. Разных: на джуна, мидла, сеньора, системных аналитиков, бэкендеров, фуллстеков.

Читать полностью »

Всем привет! Меня зовут Константин, я backend разработчик на python. В последний год я разработал несколько больших проектов. В этой статье я хочу рассказать как я начинал работать с базой данных и как я решил свою проблему все время терять контекст.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js