LINUX.ORG.RU

Сообщения horonitel

 

Дублирование экранов: nvidia + ubuntu 14.04

Уважаемые ЛОРовцы,

Есть маленькая проблема. У меня монитор и телек, оба fullHD. Я хочу, чтобы по дефолту у меня картинка дублировалась. Пока что приходится постоянно открывать панель управления Nvidia - X server displar configuration - Position - Clones - Apply. Xorg.conf убунта, кажется, вообще игнорирует. Как сделать настройку перманентной?

Заранее благодарю.

 , ,

horonitel
()

Что за формат даты?

Не понимаю, что за формат даты такой: startDate": 1401825600000, «endDate»: 1410465600000

Взято отсюда - http://2do2go.fitdev.ru/api/doc/symbols/EventResource.html

Нужно превратить дату типа 31.12.2014 в такую средствами python3.

horonitel
()

Как продублировать curl в python-requests?

Собственно, у любого из вас сработает этот curl:

curl -H 'content-type: application/json' --insecure -d '{"client_id":"w44p0d00.apps.2do2go", "client_secret":"mvlldlsfKLLSczxc12Kcks910cccs", "grant_type":"client_credentials", "scope": "anonymous"}' https://auth2do2go.fitdev.ru/oauth/token

Через python3 я воспроизвожу это так:

import requests
import json
def gettoken():
    data = {"client_id": "w44p0d00.apps.2do2go", 
            "client_secret": "mvlldlsfKLLSczxc12Kcks910cccs",
            "grant_type": "client_credentials", "scope": "anonymous"}
    url = "https://auth2do2go.fitdev.ru/oauth/token/"
    headers = {'content-type': 'application/json'}
    r = requests.post(url, headers=headers, params=json.dumps(data), verify=False)
    print(r.content)

curl работает, a запрос из python долго думает и потом выпадает с ошибкой какой-нибудь ни о чем не говорящей ошибкой.

ЧЯДНТ?

 , , ,

horonitel
()

Чистка XML в Python

Имеется страшненький XML, например такой:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
        <ns1:updateProductDef soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:ProductAdmin">
            <ns1:arg0 xmlns:ns2="ebridge:UserContext" xsi:type="ns2:userContext">
                <DBName xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:string">TheDataTheBase</DBName>
                <ip xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:string">10.10.10.10</ip>
                <name xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:string">iivanov</name>
                <password xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:string">******</password>
            </ns1:arg0>
            <ns1:arg1 xsi:type="ns1:productDef">
                <basecostperunit xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:nil="true" xsi:type="soapenc:double"/>
                <canruntillforbid xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:long">0</canruntillforbid>
                <companyid xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:long">207</companyid>
                <defaultzoneid xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:nil="true" xsi:type="soapenc:long"/>
                <groupbuyvieworder xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:nil="true" xsi:type="soapenc:long"/>
                <id xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:long">121</id>
                <incinpgldump xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:nil="true" xsi:type="soapenc:long"/>
                <iseditorialproduct xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:long">0</iseditorialproduct>
                <isonlineproduct xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:long">0</isonlineproduct>
                <productid xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:long">121</productid>
                <publishfriday xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:long">1</publishfriday>
                <publishmonday xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:long">1</publishmonday>
                <publishsaturday xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:long">1</publishsaturday>
                <publishsunday xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:long">1</publishsunday>
                <publishthursday xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:long">1</publishthursday>
                <publishtuesday xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:long">1</publishtuesday>
                <publishwednesday xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:long">1</publishwednesday>
                <unitmeasure xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:nil="true" xsi:type="soapenc:long"/>
            </ns1:arg1>
        </ns1:updateProductDef>
    </soapenv:Body>
</soapenv:Envelope> """

Нужно убрать из него все атрибуты, неймспейсы, а также юзерконтекст и SOAP-конверт. Чтобы получилось что-то вроде


            <arg1>
                <basecostperunit/>
                <canruntillforbid>0</canruntillforbid>
                <companyid  >207</companyid>
                <defaultzoneid/>
                <groupbuyvieworder/>
                <id>121</id>
                <incinpgldump/>
                <iseditorialproduct>0</iseditorialproduct>
                <isonlineproduct>0</isonlineproduct>
                <productid>121</productid>
                <publishfriday>1</publishfriday>
                <publishmonday>1</publishmonday>
                <publishsaturday>1</publishsaturday>
                <publishsunday>1</publishsunday>
                <publishthursday>1</publishthursday>
                <publishtuesday>1</publishtuesday>
                <publishwednesday>1</publishwednesday>
                <unitmeasure/>
            <arg1>

Такой получился случай, когда нужно работать с SOAP-реквестами не только через suds но еще и молотком. По сути, мне нужно удалить все атрибуты и оставить только то, что <arg1>внутри</arg1>. Гуглеж как-то не очень помог. Во всяком случае, я не нашел примера кода, удаляющего все атрибуты из XML. Помоги мне, ЛОР.

 , ,

horonitel
()

HTML5-валидация, YYYY.любоечисло

Нужен required pattern к полю. В нем текст должен соответствовать формату YYYY.n, где n - любое число от единицы до миллиона.

Пробовал подпилить под себя нагугленные паттерны типа YYYY.MM, но что-то ничего не вышло. С веб-разработкой я связался только что, и понимаю что вопрос тупой, но сам не справляюся. Кто чем помогёт?

 

horonitel
()

Ремейк coreutils. Производительность VS традиции.

Прочитал я статью про /bin/true и кучу ее версий. Потом подумал посмотреть, что да как в моем Debian:

root@server:~# /bin/true --version
true (GNU coreutils) 8.5
Copyright (C) 2010 Free Software Foundation, Inc.
Лицензия GPLv3+: GNU GPL версии 3 или новее <http://gnu.org/licenses/gpl.html>
Это свободное ПО: вы можете продавать и распространять его.
Нет НИКАКИХ ГАРАНТИЙ до степени, разрешённой законом.

Автор программы — Jim Meyering.


Суть даже не в том, на кой черт столько версий. Суть в том, что если программу переписывали кучу раз и она, ничего не делая, весит 20 (!) килобайт, то что-то здесь не так.
В общем, я переписал (какое громкое слово) ее на nasm и собрал. Объем уменьшился в ~40 раз. А потом - самое веселое, тестирование производительности.
Для этого использовался следующий скрипт:

#!/bin/bash
i=0
date
until [ $i -eq 220000 ]
do
/bin/true
  i=$[$i+1]
done
date


После этого в скрипте /bin/true меняется на ./true и тест повторяется.
Тест проводился на Debian Stable x64, Xeon E3-1235 Sandy Brige, 16gb RAM DDR3 1333.

Результаты:
/bin/true - 61 sec
./true - 32 sec

C /bin/false все примерно так же. Еще сравнивал с true из busybox на нетбуке с slitaz. Ее nasm-версия обгоняет не в 2, а примерно, в полтора раза.


Я даже не знаю, что мне спросить. Зачем в ЭТИХ программах Си? Почему они такие медленные? Почему даже busybox, который призван работать на встраиваемых и маломощных железяках не использовал такой подход? Я понимаю, что vi на nasm или gas переписать - мрак и ужас. Но cat, mount, ls, true, false и еще многие - вполне возможно. И даже я бы мог это сделать, если бы захотел. Другой вопрос в том, что системное программирование в Linux прибито гвоздями к сишечке. Неужели от нее не откажутся даже ради прироста производительности?
Даже двойного?

 , , , ,

horonitel
()

RSS подписка на новые темы