• Как запаковать программу в EXE, если там webdriver?

    @antares4045
    обратите внимание на флаг --add-data у pytinstaller: скорее всего он решит вашу проблему.
    а ошибку можно прочитать, запустив экзешник через консоль:
    в винде правой клавишей с зажатым шифтом по любому свободному месту в папке - открыть окно powershell здесь - и вбиваете команду
    ./<имя экзешника>.exe
    Ответ написан
    1 комментарий
  • Не устарел ли ещё курс Скиллбокс "Веб-верстка" декабря 2020 года?

    @antares4045
    У меня родственник решил потратить деньги на этот курс: акценты сильно смещены в сторону бесполезных свистоперлелок типа pixel perfect, и nvda, которые фронтендер, только сошедший с конвера ещё несколько лет не вкусит (а может и вообще никогда).
    + полностью отсутствует практика верстки не лендингов (внезапно, если на сайте будет больше одной страницы, есть куча специфики, с которой вам прийдётся знакомиться сразу на боевом проекте).

    Но (особенно после обновления зимы 20-21 (когда оно точно было не помню)) вся ключевая информация в курсе освнщена. Тем не менее фокус на ванильном html+js там совершенно излишен. Клиент и работодатель сейчас хотят реакт (большие компании вообще ангуляр).
    Ответ написан
    1 комментарий
  • Keras. LSTM. Input 0 of layer sequential is incompatible with the layer: expected ndim=3, found ndim=2. Чаво?

    @antares4045
    Сразу отмечу, что с tesorfolw никогда не работал, и мой ответ может оказаться оторваным от реальности.

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

    @antares4045
    viewBox="-15 -15 926 735"

    правда это слегка уменьшит масштаб картинки, но с этим, я думаю вы справитесь
    Ответ написан
    Комментировать
  • Можно ли объединить бота с картой в гугле?

    @antares4045
    Есть стойкое ощущение, что вы не туда воюете. Напишите сначала бота, который чётко понимает, где он сейчас находится и по команде перемещается в определённое место на карте (про эту игру, я знаю, только то, что она есть, так что не могу точно гарантировать, что это в принципе выполнимая задача для одного программиста). Убедитесь что бот не тупит в стены, не падает в пропасти, и не впадает ни в ступор ни в тантр вдали от проторённых троп. Если к этому моменту у вас останется вопрос, как добыть координаты из внешнего источника -- то я вам не поверю.

    Хотя справедливости ради я за 15 минут реверс инжиниринга координат так и не добыл: специально или случайно, но автор конкретно этой карты приложил некоторые усилия, чтобы карту было не удобно читать, но в любом случае, то что вы можете посмотреть, вы можете и подключить к боту: вопрос степени заморочености.
    Ответ написан
    Комментировать
  • Как можно через бота скопировать сообщения из телеграм-канала?

    @antares4045
    боты не имеют методов доступа к любой информации о каналах, они имеют хуки: тоесть всё что они могут получить должно отвечать на следующий вопрос: "с момента, когда вы последний раз интересовались, произошли следующие, относящиеся к вам события".
    Если ваш бот в принципе видит сообщения, то он может запоминать последнее, и когда вам надо, радостно его сообщать. Но в общем случае телеграм чуть ли не специально выстраивал api ботов так, чтобы ваша задача была не решаема, если владелец канала не заинтересован в содействии вам.

    Скорее вам надо обратить внимание в сторону полноценных телеграмм клиентов, выполняющихся от имени полноценных пользователей, как например Pyrogram.
    Ответ написан
    Комментировать
  • Почему при копировании стиля в google chrome px переносятся на новую строчку?

    @antares4045
    правый клик -> copy rule
    иначе пока никак
    Ответ написан
    Комментировать
  • Как делать действия в конкретное время на сервере?

    @antares4045
    https://www.npmjs.com/package/node-schedule

    Раз в час отчищаете от записей, старше часа (теоретически возможен кейс, что запись проживет 2 часа, но это не важно: если необходимо, чтобы запись была активна ровно час, то при обработке кода, проверяте не истёк ли срок его действия)
    Ответ написан
  • Как найти этот элемент?

    @antares4045
    document.querySelector("input.ng-pristine.ng-untouched.ng-valid.ng-valid-required.ng-valid-mask.ng-not-empty")

    НО если document.querySelectorAll с тем же аргументов выдаёт больше одного тега, то нужно больше информации о странице
    Ответ написан
    1 комментарий
  • Как написать регулярное выражение?

    @antares4045
    `+7 (495) 123-45-__`.match(/(.*\d)/gm)[0] //'+7 (495) 123-45'
    Ответ написан
    Комментировать
  • Как прятать в редакторе ненужные поля?

    @antares4045
    У меня опыт работы а юнити -- пара часов, так что за специализированые средства не скажу, но не могу не заметить, что у вас все каунтеры имеют один тип: можно их всех укатать в прайват, создать один отдельный публичный каунтер, а в методе старт прописать присвоение значение каунтера в зависимости от выбраного типа.
    Ответ написан
    Комментировать
  • Есть ли у c++ собственные возможности работы с графикой?

    @antares4045
    Вопрос в требуемой степени самостоятельности: с++ самостоятельно даже буквы в консоль не может отобразить -- он просто посылает байты, соответствующие буквам в буфер, а операционная система их читает и отрисовывает закорючки в окне консоли. всякие DirectX с OpenGl это посредники между вашей програмой и операционкой, позволяющие вам проще (и скорее всего производительнее) объяснять операционке, что вы хотите видеть. большинство графических api написаны на сях, так что да: свой opengl на плюсах написать можно: просто обращайтесь к api вашей os напрямую. Ещё (вот тут возможно бред несу) есть возможность написать драйвер: штуку которая преобразует команды операционной системы в команды к конкретному устройству, тоесть перехватить контроль над монитором на самом низком уровне. драйвера на плюсах также написать вполне возможно.

    Ссылок не дам: заниматься низкоуровневыми архитектурными решениями никогда не тянуло, да и вуз не заставлял.
    Ответ написан
  • Могу ли я ссылке дать два значения href?

    @antares4045
    технически можно сделать так, но это не совсем ссылка получилась.
    <a onclick="window.open('/image2.jpg', '_blank');window.open('/image.jpg', '_self');">click me</a>


    А ещё браузеры подобный подход не любят, т.к. у него богатая история недобросоветного использования и 3 ссылки у вас уже так открыть не получится (будет "блокировка всплывающих окон").
    Ответ написан
    Комментировать
  • Как задать глобальное динамическое имя переменной?

    @antares4045
    вообще то кусок кода из вопроса полностью валиден и строчка
    globals()[VariableName] = VariableValue
    действительно создаёт глобальную переменную -- если у вас не работает, то вы не там ищете.

    Но, присоединюсь к Сергею: лучше создайте глобальный словарь и складывайте в него.

    ozonBrowsers = dict()
    @dp.message_handler(lambda message: message.text == "Авторизоваться")
    async def login(message: types.Message):
      user_id = message.from_user
      ozon_user = 'ozon_user_{0}'.format(user_id['id'])
      ozonBrowsers[ozon_user ] = browser.OzonBrowser(user_id['id'])
      markup = types.ReplyKeyboardRemove()
      await Form.login.set()
      await message.reply("Укажи логин для входа начиная 9", reply_markup=markup)
    Ответ написан
    Комментировать
  • Как подключить Python к Postgresql внутри Docker-а?

    @antares4045
    host = "172.22.0.2"
    Замените на
    server="db"
    Или
    host="db"
    (Точно пайкопгвский синтаксис не помню)
    И это вам не помешает, но явным созданием бридж сети и биндом сервисов к ней вы воспроизвели поведение по умолчанию, тоесть написали много всего лишнего.
    Ответ написан
    3 комментария
  • Как создать карирование для этой функции со своим замыканием?

    @antares4045
    const sum = (a, b, c) => a + b + c
    
    function carry(fn, argsCount=null, baseArgs=[]){
        argsCount = argsCount === null ? fn.length : argsCount
        if(baseArgs.length >= argsCount){
            return fn.apply(null, baseArgs)
        }
        return function(...args){
            return carry(fn, argsCount, baseArgs.concat(args))
        }
    }
    
    let a = carry(sum)
    
    let b = a(1)(2)
    
    console.log(b(3)) //6
    console.log(b(10)) //13


    сложно вы вопрос сформулировали, я пока вникал что именно у вас "не работает", устать успел
    Ответ написан
    1 комментарий
  • Как откинуть 5 число с массива?

    @antares4045
    наиболее прозрачный на мой взгляд способ (си уже позабылось, а под рукой компилятор только плюсов был: возможны некоторые синтаксические шероховатости)

    #include "stdio.h"
    
    void shiftArray(int* array, int* length, int startIndex=5){
        int index;
        if(startIndex < *length){
            for(index=startIndex + 1; index < *length; index++){
                array[index-1] = array[index];
            }
            *length -= 1;
        }
    }
    
    
    int main()
    {
        int len1 = 10;
        int len2 = 3;
        int arr1[len1];
        int arr2[len2];
    
        for(int i=0;i<len1;i++)
            arr1[i] = i;
        for(int i=0;i<len2;i++)
            arr2[i] = i;
        shiftArray(arr1, &len1);
        shiftArray(arr1, &len2);
        for(int i=0;i<len1;i++)
            printf("%d ", arr1[i]);
        printf("\n");
        for(int i=0;i<len2;i++)
            printf("%d ", arr2[i]);
        printf("\n");
        return 0;
    }
    Ответ написан
    Комментировать
  • Как в javascript classe запустить метод в другом методе?

    @antares4045
    Код класса правильный. Проблема с вызовом метода или созданием экземпляра:
    let controller = new DeviceController() //new обязательно
    controller.getAllForClient(req,res)
    Ответ написан
    Комментировать
  • Docker. Docker Compose. Как подключить контейнер к другому контейнеру?

    @antares4045
    docker-compose поднимает свой собственный изолированный днс.
    Есть подозрение, что вы подключаетесь к постгресу на сервере localhost:5432, а под компоузом надо db:5432
    Ответ написан
    3 комментария
  • Как понять нижеуказанный код Javascript?

    @antares4045
    function largestOfFour(arr) { 
      let results = []; //аккамулятор результатов
      for (let i = 0; i < arr.length; i++) { //для каждой строки матрицы arr
        let largestNumber = arr[i][0]; //пердпологаем, что первое число в строке является максимальным
        for (let j = 1; j < arr[i].length; j++) { //для всех чисел в строке, начиная со второго
          if (arr[i][j] > largestNumber) { // если текущее число больше нашего текущего максимума
            largestNumber = arr[i][j]; // обновляем значение максимума
          }
        }
        results[i] = largestNumber; //кладём текущий максимум в аккамулятор
      }
    
      return results; //возвращаем аккамулятор как результат работы функции
    }
    Ответ написан
    Комментировать