Рубрика «бд»

FYI: this article is an expanded version of my talk at SQA Days #25.

Based on my experience with colleagues, I can state: DB code testing is not a widely spread practice. This can be potentially dangerous. DB logic is written by human beings just like all other «usual» code. So, there can be failures which can cause negative consequences for a product, business or users. Whether these are stored procedures helping backend or it is ETL modifying data in a warehouse — there is always a risk and testing helps to decrease it. I want to tell you what tSQLt is and how it helps us to test DB code.

Testing SQL Server code with tSQLt - 1

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

FYI: эта статья представляет собой дополненную версию моего доклада на SQA Days #25.

Опираясь на свой опыт общения с коллегами, могу утверждать: тестирование кода в БД не является распространённой практикой. Это может нести в себе потенциальную опасность. Логику в БД пишут такие же люди, какие пишут «обычный» код. Следовательно, там так же могут присутствовать ошибки, и они так же могут повлечь за собой негативные последствия для продукта, бизнеса и потребителей. Неважно, идёт ли речь о хранимых процедурах, помогающих бэкенду, или о ETL, преобразующих данные в хранилище — риск есть, и тестирование может его существенно снизить. О том, что такое tSQLt и как оно помогает нам в тестировании кода в SQL Server, я и хочу вам рассказать.

Тестируем SQL Server код с tSQLt - 1

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

Роковые 43 секунды, которые вызвали суточную деградацию сервиса

На прошлой неделе в GitHub произошёл инцидент, который привёл к деградации сервиса на 24 часа и 11 минут. Инцидент затронул не всю платформу, а только несколько внутренних систем, что привело к отображению устаревшей и непоследовательной информации. В конечном счете данные пользователей не были потеряны, но ручная сверка нескольких секунд записи в БД выполняется до сих пор. На протяжении почти всего сбоя GitHub также не мог обрабатывать вебхуки, создавать и публиковать сайты GitHub Pages.

Все мы в GitHub хотели бы искренне извиниться за проблемы, которые возникли у всех вас. Мы знаем о вашем доверии GitHub и гордимся созданием устойчивых систем, которые поддерживают высокую доступность нашей платформы. С этим инцидентом мы вас подвели и глубоко сожалеем. Хотя мы не можем отменить проблемы из-за деградации платформы GitHub в течение длительного времени, но можем объяснить причины произошедшего, рассказать об усвоенных уроках и о мерах, которые позволят компании лучше защититься от подобных сбоев в будущем.
Читать полностью »

Сегодня после нескольких попыток создания Issue и записи комментариев к уже существующими — столкнулся с тем что запись/комментарий визуально отображаются а после перезагрузки — пропадают.

На GitHub произошёл сбой БД - 1

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

Про хранение паролей в БД - 1

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

Приветствую! Сегодня я хочу рассказать о функциях нашего онлайн сервиса MyTaskHelper, который можно использовать для создания реляционных баз данных.

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

Не буду долго разглагольствовать и покажу примеры связей (один к одному, один ко многим, многие ко многим), реализованных в системе MyTaskHelper.

Для наглядности создаем несколько таблиц с данными. Пусть это будет:

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

Добрый день, уважаемые коллеги, пользователи и критики! Сервис MyTaskHelper предоставляет своим клиентам возможности и функционал для реализации sms- и e-mail рассылок. В этой статье мы детально (с примерами и скриншотами) расскажем о вариантах организации только email-уведомлений и рассылок. Что же касается sms-рассылок и уведомлений, то они создаются аналогичным образом.

У клиентов MTH имеется 2 возможности:

  1. Отправлять автоматизированные сообщения при тех или иных манипуляциях с веб-формой или базой данных;
  2. Генерировать рассылки как по собранной посредством веб-форм, так и по импортированной базе контактов клиентов или партнеров.

Напомню, что во всех CMS в той или иной мере имеется возможность настроить e-mail-уведомления различных типов. А вот с функцией e-mail-рассылок туговато и для того, чтобы вести эффективные и массовые рассылки, придется заводить аккаунт на каком-либо специализированном сайте. Но в MTH реализованы обе опции и даже те, кто зарегистрировался в системе и укладывается в лимиты бесплатного аккаунта (см. страницу с ценами) смогут в полной мере оценить удобство интеграции обеих функций в одной системе.

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

Приветствую, уважаемые читатели! Сегодня в блоге компании MyTaskHelper я расскажу об одной востребованной функции сервиса. Речь идет о действиях по условию (триггерах).

Действие по условию представляет собой выполнение определенных действий при соблюдении заранее заданных условий (критериев).

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

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

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

Давайте сделаем такую форму с помощью нашего сервиса MyTaskHelper. Переходим в меню «Формы» → «Создать новую форму» → «Создать форму с нуля». Здесь же вводим необходимое название будущей веб-формы. У нас это «Заказ товара с доставкой» (Рис.1).
Читать полностью »

image

Я присоединился к команде Facebook в 2011 году в качестве инженера бизнес-аналитика. К моменту, когда я покинул команду в 2013 году я уже был дата-инженером.

Меня не продвигали или назначали на эту новую позицию. Фактически, Facebook пришла к выводу, что выполняемая нами работа является классической бизнес-аналитикой. Роль, которую в итоге мы для себя создали, была полностью новой дисциплиной, а я и моя команда находились на острие этой трансформации. Мы разрабатывали новые подходы, способы решения задач и инструменты. При этом, чаще всего, мы игнорировали традиционные методы. Мы были пионерами. Мы были дата-инженерами!

Дата-инжиниринг?

Наука о данных как самостоятельная дисциплина переживает период отроческого самоутверждения и определения себя. В тоже время дата-инжиниринг можно было назвать ее «младшим братом», который тоже проходил через нечто подобное. Дата-инжиниринг принимал от своего «старшего родственника» сигналы, искал свое место и собственную идентичность. Как и ученые, занимающиеся обработкой данных, дата-инженеры тоже пишут код. Он является высокоаналитическим, с большой долей визуализации.

Но в отличие от ученых, работающих с данными и вдохновленными более зрелым прародителем сферы — программированием — дата-инженеры создают собственные инструменты, инфраструктуру, фреймворки и сервисы. На самом деле, мы намного ближе к программированию, чем к науке о данных.
Читать полностью »


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