Задать вопрос
  • Как в PostgreSQL сделать уникальный идентификатор среди всех таблиц базы (глобально)?

    @Dimka5 Автор вопроса
    Господи дай вам всего, побольше таких людей миру. И продолжайте нести добро людям. Это шедеврально.
    Если честно я думал меня опять пошлют, как это обычно со мной случалось.
    А тут аж полное решение и всё понятно. Спасибо!

    Про архитектуру и решения вы конечно дело говорите. К сожалению я не профессиональный программист и глаз не намётан, но немного Макконела и практик я в ваших мыслях увидел)

    Про text это пример, BIGINT планировал использовать вообще везде и в БД и на сервере(NodeJS) и на клиенте. Про индексирование не знал, спасибо, но там всё равно в оптимизацию углубляться и бенчмарки делать, так что ещё предстоит узнать все тонкости, это отдельная тема...

    Наверное я сейчас и пытаюсь обосновать. Вот делал на MongoDB потом подумал, вот сейчас про реляционки не узнаю потом труднее будет, что то там всё про математику да производительность и что для серьёзных проектов.
    Понятно что под задачи, но надо же опять сравнивать на практике, а я с БД так то не глубоко знаком, вот начну эмулировать кучу запросов посмотрим как будут вести себя два варианта, там и на возможности оптимизации посмотрю. Попереношу функцию генерации на стороне БД и на стороне приложения тоже сравню.
  • Как в PostgreSQL сделать уникальный идентификатор среди всех таблиц базы (глобально)?

    @Dimka5 Автор вопроса
    Ну если вам так интересно, могу только сказать что это мой собственный проект. Идея в том что такой идентификатор обозначает Сущность, поскольку из него можно вытащить время (оно у меня здесь от 1 янв 0001 года считается кстати), то можно понять когда Сущность создана, а дальше создать хронологическую цепочку. Если к цепочке (а это по сути направленный граф) добавить некоторые другие связи, например такие которые будут значить что вторая Сущность не может существовать без первой, то получится сеть где видно, что, например, нужно делать сначала, а что потом, что бы дойти по графу до некоторой Сущности. Получается что там как бы есть параллельность между "путями" но одновременно всё равно ничего произойти не может. Кроме того если какую то Сущность(по мимо ид неё есть значение) уже создавали то это будет видно, причём не надо будет городить новые связи по тому что они уже в том месте будут. Всё больше ничего не скажу! =)
  • Как в PostgreSQL сделать уникальный идентификатор среди всех таблиц базы (глобально)?

    @Dimka5 Автор вопроса
    Вот там про триггеры, процедуры и функции я уже не понял... нужно ещё разбираться.
    Но давайте тогда предметно вот захожу я в pgAdmin. Делаю пустую базу, в ней делаю запросы вручную(соблюдая уникальность) с помощью Query Tool.
    Этот
    -- Создание таблиц
    CREATE TABLE public."пользователи" (
    	идентификатор text PRIMARY KEY,
    	псевдоним text
    );
    
    CREATE TABLE public."посты"(
        идентификатор text PRIMARY KEY,
        содержимое text
    );
    
    CREATE TABLE public."комментарии" (
    	идентификатор text PRIMARY KEY,
      текст text
    );

    Потом этот
    -- Вставка записей в таблиы
    INSERT INTO public."пользователи" (идентификатор, псевдоним) VALUES ('63747434088427895404', 'Первый');
    INSERT INTO public."пользователи" (идентификатор, псевдоним) VALUES ('63747434222866903423', 'Второй');
    
    INSERT INTO public."посты" (идентификатор, содержимое) VALUES ('63747434481174148512', 'О том как надо');
    INSERT INTO public."посты" (идентификатор, содержимое) VALUES ('63747434492297907708', 'О том как не надо');
    
    INSERT INTO public."комментарии" (идентификатор, текст) VALUES ('63747434537581935452', 'Я думаю что решение...');
    INSERT INTO public."комментарии" (идентификатор, текст) VALUES ('63747434548356770796', 'Хорошо я пропробую сделать...');

    Обратите внимание идентификаторы во всех таблицах не совпадают.
    Что нужно? Нужно добавить новую запись в любую из таблиц и что бы среди всех таблиц идентификатор не совпал.
    А вот если я захочу добавить запись, например в 'посты' с идентификатором '63747434088427895404' записи из 'пользователи', я хочу что бы выдавалась ошибка
    INSERT INTO public."посты" (идентификатор, содержимое) VALUES ('63747434088427895404', 'Нееее так вообще не надо');
    -- ОШИБКА: в таблице 'пользователи' уже есть запись с таким идентификатором


    Я пока вижу и умею 2 решения
    1) создаю отдельную таблицу с идентификаторами, добавляю запись туда а потом беру от туда значение для любой другой таблицы(централизованная сущнось, как вы писали)
    2) при вставке я прохожусь SELECT'ами по всем таблицам в базе и пытаюсь найти совпадает ли новый идентификатор с существующими
    Эти варианты, как я вижу, гарантируют уникальность среди всех таблиц.
  • Как в PostgreSQL сделать уникальный идентификатор среди всех таблиц базы (глобально)?

    @Dimka5 Автор вопроса
    Идея интересная но не подходит. Ответил Максим Федоров в комментариях вопроса...
  • Как в PostgreSQL сделать уникальный идентификатор среди всех таблиц базы (глобально)?

    @Dimka5 Автор вопроса
    Ага... вроде понял что это такое. Штука по сути децентрализованная, и он уникален по всему миру можно сказать =), идея понравилась.
    Но не подходит по тому что у меня:
    1) Из идентификатора мне нужно вытаскивать время он по сути время (кажется у меня получилось точнее чем 100-наносекундный интервал)
    2) У меня взглянув на любые два идентификатора видно порядок они последовательны, UUID не последователен у него есть рандомная часть, в общем без преобразований ничего не понятно. Проще говоря визуально он не подходит, у меня только цифры.
  • Есть ли возможность используя Vue не отображать фигурные скобки (Mustache синтаксис) при загрузке/инициализации страницы?

    @Dimka5 Автор вопроса
    Так что во введении v-model используется для отображения данных в input из за этого, до вашего сообщения, у меня как у новичка сложилось впечатление, что это замена {{ объект.значение }}. Мне показалось это логичным.
  • Как в Git продолжать разработку без отправки изменений на удалённый репозиторий?

    @Dimka5 Автор вопроса
    От души. Благо проект ещё только будущий и доктор пока не нужен =). 100 фич наверное не будет, имеется в виду много, да и не бардак, а просто нет скажем доступа к интернету/сети, в дороге ты например, а не в офисе или из дома, а разработку нужно продолжать и есть возможность. Да вопросы пока и есть для теста на практике.
    Спасибо.
  • Как в Git продолжать разработку без отправки изменений на удалённый репозиторий?

    @Dimka5 Автор вопроса
    Ух сложно... пошёл перечитывать в сотый раз про rebase и пробовать и разбираться с таким решением...
    Да меня интересует 2а. И тут получается что я не сливаю ничего с мастер локально. А каждую фичу я отправляю по отдельности и на каждой итерации подтягиваю изменения с удалённого? А что если у меня таких 100 фитч (и каждая зависит от предыдущей), придётся каждую так отправлять что бы получить нужную картинку на удалённом?
    а разом наверное не получится?(разве что скриптом) то есть вот как буд то на 2 картинке все эти ступеньки с Ф упадут на master и будет что Ф2 получилась не из Ф1 а из master но по факту состояние взято из завершённой Ф1
    5c8654846f049107051499.jpeg

    Простите мне возможно мою больную фантазию, может что то и не нужно. Но хочется что бы история выглядела наглядно и рассмотреть возможные варианты
  • Как в Git продолжать разработку без отправки изменений на удалённый репозиторий?

    @Dimka5 Автор вопроса
    И ф2 и ф1 и 3 и 4... все нужны в мастере(о каком мастере речь? о локальном?) на момент завершения работы над ними и при переходе к следующей ф. Но возможности залить готовую ф1 нет, а ф2 нужно делать уже сейчас.
    О работоспособности речи не идёт, но ветки тестируются перед слиянием в master, т.е. master всегда в порядке, в идеале конечно.
    Важно сохранить картинку в основном(удалённом) репозитории - на каждую фичу своё ответвление.

    Если вы о локальном мастере значит вы говорите тем самым что мне нужно вливать в локальный мастер сразу ф1, а затем начать ф2 и по завершении слить и всё локально. А потом как я отправляю?
    В1. Могу сразу локальный мастер в удалённый мастер? тогда предвижу в истории это будет выглядить как одна фича, но их там две по сути.
    В2. Сливаю с удалённым мастером фичи по порядку по одной. А что если я сделал 100 фич. а удалённый не изменился не хочу я 100 раз по одной сливать, хочу один раз и что бы это на удалённом было 100 отдельных веточек выходящих и входящих из/в master а не одна длинная

    На вопрос я себе ответил а как работать всё равно не понял.
  • Как разделить проект на несколько независимых, затем подключать и использовать их в одном?

    @Dimka5 Автор вопроса
    git submodules похоже, но не то... наверное я всё таки использовал не то слово, разделить не на "проекты", а на "модули", хотя каждый из них вполне себе проект.

    А вот npm install выглядит здорово, вы имели ввиду эту возможность?
    npm install "folder"
    Действительно я указал заместо "folder", путь вида "C:/путь_к_проекту", там в папке проекта просто должен быть package.json ("оформил" как npm модуль), скопировались все файлы подключаемого проекта в основной в node_modules и основному в package.json записалась строка в dependences, ' "имя_проекта": "file:../путь_к_проекту" '

    То что надо, но не до конца, мне нужно не только в NodeJS но и в браузере, а значит указывать ссылку при подключении скрипта к HTML на страничке например или при ES6 import'е на папку node_modules не подойдёт. Нужно перемещать в нужную папку.
    Здесь Как установить npm-плагин в определенную папку?, советуют из node_modules копировать в нужную папку с помощью gulp. Прямее наверное не выйдет? сразу в нужную папку без копии в node_modules? Что то похожее на npm с интеграцией с npm но не npm? Хотя оно наверное не нужно...
    Здесь парень пробовал Yarn Как в yarn установить пакеты в разные папки?, в итоге вернулся к Bower
    То есть, где то определять, какую зависимость в какую папку. Есть что то подобное?
  • Как разделить проект на несколько независимых, затем подключать и использовать их в одном?

    @Dimka5 Автор вопроса
    А почему именно локальный репозиторий?

    По тому что нужно работать локально (без подключения к интернету).
    git submodule чем не угодили?

    Видимо по тому что я не знал об этом... а вообще я не писал что не угодили, я задал вопрос какие есть решения
  • Как написать асинхронную функцию на чистом JS для мобильного браузера Chrome?

    @Dimka5 Автор вопроса
    За тем что внутри может быть более сложный код с await. А это просто тестовый вариант, для проверки в браузере.
  • Как настроить сервера не от root и файл настроек Caistrano для проекта на NodeJS, что бы успешно развернуть приложение?

    @Dimka5 Автор вопроса
    Ошибка доступа окружения, сенсоры чтения пространства не консолидируют материю в одной точке, как следствие потеря маршрута сингулярности
  • Как использовать Capistrano 3 без удалённого репозитория?

    @Dimka5 Автор вопроса
    Помимо избыточности, на мой труд в несколько дней, ты выразил возмущение (
    нафига
    ,
    это реальный overkill
    ) и то что знаешь больше чем написал до этого, вместо ответа "как можно организовать свой?". И всё это в ответе на уже проделанную работу и готовый результат. Всё что я хотел спросить, я спросил в полном тексте вопроса который видимо не был прочитан внимательно. Ты не ответил на него полностью в первом же сообщении
    Репозиторий должен быть...
    , и после результата тоже
    нафига поднимать гитлаб...
    , а перед этим ещё выражал какое-то нетерпение
    и?

    Если честно я понял твою точку зрения, но ты мою не хочешь ни в какую. То есть я не должен был говорить про понты и всё такое, а как ты и сказал задать вопрос(ещё раз подчеркну). Однако ты совершенно не хочешь понимать что ты мне не сильно облегчил задачу, после того как я сообщил что уже получил результат, более того ты указал что знаешь
    средства проще/легче
    , тем самым подразнив мол "я знаю, а ты нет", "ты проделал работу а мог сделать гораздо меньше", и какой ты интересно реакции ожидал "спасибо что не расписал раньше
    как можно организовать свой
    "
  • Как использовать Capistrano 3 без удалённого репозитория?

    @Dimka5 Автор вопроса
    Начал ты
    Dimka5, нафига поднимать гитлаб для этого? o_O
    он конечно же няшный и функциональный, но если цель только в сетевых репаках - это реальный overkill, есть средства проще/легче.
  • Как использовать Capistrano 3 без удалённого репозитория?

    @Dimka5 Автор вопроса
    В духе "лучше найти виновного чем решить пробему"