Задать вопрос
  • Стоит ли купить mac m3?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Если это ваш основной рабочий инструмент - то да, имеет смысл брать более новый девайс. Новое железо лучше, чем старое. Впрочем, М1 сам по себе обладает достаточной производительностью и спокойно переваривает и десяток машин в докере на 16 гигах памяти. Прямо сейчас брать не стоит, т.к. через неделю ожидается очередной релиз эппла, на котором возможно будут представлены маки на м4 и как следствие некоторое снижение цен на текущую линейку. Ну а м4 будет еще лучше, чем м3.
    Ответ написан
    Комментировать
  • Можно ли динамически формировать перечень jobs?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Да, можно настроить триггер запуска задачи при изменении определенного файла или каталога:
    https://docs.gitlab.com/ee/ci/yaml/#ruleschanges
    docker build:
      script: docker build -t my-image:$CI_COMMIT_REF_SLUG .
      rules:
        - if: $CI_PIPELINE_SOURCE == "merge_request_event"
          changes:
            - Dockerfile
          when: manual
          allow_failure: true
    
    docker build alternative:
      variables:
        DOCKERFILES_DIR: 'path/to/dockerfiles'
      script: docker build -t my-image:$CI_COMMIT_REF_SLUG .
      rules:
        - if: $CI_PIPELINE_SOURCE == "merge_request_event"
          changes:
            - $DOCKERFILES_DIR/**/*

    Если такой вариант не устраивает и надо выполнить какой-то скрипт и по его результатам запускать задачи, то у гитлаба есть API и через него можно запустить любую задачу: https://docs.gitlab.com/ee/ci/triggers/#trigger-a-...
    Ответ написан
    4 комментария
  • Как загрузить пакет с приватного репозитория?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Авторизоваться в гитхабе - HTTPS, SSH и использовать деплой токен.
    Ответ написан
  • Как увеличить размер выделяемой видеопамяти игре/приложению?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Памяти выделяется приложение столько, сколько оно запросит. Если память есть - она выделится и всё будет работать дальше, если памяти нет - то система вернёт ошибку, что памяти нет и приложение уже пользователю покажет ошибку. Соответственно, решение очень простое - увеличить объем памяти. В случае видеокарты - заменой видеокарты.
    Ответ написан
  • Как проксировать websocket не упираясь в пределы tcp?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Проксируется в целом ровно точно так же, как и любая сетевая нагрузка: клиенты [n] -> балансер -> сервера [m]. Лимит портов в 65к достаточно просто преодолевается путем добавления дополнительных сетевых адаптеров/каналов.
    Дополнительные ссылки:
    https://unetworkingab.medium.com/millions-of-activ...
    https://blog.postman.com/postman-engineering-milli...
    https://serverfault.com/questions/725224/how-to-ha...
    https://josephmate.github.io/2022-04-14-max-connec...
    https://github.com/eranyanay/1m-go-websockets
    https://github.com/ramsicandra/1million-ws

    Кроме того, WS коннекты можно балансировать как HTTP - банальным редиректом на прямой коннект к серверу. Т.е. клиент коннектится к балансеру, а он ему говорит: "а теперь тебе вот сюда коннектится надо". Или можно совмещать. Пару слов про проксирование WS в nginx: в сети пишут, что nginx с этим плохо справляется под существенной нагрузкой и лучше всего проксировать WS через специализированные прокси типа HAProxy.
    Ответ написан
    2 комментария
  • Как организовать обработку webhooks?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Складывать их в какое-то хранилище и после манипуляций с апи crm обрабатывать или есть более подходящие решение?

    Да, складывать. Называется это "очередь". Используйте Redis, RabbitMQ и прочее.
    Ответ написан
    6 комментариев
  • Как написать скрипт, который автоматически будет нажимать на кнопку покупки на сайте?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    То, что вам нужно называется "пользовательский скрипт". Используйте расширение типа TamperMonkey. Если хотите автоматизировать именно сам сайт - то вам следует использовать сетевую библиотеку для веба в любом знакомом вам ЯП для использования API сайта. У любого открытого API есть документация с примерами - используйте её для написания кода. Если там нет открытого API, то проще всего взять что-то типа Selenium или NWJS. Если не знаете как, то вам на фриланс.
    Ответ написан
    3 комментария
  • Как исправить баг на Debian подобных дистрибутивах последней версии?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Если используете мышку - то настроить в драйверах автоматическое отключение тачпада при подключении мышки. Если не используете мышку - либо тачпад глючит либо его драйверы.
    Ответ написан
  • Как дать Nekoray постоянные права админа?

    VoidVolker
    @VoidVolker Куратор тега Windows
    Dark side eye. А у нас печеньки! А у вас?
    Попробуйте в свойствах exe самого приложения поставить галочку "запускать от администратора" в разделе для всех пользователей. Если не поможет, то смотреть настройки встроенного автозапуска - как именно оно запускается. Оно может в реестре запускаться, может как сервис, может в планировщике, может через "автозапуск" в меню "пуск".
    https://github.com/MatsuriDayo/nekoray/issues/208 - там в топике такая же проблема, но в линуксе - решено было добавлением прав для исполняемого файла. Так что должно сработать и под виндой.
    Ответ написан
    Комментировать
  • Можно ли скачать архив по ссылке через ssh?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Да, можно. Используйте wget или curl:
    ssh user@server wget https://test.com/arhiv.rar
    ssh user@server curl https://test.com/arhiv.rar
    Ответ написан
    Комментировать
  • Как вставить текст, содержащий фигурные скобки?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    А открыть мануал приложения вам религия не позволяет? RTFM: https://ahk-wiki.ru/send
    Ответ написан
  • Видеокарта 12вольт гдето 12.4-5 в простое и 12.3 при нагрузке можно брать?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    В пределах нормы. Кроме того, встроенные датчики могут быть неточными. Или БП из по-проще и не очень качественно балансирует напряжение. Поэтому без нагрузки он выдаёт чуть завышенное напряжение, чтобы под нагрузкой оно не слишком сильно просело, а если нагрузка будет максимальной - то не опускалось ниже допустимого. Так что можно брать. И как вам уже сказали - при получении сначала стресс тест.
    Таблица допустимых напряжений блока питания стандарта ATX:
    Линия напряжения
    	+12В 	        +5В 	        +3.3В 	        +5VSB 	        -12В
    Диапазон отклонений
        ± 5% (± 0.6В) 	± 5%(± 0.25В) 	± 5%(± 0.165В) 	± 5%(± 0.25В) 	± 10%(± 1.2В)
    Минимальное напряжение
    	11.4В 	        4.75В 	        3.135В 	        4.75В 	        10.8В
    Максимальное напряжение
    	12.6В 	        5.25В 	        3.665В 	        5.25В 	        13.2В
    Ответ написан
  • Как организовать связь документов Word?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Вам нужна такая штука, которая называется "внутренний корпоративный портал", а на этом внутреннем корпоративном портале запустить любую вики. Обычно в таск менеджерах и CRM есть встроенная вики. Если нужен именно пдф - делается банальный экспорт в PDF нужного документа. Например XWiki, DokuWiki и т.п.
    Ответ написан
    Комментировать
  • Не удается отформатировать внешний диск WD, формат HFS+ (ошибки -69877 и -69825), как решить?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Похоже, что диск отправился в электронный рай. Нести в магазин, если еще на гарантии, если уже нет - в сервис на диагностику и дальше скорее всего в корзину (ну или сразу). Какая модель диска? Если там стандартный SATA диск: есть шанс, что мог сдохнуть только USB контроллёр, а диск остаться целым. Тогда можно заменить коробочку. А если нет - то контроллёр встроенный в диск и тогда только в сервис. Ну или добраться до ПК с виндой и посмотреть, что скажет винда.
    Ответ написан
  • Можно ли сделать автозамену русских букв а,о (маленькие) на английские?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Легко - ставите расширение TemperMonkey и добавляете следующий скрипт в него:
    // ==UserScript==
    // @name         Исправление текста
    // @namespace    http://tampermonkey.net/
    // @version      2024-10-22
    // @description  Заменяет все английские буквы во всех текстах на русские
    // @author       VoidVolker
    // @match        https://24forcare.com/*
    // @icon         https://www.google.com/s2/favicons?sz=64&domain=24forcare.com
    // @grant        none
    // ==/UserScript==
    
    ;(function () {
        'use strict'
        $(function () {
            console.log('Скрипт запущен в работу...')
    
            // Английские символы
            let en = 'ABCEHKMOPTXYabcehkmoptxy'
            // Русские символы
            let rus = 'АВСЕНКМОРТХУавсенкмортху'
            // Таблица замены en -> ru
            let map = {}
            en.split('').forEach((char, i) => (map[char] = rus[i]))
    
            // Счетчик замен
            let charsCounter = 0
            let nodesCounter = 0
    
            // Нормализовать текст
            // В идеале следовало бы извлечь из текста слова
            // И уже в словах проверять наличие разных символов 
            function normalizeEn2Rus(str) {
                // Конвертируем строку в массив
                let arr = str.split('')
                // И проходим по всем символам в массиве
                for (let i in arr) {
                    // Получаем символ
                    let char = arr[i]
                    // Если символ найден - заменяем его, если нет - оставляем оригинальный
                    arr[i] = map[char] ?? char
                    charsCounter++
                }
                // Конвертируем массив в строку и возвращаем результат
                return arr.join('')
            }
    
            // Получаем список всех элементов на странице
            let items = $('*', document.body)
    
            // Проходим по всем элементам
            items.each((i, item) => {
                // Исключаем ссылки, скрипты и стили из поиска
                if (item.nodeName === 'A' || item.nodeName === 'SCRIPT' || item.nodeName === 'STYLE') { return }
                // Получаем список детей у элемента
                Array.from(item.childNodes)
                    // Фильтруем только текстовые элементы и те, в которых есть текст
                    .filter((el) => el.nodeType == Node.TEXT_NODE && el.textContent?.length > 0)
                    .forEach((el) => {
                        // Нормализуем текст элемента
                        el.textContent = normalizeEn2Rus(el.textContent)
                        console.log(el.textContent)
                        nodesCounter++
                    })
            })
    
            console.log(`Скрипт завершил работу успешно. Всего заменено символов [${charsCounter}] в [${nodesCounter}] текстовых элементах.`)
        })
    })()

    В результате все английские буквы, похожие на русские будут заменены обратно на русские автоматически при заходе на сайт и открытии любой страницы.
    Ответ написан
  • Подходит для светодиода ребристый радиатор?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Если он подходит по размерам и ТТХ - то вполне можно, почему нет-то?
    Ответ написан
    Комментировать
  • Как лучше поступить при создании сайта?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Лучше для чего именно? Определитесь сначала с конкретными требованиями.

    создать сайт, на котором будет каталог запчастей

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

    Корзину товаров. Причем это не покупка, а лишь отправление заявки на почту, после чего с ними свяжется продавец

    И можете сразу забыть про свой сайт как магазин - ибо никто не будет "покупать", если это не реальная покупка реального товара и ждать звонка менеджера и сразу пойдёт в нормальный магазин. "Оставьте заявку, мы вам перезвоним когда-нибудь и скажем есть ли товар в наличии или нет, может даже скажем цены" - сразу закрываю такие сайты. Если хочу что-то купить - я ищу магазин, где это есть в наличии и я могу сразу купить. Корзина - это список для покупки, а не сама покупка. Кроме того, по закону РФ, если покупатель совершил покупку в интернет магазине - магазин обязан предоставить ему товар. А если у магазина нет товара - это проблемы магазина.

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

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

    Дедлайн примерно месяц, можно даже больше.

    Только взять готовый движок. Других вариантов у вас нет. Причём на прикручивание вашего дизайна к нему может уйти несколько месяцев. А еще надо сервер, домен, интеграции, биллинг, админка и прочее всякое настроить.

    И также отдельно вопрос касаемо денежных затрат, что выйдет в таком случае дороже

    Разработка под ключ среднестатистического нормального сайта стоит от ~$10к. На готовом движке - гораздо быстрее и стоимость, конечно меньше будет, но и возможностей у такого тоже будет меньше. Стоимость хостинга и тильды на этом фоне копейки.

    а если самому создавать то только за хостинг

    А стоимость вашего времени? Вы работаете за бесплатно? Или просто это что-то вроде учебно-практического проекта?
    Ответ написан
    2 комментария
  • Для чего тесты пишут?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Да, конечно можно проверить работу каждой фичи и функции ручками. Это если у тебя три-пять фич/функций, ну десяток еще можно, а изменения - раз в неделю. А если это надо делать на каждый коммит? Десять коммитов в день? А как проверять, если там 100 экранов, на каждом экране по сотне графических элементов, у которых по пять состояний в различных вариантах, два десятка эндпоинтов в бэкэнде, а в коде паутина из 10-100к функций и хрен знает сколько зависимостей? Итого 100 x 100 x 5 x 20 - уже миллион вариантов. Ой, а у нас там еще есть отдельная админка для этого вот всего, биллинг, мониторинг, отчеты, интеграция с тремя десятками платёжных систем и бакнов, почта, интеграции с мессенджерами, кэширование, резервирование, бэкапы и еще пара сотен зависимостей и интеграций с другими системами. Сколько месяцев или даже лет ручного труда потребуется для ручной проверки работы такого проекта в каждом коммите за время работы команды из десяти разработчиков в течении хотя бы одной недели?

    Возьмём для примера обычный виндовый калькулятор: 4 варианта - 40 элементов интерфейса только в одном только обычном варианте, в статистике - примерно 50, в инженерном чуть больше сотни, в режиме программиста - все две сотни. И у каждого элемента в среднем от одного до десяти состояний, плюс еще связи с другими элементами, а так же разное поведение, зависящее от других элементов. И работу каждого элемента надо проверить с учетом всех возможных вариантов его работы. Сотни и тысячи фич/функций, десятки и, вероятно даже сотни, тысяч вариантов. Да, конечно, большая часть всего этого перекрывается более высокоуровневыми тестами и переиспользованием уже написанного кода (что, кстати, как раз и создаёт все эти зависимости) и тестировать под сто раз одно и то же нет необходимости. Но вот так, вручную, без конкретного списка конкертных фич и автоматизации - как проверить правильность работы хотя бы вот такого обычного калькулятора?

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

    А еще есть такая методика, как TDD: разработка через тестирование - сначала создаётся тест на фичу, а уже только потом создаётся сама фича.
    Ответ написан
    Комментировать
  • Рекомендации по созданию приложения на C++?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Подойдёт ли Windows Forms? Мне ведь потом на мобилку порт делать.

    Формы - это .Net и только для винды. Причем это уже очень старое легаси, которое имеет смысл использовать только для поддержки Windows XP - а у нас тут уже поддержка 10 заканчивается так-то. А .Net - это прежде всего C#. И вот на C# есть более новый WPF и кроссплатформенный MAUI. Для мобилки все равно придется переписывать с нуля или искать какие-то варианты решений, которые могут C# в мобилки.

    Или на мобилку лучше не на C++ делать? Что посоветуете?

    Не самое лучшее решение - там родная платформа Java и Swift. Qt умеет: https://doc.qt.io/qt-6/mobiledevelopment.html - но как оно там в результате будет работать сложно сказать и можно ожидать каких-нибудь слабопрогнозируемых глюков и сложностей. Спасибо Adamos.

    Может кому-то известны нюансы при постройке такой программы?

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

    В общем, у вас несколько вариантов. Вариант раз: если хотите именно плюсы - то вам следует использовать Qt и писать код сразу с учетом дальнейших доработок для работы в Linux, Mac и на мобилках - не знаю, как и на сколько хорошо Qt умеет в мобилки, но могут быть какие-то сложности/баги. Ну, в кроссплатформе от этого не уйти - придётся мириться и местами писать разный код для разных платформ.

    Вариант два: если хотите сразу писать приложение сразу для всех платформ с единой кодовой базой и минимальными услиями - то можно использовать веб-платформы типа NWJS, Cordova и прочие браузерные платформы. Минус - приложение будет тяжёлым и ощутимо более медленным, чем нормальное нативное.

    В целом, могу рекомендовать для начала просто сделать на плюсах с Qt хоть какое-то приложение для винды, далее внести доработки для работы в линуксе и маке. При наличии/доступности мака - можно сразу и для мака делать. Линукс прекрасно ставится и работает в VirtualBox и прочих виртуализаторах. Далее сделать поддержку сетевых фич, БД и прочего, а уже только потом переключаться на разработку для мобилок. При этом, вам надо будет организовать свой план разработки от меньшего к большему. Т.е., сначала самые простые функции делаете, а уже потом к ним добавляете что-то более сложное по мере изучения.
    Ответ написан
    5 комментариев
  • Как убрать знак / в всех ссылках в тексте?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Используйте регулярку, что-то типа: href=http:(\/\/\S+)\/\> -> href=http:$1>
    Ответ написан
    Комментировать