LINUX.ORG.RU

Избранные сообщения tuk9

NGINX - работа в кластере, резервирование сессий

Форум — General

Всем привет, подскажите, есть ли в NGINX, настроенном для балансировки, возможность резервирования сессий ?

Пример:

Есть NGINX (балансировщик), собранный в кластер для отказоустойчивости, пусть будет, active-passive. Активный узел падает, но пассивный за счет того, что имеет информацию о сессиях такую же как активная нода, подхватывает существующие сессии. Т.е. не прерывая их.

Не нашел упоминанию данного механизма в документации. Есть только про синхронизацию конфигураций узлов в кластере, а про сессии что-то ничего не нашел....

 

strelok00
()

железячное и orange pi.

Форум — Talks

Запилил тут в рамках одного проекта небольшую плату для загрузки Orange pi One/PC и подобных с SPI флешки.

Основная идея была отказаться от SD карточки в качестве загрузчика и перейти к загрузке uboot с spi и дальнейшей прогрузке по сети.

https://github.com/ktkd/rpi_spi_board

собственно если кому-то нужно в Мск могу отсыпать пару плат :)

ps. может кто-нибудь знает адекватное решение как можно управлять сразу большим количеством serial(ttl) портов? не используя магию с usb хабами и кучей usb2ttl.

 , ,

ktk
()

PostgreSQL, MySQL и прочие SQL, как подружить с законом о персональных данных?

Форум — General

Здравствуйте, господа повелители бубнов, архимаги школы SQL, и просто классные ребята!

Возник очередной вопрос который тормозит проектирование одного весьма интересного сервиса. Собственно ближе к делу. Гипотетически имеется гео-разнесенный кластер базы данных в исполнении одной из популярных СУБД (PostgreSQL, MySQL и тд), согласно законодательству РФ и потенциально других стран (вроде в ЕС подвижки идут в аналогичную сторону), необходимо хранить данные граждан локально, т.е. на территории страны их гражданства. Как реализовать такой механизм с применением одного из озвученных продуктов, при этом разнести базу по всему шарику земному и не терять глобальный доступ к сервису? (Пользователи со всего мира должны иметь возможность взаимодействовать в рамках одной системы бесшовно, не зависимо от своего гражданства и места хранения данных других пользователей)

Т.е.: Граждане РФ -> Сервер в РФ Граждане ЕС -> Сервер в ЕС Но при этом все взаимодействуют друг с другом

Дмуаю над этой задачей уже примерно месяц, но все никак не могу решить делему. Кластер по структуре своей должен иметь модель мультимастер, с чем справляется MariaDB Galera, но это чисто реплика, без возможности определить регион хранения конкретных данных. В случае если применять кластерную модель таблиц PostgreSQL, мы получаем возможность размазать даные таблиц согласно требуемым критериям по серверам в кластере (регион пользователя), но теряется возможность использования схемы мультимастер, что не допустимо, т.к. сервер базы данных должен распологаться максимально близко к серверу приложения и в фоне поддерживать обмен данными, дабы не усложнять логику работы приложения.

Кто-то уже сталкивался с похожим вопросом и есть ли опыт проектирования такой базы данных?

 , , ,

TuzelKO
()

AP+mesh на одном адаптере RT5370

Форум — Linux-hardware

Возможно ли?

Вроде пишет

        valid interface combinations:
                 * #{ AP, mesh point } <= 8,
                   total <= 8, #channels <= 1

Но на попытке mesh join с запущенным hostapd говорит «Device or resource busy (-16)»

Без hostapd соотвественно работает отлично.

 802.11s, ,

sergej
()

В Казахстане обязали устанавливать государственный сертификат для MITM

Новости — Безопасность
В Казахстане обязали устанавливать государственный сертификат для MITM
Группа Безопасность

В Казахстане операторы связи разослали пользователям сообщения о необходимости установки выпущенного государственными органами сертификатом безопасности.

Без установки интернет работать не будет.

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

В Mozilla уже завели баг, в котором обсуждают необходимость заблокировать этот сертификат, чтобы не создавать прецедентов и не разрушать столь долго производимый тотальный перевод на HTTPS.

