• Что такое кластер баз данных?

    bingo347
    @bingo347
    Crazy on performance...
    Попытаюсь объяснить на пальцах
    В большинстве случаев основная нагрузка идет на чтение БД, часто бывает, что одна машина не справляется с существующей нагрузкой, тогда поднимают кластер — запускают СУБД на нескольких машинах, одна из них объявляется мастером, остальные репликами
    Мастер занимается только записью и распространением готовых изменений по репликам
    А читаем мы только из реплик, балансируя нагрузку между ними, тем самым снижая нагрузку на каждую из них и уменьшая время отклика
    Ответ написан
    1 комментарий
  • Как заставить volumes Docker compose не затирать данные из контейнера?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Запись

    - src:/var/www/html

    создаёт именованный том src в хранилище (docker volume ls). Надо указывать путь к каталогу, например, как относительный: ./src.

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

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    Если стандартными средствами html, без javascript, то можно примерно так:
    <form id="myform" method="post" action="form.php"></form>
    
    <table>
      <tr>
        <td><button class="transparent-button" type="submit" form="myform" name="filter" value="filter 1">filter 1</button></td>
        <td><button class="transparent-button" type="submit" form="myform" name="filter" value="filter 2">filter 2</button></td>
        <td><button class="transparent-button" type="submit" form="myform" name="filter" value="filter 3">filter 3</button></td>
      </tr>
    </table>
    Ответ написан
    2 комментария
  • Как в Symfony преобразовать строку вида prop.prop[3].prop в строку [prop][prop][3][prop]?

    Maksclub
    @Maksclub
    maksfedorov.ru
    В Laravel есть такая Arr:undot()
    https://github.com/laravel/framework/blob/8.x/src/...

    Вы можете подтянуть хэлперы через композер от туда, тогда так юзать:
    use Illuminate\Support\Arr;
     
    $array = [
        'user.name' => 'Kevin Malone',
        'user.occupation' => 'Accountant',
    ];
     
    $array = Arr::undot($array);
     
    // ['user' => ['name' => 'Kevin Malone', 'occupation' => 'Accountant']]


    или сделать свою такую же
    Ответ написан
    Комментировать
  • Как составить запрос на выборку в Symfony с объединением таблиц?

    @tukreb
    1. Вам нужно объявить связи в сущностях - https://www.doctrine-project.org/projects/doctrine...
    2. Написать метод в вашем репозитории, через createQueryBuilder
    Например что- такое используя leftJoinc Join::WITH
    public function getAllProductsWithCategories(): array
        {
            /** @var Product[] $entities */
            $entities = $this->repo->createQueryBuilder('t')
                ->select('t')
                ->leftJoin(Category::class, 't2', Join::WITH,'t.id = t2.product') //здесь джойним по полям, которые объявлены в наших сущностях (пункт 1)
                ->getQuery()
                ->getArrayResult();
    
            if (count($entities) === 0) {
                throw new EntityNotFoundException('No product.');
            }
            return $entities;
        }


    Но 2 пункт очень специфичен и возможно не ваш случай, обычно, если вы правильно сделали 1 пункт, то есть, если Entity имеет правильные ассоциации вы сможете через них достать другие сущности.
    Ответ написан
    Комментировать
  • Как написать регулярку для строки, которая может быть пустой?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    /^([a-zA-Z]*)$/u
    Ответ написан
    Комментировать
  • Как в JS скрипте подключить модуль установленный глобально?

    @GrayHorse
    Cannot use import statement outside a module


    Нужно указать тип скрипта:
    <script src="script.js" type="module"></script>

    Первая ссылка в поиске.

    ---

    При выполнении в консоли команды node index.js я получаю ошибку:


    To load an ES module, set "type": "module" in the package.json or use the .mjs extension


    Не ошибка, а предупреждение. В ней вся необходимая информация написана.
    Ответ написан
    Комментировать
  • Чем отличаются блоки питания HX1000i и HX1000? Стоит ли переплачивать за HX1000i?

    Jump
    @Jump
    Системный администратор со стажем.
    Чем отличаются блоки питания HX1000i и HX1000?
    Сравните характеристики - увидите.
    Почему тяжелее, с чем связанно?
    На металле не экономили.
    Так же заметил что у более дорогой модели диаметр вентилятора 140 мм. против 135. Это принципиально?
    Кто же кроме вас знает что для вас принципиально?
    Стоит ли переплачивать за HX1000i?
    Неизвестно нужны ли вам это.
    Так же вопрос обладателям блока: многие пишут что блок издает писк и что это негарантийный случай. Скажите это так?
    Конечно. Любая электроника может издавать низкочастотный писк. И чаще всего издает. Гарантийным случаем это никогда не считается.
    Ответ написан
    Комментировать
  • Чем отличаются блоки питания HX1000i и HX1000? Стоит ли переплачивать за HX1000i?

    nidalee
    @nidalee
    У i есть кабель для подключения к материнской плате и софт для мониторинга: можно получать информацию о работе БП с самого БП. У БП без i такой возможности нет. В целом, она вам не нужна.
    По мелочи еще есть тестирование вентилятора и чуть больший его размер - на это внимания тоже можно не обращать.

    У меня HX1000, писка нет.
    И ещё: в интернете пишут что гарантия 10 лет не распространяется на Россию. Это правда?
    Скорее всего. Вечной гарантии на ОЗУ у нас тоже нет.
    Ответ написан
    Комментировать
  • C#. Как в консольном приложении изменять выведенные в консоль строки?

    StupidQuestion
    @StupidQuestion
    Задаю глупые вопросы...
    using System;
    using System.Threading;
    
    namespace ConsoleApp1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("Hello ");
                Console.WriteLine("Привет ");
                Thread.Sleep(3000);
                Console.SetCursorPosition(6, 0);
                Console.WriteLine("world!");
                Thread.Sleep(3000);
                Console.SetCursorPosition(7, 1);
                Console.WriteLine("мир");
            }
        }
    }


    Ниблагадари!
    Ответ написан
    Комментировать
  • Как в wordpress перехватить get запрос?

    irtek
    @irtek
    Wordpress-addicted
    1. Грубый метод
    Создать папку sitemap в корне и создать там index.php
    Если нужны функции WordPress и доступ к базе, то включить в файл основной файл загрузки WP

    require '../wp-load.php';

    2. Если нужно прямо в WordPress
    Скрипт нужно повесить на хук "init", который происходит до передачи заголовков страницы.
    Данный код добавить в functions.php темы

    add_action( 'init', 'qna_habr_q_971257' );
    
    function qna_habr_q_971257() {
    
    	global $wp;
    
    	// Получить базовый url
    	$current_url = home_url();
    
    	// Получить текущий url
    	$current_url = $current_url . $_SERVER['REDIRECT_URL'];
    
    	// Получить ID поста/страницы
    	$id = url_to_postid( $current_url );
    
      // Получить массив get запроса
    	print_r( $_GET );
    
    
    	// Здесь ваш скрипт... //
    
    
    	// Завершить функцию выходом если не хотите продолжать загружать страницу
    	wp_die();
    
    }


    Для условия определения страницы, на которой находимся я привёл пример нескольких функций. Вы можете определить по данным из глобального $_SERVER, можете воспользоваться определением ID страницы по url и определять по ID на какой странице находитесь. Но учтите, что is_page() функция на данном этапе загрузки еще не работает.

    И завершить функцию можно выходом wp_die(); если вам не нужно продолжение загрузки страницы.
    Ответ написан
    1 комментарий
  • Как в node.js передать многострочный аргумент?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    Вместо двойных кавычек используйте обратные одиночные - расположены на клавиатуре где буква Ё
    Как бонус интерпретация переменных в строке
    let myVar = "строка";
    const stroka = `Hello
    ${myVar}
    World`;
    Ответ написан
    Комментировать
  • Как указать кодировку при fetch в JavaScript?

    zkrvndm
    @zkrvndm
    Архитектор решений
    Скачайте страницу как файл, а затем этот файл прочитайте как текст через FileReader, там можно указать кодировку:
    fetch('https://www.kartoteka.ru/').then(function(promise) {
    	return promise.blob();
    }).then(function(file) {
    	var reader = new FileReader();
    	reader.readAsText(file, 'windows-1251');
    	reader.onload = function() {
    		var doc = new DOMParser().parseFromString(reader.result, 'text/html');
    		var b = doc.querySelectorAll(".news_item .image_block_no_image p")[0].innerHTML;
    		console.log(b);
    	};
    });
    Ответ написан
    Комментировать
  • Как указать кодировку при fetch в JavaScript?

    Seasle
    @Seasle Куратор тега JavaScript
    fetch('https://www.kartoteka.ru/')
        .then((response) => response.arrayBuffer())
        .then((buffer) => {
            let html = new TextDecoder('windows-1251').decode(buffer);
            let doc = new DOMParser().parseFromString(html, 'text/html');
            let b = doc.querySelectorAll(".news_item .image_block_no_image p")[0].innerHTML;
    
            console.log(b);
        });
    Ответ написан
    Комментировать
  • В чем практические отличия null от undefined?

    @dmitry-toster
    Автор, вы загоняетесь
    null - присваивает программист
    undefined- присваивается самим JS
    Программист может создать переменную со значением undefined, но по правилам хорошего тона - делать так не надо. Переменная, которую создал человек, должна выглядеть так:
    let a;
    либо так:
    let a = null;

    Вот и все, что вам нужно знать!
    Ответ написан
    Комментировать
  • Как выставить частоту процессора и оперативной памяти?

    @Akela_wolf
    Extreme Programmer
    Обратите внимание на строчку в AIDA64: Effective clock = 4800. Собственно вот это оно и есть.

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

    Собственно я вам советую в данном случае действовать по принципу: "работает - не трогай"
    Ответ написан
    Комментировать
  • Как выставить частоту процессора и оперативной памяти?

    @Drno
    Оперативка и так работает 4800 у Вас... всё верно

    Проц - это срабатывает турбобуст, до 5100. если он Вам ненужен - отключите его в БИОС. Хотя тогда смысл был брать такой мощный проц... и не использовать его
    Ответ написан
    Комментировать
  • Можно ли в WP перехватить уже полностью сформированную страницу, чтобы вырезать оттуда определенную строку?

    entity1313
    @entity1313
    Веб-разработчик, проект-менеджер
    Если я правильно понял вашу ситуацию, вам нужно перехватить не всю страничку, а вывод wp_head()

    Учитывая, как именно обрабатывается экшен wp_head, достаточно будет сделать

    ob_start();
    wp_head();
    $head = ob_get_clean();

    После чего что угодно делаете с $head и выводите результат обычным echo.
    Ответ написан
    Комментировать
  • Как перевести видеоролик с английского на русский?

    @Fysya
    Привет! Я сталкивался с такой же проблемой и ничего не нашел. В итоге я решил написать свое браузерное расширение для этого.
    Суть вот в чем: Бр.расширение (browser extension) автоматический активизируется на странице просмотра ролика в ютуб, и ищет в своей базе по id ролика (https://www.youtube.com/watch?v={id}) и запускает звуковую дорожку и синхронизирует ее с видео роликом. Если есть микрофон можно самому записать звуковую дорожку.
    Сейчас расширение еще на стадии "полировки" но если интересно, могу скинуть текущую тестовую версию.
    Ответ написан
    6 комментариев
  • Как перевести видеоролик с английского на русский?

    @peredraga
    Это не совсем простая задача и без труда вы вряд ли чего-нибудь сделаете. В целом алгоритм следующий:
    1. Создать srt файл (файл субтитров с текстом) на языке, для которого делается озвучка. Если такого файла нет, то нужно взять субтитры на имеющемся языке и перевести их на нужный.
    2. Сделать автоматическую озвучку srt файла.
    Из имеющихся сейчас программ можно воспользоваться голосовым блокнотом для создания srt файла и srt speaker для озвучки
    Ответ написан
    Комментировать