Как стать автором
Обновить
2
0
Александр Киселев @Elvish

Пользователь

Отправить сообщение
«Везделёт», «Грузолёт России»,
«Почтафлот», «Грузофлот»,

«Грузаброс» / «Грузовброс» :)
а я воспользовался интересным предложением: когда говорят об экономии электричества на сберегайках — то почему то считают, что они включены постоянно… ну я и подумал а почему бы и нет.

Так вот свет в туалете включен всегда (кроме длительных отпусков). А лампа стоит сберегающая, горит несколько лет.
Если семья большая — то постоянные включения-выключения очень быстро убивают как обычные лампы накаливания так и сберегайки, да даже 2 раза менял сам выключатель (изнашивались контакты, искрит, и механизм удержания вкл-выкл)…

Мне проще — в моем регионе электричество дешевое. :)
Но пожалуй для других регионов надо считать что экономически выгоднее — купить/собрать, инсталлировать, сделать все красиво, потом ловить баги, нежданную темень, выход из строя электроники, и кстати схема тоже питается электричеством постоянно, или просто — постоянный свет на десяток ватт.
А почему запрос в текстовой форме?
чем плохо такое тело функции (вообще без кавычек и возможности «сломать» запрос кривым именем таблицы:
DECLARE
--...
UPDATE row_counts set reltuples=reltuples +1 where relname = TG_RELNAME;
--...
END
У вас есть машинные коды. Вы быстренько за пару лет вычисляете коды необходимых команд для идеального алгоритма спасения принцессы используя документацию на процессор. Также верно рассчитываете сдвиги всех условных переходов. Потом безошибочно вносите все это в память. И при попытке запуска выясняется что документация была от другого процессора.
После просмотра этого видео складывается ощущение, что тотальная ядерная война не вызовет ядерную зиму.
Не надо это показывать политикам :)
в 7-ке можно в свойствах окна прописать «выделение мышью» и тогда выделение будет работать сразу (левый клик), а вставка того что в буфере правому клику.
очень похоже на то как это работает в putty.

ну и там же можно увеличить размер окна (но это для всех cmd и навсегда) но полезней там увеличить высоту буфера строк до нескольких тысяч.
судя по тестам, у меня складывается ощущение, что gcc не подключил (или не использовал) сопроцессор.
по времени компиляции для случая gcc можно попробовать указать системе сборки использовать параллельную компиляцию (make -j8 например), если это возможно.

табличку тяжело изучать, так как в 1/3 случаев для случаев второго места — нет процентажа.
И все ж таки, а следующая часть когда?
а как Вы предлагаете хранить длину строки? или сделать все строки фиксированного размера? Или вообще все символы связным списком?
Если хранить длину — то в скольких битах? Тут или перерасход или недостаток рано или поздно случится. Если сделать переменное число бит на хранение длины строки — то оверхед будет при считывании этой длины.
Интересует именно универсальный и кросс платформенный подход.
И оценочное сравнение по потреблению лишней памяти для мелких и больших строк. А также сравнение производительности в типичных операциях со строками.
Меня больше всего волновал этот вопрос, ибо в моей реализации я уперся в то, что при большой нагрузке я терял больше 40% сообщений на udp сокетах, что собственно не очень-то удивительно…

А вы пробовали увеличить буфер сокета?
Не знаю как в питоне, но в C это выглядит как-то так:
int sock = /* инициализация сокета, бинд */;
int new_size = 1024*1024;
setsockopt(sock,SOL_SOCKET,SO_RCVBUF,&new_size,sizeof(new_size));

или в QT:
QUdpServer *udp = new QUdpServer();
udp->bind(....);
udp->setSocketOption(QAbstractSocket::ReceiveBufferSizeSocketOption, 1048576);


Мне очень интересно проблема только в этом была или еще в чем-то.
Как-то сложно регистрируются команды…
У меня есть своя реализация более продвинутого «шела» для микроконтроллеров…
На С, минимально может работать на 100 байт памяти (можно уменьшить до 40 отрезав некоторые возможности). и немного стека (байт 20).
поддерживает неограниченное количество команд (сколько во флеш влезет),
есть автодополнение комманд, передача параметров для исполняемых функций.
типа того:
> plus 4 5
9
>
«шелл» может работать в условно-фоновом режиме (достаточно переодически вызывать обработчик шелла)
может и монопольно.
можно «вызывать» предыдущую команду с параметрами.
можно подключить как к UART, так и к другим каналам связи. (надо реализовать всего 3 функции putch(), getch(), kbhit())
краткая авто генерируемая справка по списку команд.
не зависит от стандартных библиотек
должна реализовываться на практически любом компиляторе и архитектуре. изначально затачивалась под 8 бит архитектуру.

