Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
AntonariyhVostt Репозиторий объектов типа А должен работать только с объектами типа А, а не А, АDto, АHZChto...То есть если, например, репозиторий А должен произвести операцию не только с объектом А, но и со связанными с ним объектами B и С, то эти манипуляции все равно нужно выносить в соответсвующие репозитории? Даже если эти манипуляции в отрыве от операции А вообще не применяются? а что за манипуляции вы имеете ввиду? например у вас DDD, есть Entity, у нее Value Object, то репозиторий должен работать только с Entity, будет IRepository<TEntity> и вот там внутри он будет раскладывать это допустим по двум таблицам в БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 09:14 |
|
||
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
а насчет классов DDD и ORM - я как-то видел в одном проекте решение - классы DDD с логикой очень хитрыми и сложными маппингами гибернейта раскладывались в таблицы, без промежуточных, приближенных к таблицам классов ORM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 09:21 |
|
||
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
AntonariyhVostt Репозиторий объектов типа А должен работать только с объектами типа А, а не А, АDto, АHZChto...То есть если, например, репозиторий А должен произвести операцию не только с объектом А, но и со связанными с ним объектами B и С, то эти манипуляции все равно нужно выносить в соответсвующие репозитории? Даже если эти манипуляции в отрыве от операции А вообще не применяются? Связанные каким образом? Агрегация, ассоциация? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 09:33 |
|
||
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
17-77skyANAА завтра понадобится три метода вызывать в рамках одной транзакции, что будете делать? test_task вот, кстати, раз уж используете NHibernate - если при этом использовать Castle Windsor, то там есть уже готовая NHibernateFacility и AutoTx - вешаешь атрибут транзакции на публичный метод класса - и вперед, поддерживает вложенные транзакции и вложенные методы В задании требуется EF. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 09:35 |
|
||
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
AntonariyТо есть если, например, репозиторий А должен произвести операцию не только с объектом А, но и со связанными с ним объектами B и С, то эти манипуляции все равно нужно выносить в соответсвующие репозитории? Даже если эти манипуляции в отрыве от операции А вообще не применяются? Я имел в виду: Product, ProductDto, ProductDto2... Это не задача репозитория, обрабатывать какие-то там DTO. Если в СУБД хранится сущность, представленная entity-классом Product, то репозиторий должен работать только с ним, а с ворохом доп. классов, существующих для поддержки клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 10:49 |
|
||
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
17-77а насчет классов DDD и ORM - я как-то видел в одном проекте решение - классы DDD с логикой очень хитрыми и сложными маппингами гибернейта раскладывались в таблицы, без промежуточных, приближенных к таблицам классов ORM Видел такое использование. Это возможно, но не айс. Поддерживать очень тяжело. Не предназначен он для такого, просто коммьюните усиленно просит, они приделываеют костыль за костылём. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 10:52 |
|
||
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
hVostt test_taskв каком месте? В каком месте почитать? Репозиторий объектов типа А должен работать только с объектами типа А , а не А, АDto, АHZChto... я про в каком месте в моем решении это не так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 10:53 |
|
||
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
17-77вот, кстати, раз уж используете NHibernate - если при этом использовать Castle Windsor, то там есть уже готовая NHibernateFacility и AutoTx - вешаешь атрибут транзакции на публичный метод класса - и вперед, поддерживает вложенные транзакции и вложенные методы to 17-77 мотивация такая: и EF, и NH умеет работать с "родным" TransactionScope. Каждый раз писать Код: c# 1. 2. 3. 4. 5. выглядит копипастом. Поэтому чз атрибут. to skyANA насчет реализованного в EF и NH UofW: он используется чз Код: c# 1. 2. 3. 4. Или надо было явно создать класс MyUofW? такое решение мне не видится лучше/хуже, больше вкусовщина. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 11:23 |
|
||
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
test_task, по тестам - основная функция - это создание транзакции, я бы сделал так: примерный набор юнит тестов: 1. обычная отправка без ошибок 2. отправка с неверным ид получателя 3. отправка нулевой, отрицательной сумм 4. отправка суммы большей, чем есть у отправителя на счету причем тестировать надо класс(ы) с чистой бизнес логикой - на входе дто, на выходе другое дто или ентити, т.е. мока на слой доступа к данным не должно быть - тут надо подумать как написать такой код интеграционный тест (веб-апи -> БД): 1. отправка кривых данных в веб-апи в метод создания транзакции - все должно корректно перехватываться, не допускать sql инъекций, возвращать коды ошибок (хотя тут еще надо подумать - это можно разбить на юнит тесты) 2. имитация ошибки таймаута/отсутствия сети на различных этапах создания транзакции - все должно откатываться корректно и деньги не должны теряться нагрузочный тест (веб-апи -> БД): 1. натравить 10-100-1000-... запросов на ваш веб-апи метод и посмотреть когда упадет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 11:23 |
|
||
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
17-77test_task, по тестам - основная функция - это создание транзакции, я бы сделал так: примерный набор юнит тестов: 1. обычная отправка без ошибок 2. отправка с неверным ид получателя 3. отправка нулевой, отрицательной сумм 4. отправка суммы большей, чем есть у отправителя на счету причем тестировать надо класс(ы) с чистой бизнес логикой - на входе дто, на выходе другое дто или ентити, т.е. мока на слой доступа к данным не должно быть - тут надо подумать как написать такой код интеграционный тест (веб-апи -> БД): 1. отправка кривых данных в веб-апи в метод создания транзакции - все должно корректно перехватываться, не допускать sql инъекций, возвращать коды ошибок (хотя тут еще надо подумать - это можно разбить на юнит тесты) 2. имитация ошибки таймаута/отсутствия сети на различных этапах создания транзакции - все должно откатываться корректно и деньги не должны теряться нагрузочный тест (веб-апи -> БД): 1. натравить 10-100-1000-... запросов на ваш веб-апи метод и посмотреть когда упадет спасибо за совет я бы тоже так сделал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 11:25 |
|
||
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
test_task to 17-77 мотивация такая: и EF, и NH умеет работать с "родным" TransactionScope. Каждый раз писать Код: c# 1. 2. 3. 4. 5. выглядит копипастом. Поэтому чз атрибут. да, это я понял, я к тому, что в Castle есть уже готовая штука для Nhibernate, как раз атрибутом, и поддерживает вложенные транзакции и вложенные методы. можно поискать аналогичные библиотеки для Unity/EF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 11:30 |
|
||
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
skyANAПодготовился - это не что-то там "почитал", а ознакомился с профилем компании, требованиями, прикинул примерный круг задач, что будут спрашивать. Выписал себе на листочек, что хотел бы узнать, спросить, уточнить на собеседовании. По тем же преславутым юнит-тестам нет единого мнения не то что в разных, часто оно расходится у проводящих собеседование, если их больше чем один. skyANAА то спрашиваешь: Вы заходили на наш сайт, понимаете чем мы занимаемся, какой у нас продукт? В ответ что-то там мычат. И встаёт вопрос, а человек вообще хочет именно у нас работать, или ему по фигу где, с кем и над чем он будет трудиться? Всяк кулик хвалит свое болото. Нафига мне вникать в ваш сайт, если почти все проекты "инновационные и неповторимые", а суть, в плане применяемых технологий, близнецы-братья. Даже хвалебные тексты маркетинг копирует с других хвалебных текстов скоммунизженных в сети. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 11:57 |
|
||
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
test_task to 17-77 мотивация такая: и EF, и NH умеет работать с "родным" TransactionScope. Каждый раз писать Код: c# 1. 2. 3. 4. 5. выглядит копипастом. Поэтому чз атрибут. Такие штуки можно прятать так Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. Можно впихнуть еще например логгирование и обработку ошибок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 12:06 |
|
||
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
test_taskя про в каком месте в моем решении это не так После коммита 26 числа, вижу, что уже по этому вопросу всё так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 13:40 |
|
||
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВПо тем же преславутым юнит-тестам нет единого мнения не то что в разных, часто оно расходится у проводящих собеседование, если их больше чем один. Что именно расходится? Использовать или не использовать? 100% покрытие, или пофигу? От уровня профессионализма, с которым работает компания, это зависит. ЕвгенийВВсяк кулик хвалит свое болото. Нафига мне вникать в ваш сайт, если почти все проекты "инновационные и неповторимые", а суть, в плане применяемых технологий, близнецы-братья. Даже хвалебные тексты маркетинг копирует с других хвалебных текстов скоммунизженных в сети. Если ты не вникал, значит и соискание у тебя соответствующее. На отъ..сь. Либо ты настолько крутой и уникальный, что тебе везде рады. Либо лень. Либо самомнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 13:41 |
|
||
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВskyANAПодготовился - это не что-то там "почитал", а ознакомился с профилем компании, требованиями, прикинул примерный круг задач, что будут спрашивать. Выписал себе на листочек, что хотел бы узнать, спросить, уточнить на собеседовании. По тем же преславутым юнит-тестам нет единого мнения не то что в разных, часто оно расходится у проводящих собеседование, если их больше чем один. К чему это сказано? Закончите мысль, если не трудно. ЕвгенийВskyANAА то спрашиваешь: Вы заходили на наш сайт, понимаете чем мы занимаемся, какой у нас продукт? В ответ что-то там мычат. И встаёт вопрос, а человек вообще хочет именно у нас работать, или ему по фигу где, с кем и над чем он будет трудиться? Всяк кулик хвалит свое болото. Нафига мне вникать в ваш сайт, если почти все проекты "инновационные и неповторимые", а суть, в плане применяемых технологий, близнецы-братья. Даже хвалебные тексты маркетинг копирует с других хвалебных текстов скоммунизженных в сети. То есть вариант "по фигу где, с кем и над чем он будет трудиться", хорошо. Ставится отметка "минус" в листочке :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 14:23 |
|
||
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
skyANAТо есть вариант "по фигу где, с кем и над чем он будет трудиться", хорошо. Ставится отметка "минус" в листочке :) Работодатель всегда хочет, что-бы работника в первою очередь интересовала сама работа, но по статистике (не помню где видел) основная причина смены работы это зп :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 18:25 |
|
||
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
skyANAtest_taskпропущено... тут просто баг (u.UserId == ...). а что тут "ужасно тупого"? В тестовом задании хотелось бы видеть полноценную реализацию GetOne, что на вход принимает Criteria . имеется в виду что-то такое? Код: c# 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 22:45 |
|
||
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
test_taskимеется в виду что-то такое? Код: c# 1. Не. Что-то такое: Код: c# 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 23:00 |
|
||
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
skyANAИ которую при желании легко можно декорировать к примеру кэшом . А то ведь не видно особого толка от интерфейсов и инъекций. декорировать кэшом репозиторий? или что Вы имеете в виду? разве, при необходимости в кэшэ, не правильнее будет инъектировать кэш в нуждающийся в нём сервис? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 23:01 |
|
||
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
test_taskне правильнее будет инъектировать кэш в нуждающийся в нём сервис? И как ты это сделаешь, если сервис дёргает репозиторий? Про это и речь. Тогда нет смысла в интерфейсах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 23:05 |
|
||
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
hVostttest_taskне правильнее будет инъектировать кэш в нуждающийся в нём сервис? И как ты это сделаешь, если сервис дёргает репозиторий? Про это и речь. Тогда нет смысла в интерфейсах. я правильно понял, что тут намекается на решение типа: 1. отнаследоваться от репозитория, который нуждается в кэшировании 2. инъектировать кэш в наследника (который уже не совсем "репозиторий") 3. при настройке IoC привязать к нужному интерфейсу реализацию нового "кэширующего репозитория" ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 23:19 |
|
||
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
test_task, Вот здесь ещё почитай: http://andrey.moveax.ru/post/patterns-oop-structural-decorator там интересней. Ещё можешь книженцию Сергея Теплякова почитать, там тоже доходчиво и актуально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 23:25 |
|
||
|
Тестовое задание
|
|||
|---|---|---|---|
|
#18+
hVostttest_taskимеется в виду что-то такое? Код: c# 1. Не. Что-то такое: Код: c# 1. а почему не Get(userId), а new AccountByUserSpecification не спрятать в Get? AccountByUserSpecification вообще какой-то мутный класс, чье название больше подходит для функции. нафига под каждый способ выборки (ByUserName, ByUserPenisSize) класс городить? GetBy1способ, GetBy2способ по-моему логичнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2017, 00:44 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=39478349&tid=1355492]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
22ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
2ms |
| others: | 222ms |
| total: | 311ms |

| 0 / 0 |
