Ответы пользователя по тегу Веб-разработка
  • Как гарантировать списание денег с баланса?

    qonand
    @qonand
    Software Engineer
    без разницы как Вы будете запускать процесс списания средств по крону или еще как-то, защита от повторного/параллельного списания должна быть реализована в самом алгоритме списания и не зависеть от вызывающих ее процессов. Т.е. на момент списания алгоритм сам должен проверять нужно ли снимать абонплату с клиента или нет. Как именно сделать эту защиту зависит от деталей реализации Вашей системы - но в общем случае вариант с историей вполне уместен, а проблемы параллельного списания вполне можно решить транзакциями/блокировками
    Ответ написан
    1 комментарий
  • Как правильно использовать DTO в реальных проектах asp.net core WebAPI?

    qonand
    @qonand
    Software Engineer
    Другими словами: нужен ли еще один класс, реализующий IUser, используемый как DTO в работе самого WebAPI?

    В Вашей ситуации слой сервисов должен возвращать в WebApi DTO, но реализовывать его как IUser не стоит. Разделение системы на слои подразумевает что каждый слой может знать только о нижележащем слое (точнее о его интерфейсах). Если DTO, возвращаемое в WebAPI, будет реализовывать IUser относящийся к DAL произойдет нарушение порядка слоев, что как бы ни разу не тру.
    Получается 3 почти идентичных куска кода: IUser, User (DB), UserViewModel (WebApi).

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

    Есть немного другой путь: не использовать EntityFramework (вполне реальные кейсы), взять, например, Dapper. Там в классе User не будет атрибутов, он будет чистым DTO. И теоретически, мог бы использоваться в WebAPI, но тогда придется сделать прямую ссылку на Project.Data.Impl.

    Если User останеться в DAL - тогда проблема не решиться, у Вас по прежнему будет нарушение порядка слоев ...
    Ответ написан
  • Путь к ИТ архитектору?

    qonand
    @qonand
    Software Engineer
    Доброго времени суток. Я junior web developer. В данный момент пишу на php. Хочу спросить совета у опытных людей, как начинать двигаться в сторону ИТ архитектор

    Рановато двигаться в сторону архитектора, Вы лучше двигайтесь в сторону Senior Developer и задавайтесь вопросом как Вам дойти до уровня Senior, а уже после достижения этой планки Вы сами поймете как развиться в архитектора.
    Ответ написан
    Комментировать
  • Как сделать цикл вывода информации из mysql?

    qonand
    @qonand
    Software Engineer
    почитайте про массивы и циклы и тогда все Ваши вопросы отпадут
    Ответ написан
    5 комментариев
  • С чего начать разработку веб приложения?

    qonand
    @qonand
    Software Engineer
    Если проект для себя и планируете делать самостоятельно (единолично без команды):
    Сделайте прототип приложения - схематические наброски каждой страницы (хорошо если он будет интерактивный). Это позволит Вам упорядочить мысли и продумать различные аспекты логики приложения. По этому прототипу Вы в дальнейшем сможете разрабатывать приложение. Для прототипирования есть множество готовы решений, например тот же Axure (он платный, но есть и масса бесплатны инстументов).
    Если будете заказывать дизайн у дизайнера, по прототипу ему будет просто разобраться в логике и структуре проекта.

    Если проект для себя и Вы планируете делать в команде:
    Тут все зависит от уровня коммуникаций в команде, если команда слажена и работает фултайм по одному графику - тогда для работы вполне может хватить прототипа + устных пояснений. Если же команда не слажена, и каждый из участников работает в удобное для него время - тогда не трате силы на прототипы, лучше закажите полноценное ТЗ у профессионала (на фрилансах полно людей занимающихся разработкой ТЗ)

    Если проект для клиента:
    Закажите ТЗ у стороннего разработчика - сэкономите кучу времени, сил и нервов.
    Ответ написан
    2 комментария