LINUX.ORG.RU

Сообщения normann

 

Где на ваш взгляд лучше помещать документирующие комментарии (.h.hpp vs .c.cpp)

Форум — Development

Где на ваш взгляд лучше помещать документирующие код программы блоки комментариев doxygen, в коде реализации или в заголовочном файле в объявлении?

 

normann
()

Что такое null wide character?

Форум — Development

man mblen:

If s is not a NULL pointer, the mblen() function inspects at most n bytes of the multibyte string starting at s and extracts the next complete multibyte character. It uses a static anonymous shift state known only to the mblen() function. If the multibyte character is not the null wide character, it returns the number of bytes that were consumed from s. If the multibyte character is the null wide character, it returns 0.
И т.д.

Не пойму никак, что такое null wide character?

 

normann
()

Где брать LONG_MIN для strtol()?

Форум — Development

man strtol:

#include <stdlib.h>

If an underflow occurs, strtol() returns LONG_MIN

#include <stdlib.h>

wprintf(L"LONG_MIN: %u\n", LONG_MIN);

Результат:

error: 'LONG_MIN' undeclared (first use in this function)

wtf?

 

normann
()

Чем в Си можно выцыпить символ из utf8 строки?

Форум — Development

В общем и весь вопрос.

 ,

normann
()

Во время запуска приложения все время вылазит окно Compilers auto-detection

Форум — Development

Во время запуска приложения codeblocks каждый раз перед отображением главного окна вылазит диалог Compilers auto-detection. Компилятор по умолчанию уже давным давно выбран, но программе упорно не имется. Что не так, что сделать что бы программа запускалась без поиска?

 

normann
()

Что еще за интервал тишины...?

Форум — Development

#RTU.

Я ничего не понял.

Сообщение должно начинаться и заканчиваться интервалом тишины, длительностью не менее 3,5 символов при данной скорости передачи. Во время передачи сообщения не должно быть пауз длительностью более 1,5 символов. Для скоростей более 19200 бод допускается использовать интервалы 1,75 и 0,75 мс, соответственно.

Мне то что с этим делать? Я могу только байты в порт отправлять.

 

normann
()

Как в макросах переносимо определить порядок байт в слове на машине?

Форум — Development

Как в макросах переносимо определить порядок байт в слове на машине?

 ,

normann
()

Qt assistant, темная цветовая схема и ничего не видать.

Форум — Development

Поставил в kde темную цветовую схему, в итоге в ассистанте на темном фоне черный текст. Это можно как нибудь поменять для ассистанта?

 

normann
()

Как сконфигурировать псевдотерминал (posix_openpt()) что бы через него мог работать как через обычный последовательный порт?

Форум — Development

Хочу открыть псевдотерминал и сконфигурировать его как последовательный порт (termios.h) что бы ПО написанное для работы с обыкновенным com-портом могло сработать через него. Например если хочу написать эмулятор удаленного устройства для этого ПО. Все что я сделал проверял через minocom, безуспешно. Вот вкратце что я делал:

fdm = posix_openpt(O_RDWR | O_NOCTTY);
configTerm(fdm);
grantpt(fdm);
unlockpt(fdm);

int configTerm(int fd)
{
	struct termios attrs;
	
	tcgetattr(fd, &attrs);
	cfsetospeed(&attrs, B115200);
	cfsetispeed(&attrs, B0);
	attrs.c_cflag |= (CLOCAL | CREAD);
	attrs.c_cflag &= ~( CSIZE | PARENB | CSTOPB );
	attrs.c_cflag |= CS8;
	attrs.c_lflag &= ~( ICANON | ISIG | ECHO | ECHOE );
	attrs.c_iflag &= ~( INPCK | IGNPAR | PARMRK | ISTRIP );
	attrs.c_oflag &= ~OPOST;
	tcsetattr(fd, TCSANOW, &attrs) ) {
	return 0;
}
Дальше просто читаю из порта. Если при вызове minicom явно указать что используется псевдотерминал то всё работает. Но мне нужно без такого указания, так как целевое ПО не имеет такой опции.

 ,

normann
()

Зачем нужен (первый) параметр nfds вызова posix select (2)?

Форум — Development

man select(2):

int pselect(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, const struct timespec *timeout, const sigset_t *sigmask);


Никак не могу понять параметр nfds. Подскажите пожалуйста:
1. Чем заполняется.
2. Зачем это нужно.

Судя по имени предположил что это число дескрипторов (nfds - Number of File DescriptorS), но в руководстве вообще что-то странное написано...

 ,

normann
()

Подсоветуйте домашний маршрутизатор

Форум — Linux-hardware

Подсоветуйте домашний маршрутизатор чтоб без перебоев работал с вафлей не меньше 300МБит и более одного порта rj45. В пределах 3000р. Если знаете где в москве можно сразу купить то такая информация приветствуется. Спасибо.

 

normann
()

Что выбрать для первичного ключа в таблице под MySQL

Форум — Development