один из минусов — это команды должны быть сведены в один константный массив
...{ «command1_name», function_obrabotka1 }, { «cmd2», func2 },…
другой минус — нельзя запустить несколько «шеллов» одновременно.

если есть высокая заинтересованность хабра-сообщества могу попытаться оформить это дело…
Эхх… не удержался… сделал SQL параметрическую елочку на postgres 9.3.
height — высота, igr — вероятность игрушек, rost — угол наклона елки, fon — кол-во символов обрамления, penok — высота пенька елки.

                                                    DO $_$
                                            DECLARE param text := 
                             '20 height,0.2 igr,0.7 rost,5 fon,0.06 sneg,2 penok';
                                         tt text; pp text;xx text;zz 
                                              text;___ text;elka 
                                                   CONSTANT 
                                                   refcursor
                                                   :='elka';
                                                     BEGIN 
                                                 xx:= 'select';
                                               zz:='from' ;___:=
                                              '::text'; pp :=  $$
                                             WITH b as ($$ ||xx ||
                                            $$ 'tr' $$||___|| $$ a,
                                           'r' $$ || ___ || $$ b,'a' 
                                          $$ || ___ || $$ c , 'in' $$
                                         ||___|| $$ v), a as ($$||xx||
                                        $$ 's'||a||v || 'g' s,c||b||b||
                                       c||'y' a,'en' $$ ||___|| $$ e,'l'
                                      ||c $$||___||$$ l,b|| 'e' $$||___||
                                    $$ r,'ne' $$||___||$$ n, 'el' $$||___||
                                   $$ k,'e'||b $$||___||$$ d, 'to_'$$||___||
                                  $$ _,'e'||c $$||___|| $$ g,'ow' $$||___||$$ 
                                 w,'oup' $$||___||$$ p,'by' $$||___||$$ b,'nio'
                                $$||___||$$ i,'ig'||b rg, 'dom' $$||___|| $$ o,c
                               ||'s' $$||___||$$ z,'o'||b $$||___||$$ t,'ch' $$||
                             ___||$$ f,'p' $$||___||$$ h,'on' $$||___||$$ y,b||'o'
                             $$||___||$$ j,v, c||b||c c $$||zz||$$ b),d as ($$||xx||
                            $$' f'||j||'m ' $$||___||$$ f,'s'||k||'ect ' s,'sub'||s||
                           '(' u,' f'||t||' ' r,'::'||v||'t' $$||___||$$ i,'i,g'||e||d
                          ||'ate_s'||d||'ies(' g,a||'_'||_||s||'('||a||'_agg(' a,'c'||z
                         ||'e wh'||e||' ' w,'v'||d||'si'||y||'(),_,_-_))' v,' gr'||p||' '
                        ||b||' _' o,'ran'||o||'()' n,h||'i()' p,'th'||e t,k||'se' e,e||'d'
                       d,rg,y mm,f||'r(' c,'ne'$$||___||$$ sg,z z,'l'||e||'gth' l,'::'||r||
                      'al' q,''||h||'c' __,'u'||i||'n ' un,r||h||g||'t(' re,r||h||l||'ce('pl
                     ,'un'||n||'st('||a ua,'deg'||r||'es' de,t||'d'||d||' '||b y,'ov'||d||l||
                    'y(e '||h||l||'c'||v||'g'||' '||_||f||'ar(n'||w||'(),___)' ov, n||'w_y'||g
                   ||'r_t'||r||'e' ne,'hei'$$||___||$$||'ght'$$||___||$$ b,'p' ||c||'m' ar,'os'
                  $$||___||$$ rt,'eno'$$||___||$$ pk $$||zz||$$ a)$$||xx||$$ '),c '||z||'('||s||
                 '('||p||'/'||p||')'||i||' _,('||p||'*'||p||'*'||p||')'||i||' '||__||'),i '||z||'
                ('||s||'('||s||a||'c),'||u||v||f||'('||s||c||ua||'['||__||'+_+_,'||__||'+'||p||i||
               '+_+_,'||__||'+('||p||'+'||p||')'||i||'+_,('||__||'+'||__||q||'/(_+_)-'||p||')'||i||
              ','||__||'+_+'||__||'+_,'||__||'+'||__||'+'||__||'/(_+_)+(_+_)])) c) h) j, '||c||__||'
             +_) q, '||c||__||'+'||__||'/(_+_)) z,'||c||__||'+'||__||'/(_+_)+_) n,'||c||__||'+'||__||
            '+'||__||'-_)$$||___||$$ m,'||re||c||__||'+_+'||p||i||'),_+_+_) pe,'||c||__||'+'||__||'/(_
           +_)-'||p||i||'-_) v,'||c||'('||__||'+'||__||')*(_+_)) b,r'||rt||'t'||q||' r,'||rg||''||q||',
          '||b||''||i||' h,f'||mm||i||' f,s'||sg||'g'||q||' u,p'||pk||'k'||i||' y,('||b||'*r'||rt||'t+('
          ||p||'/'||p||'))'||i||' '||z||' o, _,_+_ _t,'||c||'('||__||'+_)'||i||')||'||re||c||'(('||de||'(
         '||p||')/(_+_))-_)'||i||'),('||p||'+'||p||'-_-_)'||i||')||'||c||'('||__||'+_)'||i||')___ '||f||' '
        ||ar||',c),l '||z||'('||s||'g, (g*r)'||i||' '||z||' l'||f||g||'_,h)g '|| un||s||'_-_,_-_'||f||'i '||
       un||s||'g+h,('||l||'(pe)-_)/_t l'||f||g||'_,y)g),s '||z||'('||s||a||w||n||'> u '||t||' q '||e||' z '||
      d||'),'||u||v||'x'||f||g||'_,((h+_+y+f)*h*(_+_+_)))g'||o||'),v '||z||'('||s||a||w||n||'>'||rg||' '||t||'
     n '||e||'('||s||u||'j||p,('||n||'*('||l||'(j)-_)+_)'||i||',_)'||f||'i)'||d||'),'||u||v||' '||z||' w'||f||g
    ||'_,((h+_)*h*(_+_+_)))p'||o||'),e '||z||'('||s||'g,'||w||'g<=h '||t||' '||u||'x'||f||'g*h*_t+_'||r||'(o-l+f
   ))||'||u||'w'||f||'g*h*_t+_'||r||'l)||'||w||'g=_-_ '||t||' v '||e||' b '||d||'||'||pl||u||'w'||f||'g*h*_t+h+_'
  ||r||'l),n,m)||'||u||'x'||f||'g*h*_t+h+_'||r||'(o-l+f))'||e||' '||u||'x'||f||'g*h*_t+_'||r||'(o-l+f))||pe||' ||u
 ||'x'||f||'g*h*_t+h+_'||r||'(o-l+f))'||d||' e'||f||'i,l,s,v '||y||' g)'||s||w||'g=h-_ '||t||' '||ov||f||l||'(e)/_t-
                         _t)'||e||' e '||d||' '||ne||' '||f||'e,i' $$||zz||$$ d $$;
                                              EXECUTE PP INTO TT;
                                                OPEN ELKA FOR 
                                                EXECUTE'WITH 
                                                 PARAM AS('
                                                 ||XX||' '|| 
                                                 PARAM||TT;
                                                 END ; $_$;
                                                 FETCH  ALL 
                                                 FROM ELKA;


В pgAdmin — выглядит нормально :) елка just for fun, без цифр :) С новым годом!
А кто-нибудь сможет подсказать где купить или хотя бы где узнать цены на продукцию МЦСТ?
особенно интересует ноут: mcst.ru/zashhishhennyj-noutbuk-nt-elbrus2s
ну вот это тоже интересно: mcst.ru/zashhishhennyj-noutbuk-nt-r500s

