• Как убрать лишние массивы?

    parce56
    @parce56
    Системный аналитик
    a.flat(Infinity)
    Ответ написан
    Комментировать
  • Как в консоли php запустить процесс nodejs и дождатся его завершения?

    parce56
    @parce56
    Системный аналитик
    Скорее всего дело в том, функция main() выполняется асинхронно и скрипт не дожидается выполнения промиса. Не уверен, что сработает, но можно попробовать бахнуть что-то вроде
    main().catch((e) => {
        throw e
    }).finally(() => console.log('done'))
    Ответ написан
  • Какой компьютер собрать?

    parce56
    @parce56 Автор вопроса
    Системный аналитик
    Спасибо всем за предложенные варианты и советы.
    В какой-то момент я понял, что будет лучше самому поизучать тему железа и собрать свою сборку.
    Начал я с пересмотра потребностей и их детальной переоценки.

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

    По системному блоку:

    1. Процессор. Выбирал процессор с разблокированным множителем и встроенным графическим ядром, т.к. не увидел смысла тратить деньги на "затычку".
    Также старался смотреть процессоры, сокет которого позволит поставить более мощный процессор в будущем.
    Также во встроенном графическом ядре должна быть поддержка 3х мониторов.
    У процессоров AMD в ценовом диапазоне 20-30к разблокированный множитель и встроенное графическое ядро понятия несовместимые, поэтому стал смотреть только Intel.
    Поразбиравшись с поколениями Intel и их сокетами, выбрал Intel Core i5 11600K с сокетом LGA 1200, что в перспективе позволяет поставить Intel Core i9 11900K и получить машину для убийств. Что касается типа поставки, то взял BOX-вариант, т.к. он даёт три года гарантии.

    2. Материнская плата. Здесь всё просто. Сокет LGA 1200, два цифровых видео-выхода (HDMI и DisplayPort) для поддержки мультимониторности. 4 слота под оперативную память. Двухканальный режим работы с памятью. Поддержка Crossfire (на будущее). Два разъёма M2. Форм-фактор платы mATX, так как корпус решил брать mATX. Также, материнская плата должна поддерживать оверклокинг, поэтому посмотрев чипсеты Intel, выбрал чипсет Z590M. Что касается поддержки Wi-Fi, то от Wi-Fi решил отказаться в пользу кабеля, так как это всё-таки стационарный компьютер и мобильность не требуется. Сам кабель тянуть через три стены не стал - решил проблему иначе (описание в п. 12 ниже). Что касается Bluetooth, то решил ограничиться "свистком", который снял со своего ноутбука. Материнскую плату выбрал GIGABYTE Z590M GAMING X, LGA 1200, Intel Z590, mATX, Ret.

    3. Оперативная память. Оценив свои потребности, понял, что на первое время достаточно 32 ГБ памяти. Она должна быть двухканальной, двухранговой и работать на максимальной частоте материнской платы, это 3200 МГц. Да, можно было взять 4 красивых планки по 8 ГБ и получить 32 ГБ, но я решил взять парные планки по 16 ГБ, чтобы ещё пара слотов оставались свободными. В случае чего, мне придется докупить ещё пару планок по 16 ГБ и получить 64 ГБ. То есть, не придётся думать о том, куда деть ставший ненужным комплект 4х планок по 8 ГБ. Выбрал HyperX Fury 32GB (16GBx2) DDR4 3200MHz DIMM 288-pin CL16 HX432C16FB3K2/32.

    4. Диск под систему. SSD с поддержкой NVMe. Под M2 на 250 ГБ от WD. WD Blue SN550 WDS250G2B0C 250ГБ.

    5. Диск под хранение файлов. HDD на 1 ТБ под SATA III от WD. WD Caviar Blue WD10EZEX, 1ТБ, HDD, SATA III, 3.5".

    6. Блок питания. Для выбранной материнской платы друг посоветовал взять блок питания со статусом не ниже бронзы. GIGABYTE GP-P650B, 650Вт, 120мм.

    7. Система охладения. Так как максимальное номинальное тепловыделение процессора составляет 125 Вт и предусматривается оверклокинг, то взял башню ZALMAN CNPS9X Optima, 120мм, рассчитанную под 180 Вт.

    8. Корпус. Форм-фактор mATX, продуваемый с кулерами, чтобы не печка. Место для блока питания в нижней части корпуса. Решил попробовать взять с калёным стеклом сбоку. Особо не заморачивался, поэтому mATX AEROCOOL Trinity Mini-G-BK v2, Mini-Tower, без БП, черный.

    По периферии:

    9. Мониторы. Решил остановиться на двух мониторах, так как понял, что третий монитор скорее всего будет простаивать, чем использоваться по делу. Три монитора можно было бы подключить по технологии displayport chaining. Размер 23,8-24 дюйма. Два цифровых входа HDMI и DisplayPort. Матрица IPS. Отклик не более 5мс. Разрешение 1920 на 1080. Герцовка 75 Гц. Так как много работаю, то Flicker Free (подсветка без мерцания). Также для удобства регулируемое и поворотное крепление. Поддержка VESA 100 на 100 на случай если надумаю настольный кронштейн от ONKRON. Много работал с Dell, но рассматривал также среди IIyama и Phillips. Мониторы старался выбирать визуально, по качеству картинки, среди тех, что есть в наличии в моём городе. Заказывать монитор откуда-то, не посмотрев качество картинки - долго и муторно. В итоге выбрал себе два штуки 23.8" Монитор Dell S2421HS.

    10. Клавиатура + мышь. Лично я отдаю предпочтение беспроводным комплексам от Logitech. Работал на них 10 лет без нареканий как в офисе, так и дома. Поэтому Logitech MK540 Advanced.

    11. Кабель DisplayPort, Male - Male для подключения второго монитора. В комплектах с мониторами идут только HDMI кабели.

    12. PowerLine-адаптеры. Так как я отказался от Wi-Fi в пользу кабеля, а тянуть кабель через три стены и три проёма по свежему ремонту не хотелось, то решено было купить гигабитные PowerLine-адаптеры с технологией HomePlug AV 2. Эти штуки позволяют пробрасывать интернет через обычную электрическую сеть на высоких частотах, минуя автоматы и УЗО. Также есть симметричное шифрование трафика. Очень легко настраиваются. Выбрал PowerLine TP-LINK TL-PA7017P kit.

    Итого: 102445 руб. Цены на середину июня 2021 г. Брал частями (где дешевле) в ситилинке, днс и яндекс маркете.

    Системный блок (72599 руб.):
    1. Intel Core i5 11600K, LGA 1200, BOX - 22790 руб.
    2. GIGABYTE Z590M GAMING X, LGA 1200, Intel Z590, mATX - 16400 руб.
    3. HyperX Fury 32GB (16GBx2) DDR4 3200MHz DIMM 288-pin CL16 HX432C16FB3K2/32 - 16049 руб.
    4. WD Blue SN550 WDS250G2B0C 250ГБ - 3690 руб.
    5. WD Caviar Blue WD10EZEX, 1ТБ, HDD, SATA III, 3.5 - 2960 руб.
    6. GIGABYTE GP-P650B, 650Вт, 120мм - 5240 руб.
    7. ZALMAN CNPS9X Optima, 120мм - 2320 руб.
    8. mATX AEROCOOL Trinity Mini-G-BK v2, Mini-Tower, без БП, черный - 3150 руб.

    Периферия (29846 руб.):

    9. 23.8" Монитор Dell S2421HS - 2 х 10999 = 21998 руб.
    10. Logitech MK540 Advanced - 3399 руб.
    11. Кабель DisplayPort, Male - Male - 799 руб.
    12. PowerLine TP-LINK TL-PA7017P kit - 3650 руб.

    Прошел месяц после активной работы за новым компьютером. Я настолько доволен результатом (всё летает и радует глаз), что решил написать этот пост.
    Пробовал играть в доту 2 на одном мониторе. Даёт 73-75 FPS на высоких настройках. На максимальных настройках (включено всё, что возможно) даёт 40-45 FPS. Как-нибудь запишу видео-тест и выложу на YouTube. Для сравнения - старый ноутбок с дискретной видеокартой NVIDIA GeForce 520M не тянул доту 2, просто отключался спустя какое-то время игры от перегрева.
    Поигрываю на высоких настройках с 75 FPS - доволен, на ноутбуке так не играл.
    Считаю, мне удалось собрать хороший комп, уложиться в бюджет 100к руб. и не слить деньги на "затычку".
    Если когда-нибудь возникнет необходимость (я сомневаюсь), то можно без проблем вставить топовую видеокарту, поменять мониторы на ультра и играть во что-то на ультранастройках.

    Сейчас продумываю варианты, как убрать системный блок под стол.

    60e9bdfcac731574726851.jpeg

    60e9be093deda329826780.jpeg
    Ответ написан
    Комментировать
  • Как сделать вот такой слайдер с тэгами?

    parce56
    @parce56
    Системный аналитик
    Как вариант, на начало событий кнопок Prev и Next повесить функцию, которая даёт всем ссылкам тэгов в слайдере класс деактивации ссылок, примерно такой:
    .disabled {
        pointer-events: none;
        cursor: default;
    }

    В конце выполнения событий кнопок мы убираем этот класс из ссылок тэгов.
    Ответ написан
    Комментировать
  • Как лучше модифицировать блок в html(pug)/css(scss)?

    parce56
    @parce56
    Системный аналитик
    Попробуйте создать базовый класс. Он будет задаваться всем блокам, там будут храниться общие свойства. Затем создайте подклассы которые будут дополнять базовый и при необходимости переопределять приоритет, если будет наслоение. Хотя при грамотной логике такого быть не должно. Это с использованием чисто html/css.
    Ответ написан
    Комментировать
  • Правильная работа с фреймворком?

    parce56
    @parce56
    Системный аналитик
    1) Open Server. Во избежание несоответствия версий PHP делаю настройку версий в Open Server.
    2) Для обновления файлов использую WinSCP и протокол SCP.
    P.S.: Для работы с БД использую HeidiSQL.
    Ответ написан
  • Как отцентрировать хлебные крошки посередине?

    parce56
    @parce56
    Системный аналитик
    ul {
      display: block;
      margin: 0px auto;
      padding: 0px;
      text-align: center;
    }
    
    ul li {
     display: inline-block;
    }
    Ответ написан
    1 комментарий
  • Области видимости переменной?

    parce56
    @parce56
    Системный аналитик
    Была такая проблема. Нужно непосредственно в init(a) тоже а передавать при объявлении init(), и перед вызовом init() так же передать. Немного измените структуру кода. init() желательно объявить как var init = function(a) {};
    Ответ написан
    Комментировать
  • Как вывести в php?

    parce56
    @parce56
    Системный аналитик
    <?php 
    echo '<div class="clock-scipt">';
    echo '<script src="http://megatimer.ru/s/9a60929a9c5fb54b505c8e1eaced8232.js"></script>';
    echo '</div>';
    ?>
    Ответ написан
  • Как изменить скрипт для правильного взаимодействия блоков записей?

    parce56
    @parce56 Автор вопроса
    Системный аналитик
    Отказался от использования id. Решил проблему через родительский элемент.
    $(document).on('click','.readmore',function(){
    	var parent = $(this).parent();
    	var isOpen = parent.find('.article-content').hasClass('opened');
    	$('.article-content.opened').slideUp().removeClass('opened');
    	if (!isOpen) {
    		parent.find('.article-content').addClass('opened').slideDown();
    	}
    	return false;
    })
    Ответ написан
    Комментировать
  • Какие есть ресурсы и книги на тему практического использования HTML и CSS?

    parce56
    @parce56
    Системный аналитик
    Для подготовленного читателя одной из хороших книг считаю Б. Фрейн HTML5 и CSS3 Разработка сайтов для любых браузеров и устройств. Для меня она показалась очень даже практической. Нет нудной теории, там конкретно написано, как и что делать.
    Ответ написан
    Комментировать
  • Не выполняется exec ffmpeg. В чём причина?

    parce56
    @parce56 Автор вопроса
    Системный аналитик
    Проблема была решена! Причина крылась в настройках видеокодера ОБС и параметрах аудиопотока. Для того чтобы всё нормально работало нужно изменить частоту аудио до 44100 Гц. Как ни странно, но это помогло. Ещё запуск ffmpeg'a должен выполняться из конфига. Тестирование через консоль результатов вообще никаких не даёт. Пишет immediate exit requested. И да, конечно же, сама команда использования crop.
    exec ffmpeg -i rtmp://localhost/live/$name -filter:v "crop=640:360:0:0" -r 16 -c:a copy -f flv rtmp:/localhost/eur/$name;
    Ответ написан
    Комментировать