Git Product home page Git Product logo

fiss's Issues

Улучшение переиспользования IssRequest

Сейчас IssRequest не со всем проходит процесс dispose. Как из улучшений можно сделать следующее:
Добавить объект ShapshotState, который будет возвращаться из метода TakeSnapshot, хранить это состояние как singleton, а IssRequest сделать transient и добавить конструктор, который бы принимал ShapshotState.

Благодаря чему в IssRequest не будет необходимости в dispose, а нужное состояние для IssRequest можно всегда вернуть через ShapshotState

Переиспользование IssRequest

Так как, IssRequestExtension является статическим методом расширения, с целью переиспользования IssRequest, чтобы использовать одну реализацию метода во всем проекте. Иногда необходимо очищать или обновлять данные в Queries, Paths.

Обновление пути необходимо в случаях когда запросы похожи, но имеют небольшие изменения: "engines/stock/markets/bonds/securities" и "engines/offboard/markets/bonds/securities". Можно обновить в Paths путь и пересобрать весь путь снова в ConstructUrl или заменить в итоговом пути необходимые строки, оптимальное решение пока не найдено, но смотрю в сторону StringBuilder.

Очищать путь необходимо для совершенно разных путей, так как IssRequest переиспользуется. Самый простой путь через IDisposable в IssRequest. Очищая в методе public void Dispose() Queries, Paths. Но это не самый оптимальный путь. Как и хранение динамических данных в List и Dictionary.

Необходимо найти оптимальное решения для замены строки, хранения динамических данных и их очищение.

[Suggestions] Nuget package

  1. Не генерируется документация из xml.
    Нужно добавить данный тэг в csproj, чтобы включать документацию в пакет.
    <GenerateDocumentationFile>true</GenerateDocumentationFile>

  2. Readme указывает на обычную версию пакета 0.1.1, а документация для 1.0.0-preview1. Либо добавить указание на pre-release версию, либо релизнуть новую.

Install-Package Fiss -IncludePrerelease
dotnet add package Fiss --prerelease

  1. Documentation from xml was not generated.
    You need to add this tag to csproj to include documentation in the package.
    <GenerateDocumentationFile>true</GenerateDocumentationFile>

  2. The Readme points to the regular package version 0.1.1, and the documentation for 1.0.0-preview1. Either add an indication of the pre-release version, or release a new one.

Install-Package Fiss -IncludePrerelease
dotnet add package Fiss --prerelease

Авторизация через паспорт MOEX

Необходимо реализовать авторизацию через паспорт MOEX, для получения доступа к данным, которые требуют подписку или авторизации пользователя.

Для реализации авторизации необходимо следующее:

  • Отправка login и password в следующий запрос: https://passport.moex.com/authenticate
  • Получение cookies = {'MicexPassportCert': s.cookies['MicexPassportCert']}
  • Отправка запроса требующего авторизацию со следующими параметрами: req = re.get(url, headers=headers, cookies = cookies)

Пример реализации описан в следующем документе от MOEX

Отвязать пакет Fiss.Client от Fiss

Сейчас Fiss.Client использует библиотеку Fiss только для получения версии. Думаю что лучше отвязать Fiss.Client и сделать его самостоятельным.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.