Задать вопрос
  • Как убрать горизонтальный скролл в мобильной версии сайта?

    1HAWK1
    @1HAWK1
    Привет! Давай разберемся, как убрать горизонтальный скролл в мобильной версии сайта. Вот несколько советов:
    • Проверь ширину контента
    • Убедись, что ширина всех блоков не превышает 100% ширины экрана.
    • Обрати внимание на фиксированные размеры (px) в CSS - они могут вызывать проблемы.
    • Используй медиа-запросы
    • Добавь медиа-запросы для мобильных устройств, чтобы адаптировать стили.
    • Пример:
      @media screen and (max-width: 768px) { ... }

    • Задай контейнеру свойство overflow-x
    • Добавь контейнеру overflow-x: hidden;, чтобы скрыть горизонтальный скролл.
    • Проверь внешние ресурсы
    • Виджеты или встроенный контент могут нарушать разметку.
    • Адаптируй их размеры под мобильные экраны.
    • Используй отладчик браузера
    • Встроенные инструменты разработчика помогут найти причину.
    • Проанализируй стили элементов и найди блок, вызывающий скролл.


    Надеюсь, эти советы помогут тебе решить проблему! Если что, пиши - вместе разберемся. Успехов с мобильной версией!
    Ответ написан
    Комментировать
  • Скрипт на Python работает медленно, как ускорить?

    1HAWK1
    @1HAWK1
    import requests
    import pandas as pd
    from concurrent.futures import ThreadPoolExecutor, as_completed
    
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"
    }
    
    options = {
        'muteHttpExceptions': True,
        'followRedirects': False
    }
    
    def check_url(url):
        resp = f'https://www.google.ru/search?q=site:{url}'
        response = requests.get(resp, options, headers=headers).text
        if "ничего не найдено" in response:
            return url, "Не в индексе"
        else:
            return url, "В индексе"
    
    def main():
        with open('all-website-url.txt', encoding="utf-8") as f:
            urls = [line.strip() for line in f]
    
        results = []
    
        with ThreadPoolExecutor() as executor:
            futures = [executor.submit(check_url, url) for url in urls]
            for future in as_completed(futures):
                url, status = future.result()
                results.append({"URL": url, "Статус": status})
                print(f"{url}: {status}")
    
        df = pd.DataFrame(results)
        df.to_excel('./googlecheckindex.xlsx', index=False)
    
    if __name__ == '__main__':
        main()
    Ответ написан
  • Проверка steam аккаунта на существование и баны по нику пользователя?

    1HAWK1
    @1HAWK1
    Чтобы проверить, существует ли учетная запись Steam и есть ли у нее какие-либо баны, вы можете использовать Steam API. API Steam предоставляет доступ к различным данным, связанным с учетными записями Steam, включая их статус, владение игрой и баны VAC.

    Вот основные шаги по использованию API Steam для проверки существования и блокировки учетной записи:

    Зарегистрируйтесь для получения ключа API Steam на странице https://steamcommunity.com/dev/apikey.

    Используйте API Steam для получения SteamID учетной записи. Вы можете сделать это, отправив запрос к конечной точке API api.steampowered.com/ISteamUser/ResolveVanityURL/v0001. Передайте свой ключ API и псевдоним пользователя в качестве параметра, и API вернет SteamID пользователя, если учетная запись существует.

    Используйте API Steam для получения статуса блокировки учетной записи. Вы можете сделать это, отправив запрос к конечной точке API api.steampowered.com/ISteamUser/GetPlayerBans/v1. Передайте свой API-ключ и SteamID пользователя в качестве параметра, и API вернет статус бана учетной записи.

    Обратите внимание, что использование Steam API требует определенных знаний и опыта в области программирования. Вам нужно будет делать HTTP-запросы к конечным точкам API и анализировать ответы для получения необходимых данных. Кроме того, API Steam имеет ограничения скорости и другие ограничения, поэтому обязательно внимательно прочитайте документацию и следуйте рекомендациям при отправке запросов.
    Ответ написан
  • Как решить проблему при установке Php пакетов в centos7?

    1HAWK1
    @1HAWK1
    Сообщение об ошибке указывает на то, что в вашей системе отсутствуют два расширения PHP, dom и xml, которые требуются для пакетов, которые вы пытаетесь установить. Вот как вы можете установить эти расширения в CentOS 7:

    Установите репозиторий EPEL:
    sudo yum install epel-release

    Установите репозиторий Remi, который содержит обновленные версии PHP и его расширений:
    sudo yum install rpms.remirepo.net/enterprise/remi-release-7.rpm

    Установите PHP и необходимые расширения:
    sudo yum install php php-dom php-xml

    Перезапустите веб-сервер Apache:
    sudo systemctl restart httpd

    После выполнения этих шагов попробуйте снова установить пакеты с помощью Composer. Это должно устранить ошибки, связанные с отсутствующими расширениями.
    Ответ написан
    3 комментария
  • Как создавать массивы с неограниченной вложенностью в c++?

    1HAWK1
    @1HAWK1
    В C++ невозможно создавать массивы с неограниченной вложенностью, поскольку размер массива должен быть известен во время компиляции. Однако можно создавать вложенные массивы с фиксированным числом измерений, а затем использовать указатели или динамическое выделение памяти для имитации неограниченной вложенности. Вот два подхода:

    1) Использование указателей:
    Одним из способов создания массивов с неограниченной вложенностью является использование указателей для создания массива указателей на массивы. Вот пример:

    int*** nestedArray;
    nestedArray = new int**[10]; // create an array of 10 pointers to int**
    for (int i = 0; i < 10; i++) {
        nestedArray[i] = new int*[5]; // create an array of 5 pointers to int* for each of the 10 int**
        for (int j = 0; j < 5; j++) {
            nestedArray[i][j] = new int[3]; // create an array of 3 int for each of the 50 int*
        }
    }


    В этом примере мы создаем массив из 10 указателей на массивы из 5 указателей на массивы из 3 целых чисел в каждом. Вы можете продолжить вложение массивов, добавив дополнительные уровни указателей.

    2) Использование динамического выделения памяти:
    Другой способ создания массивов с неограниченной вложенностью — использование динамического выделения памяти с оператором new. Вот пример:

    int dims[] = {10, 5, 3}; // an array of the dimensions of the nested arrays
    int* arr = new int[dims[0] * dims[1] * dims[2]]; // create a one-dimensional array with the total number of elements
    int*** nestedArray = new int**[dims[0]]; // create an array of pointers to arrays of pointers
    for (int i = 0; i < dims[0]; i++) {
        nestedArray[i] = new int*[dims[1]]; // create an array of pointers to arrays for each of the pointers in the first level
        for (int j = 0; j < dims[1]; j++) {
            nestedArray[i][j] = arr + (i * dims[1] * dims[2]) + (j * dims[2]); // assign each pointer to the appropriate element in the one-dimensional array
        }
    }


    В этом примере мы сначала создаем одномерный массив с общим количеством элементов во вложенных массивах. Затем мы создаем массив указателей на массивы указателей и присваиваем каждому указателю соответствующий элемент в одномерном массиве. Вы можете продолжить вложение массивов, соответствующим образом изменив массив измерений и указатели. Обратите внимание, что вам нужно использовать оператор удаления, чтобы освободить память, выделенную с помощью new.
    Ответ написан
    Комментировать
  • Почему не работает DHCP сети NAT на VirtualBox?

    1HAWK1
    @1HAWK1
    Сетевой NAT DHCP должен работать на VirtualBox по умолчанию, но может быть несколько причин, по которым он не работает. Вот некоторые возможные причины и решения:

    Настройки сетевого адаптера: убедитесь, что сетевой адаптер настроен на NAT в настройках VirtualBox. Вы можете сделать это, перейдя в настройки виртуальной машины, выбрав вкладку «Сеть» и выбрав NAT в раскрывающемся меню для типа адаптера.

    Настройки брандмауэра: проверьте, не блокирует ли брандмауэр на хост-компьютере сеть NAT. Возможно, вам потребуется настроить параметры брандмауэра, чтобы разрешить виртуальной машине обмениваться данными с хостом.

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

    Версия программного обеспечения VirtualBox: убедитесь, что вы используете последнюю версию VirtualBox, так как более старые версии могут иметь проблемы совместимости с определенными операционными системами или сетевыми конфигурациями.

    Другие конфликты программного обеспечения: проверьте наличие другого программного обеспечения, которое может конфликтовать с VirtualBox, например, антивирусного программного обеспечения или другого программного обеспечения для виртуализации. Отключите или удалите все конфликтующие программы и повторите попытку.

    Если ни одно из этих решений не работает, вам может потребоваться обратиться к документации VirtualBox или обратиться за помощью к профессиональному специалисту.
    Ответ написан
  • Почему ПК не включается хотя, сигнал от матери есть на секунду?

    1HAWK1
    @1HAWK1
    Причин, по которым ПК не включается даже при наличии сигнала от материнской платы в течение секунды может быть несколько. Вот некоторые возможные причины:

    Проблемы с блоком питания: если блок питания не обеспечивает достаточную мощность для материнской платы, ПК может не включаться должным образом. Это может быть связано с неисправным блоком питания, ненадежным соединением или скачком напряжения, который повредил блок питания.

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

    Неисправное оборудование. Неисправный аппаратный компонент, например, оперативная память или процессор, может привести к тому, что ПК не включится. Это может произойти, если компонент поврежден, неправильно установлен или несовместим с материнской платой.

    Проблемы с BIOS: если настройки BIOS неверны, компьютер может не включиться должным образом. Это может произойти, если BIOS был сброшен или возникла проблема с прошивкой BIOS.

    Проблемы с материнской платой: если материнская плата повреждена или неисправна, она может не иметь возможности должным образом взаимодействовать с другими аппаратными компонентами ПК. Это может привести к невозможности включения или короткому сигналу перед выключением.

    Чтобы определить точную причину проблемы, может потребоваться выполнить некоторые шаги по устранению неполадок или обратиться за помощью к профессиональному специалисту.
    Ответ написан
    Комментировать
  • Как добавлять данные в список при использовании multiprocessing?

    1HAWK1
    @1HAWK1
    Для работы с потоками советую использовать заготовку (брал на каком-то сайте):
    import time
    from threading import Thread
    def sleepMe(i):
    
        print("Поток %i засыпает на 5 секунд.\n" % i)
        time.sleep(5)
        print("Поток %i сейчас проснулся.\n" % i)
    
    for i in range(10):
        th = Thread(target=sleepMe, args=(i, ))
        th.start()
    Ответ написан
  • Где научиться делать красивые сайты?

    1HAWK1
    @1HAWK1
    Много бесплатных курсов с дз и наставником по веб-дизайну, веб-разработке и т.д. можете найти тут:
    https://wayup.in
    У них скоро по веб дизайну стартует бесплатный курс:
    https://wayup.in/library/course6
    Ответ написан