Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Библиотека хранимок на pgsql / 14 сообщений из 14, страница 1 из 1
02.08.2018, 11:13
    #39682454
Серджио
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека хранимок на pgsql
Здравствуйте.
Не так давно написал небольшую либу хранимок на постгресе. Направление: разработка самописных cms, crm и т.п. Хотя что-то можно внедрить частично в уже имеющийся проект. Было бы интересно услышать ваши мнения. http://pgweb.org
С уважением, Сергей.
...
Рейтинг: 0 / 0
02.08.2018, 12:25
    #39682513
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека хранимок на pgsql
Серджио,

Может и остальной код из cms/crm перенести, чего уж? )
...
Рейтинг: 0 / 0
02.08.2018, 13:06
    #39682538
alex55555
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека хранимок на pgsql
СерджиоНе так давно написал небольшую либу хранимок
Разбираться в чужих небольших либах обычно себе дороже. Проще с нуля написать.
...
Рейтинг: 0 / 0
02.08.2018, 13:14
    #39682541
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека хранимок на pgsql
Серджио,

Что мешает разместить код на гитхабе, например? Как бы лично мне эта либа не нужна и я даже понятия не имею, где и зачем мне её применять у себя на проектах.

Но вдруг кто-то захочет форкнуть и допилить, завести тикет и т.д.
...
Рейтинг: 0 / 0
02.08.2018, 15:53
    #39682665
полудух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека хранимок на pgsql
очень сложно придумать ей применение при создании CRM/магазина
авторнапример, при загрузке файлов, когда нужно сгенерировать уникальное имя, или когда нужно создать CSRF-токен и т.п.
во1, зря вы думаете, что надо всё пихать в БД. БД всегда является узким местом, её вообще лишний раз дёргать не надо. Лазать в БД за CSRF-токеном это дичь.
во2, на пхп генерация рандомной строки занимает ~15 строк
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
/* ГЕНЕРАЦИЯ СЛУЧАЙНОЙ ПОСЛЕДОВАТЕЛЬНОСТИ СИМВОЛОВ
$size   размер требуемой строки
$type   0-9, a-Z, hex, pass, 0-9a-z, 0-9a-Z

ВЫЗОВ: $gen = give_rand_str(32 [, '0-9a-Z'])

тест на время:
строка  1.000
массив  1.390
*/
    function give_rand_str($size, $type = false)
    {
        $tmp = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; // default: 0-9a-Z

        switch ($type)
        {
            case 'pass':        $tmp .= "-_,.:;!";              break; // пароль
            case '0-9':         $tmp = "0123456789";            break;
            case 'hex':         $tmp = "0123456789abcdef";      break;
            case '0-9a-z':      $tmp = "0123456789abcdefghijklmnopqrstuvwxyz";                  break;
            case 'a-Z':         $tmp = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";  break;
            default: break;
        }

        $tmp_size = (strlen($tmp) -1);
        $result = '';
        while ($size--) {$result .= $tmp[mt_rand(0, $tmp_size)];}

        return $result;

    } // give_rand_str
...
Рейтинг: 0 / 0
02.08.2018, 16:49
    #39682712
Серджио
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека хранимок на pgsql
hVostt, не вижу особого смысла.

полудух, отчасти согласен. Но рассмотрим ситуацию, когда нам нужна уникальная строка, а не просто рандомный набор букв и цифр. Например, это может пригодиться при загрузке файлов, чтобы каждый раз не придумывать новое имя, достаточно запросить его у базы. Или при генерировании ключа сессии. При этом мы можем быть уверены, что имена не пересекутся и нам не нужно следить за уникальностью. Насчет узкого места: согласен, та же пыха быстрее в вычислениях. Но ведь можно запросить не один ключ, а сотни-тысячи ключей еще при старте приложения и потом раздавать их.
...
Рейтинг: 0 / 0
02.08.2018, 17:31
    #39682729
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека хранимок на pgsql
Серджио,

GUID никак?
...
Рейтинг: 0 / 0
02.08.2018, 17:39
    #39682733
Серджио
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека хранимок на pgsql
Изопропил,

а ничего, что из него можно вытащить дату создания? Да и потом, у него фиксированный размер.
...
Рейтинг: 0 / 0
02.08.2018, 18:11
    #39682739
полудух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека хранимок на pgsql
СерджиоНо рассмотрим ситуацию, когда нам нужна уникальная строка
https://ru.wikipedia.org/wiki/UUID
https://postgrespro.ru/docs/postgresql/10/datatype-uuid
но юзать 32 байта для хранения имён файлов опять перебор
проще хранить int/bigint (всего 4-8 байт), а уникальность либо через bigserial, либо чекать наличие в БД

ключ сессии генерит сам ПХП
в CSRF не нужны UUID

Но ведь можно запросить не один ключ, а сотни-тысячи ключей еще при старте приложения и потом раздавать их.
для чего они? Там и так 0 оверхеда будет. Вы либо вызываете соседнюю ф-ю, либо дёргаете редиску, где в списках лежат эти ключи. Ф-я быстрее.
В любом случае реляционная БД тут всё ещё не нужна.
...
Рейтинг: 0 / 0
02.08.2018, 18:34
    #39682744
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека хранимок на pgsql
Серджиоа ничего, что из него можно вытащить дату создания? Да и потом, у него фиксированный размер.
и что с того?
если паранойя - хэш возьмите
...
Рейтинг: 0 / 0
02.08.2018, 19:49
    #39682783
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека хранимок на pgsql
СерджиоИзопропил,

а ничего, что из него можно вытащить дату создания? Да и потом, у него фиксированный размер.

ничего. фиксированный размер 128 бит это вселенских масштабов объём. мало? берём два штуки и лепим. хотим скрыть дату создания? делаем xor по битовой маске. да и вообще, какие-то притянутые за уши глупые идеи с целью просто впихнуть свою поделку.
...
Рейтинг: 0 / 0
02.08.2018, 19:51
    #39682785
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека хранимок на pgsql
полудухво1, зря вы думаете, что надо всё пихать в БД.

вообще, логика в БД это два шага назад. особенно забавно выглядит идея прикрутить поделки, которые есть во всех фреймворках, покрыты тестами и работают максимально быстро. зачем они в бд, и где тесты, нет их. обычный набор поделок из бумаги, через это все проходили.
...
Рейтинг: 0 / 0
02.08.2018, 20:25
    #39682807
полудух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека хранимок на pgsql
hVosttхотим скрыть дату создания? делаем xor по битовой маске.
картинки по запросу "хог по битовой маске":
...
Рейтинг: 0 / 0
02.08.2018, 21:22
    #39682828
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека хранимок на pgsql
СерджиоБыло бы интересно услышать ваши мнения.
пустая трата сил
...
Рейтинг: 0 / 0
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Библиотека хранимок на pgsql / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]