• Помнить всё: как вы справляетесь с запоминанием и сохранением информации в памяти?

    DevMan
    @DevMan
    да никак не справляюсь, всё самотёком.
    да, что-то подзабываешь, но оно все равно сидит где-то в подкорке. и когда начинаешь читать/гуглить, оно всплывает.

    по крайней мере у меня так. естественно, речь о том, что уже знал.
    Ответ написан
    4 комментария
  • Почему селениум не находит кнопку по xpath и link_text?

    driver.find_element_by_id("ext-gen956").click()
    driver.find_element_by_xpath("//*[@id="ext-gen956"]").click()
    driver.find_element_by_link_text('Открыть в окне').click()

    1 строка - всё ок
    2 строка - видимо кривой xpath. Ну и в данном случае ещё и кавычки кривые
    3 строка - не будет находить элемент, тк она ищет ссылки, а указанный элемент на самом деле является кнопкой.

    При чём тут AJAX я так и не понял

    UPD: Проблема в том, что этот элемент находится внутри iframe.
    Хоть и кажется, что его содержимое является частью страницы - это не так.
    На него нужно сначала переключиться:
    driver.switch_to.frame(driver.find_element_by_css_selector("iframe")) # тут селектор на нужный iframe

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

    'Абракадабра112_kanal.xls'.endswith('.xls')
    https://docs.python.org/3/library/stdtypes.html#st...
    Ответ написан
    Комментировать
  • Можно ли найти некий список оферов на работу?

    DevMan
    @DevMan
    вы начитались, а скорее просто неверно интерпретировали, какой-то хрени.
    релокейтают очень охотно и с удовольствием. но только тех, кто уже состоялся.
    джунам/ждунам в этой поляне ничего не светит. кроме завязок.
    Ответ написан
    Комментировать
  • Как понять когда ставить указатель?

    EvgenyMamonov
    @EvgenyMamonov Куратор тега Go
    Senior software developer, system architect
    Указатель, по сути, хранит адрес каких то данных (переменной, структуры, слайса и т.д.).
    Иными словами он "указывает" на область данных.

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

    Например:
    type BigStruct struct {
        field1 int
        filed2 string
        field3 uint
        field4 []byte
        ...
        field50 string
    }

    Предположим, что после создания этой структуры и заполнения всех её полей она занимает в памяти 300мб.

    Если вы сделаете функцию, которая будет принимать такую структуру как агрумент, например вот так
    func Report(s BigStruct)
    то при каждом вызове этой функции вся структура (300мб) каждый раз будут копироваться.
    Пример:
    s := BigStruct{}
    // заполняем поля
    Report(s)


    Чтобы избежать такой мега нагрузки - можно передавать не копию данных, а указатель, т.е. адрес в памяти, где хранится сама структура.
    Для этого нужно объявить агрумент функции как указатель, т.е. ставим *.
    func Report(s *BigStruct)
    А код уже будет выглядеть вот так.
    s := BigStruct{}
    // заполняем поля
    Report(&s) // тут добавился & - берём адрес структуры, а не саму структуру

    Или второй вариант
    // создаём переменную s сразу с типом указатель на BigStruct
    s := &BigStruct{}
    // заполняем поля
    Report(s) // поскольку s уже является указателем - & тут не нужен


    В общем * используется:
    - когда нужно объявить переменную
    var s *BigStruct
    - когда нужно прочитать/записать значение, которое храниться по адресу указателя
    var i *int
        i = new(int)
        *i = 10 // пишем значение
    
        fmt.Printf("i: %v\n", i)
        fmt.Printf("*i: %v\n", *i)

    Вывод будет примерно таким
    i: 0xc0000160d8 (это адрес памяти, где лежит значение переменной i)
    *i: 10 (а это её значение)


    & (амперсанд) используется когда нужно получить адрес переменный.

    Еще один вариант применения - если нужно иметь возможность модифицировать данные у параметра функции. Если нужны примеры - дайте знать, я напишу.
    Ответ написан
    12 комментариев
  • Почему вместо укр. символов выводятся другие?

    DevMan
    @DevMan
    потому что кодировка неверная.

    https://2cyr.com/decode/ вам в помощь и умение обращаться с питоном.
    Ответ написан
    5 комментариев
  • Что делать с requests что тут не так и как исправить код для discord.py?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Читать учебник по Python прежде, чем браться за ботов. Судя по вопросу, вы даже самых основ не знаете.
    Ответ написан
    3 комментария
  • Почему файлы открываются нестабильно?

    EvgenyMamonov
    @EvgenyMamonov Куратор тега Go
    Senior software developer, system architect
    Подозреваю, что не работает os.OpenFile, а ioutil.ReadFile работает.
    И скорее всего дело в правах os.OpenFile("file.txt", os.O_RDWR, 0666).

    Начните с того, что обработайте ошибку, чтобы можно было понять что именно не так.
    f, err := os.OpenFile("file.txt", os.O_RDWR, 0666)
    if err != nil {
        log.Fatalln(err)
    }


    PS: ioutil.ReadFile("file.txt") для открытия файла вызывает функцию OpenFile(name, O_RDONLY, 0)
    Ответ написан
  • Как оживить mysql?

    Самый простой вариант что его реально нет

    1 Решение таково:

    1. Создаем папку mysqld

    sudo mkdir /var/run/mysqld
    2. Создаем файл mysqld.sock

    sudo mkfifo /var/run/mysqld/mysqld.sock
    3. Задаем владельца mysql на папку mysqld

    sudo chown -R mysql /var/run/mysqld

    Вот еще такое бывает
    Эта ошибка возникает из-за нескольких установок mysql. Выполните команду:

    ps -A|grep mysql
    Убейте процесс с помощью:

    sudo pkill mysql
    а затем выполните команду:

    ps -A|grep mysqld
    Также убейте этот процесс, запустив:

    sudo pkill mysqld
    Теперь вы полностью настроены, просто выполните следующие команды:

    service mysql restart
    mysql -u root -p
    Есть очень хорошо работающий mysql снова

    ну и бывают более запущенные случаи
    Ответ написан
    3 комментария
  • Как подключится к mysql yandex cloud с другого vds по сертификату?

    inoise
    @inoise Куратор тега PHP
    Solution Architect, AWS Certified, Serverless
    Логично предположить что база данных не имеет доступа в интернет) тот же самый эффект, вероятнее всего, будут получен и с локальной машины. Надо или пробрасывать сетевой доступ как-то, либо перестать заниматься фигней так как есть примерно миллиард причин почему база, доступная из интернета это плохо
    Ответ написан
    Комментировать
  • Как быть, нужна помощь?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Google Cloud Platform
    Седой и строгий
    Обратитесь в поддержку Google.
    Ответ написан
    Комментировать
  • Как работает данный код?

    легко и просто, в питоне есть как распаковка кортежей, что собственно и происходит
    получается примерно так:
    {}[()] = 0
    word = 'what

    также в питоне ключем в словаре может быть любой объект от которого можно взять hash, поэтому
    сначала {} - создается словарь, потом в этот созданный словарь с ключом () - кортеж идет присваивание данных

    но так писать не стоит
    Ответ написан
    Комментировать
  • Как работает данный код?

    @antares4045
    ну вообще, писавший этот код, вероятно не очень здоров
    для начала предлагаю разобраться с деструктуризацией

    если вы напишите
    a,b = 2,3
    то в переменной a окажется значение 2
    а в переменной b -- значение 3

    это же можно использовать в циклах:
    words = [(0,'What'),(1,'the'),(2,'heck?')]
    for key,word in words:
        print('key:', key)
        print('word:', word)
        print()

    вывод:
    key: 0
    word: What

    key: 1
    word: the

    key: 2
    word: heck?


    если же при разборе кортежа, какой-то элемент вам не нужет, то можно просто использовать нижнее подчёркивание

    words = [(0,'What'),(1,'the'),(2,'heck?')]
    
    for _,word in words:
        print(word)


    Но автор вашего примера решил сделать нечто странное:
    {} -- создание пустого dict
    [()] -- присвоение в него по ключу "пустой кортеж" значения

    учитывая, что исходный dict никуда не сохраняется, это можно считать отчисткой, только вот зачем?
    a = {}
    a[()] = 5
    print(a)


    {(): 5}
    Ответ написан
    Комментировать
  • Прграмма которая перерисовывает рисунок в картинку?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Я когда сканирую у меня всегда получаются полноценные хорошие картинки.
    При чём здесь нейросеть?
    Купи хороший сканер, делов-то
    Ответ написан
    3 комментария
  • Срабатывает не тот if который должен, что не так?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    if int(b) > int(a):
    Ответ написан
    1 комментарий
  • Как законно изготовливать видеоигры 18+ в России?

    BorLaze
    @BorLaze
    Java developer
    Вопрос к программированию относится чуть меньше, чем ничуть.

    Человече, о какой законности игр 18+ ты спрашиваешь, если за репост клипа Рамштейна два с половиной года выписывают???
    Ответ написан
    Комментировать
  • Стоит ли идти в NoCode разработку?

    BorLaze
    @BorLaze
    Java developer
    Как бы вайти в айти, но так, чтобы не учить ничего по айти?
    Ответ написан
    Комментировать
  • Можно ли создать компилятор без AST?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Трансляторы
    Седой и строгий
    Качественный нельзя.
    Ответ написан
    4 комментария
  • Как записать Windows на флешку из-под Linux?

    @rPman
    В режиме UEFI на флешку, отформатрованную FAT32 достаточно скопировать содержимое ISO образа, и все должно работать, так как биос будет искать в корне флешки каталог EFI итам boot...

    Но вот в legacy режиме, когда нужен бут сектор, могут возникнуть нюансы. Например на старых машинах, у меня не удавалось загрузитьс я с флешек объемом больше 8Гб. Так же могут быть проблемы, если флешка подключается через картридер (например это карта памяти).

    В особых случаях (когда в биосе есть пункт меню что то типа загрузиться с usb cdrom) рабочую загрузочную флешку удавалось создать простым посекторным копированием образа с помощью dd, так что пробуй.

    p.s. можно загрузиться в установщик windows, загрузившись сначала в linux grub (ты говоришь проблем с linux нет), нажимаешь C чтобы войти в командный режим grub
    ls (hd0,1)/

    покажет содержимое диска 0 раздела 1, перебирая цифры найди раздел флешки, где развернут установщик windows
    set root=(hd0,1)
    chainloader +1
    boot


    p.p.s. можно первый этап установки, до первой перезагрузки, провести в виртуальной машине, подключив физический диск как диск виртуалки, это 100% работало всегда и позволяет вообще не делать загрузочный диск windows, т.е. хватит iso образа
    Ответ написан
    Комментировать