LINUXTALKS.CO

Сообщения deep-purple

 

Не могу придумать название

Форум — Tech / Games / Dev

Есть компонент process. Этот компонент использует shm. Кусок этой памяти представляет собой массив. Каждая ячейка в этом массиве называется slot.

Процесс бывает двух типов master и worker. При каждом рестарте или релоаде мастер «увольняет» старые слоты, старые воркеры завершаются, а новые воркеры «захватывают» свободные слоты.

Первое:

Компонент process занимается и вопросами shm и вопросами мастера и вопросами воркера.

Решение: пилим его на три компонента: shm, master и worker. А slot остается как есть и относится к shm. Ок, делаем.

Второе:

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

Третье:

Таким образом у нас появляется еще один вид слота. Структурки весьма похожи, но предназначены для разных целей.

Помогите найти синоним к слову «slot» или иные названия для этих видов «слотов» подходящие по контексту.

З.Ы.: Анон, жги!

 

deep-purple ()

valgrind

Форум — Tech / Games / Dev

Я пока не могу – мне тут valgrind какую-то дичь верещит.

Есть такой вот код:

struct entry_s {

    void (*handler) (void);

    struct entry_s *next;

};

typedef entry_s entry_t;


typedef struct {

    entry_t *first;
    entry_t *last;

} entries_t;


// сюда они добавляются в начале рантайма
static entries_t entries = { NULL, NULL };


// где-то ниже по коду дела

entry_t *entry = entries.first;

while (entry) {

    entry->handler();

    entry = entry->next; // valgrind: Invalid read of size 8
}

Вот скажи мне, как неойтишник, какого хуя ему не нравится?

 

deep-purple ()

Проблемы со слухом?

Talks — Наше сообщество

Итак, господа, товарищи.

Проходим, проверяемся (только честно):

https://zvukipro.com/situacii/3491-ultrazvuki-kotorye-slyshat-tolko-deti.html

Я хорошо, не тихо, слышу 14400 и еле-еле 16к. Ну, пилот-тон от ФМ стерео-модулятора я ни с чем не спутаю ))

А вот мать не слышит даже 8к. Буду отправлять её пинками к нужному врачу.

 , ,

deep-purple ()

Внешнее управление LinuxCNC

Форум — Tech / Games / Dev

Меня тут спросили, можно ли управлять станком удаленно.

Ну, чисто технически, понятно, что можно. Мой вопрос более конкретный:

Какие интерфейсы имеются у аксиса для обмена сообщениями в обе стороны? Дибас? Шаред мем? Сокет? Где посмотреть доки?

sudo cast @torvn77

 

deep-purple ()

Linux CNC enable пин

Форум — Tech / Games / Dev

Контроллер на параллельном порту хочет enable на первом пине.

Где (в хал-конфиге?) и как можно установить enable на первый пин?

 , ,

deep-purple ()

8-битные (NES/Dendy) игры

Форум — Tech / Games / Dev

Друзья, расскажите о своих любимых дендевских играх.

А есть такие, которые прошли до конца? А такие, что пройти не смогли?

Еще, если вы знаете редкую, но хорошую игрушку – поделитесь.

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

Вообщем, приглашаю к обсуждению на тему Денди.

 ,

deep-purple ()

Уникальность (что б её) и коллизии

Форум — Tech / Games / Dev

Короче (если получится):

В настоящее время, для обеспечения уникальности неких «элементов», хранимых в базе данных, используется uuid V4.

И всё бы ничего, но, предполагается генерация этих uuid на разных инстансах. Что, не теоретически, а практически, точно приведёт к коллизиям (генерации разными инстансами одинаковых значений). Чтобы эти инстансы не зависили от некоего единственного провайдера uuid’ов, который в состоянии проверять, выдавал ли он ранее такой uuid или нет, появилась идея использовать «пространства имён» на основе даты и времени создания нового «элемента».

Вообще, понятно, что в самой таблице, хранящей данные «элементов», присутствует автоинкрементное поле «id», которое эту уникальность, конечно же, обеспечивает. Но вот беда, некоторые приложения, пользующиеся этими данными, не используют автоинкрементные айдишники, а используют выше обозначеный uuid V4. Засим, дабы не патчить эти приложения, вместо uuid V4 им можно подсунуть строковый уникальный идентификатор, о котором ниже:

Я хочу генерировать уникальные ключи вида (без квадратных скобок, они тут только для того, чтобы вам было понятно из чего состоит ключ):

[year][month][day][hour][min][sec][usec][usec][usec]

Где:

year – год, всегда 4 цифры

month – месяц в году, всегда 2 цифры

day – день, всегда 2 цифры

hour – текущий час, всегда 2 цифры

min – текущие минуты, всегда 2 цифры

sec – текущие секунды, всегда 2 цифры

usec – текущие микросекунды, всегда 6 цифр, три раза по 6

Теперь подробнее про микросекунды:

Тики процессора, в принципе, по частоте их следования, сопоставимы с его тактовой частотой и значениями микросекунд. Кроме того, процессор, как правило, выполняет несколько задач, циклически обходя каждую из них, и, возвращаясь к задаче генерации ключа, эта задача, трижды запрашивающая текущее значение микросекунд, будет получать немного отличающиеся значения (уже проверено). Ну а три раза подряд – это и есть защита от коллизий в пределах одной секунды, ещё и на разных инстансах.

Так вот вопрос:

Насколько по вашему подход, выбранный мной, будет надёжным? Конечно же, учитывая генерацию на разных инстансах.

 , ,

deep-purple ()

Tech / Games / Dev

Форум — Tech / Games / Dev

 

deep-purple ()

Задавайте свои ответы тут

Форум — Tech / Games / Dev

Я так понимаю, тут если не все, то многие, знают что и где происходит у меня в пятницу.

Так что, кому будет интересно, заглядывайте в этот тред за подробностями о тематике нашего говношоу ))

 

deep-purple ()