170 похожих чатов

И еще почему ты внтури TrackRepository, еще один trackRepository получаешь?

Зачем вокруг существующего репозитория обертку пишешь?

48 ответов

25 просмотров

я думаю так правильно

Alexander- Автор вопроса
Alexander
Почему?

ну я спрашивал в чате, где обычно люди архитектурные вещи спрашивают и они сказали, что так правильно делать, явно они лучше знают

Alexander- Автор вопроса
21th
ну я спрашивал в чате, где обычно люди архитектурн...

Ну что значит сказали. Надо понимать зачем ты это делаешь

Alexander
Ну что значит сказали. Надо понимать зачем ты это ...

там очень много сообщений было, я много спрашивал. Может тебя просто смутило то что названия одинаковые

А чем они отличаются?

Алексей Попов
А чем они отличаются?

вроде как переменная в res по окончанию запроса стирается, а res.app.locals не стирается, и действительно при повторном запросе переменная остаётся, по этому я хз как мне из multer правильно без кастылей передать данные в контроллер

21th
вроде как переменная в res по окончанию запроса ст...

Я про отличие TrackRepository от репозитория, который ты получаешь для Track

Алексей Попов
А чем они отличаются?

trackRepository это дефолтная работа с сущностью базы данные, то есть методы trackrepository.find, trackRepository.findOne и так далее, а Trackrepository это свой уровень абстракции, чтобы не писать один и тот же код, так мне удобно и это не считается не правильным

21th
trackRepository это дефолтная работа с сущностью б...

Кем это не считается неправильным? А можно было твой TrackRepository отнаследовать от дефолтного и иметь один класс (и слой) вместо двух?

21th
я тебя не понял

Ни один из вопросов не понял? Если только второй, то смотри: getRepository возвращает объект какого-то класса, я правильно понимаю? Если бы твой класс наследовался от этого класса, то тебе не надо было бы получать инстанс этой дефолтной сущности, у тебя её методы и поля были бы доступны через this Так можно было сделать?

21th
screenshot ?

Я не знаю что там у тебя происходит и что можно сделать. Я просто спрашиваю, потому что твой код действительно вызвал сомнения Разве getRepository (Track) возвращает инстанс класса Track?

Алексей Попов
Кем это не считается неправильным? А можно было т...

на первый вопрос, я спрашивал у людей в чате посвященном архитектуре, там большинство не было против такой абстракции

Алексей Попов
Я не знаю что там у тебя происходит и что можно сд...

нужно запрашивать репозиторий как я изначально делал, так как при расширении класса TrackRepository, хотя и методы добавляются те же самые, но типизация отсутсвует, да и к тому же документация советует делать именно this.trackRepository = dataSource.getRepository(Track);

21th
нужно запрашивать репозиторий как я изначально дел...

