LINUX.ORG.RU

Сообщения da17

 

Зачем нужны assert

 

Добрый день, я что-то никак не могу понять в чем преимущество assert, вот читаю статьи где написано «выявление ошибок, ко-ко-ко». Ну допустим. Есть у нас функция, которая там рассчитывает объем скачанного

int downloaded(int file_size, int downloaded ) {
    return (downloaded*100/filesize);
}
вот тут допустим с assert
int downloaded(int file_size, int downloaded) {
    assert(downloaded !=0 )
    return (downloaded*100/filesize);
}
И грохнется все а если без assert, сразу понятно, что ничего не скачалось и можно обработать код возврата -1
int downloaded (int file_size, int downloaded) {
    if (!downloaded) return -1;
    return (downloaded*100/filesize);
}

da17
()

На чем сейчас многопоточные TCP сервера на си++ пишут

 

Добрый день, много лет назад писал простенькие сетевые приложения на си, затем было Qt с их TcpSocket, потом boost asio, трогал все это добро палкой лет 5 назад. Сейчас возникла потребность в создании многопоточного сервера на си++. Какие библиотеки для этого сейчас модно и молодежно использовать. Решил глянуть по hh.ru что там требуют. boost, asio, poco вообще как-то не в почете. На чем сейчас это все делают и какую книжку почитать? Все что нашел это пара книг по си++ и ACE, но они кажется устарели.

da17
()

c++ Null vs nullptr

 

Добрый день, вчера пытался разобраться в чем преимущество (конкретно, а не в виде абстрактных понятий типа ООП и прочая эзотерика) nullptr против NULL. Ничего внятного (для простых инженеров, а не всяких там страуструпов) не нашел, кроме синтетического примера

void foo(int *) {
    cout<<"foo (int *)";
}
void foo(int) {
   cout<<"foo (int);
}

foo(NULL);
foo(nullptr);
вывод
foo(int)
foo(int *)
Но этого что-то мало и вроде я такое раз в год вызываю, может кто-нибудь покажет доступные, бытовые примеры когда nullptr лучше и удобней чем NULL.

da17
()

Как остановить поток Qt с очисткой ресурсов

 ,

Добрый день. Создаю поток, наследуясь от QThread (на хабре статью читал, что так не надо). В потоке в методе run создают динамический объект. Как мне можно остановить этот поток, при этом что бы объект был удален и вызван метод объекта для закрытия ресурсов. Смотрел варианты когда в run крутится вечный цикл

while( !flStop ) {
    //do work
}
но у меня все построено на событиях
MyThread::run() {
    mSerial = new QSerialPort;
    mSerial->open(); //вопрос что если не откроем, пока оставим
    exec();
}
, приходят сигналы и вызываются соответствующие им методы объекта, т.е. если я попадаю в метод потока где удаляю ресурсы
MyThread::clear() {
    mSerial->close();
    delete mSerial;
}
то мне надо и тормозить тут же поток, т.к. может прийти вызов другого метода
MyThread::write(QByteArray someBytes) {
    mSerial->write(someBytes);
}
а mSerial уже удален, т.е. если я все правильно понимаю, метод clear должен быть финальным и в нем необходимо себя останавливать, либо эмитить сигнал и заставлять другой объект останавливать MyThread, но если я заэмичу сигнал, то где гарантии, что мне не прилетит сигнал на запись в mSerial. Т.е. получается при таком подходе я должен в clear и тормозить сам себя методом quit(). Такой вот вопрос

da17
()

back ssh и права пользователя

 

Добрый день. Прочитал про то как помочь пользователю за NAT организовав back ssh. Предлагается решение типа вот такого ssh -R 1522:localhost:22 pfwd@25.2.2.7 -p 2222 Но это означает, что мне придется на своем сервере создавать этого пользователя pfwd который сможет по всему серверу шариться. Как бы его этак закрыть в локальной директории?

da17
()

Сравнение чисел в bash

 

Добрый день. Никак не пойму. Как сравнивать два числа. Есть a=2 b=2

как правильно if [[ $a -eq $b ]] или if [[«$a» -eq «$b» ]]

и можно ли использовать символы =

da17
()

QMediaPlayer и текст

 

Добрый день, подскажите, как вывести текст при проигрывании видео при помощи QMediaPlayer, что бы текст на это видео накладывался?

