• Устарел ли метод создания сайтов с помощью таблиц?

    Juralis
    @Juralis
    <метафора>
    Устарел ли метод открывания консервных банок простым ножом?
    Ведь есть специальные консервные ножи, которые для этого лучше годятся и безопаснее.
    Просто иногда нет возможности использовать консервный нож. В ситуации, когда банку нужно всё-таки открыть, сойдёт и обычный. А зачастую можно и об асфальт или камнем. Но лучше, конечно консервным ножом. Совсем хорошо, когда есть новомодные электрические открывалки (намёк на html5 и css3).
    </метафора>
    Ответ написан
    Комментировать
  • Программная работа с ЭЦП

    Juralis
    @Juralis
    К сожалению, C# не знаю, могу поделиться своей функцией на IronPython. Порядок действий, классы и методы будут одинаковые.

    from System.Security.Cryptography import Pkcs
    from System.Security.Cryptography.X509Certificates import X509Store, OpenFlags, X509Certificate2Collection,\
        X509Certificate2, X509Certificate2UI, StoreName
    
    def sign(content, tp):
        store = X509Store(StoreName.My)
        store.Open(OpenFlags.ReadOnly)
        storecollection = X509Certificate2Collection(store.Certificates)
        myCert = None
        for cert in storecollection:
            if cert.Thumbprint.ToLower == tp.ToLower:
                myCert = cert
        if not myCert:
            return None
        else:
            contentInfo = Pkcs.ContentInfo(content)
            signedCms = Pkcs.SignedCms(contentInfo, True)
            cmsSigner = Pkcs.CmsSigner(myCert)
            signedCms.ComputeSignature(cmsSigner)
            sign = signedCms.Encode()
            return sign
    

    Соответственно, тут на входе байты файла и строка с отпечатком (Tumbprint, его можно посмотреть в свойствах сертификата, но если захотите скопировать прямо от туда, то нужно убрать пробелы)
    Вместо передачи отпечатка можно прямо просить выбрать сертификат. У класса X509Certificate2UI есть метод SelectFromCollection, который показывает стандартное окошко выбора сертификата и возвращает коллекцию с выбранными сертификатами.
    Касательно того, что это криптопровайдер от КриптоПро — в общем-то, в данном случае не имеет значения.

    Ну, соответственно, остаётся прочитать файл и сохранить байты подписи в имя_файла.sig
    Ответ написан
  • Шрифт в IDE

    Juralis
    @Juralis
    В своё время понравился Droid Sans Mono
    Использую его в PyCharm с темой monokai

    Ответ написан
    2 комментария
  • Кто-либо сталкивался с принятием в суде договора, подписанного ЭЦП?

    Juralis
    @Juralis
    Если мне не изменяет память, то ЭЦП является аналогом подписи и не равносильна по-умолчанию. Для того, чтобы документ подписанный ЭЦП имел юридическую силу, должен быть двусторонний договор между организациями, заключенный «классическим» образом, в котором прямо прописывается, что обе организации доверяют документам подписанный ЭЦП, либо обе организации могут присоединиться к публичному договору. В целом, данный вопрос регулируется Федеральным законом РФ от 10.01.2002 №1-ФЗ «Об электронной цифровой подписи», 160 статьей ГК РФ и парой других.
    На сколько мне известно, были успешные практики в делах связанных с представлением налоговой отчетности в электронном виде, но подробностей не знаю. В связи с тем, что многие спец.операторы начинают внедрять электронный документооборот между предприятиями, в том числе счета-фактуры, думаю суды уже морально готовы к таким делам.
    Ответ написан
  • Интуит, как и что?

    Juralis
    @Juralis
    Я сейчас присматриваюсь к РФЭИ, по тому же поводу. Обещают дистанционно, быстро и диплом гос. образца. Бакалавриат. О качестве не думаю, но работодателю должно хватить.
    Кто что знает об этом ВУЗе?
    Ответ написан
    2 комментария
  • Как обойти отсутствие транзакций в MongoDB?

    Juralis
    @Juralis
    Как я понимаю, mongodb тут хорошо именно в том ключе, что можно для разных типов товара задавать профильные конкретно для него свойства и не описывать их заранее. И есть некий набор свойств, присущий всем товарам (как количество, стоимость и т.д.). В этом смысле, вам действительно было бы удобнее убрать эти универсальные свойства в РСУБД и эта задача явно не для mongodb.
    Сам не пользовался, но судя по анонсу PostgreSQL 9.2 поддерживает json field и возможно это подойдёт для такой задачи.
    Но, похоже есть некоторые сложности с поиском по данным этого поля.
    Вот, к примеру, вопрос (с решением) на stackoverflow:
    stackoverflow.com/questions/10560394/how-do-i-query-using-fields-inside-the-new-postgresql-json-datatype
    Ответ написан
    Комментировать