• Не работает локализация setlocale в PHP?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    $fmt = new IntlDateFormatter(
        locale: "ru_RU",
        timezone: 'Europe/Moscow',
        pattern: 'EEEE, d MMMM yyyy'
    );
    print $fmt->format(new DateTimeImmutable());
    // суббота, 6 мая 2023
    Ответ написан
    Комментировать
  • Как написать нейронную сеть для распознавания изменений в графике?

    1. Нужно искать отклонения не на графике, а на ряде чисел, из которых этот график строится.
    2. Найти выбросы или отклонения от нормы можно найти при помощи классических статистических алгоритмов.
    Главное сформулировать более чётко, что ты хочешь найти, ибо
    отлонения показаний, которые выходят за пределы допустимых.

    Можно решить при помощи простого условия "если замер n выходит за пределы диапазона допустимых значений, то сделать [что-то]", даже без привлечения статистики.

    Если тебе нужно что-то более сложное, что нельзя решить при помощи классических алгоритмов - гугли anomaly detection
    Ответ написан
    2 комментария
  • Взаимодействие между несколькими самостоятельными приложениями?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Не должно у вас изменение сущности в одном приложении влиять на сущность в другом.

    Весь мир с ума сходит по микросервисам, убивается на распилке монолитов.
    А у вас они уже есть, но вы хотите слепить из них обратно монолит.
    У вас сейчас низкая связанность, а вы хотите ее повысить на пустом месте.

    Какая проблема, чтобы Client сходил в Order, получил идентификатор созданного заказа и дернул Billing?
    Зачем во всех этих трех сервисах делать тройное дублирование сущностей?
    Ответ написан
    5 комментариев
  • Как работать с переводом типов в PHP?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Я для этих целей использую расширение Decimal:
    (new Decimal\Decimal('153.17'))->mul(100)->toInt(); // 15317


    Но можно использовать и функцию bcmul:
    (int)bcmul('153.17', '100'); // 15317
    Ответ написан
    1 комментарий
  • Какая специальность наиболее близка к профессии data engineer?

    krdpsr
    @krdpsr
    loading...
    инженер-программист
    Ответ написан
    Комментировать
  • Есть какие нибудь инструменты для работы с VBA?

    BasiC2k
    @BasiC2k
    .NET developer (open to job offers)
    Писать и исполнять код VBA можно только в IDE Office.
    Если у Вас большой проект, посмотрите в сторону реализации проекта на базе VSTO.
    VBA и VB.NET очень похожи, адаптация пройдёт быстро (если есть время, лучше изучить c#).
    Из плюсов - практически неограниченные возможности новой платформы (VBA очень ограничен).
    В VSTO есть неочевидные особенности (обращение к книге, deploy и т.д.), но конечный результат вполне быстр и user frendly.
    Ответ написан
    4 комментария
  • Как узнать процент похожести текста?

    Вот вам еще вариант - добавить к статьям обязательные поля (если вы пишите о событии):
    Точная дата начала события
    Место события (населенный пункт)
    Список ФИО участников
    Тип события (выбор из фиксированного списка)

    Тогда вы сможете вычислять схожесть опираясь на этот классификатор и показывать редактору похожие статьи, а он уже пусть решает.
    Ответ написан
    3 комментария
  • Можно ли при вызове функции указать в него тип данных?

    @dima20155
    you don't choose c++. It chooses you
    Полагаю, что вам удобно будет использовать здесь шаблоны, если я правильно понял вопрос.
    Например:
    template <typename T>
    auto search (std::string str) {
        // T - data type
        T res;
        // do something
        return res;
    }
    
    int main () {
        auto a = search<int>("a");
        auto b = search<std::string>("a");
    }
    Ответ написан
    5 комментариев
  • Какую key-value БД использовать с данными в 10 млрд строк записей?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Несколько мыслей.

    1) У меня устойчивое дежа-вю. Периодически в топик заходят люди с именно этим вопросом. Разница только в количестве. Кому 1 млрд. Кому 10. Можно также поискать и слинковать эти вопросы в один большой вопрос.

    2) MySQL который указан в тегах - нормально справляется с этой задачей. Он и не такое число строк
    умеет хранить. И если взять MariaDb - там есть куча новых engines которые можно крутить для тюнинга
    именно скорости чтения. Разумеется жертвуя чем-то другим. Транзакциями и записью например.

    3) Непонятно что такое минимальное время? Если использовать дисковую БД типа MySQL то деградация времени
    поиска будет примерно зависеть от логарифма количества строк. Тоесть деградация будет но очень медленно.
    Для 10 млрд индекс по key будет содержать порядка 4-5 уровней BTree дерева. Тоесть дисковой системе
    нужно будет сделать до 5 или до 6 рандомных чтений (если нужные данные лежат в таблице). Это достаточно
    быстро для того чтобы моргнуть глазом за это время. Рандомное чтение любого блока из магнитного диска
    класса SATA-3 занимает порядка 20 милисекунд. Тоесть для 5 уровней - это 100 милисекунд. Для дисков
    класса SSD и это время можно уже считать меньше милисекунды. Точно я не знаю надо мерять.

    Испортить это время может сетевой лаг который в данной задаче мы просто не учитываем. Считаем что сеть идеальна.

    4) Непонятно зачем здесь указан Redis. Его задача не хранить 10 млрд а хранить только горячие
    ключи по котороым идет очень частый доступ. Если автор хочет In-memory хранение - то время можно
    еще сильнее улучшить. Его можно свести практически до нуля (я вангую несколько микро-секунд)
    но придется прикупить планок памяти побольше и посчитать сколько памяти
    надо для 10 млрд key/values неизвестной длины. Вообще крутить регулятор в направлении
    микро-секунд нет особого смысла т.к. другие звенья вашего стека (приложение и сеть) могут
    быть на порядки медленнее а это вообще нивелирует всю пользу от такой оптимизации.
    Ответ написан
    41 комментарий
  • PHP websocket насколько сильно он уступает node.js по производительности?

    sergiks
    @sergiks Куратор тега PHP
    ♬♬
    Open Swoole – мощный супер-быстрый асинхронный PHP.
    WebSocket'ы, корутины, высокая нагрузка.

    Пример WebSocket сервера:
    <?php
    
    use OpenSwoole\WebSocket\Server;
    use OpenSwoole\Http\Request;
    use OpenSwoole\WebSocket\Frame;
    
    $server = new Server("0.0.0.0", 9502);
    
    $server->on("Start", function(Server $server)
    {
        echo "OpenSwoole WebSocket Server is started at http://127.0.0.1:9502\n";
    });
    
    $server->on('Open', function(Server $server, OpenSwoole\Http\Request $request)
    {
        echo "connection open: {$request->fd}\n";
    
        $server->tick(1000, function() use ($server, $request)
        {
            $server->push($request->fd, json_encode(["hello", time()]));
        });
    });
    
    $server->on('Message', function(Server $server, Frame $frame)
    {
        echo "received message: {$frame->data}\n";
        $server->push($frame->fd, json_encode(["hello", time()]));
    });
    
    $server->on('Close', function(Server $server, int $fd)
    {
        echo "connection close: {$fd}\n";
    });
    
    $server->on('Disconnect', function(Server $server, int $fd)
    {
        echo "connection disconnect: {$fd}\n";
    });
    
    $server->start();
    Ответ написан
    Комментировать
  • Можно ли заставить нейросеть заставить избегать определенных состояний?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нейросеть - это функция с множеством входов и множеством выходов.

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

    Более полный ответ - зависит от архитектуры сети. Например сеть Хопфилда не то что избегает а скорее наоборот
    притягивается к нужному числу состояний. В этом ее суть. Как ее заставить что-то избегать я не знаю. Скорее
    это вопрос философии и определений чем вопрос математики.

    Вот если автор конкретизирует свой вопрос на примере - то тогда наверное можно что-то обсудить.
    Ответ написан
    Комментировать
  • Какая библиотека лучше всего использовать для голосового ассистента (бесплатно без регистрации) на C#?

    Распознавание голоса - это очень сложная задача, а по тому качественного и быстрого распознавания на локальном компьютере быть не может.
    А то что предлагает винда - это совсем смех.

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

    В принципе, кроме облака есть ещё бесплатный Vosk - его качество заметно хуже, чем у яндекса и гугла, но в во много раз лучше, чем в винде, и ты можешь в своём "голосовом ассистенте" предлагать пользователю выбор между несколькими движками (пусть сам оплачивает Yandex speech)

    Кстати, у яндекса не такие уж и дорогие тарифы - 16 копеек за 15 секунд распознаваемой речи.
    https://cloud.yandex.ru/docs/speechkit/pricing#rul...
    За время демо-периода можно бесплатно много часов распознавать.
    Ответ написан
    Комментировать
  • Как математически вычислить расстояние между двумя координатами?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Координаты широты и долготы, это не то же самое, что декартовы координаты на плоскости.
    Это градусы, отсчитываемые по экватору и по мередиану.
    Подробнее например тут https://gis-lab.info/qa/great-circles.html
    Ответ написан
  • Как заменить диски в RAID 1 на диски меньшего объема?

    Melkij
    @Melkij
    PostgreSQL DBA
    Будут, разумеется. Как вы контроллеру предлагаете обеспечить зеркало ёмкости 500гб на накопителе меньшего объёма? Контроллер закономерно откажется использовать такой диск в массиве.

    Открываете документацию к контроллеру и ищете, есть ли в принципе возможность уменьшить размер виртуального диска. Может не быть.

    Если у контроллера есть такая возможность - то сначала делаете бекап. Потом придумываете, как уменьшить использование диска до нового порога с точки зрения ОС. Уменьшить файловые системы, разделы диска и прочее что как-то использует ёмкость виртуального диска.
    Затем делаете ещё бекап..
    Затем следуете документации контроллера по уменьшению размера виртуального диска.
    Затем меняете диск, ждёте ребилд, меняете второй диск.

    Если контроллер так не умеет - делаете второй виртуальный диск меньшего размера, переносите на него систему, старый виртуальный диск удаляете.
    Ответ написан
    4 комментария
  • Где в ОС Linux хранится информация о ней?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Фактически когда мы говорим Linux - мы подразумеваем не саму ОС а ядро. Ядро физически лежит в каталоге

    /boot

    и это единая точка в системе где можно говорить именно о весии ядра. На все остальное - версия ядра не распространяется. Версии утилит и пакетов и приложений - могут быть любые. И может быть миллионы
    их сочетаний вместе с ядром. Это кстати иногда отвечает на вопрос почему у некоторых пользователей
    баг воспроизводится а у некоторых - нет.
    Ответ написан
    Комментировать
  • Как быстро получить случайное слово из файла на 12 ГиБ?

    @dima20155
    you don't choose c++. It chooses you
    Вариант с потолка: генерируйте случайную позиции в файле (от нуля до размера файла в байтах). Читаете все окружающие символы пока не найдете два символа новой строки ('\n') до и после исходной случайной позиции. Между этими символами новой строки и будет ваше случайное слово.

    Рандом, конечно же, не совсем честный и сильно зависит от различия в длинах строк в файле.
    Ответ написан
    22 комментария
  • Какая есть бесплатная программа для 3D с поддержкой скриптов?

    @Iv_and_S
    FreeCAD . скрипты на Python.
    Ответ написан
    Комментировать
  • Как сделать бота в дискорд со связанной нейросетью?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    У open.Ai есть свой API. Найдите, прочтите документацию, реализуйте функцию в боте, которая будет работать с этим API. Можно, кстати, у того же чатбота попросить помощи.
    Ответ написан
    Комментировать
  • Как вернуться к процессу, запущенному через ssh?

    @AlexVWill
    Можешь запускать его в виде
    nohup mycode.sh &
    Тогда процесс будет работать даже при отключении ssh сессии от сервера и вывод процесса будет в nohup.out файл.
    Ответ написан
    2 комментария
  • Почему сайты на сервере работают медленно?

    karabanov
    @karabanov Куратор тега Ubuntu
    Системный администратор
    На скриншоте LoadAverage около 8 при 48 ядрах и полно свободной памяти, то есть сервер не нагружен, если при этом приложение работает медленно, можно предположить, что оно ожидает чего-то. Может оно обращается к внешнему API которое медленно отвечает?

    Рекомендую проверить настройки DNS и убедится, что используется локальный кеширующий DNS сервер, а не публичный - дело может быть в том, что публичные DNS серверы тротлят если к ним часто обращаются, так что если приложению надо обращаться к внешнему API оно будут часто резолвить имена, что приведёт к задержкам.
    Ответ написан
    2 комментария