Всё это подается под соусом защиты пользователей от хакерских атак.

Одной из особенности акции является то, что сертификат для скачивания находится на http-сайте, что позволяет подменить его при определенных условиях.

UPD: «Сертификат безопасности» в Казахстане отменяется

>>> Подробности

 , ,

PPP328
()

Фабрис Белар выложил движок JavaScript

Новости — Open Source
Группа Open Source

Французский математик Фабрис Белар (Fabrice Bellard), более известный работой над ffmpeg, qemu, tcc и вычислением числа Пи, выложил в открытый доступ QuickJS — компактную реализацию JavaScript в виде библиотеки на языке C.

  • Почти полностью поддерживает спецификацию ES2019.
  • В том числе математические расширения.
  • Проходит все тесты ECMAScript Test Suite.
  • Нет зависимостей от других библиотек.
  • Малый размер статически линкуемой библиотеки — от 190 KiB на x86 для «hello world».
  • Быстрый интерпретатор — проходит 56000 тестов ECMAScript Test Suite за ~100 с на 1 ядре настольного ПК. Накладные расходы на цикл запуска и остановки < 300 мкс.
  • Может компилировать исходные файлы на JavaScript в исполняемые файлы без внешних зависимостей.
  • Может компилировать исходные файлы на JavaScript в WebAssembly.
  • Сборщик мусора со счётчиком ссылок (детерминированный, с малым потреблением памяти).
  • Интерпретатор командной строки с цветной подсветкой синтаксиса.

Согласно тестам производительности из обсуждения на Opennet.ru, скорость QuickJS в тестах в 15-40 раз меньше, чем у Node.js.

>>> Сайт автора

 

question4
()

Голосовой ассистент. Что доступно?

Форум — General

Не всегда есть возможность трогать клавиатуру и мышь (руки в масле\пыли\стружке). Нужен голосовой ассистент, который:

