Все о триггерах в Oracle

Автор: admin от 26-04-2015, 23:35, посмотрело: 665

Традиционно статья написана тезисно. Более подробное содержание можно найти в приложенном внизу статьи видео с записью лекции про триггеры Oracle.

  • Общие сведения о триггерах Oracle

  • DML triggers

    • Псевдозаписи

    • Instead of dml triggers

    • Instead of triggers on Nested Table Columns of Views.

    • Составные DML триггера (compound DML triggers)

      • Структура составного триггера


    • Основные правила определения DML триггеров

    • Ограничения DML триггеров

    • Ошибка мутирования таблицы ORA-04091


  • Системные триггеры (System triggers)

    • Триггеры уровня схемы (schema triggers)

    • Триггеры уровня базы данных (database triggers)

    • Instead of create triggers

    • Атрибуты системных триггеров

    • События срабатывания системных триггеров


  • Компиляция триггеров

  • Исключения в триггерах

  • Порядок выполнения триггеров

  • Включение/отключение триггеров

  • Права для операций с триггерами

  • Словари данных с информацией о триггерах


Все шокирующие подробности про триггеры в Oracle

Категория: Админитстрирование » Системное администрирование

 

Джеф Атвуд: «Ваш пароль слишком короткий!»

Автор: admin от 26-04-2015, 23:32, посмотрело: 456

Я уже устал писать про пароли. Но как и налоги, электронная почта и красные глаза, они никуда не денутся. Что я могу сказать, исходя из опыта:


  • неважно, что вы скажете пользователям, они будут выбирать простые пароли

  • и они будут использовать один и тот же пароль везде. Если повезёт – два пароля



Что с этим можно сделать разработчику?


  • прекратите требовать пароли и разрешите авторизацию через Google, Facebook, Twitter, Yahoo или любой другой сервис. Лучший пароль – тот, который не нужно хранить.

  • поощряйте браузеры к поддержке автоматических встроенных систем создания и управления паролями. В идеале – поддерживаемых и операционками, но тут уже требуется всеобщая привязка к облачным технологиям. В эту сторону двигается Chrome.

  • пинайте юзеров, когда они вводят:

    • слишком короткие пароли: UY7dFd

    • пароли с минимумом энтропии: aaaaaaaaa

    • пароли из словаря: anteaters1



Категория: Веб-разработка, Информационная безопасность

 

Microsoft SQL Server Data Tools

Автор: admin от 26-04-2015, 23:11, посмотрело: 2053

В данной статье хотел бы рассказать про набор полезных дополнений к Visual Studio, которые могут в значительной мере облегчить разработку баз данных на основе MS SQL Server.
Основными преимуществами использования SSDT я бы выделил следующее:

  • возможность простого изменения (refactoring) схемы базы (можно переименовать колонку таблицы и все Views, Functions и Stored Procedures ссылающиеся на неё автоматически будут исправлены для отражения изменений)

  • создание юнит тестов для базы данных

  • хранение структуры базы данных в Source Control

  • сравнение схемы/данных c возможностью генерации скрипта для приведения схемы/данных к требуемому состоянию


Безусловно на этом плюсы использования SSDT не заканчиваются, но остальное не так сильно впечатляет, как то, что упомянуто выше. Если вас интересует, как воспользоваться этими и другими преимуществами — прошу под кат.

Категория: Программирование, Microsoft

 

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №157 (20 — 26 апреля 2015)

Автор: admin от 26-04-2015, 23:11, посмотрело: 412

Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №157 (20 — 26 апреля 2015)

Категория: Программирование » Веб-разработка

 

Генетический алгоритм для решения оптимизационной задачи размещение вершин графа на линейке

Автор: admin от 26-04-2015, 20:18, посмотрело: 1008

В данной работе рассматривается решение оптимизационной задачи размещение вершин графа на линейке. Проведен анализ и разбор задачи. Предоставлена схема генетического алгоритма. Описаны особенности алгоритма такие как: кодирование решений, оператор рекомбинации и параметры генетического алгоритма. Были проведены экспериментальные исследование по определению эффективности предложенного алгоритма. Исследования позволяют сделать вывод, что предложенный алгоритм может находить оптимальные или квазиоптимальные решения за полиномиальное время.

Введине


Задача размещения вершин графа на линейке является NP-полной[1]. Это означает то, что на данный момент не существует универсального алгоритма, который мог бы находить решение за полиномиальное время.
Данная задача имеет теоретическую ценность теории алгоритмов. Ее ценность заключается в том, что если будет найдет «полиномиально быстрый» алгоритм решение данной задачи, то и любая другая задача из класса NP может быть решена также «быстро», а это в свою очередь докажет равенство классов Генетический алгоритм для решения оптимизационной задачи размещение вершин графа на линейке и Генетический алгоритм для решения оптимизационной задачи размещение вершин графа на линейке. До недавнего времени не существовало эффективного метода поиска решений NP-полных задач. С появлением эволюционного моделирование стало возможно находить квазиоптимальные решение за «приемлемое время».