da17
()

Поддомен на apache

 

Добрый день. Есть сервер где установлен apache, но поддомен на нем не пингуется. Все вроде делал по инструкции, создал файл в папке /etc/apache2/sites-available, включил его sudo a2ensite test.site, но пинги не проходят. Хотя на site.ru проходят.

da17
()

Как узнать mac адрес на машине при помощи Python

 

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

da17
()

Экранирование * в bash

 

Подскажите, хочу создать файл для крона и соответственно записываю строку с подстановкой от какого пользователя запускать скрипт

line="0 5 * * sun $SUDO_USER bash /home/myscript.sh"
echo $line > /etc/cron.d/myscript
Но тут либо все вообще что-то дикое выводит либо звездочка записывается с символом экранирования (когда пишу)
line="0 5 \* \*"

da17
()

Кавычки в bash и awk

 

Подскажите, хочу в bash сформировать строку которая пойдет в awk

screen=$(who | awk '{print $5}')
решаю сделать подстановку текущего пользователя, вроде awk '/user/ {print $5}', застрял на простой подстановке awk=«'{print \$5}'» scree=$(who | $awk) из-за экранирование или еще чего такой фокус не проходит, хотя
echo $awk
выводит '{print $5}'

Как тут надо экранировать что бы прошло?

da17
()

Перенаправить вывод из bash в python script

 ,

Добрый день, подскажите, у меня есть текстовый файл с двумя полями, разделенными : и хотелось бы их передать в скрипт на питоне через bash. Скрипт читает параметры командной строки sys.argv[1] sys.argv[2] т.е. что-то вроде

cat shit.log | awk '{split($0,z,":"); print z[1], z[2]}' | script.py
Т.е. если я правильно понимаю я вывожу в STDOUT при помощи cat, затем перенаправляю вызов на awk. Произвожу парсинг и передаю все скрипту на питухоне, но он не видит ни argv[1] ни argv[2].

(парсить питоном ничего не хочу, хочу через awk и перенаправление потоков)

da17
()

Сломалось обновление пакетов

 ,

При попытке что-нибудь установить пишет Generating grub configuration file ... /usr/sbin/grub-mkconfig: 278: /usr/sbin/grub-mkconfig: /etc/grub.d/00_header: not found

Хотя посмотрел, /etc/grud.d/00_header присутствует, куда копать?

da17
()

QMediaPlayer и FPS

 

Добрый день, подскажите, есть какой-нибудь способ узнать сколько кадров выдает видео при проигрывании QMediaPlayerом, субъективно мне не удается оценить, тормозит оно или не тормозит.

da17
()

Ускорение h.264 в QMediaPlayer

 

Добрый день, подскажите, как узнать поддерживает ли кутэшный QMediaPlayer ускорение декодирования h.264.

da17
()

Как выглядит класс в памяти.

 

Подскажите, вот есть допустим у меня класс с одним методом inc(int a), какой утилитой можно посмотреть как это выглядит в ассемблерных кодах?

da17
()

Зачем нужен QML в Qt?

 ,

Добрый день, все никак не пойму. Как профит от этого QML, что в нем можно сделать такого, что нельзя сделать в Qt. Интерфейсы, сигналы, слоты. Может я что-то очень важное не понимаю? Подскажите пожалуйста, не знаю, изучать мне QML или нет, может действительно там что-то скрыто такое?

da17
()

QT под windows XP

 ,

Добрый день, подскажите, какую последнюю версию QT можно под XP использовать? Может кто пробовал на 5.8 собирать проекты? (если что у меня проект кроссплатформенный не стукайте, встал вопрос о сборке под древние xp)

da17
()

QT переменная на этапе сборки

 

Добрый день. Во время сборки программы написанной на QT требуется задать переменную, которая будет использована в коде. Конкретно при сборке планирую задавать версию и дальше что бы эта версия отображалась в программе.

da17
()

Замена материнской платы, нужно ли переустанавливать Ubuntu

 ,

Добрый вечер, подскажите. Есть диск с установленной убунтой. После замены материнской платы и ЦП (был интел стал амд), система сама опознает новое оборудование? Обычно у меня опознает, но я никогда не задумывался эффективно ли это?

da17
()

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