* Может быть активен в фоне, слушая команды и активируясь по заданному слову\фразе
* Иметь возможность выполнить кастомно заданную команду (типа «активируй узел 1443», где «активируй узел» выполнит скрипт node.sh, а 1443 пойдет в параметр.
* Работать автономно от сети. Хранилище для настроенного локального анализатора можно выделить до 100 ГБ.
* Давать аудиоподтверждение принятой команды (не всегда есть возможность посмотреть на экран).

Если надо будет долго обучать под распознавание своего голоса - норм.

Что есть из доступного? Если опенсорс - еще лучше.

В теги добавляю пистон, обычно по этим вопросам его долбят.

 ,

PPP328
()

Какой выбрать дистрибутив в 2019?

Форум — Desktop

Всем привет. Сравнение дистрибутивов и выбор для себя нужный из ни последнее время стало более чем актуальной. Многие переходят с Windows на Linux и в огромном выборе просто теряются. Вопрос состоит в том, какой дистрибутив больше подойдёт для интернет серфинга, а какой лучше всего покроет запросы разработчиков программного обеспечения и сайтов, и какой выбрать обычному пользователю для домашних нужд(установил OS и забыл).

Интересует какой дистрибутив подойдёт лучше всего под каждый пункт в отдельности(не один district под всех)

  • для офисного и домашнего пользования (интернет серфинг + офисные программы);
  • для разработчиков;
  • для домохозяек, простота установки программ и т.д.(установили раз и забыли);

Рассматривал такие дистрибутивы, может быть вы расширете этот список:

  • Arch Linux (Manjaro);
  • Debian;
  • Ubuntu (Mint);
  • Fedora;
  • openSuse;

 

Alex_b7
()

Успешный сбор средств на проект Mobilizon

Новости — Open Source
Группа Open Source

14 мая французская некоммерческая организация Framasoft, не так давно представившая проект федеративного видеохостинга PeerTube, начала сбор средств на новую инициативу — Mobilizon, свободной и федеративной альтернативы Facebook Events и MeetUp, сервера для создания запланированных встреч и мероприятий.

Всего было предложено три уровня финансирования со следующими задачами:

  • 20,000 евро:
    • инструмент для организации мероприятий;
    • работа над графическим дизайном и UX;
    • свободный и задокументированный код.
  • 35,000 евро:
    • поддержка федерации и ActivityPub;
    • инструменты администрирования;
    • запущенная копия сервера для тестирования;
  • 50,000 евро и выше:
    • улучшенный интерфейс;
    • программа для смартфонов;
    • прочая дополнительная функциональность.

По состоянию на сегодняшний день, кампания успешно выполнена и в руках Framasoft находится более 50,000 евро пожертвований, что, впрочем, не означает, что она закончена — разработчики просят продолжить финансирование в оставшиеся дни для обеспечения непредвиденных расходов.

Исходный код сервера и поддержки ActivityPub напрямую заимствован из Pleroma.

Первая публичная бета-версия запланирована на конец этой осени, а первая стабильная версия — на 2020 год.

>>> Подробности

 , , , mobilizon,

commagray
()

Многопоточный поиск пути

Форум — Development

Умные люди, помогите, пожалуйста, с алгоритмом:

  • Имеем 7 измерений, по которым можно двигаться, с шагом в 1.
  • Одномоментно можно пройти только по одному измерению.
  • При переходе надо сделать расчет можем ли мы здесь находиться, если можно, ок, идем дальше, нельзя - по этому пути прохода нет.
  • Начальные условия задаются при старте, как далеко можно зайти зависит только от начальных условий

Хочу узнать как далеко можно зайти. Если делать в один поток, то вырисовывается простая рекурсивная функция, которая рано или поздно все обойдет.
Думал как можно распараллелить сие, пока что пришел к мысли хранить контейнер с мьютексом для хранения уже пройденных состояний. При переходе проверять наличие исследуемого элемента в контейнере. Если его нет, тут же добавлять его в контейнер, чтобы другие потоки не делали дублирующую работу.
Вопрос собственно в том, а не фигню ли я придумал?
Интересует есть ли более быстрые/простые способы запускать от 1 до N потоков, чтобы они не делали лишную работу и не мешались друг другу

 , ,

ia666
()

tinygo 0.6.0

Новости — Разработка
Группа Разработка

TinyGo – это компилятор языка Go, предназначенный для использования в таких областях, как микроконтроллеры, WASM, а также разработки утилит командной строки.

TinyGo использует утилиты и библиотеки, написанные в проекте Go, при этом предоставляя альтернативный метод компиляции программ на основе наработок проекта LLVM.

( читать дальше... )

>>> TinyGo.org

 , tinygo

anonymous
()

Советы по проектированию мессенджера

Форум — Development

Делаю простой мессенджер на сокетах, TCP/IP. Есть клиент и сервер, дошёл до этапа обработки запросов и задумался над тем, каким образом наиболее труЪшным ооп путём организовать приём и обработку пакетов. Пакеты могут быть разные, черновой вариант такой:

enum RequestType {
    Register,
    Authenticate,
    Message, // текстовое сообщение
    Attachment, // файл
};

Пока идея такая:

  • Все пакеты первым полем должны содержать int type
  • Все пакеты кроме Attachment вторым полем будут иметь поле unsigned size, а далее JSON рамером в size с необходимыми полями
  • Attachment, в отличие от остальных, не JSON, у него три поля: кому recipient, имя файла char name[32] и его размер unsigned size, далее идут данные

Приём пакетов делаю так:

void Client::start()
{
    char *buffer;
    unsigned long bytes;

    m_socket->setBlocking(false); // неблокирующий режим

    while (true) {
        bytes = m_socket->waitForRead();

        if (bytes == 0) {
            // Disconnected
            delete m_socket;
            return;
        }

        // Вот здесь нужно организовать приём и формирование пакетов

        buffer = new char[bytes];

        m_socket->recv(&buffer[0], bytes);

        delete []buffer;
    }
}

Конечно можно решить задачу «в лоб», но мне интересно:

  • Как наиболее правильно с точки зрения ооп сделать задуманное? Что-то мне подсказывает для каждого пакета создать класс, которому передавать buffer и bytes, который будет формировать пакет?
  • Какие наиболее подходящие паттерны для подобных задач?
  • Где и как лучше всего осуществлять проверку аутентифицирован ли пользователь, или нет?

Может у кого есть хорошие примеры. Thanks in advance, так сказатб.

 ,

neversleep
()

i3 и Telegram

Форум — Desktop

Приветствую, Лор!

Подскажи, как можно решить мою проблему, не знаю уже куда еще копать.
Использую i3(4.13 (2016-11-08)) на Debian, с несколькими мониторами.
У меня возникла проблема с отображением просмотрщиком изображений в телеграме, а именно, при клике на картинку, она открывается то на одном мониторе, то на другом.
Вывод xprop для обоих вариантов одинаковый, в конфиге i3 для телеграма одна строка assign [class=«TelegramDesktop»] $3

В интернетах находил инфу, что проблема может быть в работе xinerama в i3, пробовал, не помогло.
Проблема на домашнем компе и рабочем, конфиги одинаковые.

Помоги, лор

 , ,

telepuz
()

Релиз ZFSonLinux 0.8.0

Новости — Linux General
Группа Linux General

Около двух лет и 5 RC-релизов потребовалось разработчикам ZFS on Linux (сокращённо ZoL), чтобы выпустить крайне значимый релиз - ZFS-0.8.0.

Новые возможности:

( читать дальше... )

>>> Подробности

 , ,

Deleted
()

Flare 1.10

Новости — Игры
Flare 1.10
Группа Игры

Вышла новая мажорная версия Flare — свободной изометрической RPG с элементами hack-and-slash, разрабатываемой с 2010 года. По словам разработчиков, геймплеем Flare напоминает популярную серию Diablo, а действие официальной кампании разворачивается в классическом фентезийном сеттинге.

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

( читать дальше... )

>>> Подробности

 , ,

pelmeshechka
()

quake1 не плавный фпс

Форум — Games

Slackware+nouveau+compton

Проект nquake(ezquake на quake1)

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

 ,

Deleted
()

Чем смотреть youtube с комфортом и аппаратным усмотрением видео?

Форум — Multimedia

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

Нужен альтернативный клиент Ютубас проигрыванием через нормальный плеер. Можно без комментов даже, но с подписками. Или к фаерфоксу норм плеер прикрутить.

Консольные тулзы типа youtube-dl и livestreamer/streamlink прошу не предлагать.

 , ,

legolegs
()

EEVblog про будущее KiCad

Форум — Talks

https://www.youtube.com/watch?v=zaYBc0akaUE

Кратко предсказания Дейва для Ъ:

  • KiCad скорее всего сильно потеснит остальные бесплатные/дешёвые CAD'ы для электроники на рынке.
  • KiCad возможно неким образом коммерциализируется. Либо какая-то одна компания возьмёт его под своё крыло и будет продавать техподдержку и реализовывать фичи под заказ. Или же будет создана организация KiCad Foundation для централизованного сбора средств и финансирования (это он уже в комментах написал).

P.S. Пятая версия кикада очень хороша, на мой непрофессиональный взгляд.

 , , , ,

Deleted
()

Умный дом в отдельный VLAN?

Форум — Talks

Задумался себе купить комплект устройств с ZigBee. Судя по цене и возможности опциональной автономной от облака работы с чем то вроде https://www.home-assistant.io/ это будут устройства из экосистемы сяоми.

Но всю это порнографию как то сыкотно просто пускать в свою домашнюю сеть... Кто поделиться опытом выгрузки этого добра в отдельный VLAN локалки с виртуальной точкой WiFi?

 , ,

psv1967
()

Объясните сишную магию

Форум — Development

Пытался понять как реализовать SVG фильтр feComposite, ибо SVG дока унылая, поэтому залез в сорцы вебкита. Там тоже документации ноль, ещё и код очень странный.

Вот что это за ужас (src):

static unsigned char clampByte(int c)
{
    unsigned char buff[] = { static_cast<unsigned char>(c), 255, 0 };
    unsigned uc = static_cast<unsigned>(c);
    return buff[!!(uc & ~0xff) + !!(uc & ~(~0u >> 1))];
}

Я так понимаю, они проверяют что int в 0..255 диапазоне, но уж слишком странным образом.

UPD: коммит, который добавил этот код.

 ,

RazrFalcon
()