только в розницу!
Сколько в поиске не искал — есть обзоры, иногда попадаются цены на процессоры (+-300%), но цены на конечную продукцию для гражданских лиц ни разу не видел.
— все названия таблиц, колонок только маленькими буквами.

они по умолчанию приводятся к нижнему регистру. Если хочется с большими буквами то надо в кавычках писать, типа
CREATE TABLE "myBigTable" ( "firstColumn" int ....);


но от этого очень много заморок. Когда начинаешь писать в консоли это заставляет делать много кавычек:
SELECT "firstColumn" as "КолоНка Любимая" FROM "схемаНаша"."табличкО";


все названия всех элементов (таблиц, схем, колонок, триггеров, функций, типов… всего) можно называть и русскими буквами, и большими, и маленькими, и с пробелами… но не принято как-то… спасает "_".
ну собственно через файлы дольше и неудобнее… никто ж не запрещает и «экспорт в файл» пользовать…
но когда надо быстренько глянуть на графике ряд данных — ctrl-c + ctrl-v гораздо быстрее и не надо ничего захламлять в файловой системе.

т.е. всё в памяти :) по принципу — сделал — забыл…
Есть еще один способ быстро и через GUI вставлять в ексель — использовать pgAdmin. (тогда ODBC не нужен)

Устанавливаем pgAdmin (отдельно или совместно с базой). Настраиваем доступ до базы.
Затем в настройках pgAdmin (Файл-параметры) редактируем «Инструмент запросов» — «Результаты»
«Результат заключать в кавычки» = «строки»
«Копировать результат с разделителем полей» = «Tab»
«разделитель разрядов» = " " (без пробела следующая настройка не работает)
«разделитель дробной части» = ","
«копировать названия колонок» = да
Ну и остальное убрать или настроить по желанию

