Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Mar 27 2015 20:24
    User @listochkin banned @doneck-russia from this room
  • Mar 19 2015 20:58
    User @mr-mig banned @pgr-ru from this room
  • Mar 14 2015 23:15
    User @mr-mig banned @putin-hero from this room
  • Mar 14 2015 22:31
    User @mr-mig banned @stepan-bendera from this room
tayurus
@tayurus
@sameroom-bot я просто хотел разобраться в принципе работы forEach. Спасибо за ответ
tayurus
@tayurus
Привет еще раз! И опять вопрос не по теме(
Корректно ли в БЭМ располагать блок и элемент на одном уровне?
image.png
Sameroom
@sameroom-bot
[Dmitry Chirkin] Эта комната тоже зеркалируется в телеграм
Ivan
@IvanMMM
А теперь нужен кто-то кто сможет добавить такого же робота в чат телеграма и будем зеркалить друг друга)
Ну и отдельный юзер который отправит то самое сообщение))
Sameroom
@sameroom-bot
[Dmitry Chirkin] ха, sameroom детектит закольцовывание
Ivan
@IvanMMM
Думаю что он игнорирует только свои сообщения) А вот сообщения от второго такого же бота он будет пересылать 🤓
Sameroom
@sameroom-bot
[Dmitry Chirkin] Не, он умный, там просто есть возможность делать тройные зеркала и вот что бы не было закольцовываний он умеет это определять
Yuriy Yarosh
@yuriy-yarosh
@IvanMMM меня тоже чуток напрягает этот бот
Sameroom
@sameroom-bot
[Dmitry Chirkin] Да! Болтает безумолку, так то хоть спокойно пообщаться можно было, а с ботом-то и слово неуда вставить!
Anirban Mukherjee
@bwayne2015
@bwayne2015
hello can anyone help a newbie on a hapi js issue
I want to know how can I show users specific data
I mean to say if user A has a data data1 and user B has a data as data2 then when user A logs in how should verify user A's username and show only data1 not data2 and similarly for B will show only data2 and not data1. But when Admin will log in then Admin will be able to see both the datas.
Sasha Zmts
@zmts
Всем привет! Нашел в интернетах https://wetland.spoonx.org/. Весьма полноценная ORM. Чем-то смахивает на Doctrine. Уже как 2.5 версия. Возможно кто юзал?
Yuriy Yarosh
@yuriy-yarosh
@zmts может пришло время освоить SQL и проектирование схем СУБД ?
Sameroom
@sameroom-bot
[Dmitry Chirkin] т.е ты счиатешь что девелоперы пользуются орм потому что не смогли осилить sql?
Yuriy Yarosh
@yuriy-yarosh
Ага, думаешь знают что такое CREATE DOMAIN или CREATE MATERIALIZED VIEW и для чего оно используется ?
Sameroom
@sameroom-bot
[Dmitry Chirkin] ) ни одна из известных мне ОРМ в ноде не умеет делать mat view или domain
Yuriy Yarosh
@yuriy-yarosh

Не один из известных мне разработчиков, использующий ОРМы, не знает SQL достаточно для того что бы правильно оперировать доменами и мат. вьюшками %)

... те кто знает - ормами не пользуются :)

vedun
@vedun
@yuriy-yarosh а зачем нужно оперировать доменами ?
Yuriy Yarosh
@yuriy-yarosh

@vedun ты можешь проставить ограничение (constraint) на кастомный тип - это значительно упрощает работу с ограничениями.

Ну типа в JPA люди пишут

@Entity
class Whatever {
  @NotNull 
  @AlphaNumeric
  @MinLength(value=3)
  @MaxValue(value=16)
  @NotBlank
  String someField;
}

Хотя тоже самое можно написать на SQL'e

CREATE DOMAIN some_field_of_whatever AS VARCHAR(64)
  CONSTRAINT some_field_alphanum CHECK (VALUE ~ '^[[:alnum:]]+$')
  CONSTRAINT some_field_min_length CHECK length(VALUE) > 3
  CONSTRAINT some_field_max_length CHECK length(VALUE) < 16
  CONSTRAINT some_filed_not_blank CHECK length(trim(both ' \n\t' from string)) > 0;
