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

Сегодня посмотрим, как лучше всего хранить пароли в базе данных и как известные платформы решают эту задачу.
Читать полностью »
Приветствую! Сегодня я хочу рассказать о функциях нашего онлайн сервиса MyTaskHelper, который можно использовать для создания реляционных баз данных.
Напомню, что в момент создания веб-формы в сервисе MTH в автоматическом режиме генерируется база данных, в которую будет сохраняться информация, добавляемая в проект посредством формы. Но если у большинства наших конкурентов дело этим и ограничивается, то мы пошли дальше и реализовали реляционную модель данных.
Не буду долго разглагольствовать и покажу примеры связей (один к одному, один ко многим, многие ко многим), реализованных в системе MyTaskHelper.
Для наглядности создаем несколько таблиц с данными. Пусть это будет:
Добрый день, уважаемые коллеги, пользователи и критики! Сервис MyTaskHelper предоставляет своим клиентам возможности и функционал для реализации sms- и e-mail рассылок. В этой статье мы детально (с примерами и скриншотами) расскажем о вариантах организации только email-уведомлений и рассылок. Что же касается sms-рассылок и уведомлений, то они создаются аналогичным образом.
У клиентов MTH имеется 2 возможности:
Напомню, что во всех CMS в той или иной мере имеется возможность настроить e-mail-уведомления различных типов. А вот с функцией e-mail-рассылок туговато и для того, чтобы вести эффективные и массовые рассылки, придется заводить аккаунт на каком-либо специализированном сайте. Но в MTH реализованы обе опции и даже те, кто зарегистрировался в системе и укладывается в лимиты бесплатного аккаунта (см. страницу с ценами) смогут в полной мере оценить удобство интеграции обеих функций в одной системе.
Приветствую, уважаемые читатели! Сегодня в блоге компании MyTaskHelper я расскажу об одной востребованной функции сервиса. Речь идет о действиях по условию (триггерах).
Действие по условию представляет собой выполнение определенных действий при соблюдении заранее заданных условий (критериев).
И прежде чем перейти к практической части, приведу 3-4 примера, по которым станет понятно, в каких случаях гибкая функция «Действия по условию» поможет решить запланированную задачу.
Данный пост посвящен детальному алгоритму создания любой многостраничной веб-формы. Казалось бы, что чем меньше элементов (полей, разделителей, секций и в конце концов станиц) на форме, тем лучше и в плане юзабилити и в смысле конверсии. Но бывает, что упростить формы не удается и приходится прибегать к их разбиению на несколько страниц. К примеру, такое может понадобиться при заполнении длинной анкеты-вопросника, оформлении заявки на приобретение товара, добавлении информации о сотруднике в базу данных отдела кадров.
Давайте сделаем такую форму с помощью нашего сервиса MyTaskHelper. Переходим в меню «Формы» → «Создать новую форму» → «Создать форму с нуля». Здесь же вводим необходимое название будущей веб-формы. У нас это «Заказ товара с доставкой» (Рис.1).
Читать полностью »

Я присоединился к команде Facebook в 2011 году в качестве инженера бизнес-аналитика. К моменту, когда я покинул команду в 2013 году я уже был дата-инженером.
Меня не продвигали или назначали на эту новую позицию. Фактически, Facebook пришла к выводу, что выполняемая нами работа является классической бизнес-аналитикой. Роль, которую в итоге мы для себя создали, была полностью новой дисциплиной, а я и моя команда находились на острие этой трансформации. Мы разрабатывали новые подходы, способы решения задач и инструменты. При этом, чаще всего, мы игнорировали традиционные методы. Мы были пионерами. Мы были дата-инженерами!
Наука о данных как самостоятельная дисциплина переживает период отроческого самоутверждения и определения себя. В тоже время дата-инжиниринг можно было назвать ее «младшим братом», который тоже проходил через нечто подобное. Дата-инжиниринг принимал от своего «старшего родственника» сигналы, искал свое место и собственную идентичность. Как и ученые, занимающиеся обработкой данных, дата-инженеры тоже пишут код. Он является высокоаналитическим, с большой долей визуализации.
Но в отличие от ученых, работающих с данными и вдохновленными более зрелым прародителем сферы — программированием — дата-инженеры создают собственные инструменты, инфраструктуру, фреймворки и сервисы. На самом деле, мы намного ближе к программированию, чем к науке о данных.
Читать полностью »

За последнее десятилетие мы разработали и усовершенствовали несколько методов, которые позволяют дизайну баз данных эволюционировать параллельно с разработкой приложения.
Это очень ценное свойство гибких методологий. Методы опираются на применение непрерывной интеграции и автоматизированного рефакторинга к разработке баз данных, а также на тесное взаимодействие между разработчиками приложений и администраторами БД. Эти методы работают как в препродакшн и в уже стартовавших системах, в свежих проектах без легаси, так и в унаследованных системах.
В последнее десятилетие мы наблюдаем рост гибких методологий. По сравнению со своими предшественниками, они изменяют требования к дизайну баз данных. Одно из важнейших среди требований – идея эволюционной архитектуры. В гибком проекте вы предполагаете, что не можете заранее поправить требования системы. В результате, иметь детализированную, четкую стадию дизайна в начале проекта становится непрактично. Архитектура системы должна эволюционировать одновременно с итерациями софта. Гибкие методы, в частности, экстремальное программирование (XP), имеют набор методик, которые делают эту эволюционную архитектуру практичной.Читать полностью »
На счёт БД на первый взгляд может показаться, что функциональность из коробки весьма скудная. Отчасти это правда, но компенсируется тем, арсенал очень хорошо продуман, решает поставленные задачи и ориентирован на производительность.
А если вам нужны более функциональные инструменты — их всегда можно до установить по вкусу, это гораздо проще чем выпилить сложного медлительного монстра.
Данная статья покажет основные интерфейсы, а трейты csCRUD и csCRUD_helpers останутся на другой раз.
В данной теме я затрону 6 нормальных форм и методы приведения таблиц в эти формы.
Процесс проектирования БД с использование метода НФ является итерационным и заключается в последовательном переводе отношения из 1НФ в НФ более высокого порядка по определенным правилам. Каждая следующая НФ ограничивается определенным типом функциональных зависимостей и устранением соответствующих аномалий при выполнении операций над отношениями БД, а также сохранении свойств предшествующих НФ.
Читать полностью »

Страховые — третьи после банков и сотовых операторов потребители «тяжелого» IT-железа. На момент начала работ ситуация была такая: в офисе одной компании стояла их центральная серверная (напоминающая небольшой машзал дата-центра), и в ней, в целом, всё прекрасно работало.
Проблема была в том, что место под стойки (и в самих стойках) в серверной кончилось ещё 2 года назад. В других двух ЦОДах место было, а вот здесь — нет.
Вторая проблема в том, что основная база продакшна лежала на 149 томах, физически — как швейцарский сыр в серверах. Обусловлено это было тем, что когда требовалось её увеличить, находили первую свободную дырку в физических дисках и пихали туда. Между томами базы могли находиться базы других проектов, ПО, разные временные файлы и так далее. В общем, нужно было наводить порядок. Читать полностью »