• Как узнать на каком этапе присваиваются cookies?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    было бы неплохо понять на каком этапе присваиваются эти ключи и перезаписать имеющиеся куки на новые

    Можно сравнивать старые с новыми печеньками, т.к. у нас python в тегах, то буду использовать лишь его (а не внешние инструменты):
    import requests
    from http.cookiejar import CookieJar
    
    # initial cookies
    initial_cookies = {}
    
    session = requests.Session()
    session.cookies = CookieJar()
    
    # set cookies
    session.cookies.update(initial_cookies)
    
    # post
    response = session.post(
        'https://seller-supply.wildberries.ru/ns/sm-supply/supply-manager/api/v1/supply/listSupplies',
        headers=headers,
        json=json_data,
    )
    
    # get updated cookies
    updated_cookies = session.cookies.get_dict()
    
    # check new cookies
    if initial_cookies != updated_cookies:
        print("Свежее печенье.")
        print("Старье:", initial_cookies)
        print("Новье:", updated_cookies)
    else:
        print("Свежее печенье не завозилось, расходимся.")

    был бы рад если кто-нибудь объяснит как в принципе присваиваются куки

    1. Запрос к серверу > возврат данных (html, json итп.) + возврат печенек (заголовок Set-Cookie).
    2. Повторный запрос (повторяем п1), но уже с печеньками. Если сервер сочтет, что пора обновить печеньки (авторизация, например), то вернет новые с заголовком Set-Cookie, соответственно приложение (отправившее запрос) мониторит такой заголовок.
    HTTP-куки
    Ответ написан
    4 комментария
  • Как получить логи открытия папок/файлов в WinServer 2019/Win10?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    а много ли файлов надо курировать? по опыту c# - есть возможность целевой подписки на события файла/папки.. и это точно легче чем журналы аудита и их парсинг..
    в *икс терминологии написать демона.. и повесить где надо в шедулере.. хоть на рабочих станциях самих пользователей ))... через АД к примеру ))
    если что помогу сформулировать поисковые запросы для питона ))

    ps если корпоративная среда, тот же пшел достаточен:
    - не надо заливать питон клиенту
    - дотнет и пшел априори во всех актуальных версиях винды
    - запуск стукача политиками ;)
    ... если что пишите, даже интересно стало ;)
    Ответ написан
    6 комментариев
  • Как именно работает firewall у хостингов?

    Daemon23RUS
    @Daemon23RUS
    1) нужно обладать достаточными знаниями в области сетей и серверов
    2) это некий preset, например у вас сайт, хостер закрывает все порты кроме 80 и 443 (я упрощенно)
    3) дабы не нагружать сервер, ФВ правила выполняются на доп оборудовании, и вам приходит чистый трафик.
    А вообще на вопрос без вводных данных, что вы защищаете - ответ будет пальцем в небо.
    Ответ написан
    9 комментариев
  • Почему при операциях с БД из под Docker-контейнера возникает ошибка?

    @chemdev
    Если я правильно понял, в контейнере у тебя аирфлоу, а постгрес еще где-то но не в данной докер-сети. Если это так, необходимо либо в cmd, либо в конфиге пробросить порт из докеровской сети наружу.
    Об этом можно почитать здесь
    Проблема связана с тем, что у докера внутри свой локалхост.
    Ответ написан
    1 комментарий
  • Как организовать поток данных в продукте в PostgreSQL?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    надо делить вопрос на несколько
    с
    Насколько разумно читать excel с помощью file_fdw или лучше делать это питоном

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

    чтобы понять что оно такое - нужно какое-то время с ним поработать - рано ли поздно вы наткнетесь когда неверно добавленный символ в строку отправляет к *беням всю идею парсинга csv файла и заставляет написать кучу кода:
    а) вычленение херяшей все строки,
    б) перенос ее в место (поле , табл, файл) с ошибками,
    в) лог - уведомление о том что такое случилось.

    проще говорят - это для "по быстрому аналитику сделать выборку", на постоянной основе существовать не должно, но(!) что ни говори, а кода будет чуть меньше ))

    по применению Open-closed принципа, честно, ничего не понял в контексте описываемых задач - конечно, вертится Маршаллинг/Анмаршаллинг и Сериализация/Десериализция, но...
    Ответ написан
    1 комментарий
  • Как установить npgsql для работы в powerbi?

    vabka
    @vabka
    Токсичный шарпист
    UPD:
    Используй эту инструкцию:
    https://learn.microsoft.com/ru-ru/power-query/conn...
    Версии 4.1 и новее с powerbi работать не будут.

    Тебе нужна версия 4.0.10
    https://github.com/npgsql/npgsql/releases/download...

    А ещё есть вот такое примечание:

    По состоянию на декабрь 2019 г. NpgSQL 4.0.10 поставляется с Power BI Desktop, и дополнительная установка не требуется.


    неправильный ответ по установке npgsql в C# проект

    Добавь следующую строчку в csproj:
    <PackageReference Include="Npgsql" Version="7.0.4" />

    Чтобы получилось что-то типа:
    <Project Sdk="Microsoft.NET.Sdk.Web">
    
      <PropertyGroup>
        <TargetFramework>net7.0</TargetFramework>
        <Nullable>enable</Nullable>
        <ImplicitUsings>enable</ImplicitUsings>
      </PropertyGroup>
    
      <ItemGroup>
        <PackageReference Include="Npgsql" Version="7.0.4" />
      </ItemGroup>
    </Project>

    Ответ написан
    9 комментариев
  • Какие таблицы работают эффективнее?

    @rPman
    На каждую таблицу будет заводиться индекс PK, если количество записей будет одинаковое (в смысле на каждое значение PK будет по одной записи в каждой таблице) - будет хуже, так как размер индекса у каждой таблице растет с ростом количества записей в ней, и много таблиц - много по факту отдинаковых индексов (но для разных таблиц он хранится), поэтому разделять по мелким узким таблицам имеет смысл только для разряженных данных, когда записи появляются только при наличии данных, причем чем больше таких отдельных таблиц тем больше должна быть 'разряженность' данных, чтобы это имело смысл.

    Так как объем ПЗУ значительно выше (при той же стоимости) чем ОЗУ (а требования к ней таковы что индексы желательны влезать в нее, хотя бы для оперативных запросов) то лучше забить на оптимизацию по занимаемому месту данными, чем увеличить кратно требования для оперативного хранения индексов.

    Поэтому - не дроби на большое количество таблиц, пусть будет меньше таблиц с большим количеством полей, но без фанатизма, если видишь что появляется куча условий not null когда как для нескольких таблиц это отрабатывается inner join, то тогда да (not exists лучше чем is null).

    p.s. в догонку про сериализацию данных в одно поле, когда одно поле БД хранит сразу несколько значений - это оправдано и даже рекомендуется, если эти данные не имеют смысл по отдельности, красивый пример ip-адрес и порт как настройки подключения - суть одни данные, и нет никакого смысла разделять их на разные поля базы, за исключением случаев когда возможно потребуется активная аналитика по отдельному полю (например по ip адресу) - 'активная' тут это значит нужно строить индексы и делать частые запросы а не разовый full scan бакэндом.

    Дробление данных на большое количество полей - повышает нагрузку на бакэнд (спорное утверждение, бывает наоборот, но зачастую да), правда для тех разработчиков, где такая оптимизация имеет смысл, такими вопросами не задаются, нужны действительно большие нагрузки.
    Ответ написан
    1 комментарий
  • Как убрать ограничения чтения названия столбца в PostgreSQL?

    Vindicar
    @Vindicar
    RTFM!
    https://www.postgresql.org/docs/7.0/syntax525.htm
    The system uses no more than NAMEDATALEN-1 characters of a name; longer names can be written in queries, but they will be truncated. By default, NAMEDATALEN is 32 so the maximum name length is 31 (but at the time the system is built, NAMEDATALEN can be changed in src/include/postgres_ext.h).


    Только компилять свою версию постгре с увеличенной константой NAMEDATALEN.
    Ну или исправить кхм, странную архитектуру твоей программы, которой нужны длинные рускоязычные имена столбцов.
    Ответ написан
    6 комментариев
  • Учебник по математике, при почти нулевых знаниях?

    @SeptiM
    Мне кажется, то, с чего нужно начинать, это дискретная математика. Можно сказать, это азбука для программиста. Я ниже приложил некоторый список книг. Стоит, правда, понять, хотите вы самостоятельно изучать предмет или иметь менторов и готовую программу...

    Дискретная математика

    Есть здоровская книжка Андерсона "Дискретная математика и комбинаторика". Она довольно толстая, но главы можно читать почти в случайном порядке. Некоторые математики жалуются, что она не очень строгая и много воды, но для начала самое то.

    По дискретной математике есть русский онлайн-курс на Stepic-е.

    Если идти чуть глубже, есть неплохая книжка Кнута и др. "Конкретная математика".

    Алгоритмы и структуры данных

    Кормен "Алгоритмы: построение и анализ" в переводе А. Шеня. Осилить первые две главы, потом можно идти почти в случайном порядке. Написано достаточно просто и понятно.

    Дасгупта, Пападимитриу, Вазирани "Алгоритмы".

    Онлайн-курс по алгоритмам.

    О математике

    МЦНМО свободно распространяет много интересных книг: www.mccme.ru/free-books
    Посмотрите там в первую очередь Шеня и Арнольда. Например, В. И. Арнольд. Задачи для детей от 5 до 15 лет.

    И разумеется не упустите замечательного писателя Мартина Гарднера "Математические головоломки и развлечения".

    Задачники

    Попрактиковаться в решении с проверкой можно здесь.

    www.braingames.ru -- по математике
    https://projecteuler.net/ -- среднее, ближе к программированию
    acm.timus.ru -- по программированию

    Очные программы

    Умение самоорганизоваться -- это хорошо, но иногда нужен ментор и готовая программа.
    Если вы живете в Москве или Петербурге, попытайте счастье в этих двух организациях:
    https://yandexdataschool.ru/
    https://compscicenter.ru/
    Если нет, но есть возможность на два года уйти в учебу, попробуйте поступить в магистратуру СПбАУ на SE-направление:
    mit.spbau.ru

    Посмотрите задания на собеседования. Скорее всего вам будет что повторить или изучить, прежде чем поступить.

    Удачи!
    Ответ написан
    3 комментария