vedun
@vedun
это и есть домены ?
Yuriy Yarosh
@yuriy-yarosh
Защиту от XSS'ов и XXD тоже можно упаковать прямо в модель СУБД... даже если кто получит доступ - не смогут гадости записать.
Ага, это и есть домены - поле с пачкой проверок валидаторов.
Сущность состоит из набора доменов и называется Доменной Моделью %)
vedun
@vedun
ясно, просто когда нужно поддерживать разные СУБД включая SQLite то обычно все эти расширения идут лесом
Yuriy Yarosh
@yuriy-yarosh
Эт не расширения - эт часть стандарта.

когда нужно поддерживать разные СУБД

В нормальных проектах люди нормально живут с одной СУБД и потребности её менять не возникает.

vedun
@vedun
ну и скорость разработки сразу падает на порядки когда начинаешь SQL руками писать.
Возможно, я просто не большой знаток SQL и его стандартов :)
Yuriy Yarosh
@yuriy-yarosh

ну и скорость разработки сразу падает на порядки когда начинаешь SQL руками писать.

Почему ?

Есть например тот же DataGrip с автодополнением всего - его хватает в 99% случаев и скорость разработки не особо отличается от той же Java + Hibernate и еже с ним...
vedun
@vedun
для меня это как писать на asm и с++, а почему медленее, наверно потому что вместо однго вызова надо написать большой запрос в виде строки.
Yuriy Yarosh
@yuriy-yarosh
По объёму не сильно отличается в итоге.
В некоторых случаях домены можно переиспользовать и гонять макросы на SQL'e... уже было так %)
vedun
@vedun
это только моё виденье подкреплённое небольшим опытом :)
Yuriy Yarosh
@yuriy-yarosh

В некоторых случаях домены можно переиспользовать и гонять макросы на SQL'e.

Например вот так


CREATE FUNCTION create_last_updated_triggers(VARIADIC "tables" TEXT [])
  RETURNS VOID AS $$
DECLARE
  tbl TEXT;
BEGIN
  FOREACH tbl IN ARRAY "tables"
  LOOP
    EXECUTE format('DROP TRIGGER IF EXISTS %s_last_updated ON %s;',tbl, tbl);
    EXECUTE format('CREATE TRIGGER %s_last_updated BEFORE UPDATE ON %s ' ||
                   'FOR EACH ROW WHEN (OLD.* IS DISTINCT FROM NEW.*) ' ||
                   'EXECUTE PROCEDURE set_last_updated();',tbl, tbl);
  END LOOP;

  RAISE INFO 'Created last_updated triggers on %', "tables";
END;
$$ LANGUAGE plpgsql VOLATILE STRICT;

это только моё виденье подкреплённое небольшим опытом :)

Да, возможно это субъективно... и с моей стороны, т.к. дело привычек.

Большая часть моих познаний SQL'я была взята со стандартной доки PostgreSQL'я переведённой на русский от PostgresPro
Я своих джунов обычно сразу сажу читать эту доку - перевод хороший...
Sameroom
@sameroom-bot
[Dmitry Chirkin] ты слишком необоснованно обобщаешь
[Dmitry Chirkin] я юзают плстгрес, домены, материалайзед вью, fdw, jsonb и sequelize (орм такой) пушо ето просто экономит время
Yuriy Yarosh
@yuriy-yarosh
Просто нет желания обосновывать
Sameroom
@sameroom-bot
[Dmitry Chirkin] если нет желания обосновывать лучше тогда просто помолчать
Yuriy Yarosh
@yuriy-yarosh
Я не юзаю ORM'ы... я сразу делаю GraphQL запрос прямо в базу вместо SQL'я.
Это уж точно быстрее чем писать CRUD прослойки ;)
Sameroom
@sameroom-bot
[Dmitry Chirkin] а как решена проблема с пермишенами?
vedun
@vedun
@yuriy-yarosh используешь какие то расширения которые сразу с graphql работают минуя SQL ?
Yuriy Yarosh
@yuriy-yarosh
@vedun ага, написал модуль на расте.
vedun
@vedun
postgresql ?
Yuriy Yarosh
@yuriy-yarosh

AAA реализован отдельным набором сервисов через AUTHORIZED в SPI.

Да, под PostgreSQL.

vedun
@vedun
ясно, да интересно