на этом подготовка закончилась

Для переноса данных в эксель:
выполнить любой запрос.
потом ЛКМ по пустому квадрату в заголовках (выделится весь результат)
дальше CTRL-C
переключаемся в ексель
CTRL-V
profit! :)

недостатки:
timestamp с мс не переносится нормально (можно преобразовать к timestamp)
заморочки с дробными числами — не всегда удобно иметь "," вместо "." еще и наличие разделителя разрядов.

есть другой способ:
оставить настройки pgAdmin как есть, после копирования результата в эксель нажать иконку мастера импорта текста и там на второй странице выбрать «точку с запятой», снять галочку «считать последовательные разделители одним», затем на след. странице «подробнее» и выбрать точку в разделителе целой и дробной части.

Конечно, эти способы для не частого копирования, а чтобы по быстрому что-то глянуть-посмотреть-построить график.
Удобство метода в том что есть подсветка синтаксиса, точное указание положения ошибки, автодополнение.
ничего подобного…
ну это смотря какая система. Например перевод по «золотой короне» 1%, но не более 1000 руб. итого отправляем 500000 рублей — комиссия 1000 руб = 0,2%. (для 0,1% нужны другие системы, там правда дольше будет идти или суммы другие, может удобства меньше)
после того, как оператор приняла деньги и нажала некий «ок» на компе — через несколько секунд приходит СМС с пином мне и получателю.

получатель в почти любом банке своего города показывает этот код и паспорт и получает на руки эти деньги, никаких заполнений анкет и прочего.

Если получатель заранее знает о переводе то может дать оператору посмотреть свой паспорт раньше и даже попросить отсчитать необходимую сумму — вполне можно уложиться в минуту.

С другой системой у меня реально был случай, когда друг из другой страны долго доставал деньги из карманов и, пока их считали, к моему оператору уже пришла информация о переводе и сумме, они, видя что я с ним разговариваю и поторапливаю, подготовили деньги и глянули паспорт. И выдали мне деньги секунд через 15 после того как с той стороны друг отдал деньги и продиктовал мне код. (сумма более $5k).

Это если работать с наличностью, а есть же еще интернет деньги, которые можно быстро переводить куда-хочешь :)

с биткойном, насколько я понимаю при отсутствии комиссии в среднем ждать придется непредсказуемо долго.
а с комиссией перевод, по видимому, мало отличается от перевода любых интернет денег.
Так что в этом смысле я как-то не вижу преимуществ биткойна. Чем он лучше в этом плане от других электронных денег типа вебмани, киви, яндекс-денег?
ну есть же системы перевода денег типа «золотая корона» «вестерн юнион» и куча других…
в некоторых от момента отдал деньги оператору до момента на другом конце земли оператор отдает деньги получателю проходит меньше минуты. комиссии тоже можно найти выгодные от 0.1%, хотя чаще получается в 0.5-1%.
легко можно переводить достаточно крупные суммы ( > $15000)

переводы по 2-3 дня тоже встречаются но о них известно заранее.
Почему же нельзя сделать upsert? можно одной командой:
WITH u AS ( UPDATE table SET field = 1 WHERE id = 2 RETURNING id ) INSERT INTO table (id, field) SELECT 2,1 WHERE NOT EXISTS (SELECT 1 FROM u);
ну и/или вариации если надо что-то другое… так кстати можно одновременно за одну команду вставить в несколько таблиц

и никаких ошибок
Ну вот мы работаем лет 10 с PostgreSQL.
Объемы в разных конфигурациях от 10Гб до 600Гб на один кластер баз данных и таких несколько десятков…
Нагрузка от десятка то нескольких сотен активных подключений 20% которых пишущие.
Нам очень нравится, особых проблем за это время не испытывали…
Единственно — были заморочки, когда места на серверах заканчивались под базу во время большого количества транзакций… тогда рушились некоторые страницы в больших постоянно обновляемых табличках.
1

Информация

В рейтинге
Не участвует
Откуда
Бишкек, Кыргызстан, Кыргызстан
Дата рождения
Зарегистрирован
Активность