Категория: Программирование

 

PHP-Дайджест № 61 – интересные новости, материалы и инструменты (13 – 26 апреля 2015)

Автор: admin от 26-04-2015, 20:06, посмотрело: 485

PHP-Дайджест № 61 – интересные новости, материалы и инструменты (13 – 26 апреля 2015)

Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

Приятного чтения!

Категория: Программирование, Веб-разработка

 

Контейнер в linux, linux в egg, egg в python

Автор: admin от 26-04-2015, 19:27, посмотрело: 557

Контейнер в linux, linux в egg, egg в python

Hello, {{username}}

Я DevOps и очень люблю Linux. Понятное дело, что с такой связкой я просто не мог не полюбить LinuX Containers (тем более, что BSD и Solaris давно радуют аналогичными возможностями своих пользователей).

Естественно, бизнес тоже увидел привлекательную возможность и программы для управления контейнерами стали расти и множиться: docker , rocket, vagga, lxc, systemd-nspawn, etc…

Docker стал стандартом де-факто в первую очередь благодаря системе создания и доставки контента. Но главный демон докера запускается от root, и, на мой взгляд, это минус этого проекта (Пруф).

Rocket и vagga пошли другим путем, и путь этот носит название unprivileged containers. Вам больше не нужны root привилегии, чтобы запустить процесс в новых namespaces, и это открывает интересные перспективы для построения тестовых площадок и безопасного окружения.

Но во всех этих проектах есть один фатальный недостаток: они все написаны с использованием c, go и rust, а я люблю python и не могу поучаствовать в их разработке. Согласитесь, довольно обидно пропускать все веселье.

Так что под катом вас ждет библиотека для запуска процессов в новых linux user namespaces:

Категория: Операционные системы » Linux

 

Material Design. Динамический Toolbar на живом примере

Автор: admin от 26-04-2015, 18:38, посмотрело: 1603

Уверен, что те, кто следят за изменениями в мире Android, заметили, что Toolbar начинает играть в приложениях всё более значимую роль. Например в последней версии Gmail клиента в Toolbar вынесен почти весь функционал по работе с почтой, а в новом Google Chrome Toolbar отвечает за работу с текстом страниц.

В данной статье я постараюсь рассказать о создании динамического Toolbar, который позволит пользователю работать с контентом четырьмя различными способами в рамках одного Activity. Мы рассмотрим весь процесс разработки Toolbar-a начиная с xml файлов стилей и заканчивая анимацией иконок, а в конце статьи я оставлю ссылку на GitHub репозиторий с примером полностью рабочего приложения.

Категория: Веб-разработка, Android

 

Cовременный подход к HTTP с PHPixie и PSR-7

Автор: admin от 26-04-2015, 16:29, посмотрело: 737

Cовременный подход к HTTP с PHPixie и PSR-7
Стандартный PHP API для работы с HTTP запросами давно устарел. Программисты научились не использовать глобальные переменные, но стандартные суперглобалы как $_GET, $_SERVER все еще напоминают нам о далеком прошлом. Конечно фреймворки инкапсулируют эту информацию в свои RequestResponse классы, но таких реализаций очень много и пока еще не было единственного стандарта. Стандарт PSR-7 от PHP-FIG как раз должен привести репрезентацию HTTP протокола к единственному знаменателю что позволит писать Middleware который будет работать сразу на многих фреймворках. Он пока еще не принят, но досрочное голосование показало практически единоголосную поддержку нового стандарта. PHPixie готовясь к релизу версии 3.0 уже приняла и имплементировала PSR-7, а также предоставляет обертки для упрощенной работы с интерфейсом. Если вы хотите создать свой микрофреймворк то взяв PHPixie HTTP за основу, сможете добиться результатов уже за один вечер.

Категория: Программирование, Веб-разработка

 

Мы закрываем проект CppCat

Автор: admin от 26-04-2015, 16:13, посмотрело: 634

Мы закрываем проект CppCat
Чуть больше года назад, мы решили провести эксперимент и выпустить альтернативу статического анализатора кода PVS-Studio для маленьких команд и индивидуальных разработчиков. Так появился очень недорогой анализатор под названием CppCat. Сейчас можно подвести итоги этого эксперимента и признать, что он оказался неудачным. За срок чуть более года он принёс приблизительно столько денег, сколько было потрачено на его разработку, продвижение и поддержку. Таким образом проект убыточен. Ведь потраченное время (самый ценный ресурс) мы могли бы использовать для совершенствования PVS-Studio. Мы вынуждены закрыть проект CppCat и сосредоточиться на PVS-Studio. Надеюсь, читателям будет интересен чужой опыт в реализации новой бизнес идеи. Негативный опыт — это тоже полезный опыт.

Категория: Программирование, Веб-разработка, Windows

 
Назад Вперед