В таблице есть синтетический ключ уникальный для каждой строки, еще в таблице есть три поля которые составляют уникальную комбинацию - натуральный ключ. Два из трех полей натурального ключа это год и месяц и взаимодействие в 99.9999% происходит со строками за текущий месяц, а предыдущие уходят в прошлое, но остаются в этой таблице для «истории». Мне кажется что для целей быстродействия было бы целесообразным сделать первичным ключом натуральный ключ (три поля) что бы кластерное расположение строк нейтрализовало расходы на поиск строк за текущий месяц среди гигантского множества всех строк включая старые за прошедшие месяцы (так ли?). Но. В свою очередь тройной ключ накладывает свои расходы на быстродействие т.к. 1) увеличивается трафик и 2) клиентское ПО должно хранить весь тройной ключ в памяти и каждая GUI таблица должна содержать невидимые колонки с этим большим ключом, это не удобно программировать, но именно первичный ключ необходим для возможности позиционированного обновления (positioned update) т.е. обновления через рекордсет. Господа опытные администраторы БД, взываю к вашему опыту и прошу подсказать какой из этих ключей больше подойдет под первичный, синтетический в одно поле, или составной в три поля. И еще, действительно ли кластеризация по месяцам ускорит поиск по сравнению с кластеризацией по синтетическому AUTO_INCREMENT ключу?

 

normann
()

Индекс первичного ключа в MySQL некластеризованный, возможно ли?

Форум — Development

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

 

normann
()

Какой выбрать индекс для двух полей БД.

Форум — Development

В таблице есть два поля. Первое содержит группу второго, второе содержит группу всех остальных полей. Например:

SELECT ... ORDER BY А, Б;
______________
| А | Б | Остальные
_____________
| 1 | 1 | ...
| 1 | 1 | ...
| 1 | 2 | ...
| 1 | 2 | ...
| 1 | 3 | ...
| 1 | 3 | ...
| 2 | 1 | ...
| 2 | 1 | ...
| 2 | 2 | ...
| 2 | 3 | ...
| 3 | 1 | ...
| 3 | 1 | ...
Выборка происходит иной раз по (А,Б), а иной раз и по (А).

Вопрос, какой индекс лучше выбрать, составной по (А,Б) или отдельный для каждого поля?

ПС. если имеет значение, бд mysql.

 

normann
()

Что за NATIONAL CHARACTER?

Форум — Development

Что за NATIONAL CHARACTER, на кой оно сдалось в СУБД с настраиваемыми кодировками более чем везде?

 

normann
()

У меня блокировки в MySQL не сходятся с тем что в справочной документации.

Форум — Development

Изучаю MySQL, так что в нем я нуб.

В документации к MySQL 5.7 (5.7.12) написано следующее:

14.2.2.7 Locks Set by Different SQL Statements in InnoDB
...
LOCK TABLES sets table locks, but it is the higher MySQL layer above the InnoDB layer that sets these locks. InnoDB is aware of table locks if innodb_table_locks = 1 (the default) and autocommit = 0, and the MySQL layer above InnoDB knows about row-level locks.
Otherwise, InnoDB's automatic deadlock detection cannot detect deadlocks where such table locks are involved. Also, because in this case the higher MySQL layer does not know about row-level locks, it is possible to get a table lock on a table where another session currently has row-level locks.

Из выше сказанного, как я понял, следует что если innodb_table_locks = 1 и autocommit = 0 то только тогда блокировки InnoDB уровня строки и блокировки установленные оператором LOCK TABLES видят друг друга, и иначе не видят и лезут друг на друга.

Но в действительности у меня в (MySQL 5.7.10) выходит не так, все способы блокировки «учитывают» друг друга. Так при autocommit=1 с таблицей блокированно оператором LOCK TABLES сессия все равно замирает при попытке SELECT ... FOR UPDATE, и на оборот. Кроме того такое же точно поведение наблюдается даже при innodb_table_locks = 0.

Например:

Сессия1:
> LOCK TABLES tabtest READ;
Сессия2:
> START TRANSACTION;
> SELECT * FROM tabtest FOR UPDATE;
ждет...
или:
Сессия1:
> LOCK TABLES tabtest WRITE;
Сессия2:
> START TRANSACTION;
> SELECT * FROM tabtest LOCK IN SHARE MODE;
ждет...
или:
Сессия1:
> START TRANSACTION;
> SELECT * FROM tabtest LOCK IN SHARE MODE;
Сессия2:
> LOCK TABLES tabtest WRITE;
ждет...

Почему такое несоответствие написанному в доках, или я чего-то неправильно понял?

 

normann
()

score

Форум — Linux-org-ru

От чего score в учетке на лоре может снизиться? Вчера/позавчера был на единицу больше, а в уведомлениях никаких ни минусов ни удалений за это время.

 

normann
()

C++, почему ругается, я нуб штоле.

Форум — Development

Объяснрте, почему компилятор ругается на

Cls1 obj1;
set( obj1.get() ) ;
а на это нет
QString tmp = obj1.get();
set(tmp);
когда:
QString Cls1::get() const;
bool Cls2::set(QString& str);
p.s. QString это класс.

 

normann
()

Зачем нужен тэг «политика»?

Форум — Linux-org-ru

А?

 

normann
()

Ваш login.jsp не срабатывает (не могу залогиниться)

Форум — Linux-org-ru

Так то.

П.С. Android Opera Mini.

 

normann
()

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