Задать вопрос
  • Как узнавать время последнего изменения таблицы?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вопрос интересный. Я-бы спросил - какой смысл должно нести это время? Все простые варианты добавить к таблице счетчик времени - вызывают много вопросов. Начиная от того как быть с delete. И как быть MVCC. Можно просто рассмотреть парочку кейсов где 2 пользователя одновременно вставляют и удаляют строки и еще по разному коммитят и откатывают изменнеия и получается нехилое число парадоксов.

    Аналогия с файловой системой - неуменстна. Файлы - работают в режиме dirty mode. Тоесть сразу фиксируют результат опреации. А таблица в БД в этом смысле похожа на git-репозитарий со множеством бранчей. Тоесть мультиверсионная вселенная. И подытожить ее состояние в любой момент времени так дешево не получиться.

    Для нужд аудита изменений - самое простое создать поле last_update_timestamp в таблиах например. И туда добавлять время бизнес-операции.

    Еще для аудита практически во всех dbms есть опции. Для Oracle например есть audit table.
    Аудит обычно пишет имя пользователя и время действия и время таблицы над которой действие было.
    Для MSSQL тоже есть свой API.
    Ответ написан
    5 комментариев
  • Где ошибка в коде?

    HtmlAgilityPack.HtmlWeb не получает страницу видимую в браузере потому что он не передает нужные заголовки и не умеет javascript
    сохранив то что пришло из url
    видим что искать там нечего
    63f242c891401994265510.png
    Ответ написан
    Комментировать
  • Считается ли только создание API достаточным пет проектом для демонстрации своих навыков в бэкенд разработке в резюме?

    @mletov
    API API рознь.

    Если один контроллер и 3 экшена, в которые засунута вся логика - то никому не интересно, даже с навыками фронта.

    А вот если API сделано:

    - с использованием ООП и паттернов
    - многоуровневой архитектурой
    - SQL запросами, которые сложнее просто SELECT
    - авторизацией, проверкой прав на рутинги, JWT
    - асинхронностью
    - Swagger

    то хватит более чем, возьмут и без знания фронта или по крайней мере с минимальным знанием (например, bootstrap + jquery).

    А если еще всяких рэббитов, монги и сфинкса для кучи сверху навернуть и тестами покрыть, то вообще с руками оторвут.

    Так то бэкенды в основном API и пишут, но важно в первую очередь качество исполнения, степень сложности решенной задачи, а также желательно показать разнообразие инструментов, технологий и подходов, которыми владеете.
    Ответ написан
    2 комментария
  • ASP.NET CORE это фреймворк который следует паттерну MVC, а паттерн MVC предполагает как бэкенд так и фронтенд разработку?

    что это больше full стек фреймворк

    Ошибаешься. ASP NET Core отвечает только за обработку http-запросов и жизненный цикл приложения.
    В этом плане он больше похож на какой-нибудь чисто бэкендовый фреймворк типа Nest.js

    full stack - это ASP NET Core MVC с Razor Pages (или с Blazor).
    Он как раз будет похож на Django с его html-шаблонами и jinja.

    Меня интересует только бэкенд разработка, мне обязательно при изучении asp.net core знать html и css?

    Конечно не обязательно, если ты не собираешься делать фронт.

    Как пример архитектуры можешь посмотреть на eShopOnWeb и eShopOnContainers (к каждому из них прилагается бесплатная книга с подробным описанием) - в них как раз есть пример разделения web api и UI с MVC

    Вот схема, как сделан eShopOnContainers к примеру (обрати внимание на разделение API и webApp)
    eShopOnContainers-architecture.png
    Ответ написан
    2 комментария