Содержание

Слайд 7










❤ ❤ ❣ ❦ ❥ ❀ ❤ ♣ ❤

Слайд 9

База данных

База данных

Слайд 13

Mojolicious::Plugin::Database

Mojolicious::Plugin::Database

Слайд 15

app->hepler(
db => sub {
DBI->connect(...)
}
);

app->hepler( db => sub { DBI->connect(...) } );

Слайд 16

my $dbh = DBI->connect(...);
app->hepler(
db => sub { $dbh }
);

my $dbh = DBI->connect(...); app->hepler( db => sub { $dbh } );

Слайд 18

Mojolicious::Plugin::Database

Mojolicious::Plugin::Database

Слайд 19

Mojolicious::Plugin::AnyData

Mojolicious::Plugin::AnyData

Слайд 20

Mojolicious::Plugin::AnyData

Mojolicious::Plugin::AnyData

Слайд 21

DBD::AnyData

DBD::AnyData

Слайд 22

DBD::AnyData

!

DBD::AnyData !

Слайд 23



БД

⇝ ☰ БД

Слайд 24



RAM

⇝ ☰ RAM

Слайд 25

==

RAM

БД

== RAM БД

Слайд 26

XML CSV HTML MP3 Weblog DBI

XML CSV HTML MP3 Weblog DBI

Слайд 27

XML CSV HTML MP3 Weblog DBI

SQL

XML CSV HTML MP3 Weblog DBI SQL

Слайд 28

Mojolicious

Mojolicious

Слайд 30

DBD::AnyData

DBD::AnyData

Слайд 32

Mojolicious::Plugin::AnyData

Mojolicious::Plugin::AnyData

Слайд 34

Ничего не ясно

Ничего не ясно

Слайд 37



RAM

☯ ↭ RAM

Слайд 40

{ таблица => [ [список полей], [запись1], [запись2], … ], }

{ таблица => [ [список полей], [запись1], [запись2], … ], }

Слайд 42

app->plugin(any_data => {
load_data => 'db.conf',
helper => 'db',
});

app->plugin(any_data => { load_data => 'db.conf', helper => 'db', });

Слайд 43

any_data (helper)
Почти экземпляр
DBD::AnyData

any_data (helper) Почти экземпляр DBD::AnyData

Слайд 44

1) Враппер
DBD::AnyData::func()

1) Враппер DBD::AnyData::func()

Слайд 45

1) Враппер
DBD::AnyData::func()
2) + Парочка своих
методов

1) Враппер DBD::AnyData::func() 2) + Парочка своих методов

Слайд 46

app->plugin(any_data => {
load_data => 'db.conf',
helper => 'db',
});

app->plugin(any_data => { load_data => 'db.conf', helper => 'db', });

Слайд 47

app->plugin(any_data => {
load_data => 'db.conf',
helper => 'db',
});

app->plugin(any_data => { load_data => 'db.conf', helper => 'db', });

Слайд 48

Mojolicious::Plugin::Database

Mojolicious::Plugin::Database

Слайд 49

$self->db->selectrow_hashref();

$self->db->selectrow_hashref();

Слайд 51

load_data

load_data

Слайд 52

app->plugin(any_data => {
load_data => 'db.conf',
helper => 'db',
});

app->plugin(any_data => { load_data => 'db.conf', helper => 'db', });

Слайд 53

app->plugin(any_data => {
load_data => HASH(0x95…),
helper => 'db',
});

app->plugin(any_data => { load_data => HASH(0x95…), helper => 'db', });

Слайд 54

$self->any_data
->load_data('db.conf');

$self->any_data ->load_data('db.conf');

Слайд 55

$self->any_data
->load_data('db.conf');

$self->any_data ->load_data('db.conf');

Слайд 57

app->plugin(any_data => {
func => […]
});

app->plugin(any_data => { func => […] });

Слайд 58

$self->any_data
->func([…]);

$self->any_data ->func([…]);

Слайд 59

func

Не падает с ошибкой

func Не падает с ошибкой

Слайд 60

func

Не падает с ошибкой
Перезаписывает таблицу

func Не падает с ошибкой Перезаписывает таблицу

Слайд 61

func

Не падает с ошибкой
Перезаписывает таблицу
Только ad_import, если вызван из хелпера (не из

func Не падает с ошибкой Перезаписывает таблицу Только ad_import, если вызван из хелпера (не из startup)
startup)

Слайд 62

Mojolicious::Plugin::AnyData

Mojolicious::Plugin::AnyData

Слайд 63

Работает только в development-режиме

Работает только в development-режиме

Слайд 64

app->mode('production')

app->mode('production')

Слайд 65

Mojolicious::Plugin::AnyData

uses perl data in the memory
like a database source

Mojolicious::Plugin::AnyData uses perl data in the memory like a database source

Слайд 66

Mojolicious::Plugin::AnyData

uses perl data in the memory
like a database source

In a development

Mojolicious::Plugin::AnyData uses perl data in the memory like a database source In a development mode only
mode only

Слайд 67

таблица => [ [список полей], [запись1], [запись2], … ],

① Создать тестовую

таблица => [ [список полей], [запись1], [запись2], … ], ① Создать тестовую БД в конфиге:
БД в конфиге:

Слайд 68

app->plugin(any_data => {
load_data => 'db.conf',
helper => 'db',
});

② Подключить плагин, загрузив

app->plugin(any_data => { load_data => 'db.conf', helper => 'db', }); ② Подключить
базу в память:

Слайд 69

③ PROFIT!

③ PROFIT!

Слайд 70

1) Никаких баз данных

1) Никаких баз данных

Слайд 71

1) Никаких баз данных 2) Вообще никаких баз данных!

1) Никаких баз данных 2) Вообще никаких баз данных!

Слайд 72

1) Никаких баз данных 2) Вообще никаких баз данных! 3) Нативный перл

1) Никаких баз данных 2) Вообще никаких баз данных! 3) Нативный перл

Слайд 73

1) Никаких баз данных 2) Вообще никаких баз данных! 3) Нативный перл 4) Открытое нагляное

1) Никаких баз данных 2) Вообще никаких баз данных! 3) Нативный перл
представление данных

Слайд 74

1) Никаких баз данных 2) Вообще никаких баз данных! 3) Нативный перл 4) Открытое нагляное

1) Никаких баз данных 2) Вообще никаких баз данных! 3) Нативный перл
представление данных 5) Только для development и быстрого проектирования

Слайд 75

1) Никаких баз данных 2) Вообще никаких баз данных! 3) Нативный перл 4) Открытое нагляное

1) Никаких баз данных 2) Вообще никаких баз данных! 3) Нативный перл
представление данных 5) Только для development и быстрого проектирования 6) Создан для Mojolicious с любовью ☻

Слайд 76

Вопросы?

Вопросы?

Слайд 77

http://shootnix.com

[email protected]

https://github.com/shootnix/Mojolicious-Plugin-AnyData

http://shootnix.com shootnix@gmail.com https://github.com/shootnix/Mojolicious-Plugin-AnyData
Имя файла: Mojolicious.pptx
Количество просмотров: 320
Количество скачиваний: 0