Ради интереса глянул документацию, и там написано другое In order to extend UserRepository functionality you can use .extend method of Repository class: export const UserRepository = dataSource.getRepository(User).extend({....

Алексей Попов
Ради интереса глянул документацию, и там написано ...

честно меня мало это волнует, я явно ничего неправильного не делаю, ты меня уводишь в какой то другой вопрос, который мне мало интересен, когда есть актуальный с multer'ом

21th
честно меня мало это волнует, я явно ничего неправ...

Ну это смотря что понимать под "неправильно". Плохо написанный код может давать нужный результат, причём зачастую это нормальная ситуация, и если считать такой подход правильным - тогда всё ок

Алексей Попов
Ну это смотря что понимать под "неправильно". Плох...

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

Алексей Попов
Ну это смотря что понимать под "неправильно". Плох...

не буду скидывать в общем, в падлу, это и так понятно что там нельзя плохо сделать

21th
не буду скидывать в общем, в падлу, это и так поня...

Возможно, я не знаю Но я смотрю на код и не понимаю почему есть два разных TrackRepository. Думаю будет полезно если ты сможешь объяснить почему плохо расширять тот репозиторий, который даёт typeorm

Алексей Попов
Возможно, я не знаю Но я смотрю на код и не понима...

да, я скину сейчас скрин, покажу зачем я так делаю, секунду

Алексей Попов
Возможно, я не знаю Но я смотрю на код и не понима...

в общем, это метод как раз моего UserRepository, для того чтобы запросить пользователя по айди, я так же подтягиваю в поле relations связи, а отстальные подтягиваются по дефолту, это описано в самой сущности в декораторе Column. То есть мне не нужно много раз переписывать эти 3 строчки, я просто пишу const findUser = await userRepository.findUserById(3) Там может быть больше чем 3 строчки, ну в общем, здесб ошибиться вряд ли получится

Это вообще никак не связано с тем, что я хотел узнать Мне было интересно почему ты создал новый класс TrackRepository и в нём подтянул репозиторий вызовом getRepository (Track), а не стал расширять "дефолтный" репозиторий для Track (если я правильно понимаю, он как раз возвращается вызовом getRepository) Мне кажется что репозиторий над репозиторием это весьма странная конструкция, но я практически не знаком с typeorm, и если для него это нормально, хочется понять почему

Алексей Попов
Это вообще никак не связано с тем, что я хотел узн...

я typeorm понял за 2 дня, после sequelize, я корректно сказать не могу, но мне посоветовали сделать это опять же в архитектурном чате

21th
я typeorm понял за 2 дня, после sequelize, я корре...

Ясно, что ничего не ясно :-/ А что за чат?

21th
@oop_ru

Почитал, там один человек идею репозитория над репозиторием охарактеризовали матерным словом, другой ответил что если либа позволяет расширять репозиторий, то стоит именно расширять Возможно ты неверно трактуешь то, что пишут

Алексей Попов
Почитал, там один человек идею репозитория над реп...

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

Я же уже цитировал доку typeorm: typeorm.io/custom-repository#how-to-create-custom-repository

Алексей Попов
Я же уже цитировал доку typeorm: typeorm.io/custom...

то есть я неправильно делаю думаешь?

21th
то есть я неправильно делаю думаешь?

я думаю шо ты глупый просто

21th
то есть я неправильно делаю думаешь?

Я думаю что ты не стараешься разобраться самостоятельно, не пытаешься понять почему именно так, и можно ли как-то иначе

Алексей Попов
Я думаю что ты не стараешься разобраться самостоят...

что значит не стараюсь разобраться? Перенимать опыт других это плохо? Или как по твоему надо разбираться самому

21th
ладно

Он сам тоже "глупые" вопросы задаёт https://t.me/nodejs_ru/848695

Dmitry Croft
Он сам тоже "глупые" вопросы задаёт https://t.me/...

хзхз, я же по сути в телеграме аноним, меня особо никто не знает, лучше задать глупые вопросы, всë равно найдëтся тот кто сможет дать ответ

21th
хзхз, я же по сути в телеграме аноним, меня особо ...

Согласен, это я в твою поддержку скинул ссылку на его проблему которую он пытался решить. Она тоже может показаться "глупой", хотя это по факту не имеет значения. Есть вопрос - задавай, разбирайся в проблеме, а то потом будешь в монге хранить "неструктурированные неважные данные"

Dmitry Croft
Согласен, это я в твою поддержку скинул ссылку на ...

Чел назвал меня глупым, я ему по кд на вопросы отвечаю, которые в доке легко ищутся Ты чего лезешь?

21th
@oop_ru

Такой вопрос, я тут мб вклинюсь, но разве репозиторий не должен абстрагировать от конкретной бд и библиотеки? Тогда почему оно создается как я понял по документации - средствавми TypeORM

🅰️nimeCoder
Такой вопрос, я тут мб вклинюсь, но разве репозито...

я задавал кста этот вопрос у кого то, я перешлю ответ

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта