LINUX.ORG.RU

Сообщения da17

 

Зачем нужны assert

Форум — Development

Добрый день, я что-то никак не могу понять в чем преимущество 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 сервера на си++ пишут

Форум — Development

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

 

da17
()

c++ Null vs nullptr

Форум — Development

Добрый день, вчера пытался разобраться в чем преимущество (конкретно, а не в виде абстрактных понятий типа ООП и прочая эзотерика) 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 с очисткой ресурсов

Форум — Development

Добрый день. Создаю поток, наследуясь от 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 и права пользователя

Форум — Admin

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

 

da17
()

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

Форум — Development

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

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

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

 

da17
()

QMediaPlayer и текст

Форум — Development

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

 

da17
()

Поддомен на apache

Форум — Web-development

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

 

da17
()

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

Форум — Development

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

 

da17
()

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

Форум — Development

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

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

 

da17
()

Кавычки в bash и awk

Форум — Development

Подскажите, хочу в 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

Форум — Development

Добрый день, подскажите, у меня есть текстовый файл с двумя полями, разделенными : и хотелось бы их передать в скрипт на питоне через 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
()

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

Форум — General

При попытке что-нибудь установить пишет 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

Форум — Development

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

 

da17
()

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

Форум — Linux-hardware

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

 

da17
()

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

Форум — Development

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

 

da17
()

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

Форум — Development

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

 ,

da17
()

QT под windows XP

Форум — Development

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

 ,

da17
()

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

Форум — Development

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

 

da17
()

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

Форум — Linux-install

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

 ,

da17
()

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