• Как верстать сайты на двух языках?

    vabka
    @vabka
    Токсичный шарпист
    Обычно это разруливается на уровне шаблонизатора.
    Ты верстаешь как обычно, но в местах, где тебе нужно вставить текст, ты будешь вставлять плейсхолдер.
    Потом, в отдельном файле, в зависимости от шаблонизатора, будут перечислены сопоставления плейсхолдер->текст

    Шаблонизатор потом уже либо сгенерирует тебе N файлов для разных языков, и тебе нужно будет на стороне веб-сервера разрулить, какие файлы отдавать, либо этим будет заниматься бэкенд, либо фронтовый фреймворк.

    Код в итоге будет что-то типа:

    index.html:
    <div>
      <p>{{text}}</p>
    </div>


    i8n/ru.json:
    {
      "text": "Привет мир!"
    }


    i18n/en.json:
    {
      "text": "Hello world!"
    }


    i18n/es.json
    {
      "text": "Hola mundo!"
    }


    Но если у тебя появляются динамические данные, нужна поддержка right-to-left языков, и вообще нужна адаптация под разные регионы (типа чтобы условный Американец и условный Китаец получали разный UX), то всё будет немного сложнее. Гугли дальше по словам "Интернационализация" и "Локализация"
    Ответ написан
    5 комментариев
  • Какие могут быть причины не запуска компа с подключенным диском?

    hint000
    @hint000
    у админа три руки
    Возраст около 12 лет.
    Главный подозреваемый - конденсаторы на материнке. Их легко могут заменить в сервисном центре. Если не поможет, то подозрение переходит на чипсет (кстати, чипсет сильно греется?).
    БП новый, такой
    А была ли эта проблема до того, как появился новый БП? o_O
    Одолжите у кого-нибудь БП другой марки на часок для теста; а учитывая возможность теста без дискретной видеокарты, достаточно БП мощностью от 250W.
    Ответ написан
    2 комментария
  • В чём деловая польза нейросетей?

    vpetrov
    @vpetrov
    частный SEO-специалист, textarget.ru
    Странный вопрос.
    Нейросеть способна обработать такой объём данных, который никакой человек обработать физически не в состоянии. Если вам нужны найти скрытые связи, из монолита вычленить скульптуру, вообще работать с данными - тут нейросеть незаменима.
    То, о чём вы говорите - это крайне попсовое и глупое применение мощнейшего инструмента. И этот инструмент в доступе уже лет примерно 20. Просто кожаным показали самые примитивные возможности - и этого хватило, чтобы массы забились в оргазме и ужасе.
    Ответ написан
    Комментировать
  • Можно ли обучать нейросеть на базе книг?

    vabka
    @vabka
    Токсичный шарпист
    То что ты описываешь называется "языковая модель" - тема достаточно большая и очень сложная, если хочется получать что-то осмысленное.

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

    Советую также почитать про IBM Chef Watson:
    https://www.bonappetit.com/entertaining-style/tren...
    Там вообще нет по сути никакого машинного обучения.

    + Ещё учитывай, что просто взять текст произвольной книги и использовать для обучения нейросети - это преступление
    Ответ написан
    7 комментариев
  • Как запретить перенос ACL при перемещении папок и файлов в Linux?

    @9999_dk
    из кладовки:
    Программка мониторинга full_audit лога самбы.
    $PATH_SHARE="home/samba/shares";
    $TMP_FILE="/tmp/acl_rename.tmp";
    $TMP_FILE2="/tmp/acl_rename2.tmp";

    while ($str=)
    {

    if (index($str,"|rename|ok|")!=-1)
    {
    @ar = split(/\|/,$str);
    $share=$ar[2];
    $action=$ar[3];
    $ok=$ar[4];
    $src=$ar[5];
    $dst=$ar[6];
    chomp($dst);

    $psrc=reverse(substr(reverse($src),index(reverse($src),"/")+1,1000));
    $pdst=reverse(substr(reverse($dst),index(reverse($dst),"/")+1,1000));

    if ($psrc ne $pdst)
    {
    qx "find '/$PATH_SHARE/$share/$dst' > $TMP_FILE2";
    open(F2, $TMP_FILE2) or die "Ошибка открытия файла в acl_rename";
    @f2 = ;
    close(F2) or die "Ошибка закрытия файла в acl_rename";

    foreach $j (@f2)
    {
    chomp($j);
    $pj=reverse(substr(reverse($j),index(reverse($j),"/")+1,1000));
    qx "getfacl '$pj' > $TMP_FILE 2>/dev/null";

    open(F1, $TMP_FILE) or die "Ошибка открытия файла в acl_rename";
    @f1 = ;
    close(F1) or die "Ошибка закрытия файла в acl_rename";

    open(F1, ">$TMP_FILE") or die "Ошибка открытия файла в acl_rename";
    $f1[0] = "# file: $j\n";

    if (-d "$j")
    {
    print F1 @f1,"\n";
    }
    else
    {
    foreach $i (@f1)
    {
    if (index($i,"default:")==-1)
    {
    print F1 $i;
    }
    }
    }
    close(F1) or die "Ошибка закрытия файла в acl_rename";
    qx "cd / && setfacl --restore=$TMP_FILE";
    }
    }
    }
    }

    Запуск tail -n 0 -F /var/log/samba/full_audit.log | acl_rename.pl &

    Теперь при перемещении файла или папки внутри шары, пермишены и acl не сохраняются, а назначаются равными той папке куда переместили.
    Ответ написан
    1 комментарий
  • Как отображать mp4 видео без ос?

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    Есть такая штука, под названием Bare-metal SDK для Raspberry Pi. С помощью данного SDK можно создавать проекты для одноплатников без ОС. Говорят, там есть пример проигрывания видео без ОС.
    Ответ написан
    2 комментария
  • Как последовательно передавать данные из вектора для обучения нейронной сети?

    @AlexSku
    не буду отвечать из-за модератора
    В Pytorch для этого используются Dataset и Dataloader. (пример для картинок)
    Метод __get_item__ будет выдавать порции.
    Ответ написан
    7 комментариев
  • Не работает локализация 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
    Ответ написан
    Комментировать
  • Как написать нейронную сеть для распознавания изменений в графике?

    vabka
    @vabka
    Токсичный шарпист
    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.
    Ответ написан
    3 комментария
  • Как узнать процент похожести текста?

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

    Тогда вы сможете вычислять схожесть опираясь на этот классификатор и показывать редактору похожие статьи, а он уже пусть решает.
    Ответ написан
    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#?

    vabka
    @vabka Куратор тега 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
    Ответ написан