Задать вопрос
  • Суть работы метода count в python?

    @Everything_is_bad
    В любой версии Python метод count() вернёт 1 для строки s = "приветпривет" и подстроки = "привет".

    В данном случае, поскольку подстроки "привет" перекрываются
    Взял откуда-то ложные утверждения и теперь на ровном месте мучаешься. Вот написали "перекрываются", ты сам видишь это перекрывание?

    Пример перекрытия "мама" и "мамама", некоторые почему-то на этот пример перевозбудились.
    Ответ написан
    2 комментария
  • Суть работы метода count в python?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Вот так будут перекрывающиеся:
    s = 'privetprivetprivet'
    sub = 'privetprivet'
    print(s.count(sub))

    и ответ будет 1
    Ответ написан
    Комментировать
  • Что выбрать sway(wayland) и i3(xorg)?

    smorman
    @smorman
    When In Rome do as The Romans do...
    В Ubuntu 22/23.04 например Wayland уже по умолчанию после установки, но под него увы далеко не все приложухи работают, а с nVidia так вообще беда.
    А под старым, добрым Xorg всё без проблем, аки Калаш.
    Поэтому приходится сразу переключаться на него.

    Пилят ещё Wayland, но, как-то медленно...
    Ответ написан
    2 комментария
  • Что выбрать Thinkpad t410 или t420?

    @alexalexes
    t420 имеет проц. i5 2520M - который поддерживает до 16 Гбайт оперативы.
    t410 - проц. i5 540M, макс. ОЗУ - 8 Гбайт.
    t420 - встроенная графика intel 3000,
    t410 - NVIDIA Quadro NVS 3100M.
    Различия в графике по производительности - в пределах погрешностей.
    Если эти динозавры еще живые, то хотелось бы, чтобы оперативки можно было бы поставить по максимуму, поэтому лучше раздобыть t420 с 16 Гбайт на борту.
    Если рассмотреть ноуты-динозавры на DDR3 памяти (не обязательно Thinkpad/Lenovo), то лучше, чтобы проц. был на Ivy Bridge (i5 3xxx), тогда бонусом будет частота памяти 1600 и 16 Гбайт емкость по-максимуму.
    Если что-то по мощнее нужно из старого и емче по ОЗУ, то смотрите уже что-то на DDR4.
    Ответ написан
    Комментировать
  • Как настроить BIOS под Linux в Thinkpad?

    smorman
    @smorman
    When In Rome do as The Romans do...
    Первое.
    Если настройки сбились сами по себе, значит меняй батарейку на материнке.

    Второе.
    Заново настраивай БИОС.

    Третье из второго - Важное!!!
    Отключи Secure Boot
    Ответ написан
    Комментировать
  • Как запускать aliasa с правами sudo?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    sudo для того и нужен, чтобы гибко настраивать возможности запуска из-под рута. Добавьте через visudo нужную команду с NOPASSWD.
    Ответ написан
    1 комментарий
  • Как сменить тему в AstroVim?

    includedlibrary
    @includedlibrary
    Ставите плагин с темой через lazy, а потом в конфиге пишите следующее:
    vim.cmd("colorscheme gruvbox")
    vim.o.background = "dark"
    Ответ написан
    4 комментария
  • Night Light(Режим для чтения) как устанвоить на manjaro с i3wm?

    3vi1_0n3
    @3vi1_0n3
    Ну, например так, как описано в арч вики - https://wiki.archlinux.org/title/Redshift
    Ответ написан
    Комментировать
  • Как настроить визуализацию процессов в linux под sway с помощью pscircle?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    установите из аура pscircle (кстати, у разрабов почему то указанно pscircle-git которого нету в аур)
    yay -S pscircle
    вместо yay можно использовать любой другой аурхелпер
    также установите из офреп пакет swaybg если еще не установлен.

    Далее создадим скрипт с именем background и положим его например здесь $HOME/.local/bin/background

    (вариант 1)
    #!/usr/bin/env bash
    
    PICTURE_PATH=/tmp/pscircle.png
    TIME_UPDATE=5 # ставить >= 2
    
    # борьба с дублями программы
    PID_PATH=/tmp/background.pid
    [[ -e $PID_PATH ]] && kill $(cat $PID_PATH)
    echo $$ > $PID_PATH
    
    [[ -n "$(pgrep swaybg)" ]] && pkill swaybg
    
    while :; do
    	pscircle 	--output=$PICTURE_PATH \
    				--max-children=50 \
    				--output-width=1920 \
    				--output-height=1080 \
    				--tree-radius-increment=150 \
    				--dot-radius=3 \
    				--link-width=1.3 \
    				--tree-font-size=13 \
    				--toplists-font-size=20 \
    				--tree-center=-300:0 \
    				--cpulist-center=600.0:-120.0 \
    				--memlist-center=600.0:120.0
    
    	swaybg 	--image $PICTURE_PATH \
    			--mode center \
    			--color "#000000" \
    			--output "*" &
    
    	# время на установку нового изображения перед тем как убрать старое
    	# убирает мерцание при смене обоев
    	sleep 1
    
    	[[ -n $pid ]] && kill $pid
    	pid=$(pgrep swaybg)
    
    	sleep $[TIME_UPDATE-1]
    done


    скрипт (вариант 2)
    #!/usr/bin/env bash
    
    PICTURE_PATH=/tmp/pscircle.png
    TIME_UPDATE=5
    
    # борьба с дублями программы
    PID_PATH=/tmp/background.pid
    [[ -e $PID_PATH ]] && kill $(cat $PID_PATH)
    echo $$ > $PID_PATH
    
    [[ -n "$(pgrep swaybg)" ]] && pkill swaybg
    
    while :; do
     	pscircle --output=$PICTURE_PATH
     	swaymsg "output * background $PICTURE_PATH fill #000000"
     	sleep $TIME_UPDATE
    done


    второй вариант проще, но у меня почему то вызывает мерцание при смени картинки.
    Правим параметры под себя и сделаем скрипт исполняемым:
    chmod +x $HOME/.local/bin/background

    затем уже в самом конфиге sway $HOME/.config/sway/config добавляем строчку
    exec_always $HOME/.local/bin/background
    где exec_always позволит перезагружать наш конфиг через перезагрузку файла конфигурации sway, по умолчанию установлена комбинация
    bindsym $mod+Shift+c reload
    то есть, при подборе параметров для pscircle в нашем скрипте достаточно будет нажать вышеуказанную комбинацию клавиш чтобы изменения вступили в силу.
    ps.
    Также не забудьте в конфиге sway закомментировать строку где указанно старое использование обоев рабочего стола.
    Ответ написан
    1 комментарий
  • В чем разница императивного и декларативного подхода в javascript? Это процедурный и ООП стили?

    @pikkvile
    developer
    Моё понимание такое.
    Декларативное программирование - это когда в коде описано что должно получиться, а императивное - когда написано как это сделать. Т.е. в первом случае мы совершенно не интересуемся, каким именно образом машина сделает работу, какие инструкции в каком порядке выполнятся и так далее, мы просто объясняем ей, что хотим увидеть в результате. Примеры декларативных языков - html, css, sql, конфиг nginx. Ещё тут стоит упомянуть функциональные языки (lisp, haskell), программы на них тоже, как правило, являются описанием (декларацией) того "что должно получиться". Ну, короче говоря, мы говорим компьютеру: вот смотри, мне надо чтобы было так, а как ты это сделаешь, мне не интересно. Аналогия такая: у меня есть чертёж бани, я даю его бригаде строителей и уезжаю. Как именно они там будут таскать брёвна, пилить доски и прочее - я не в курсе.
    Программируя императивно, мы описываем конкретные шаги, действия и точный порядок, в котором их нужно исполнять. Напрямую руководим процессом, непосредственно отдаём приказания. Примеров масса, большинство популярных языков императивны, в том числе и javascript. Ты пишешь: вот, сделай-ка переменную myVar, потом запиши туда число 5, повторяй это до тех пор, пока что-то не случится... и так далее. Возвращаясь к примеру с баней, ты теперь - начальник бригады, именно говоришь какое бревно куда класть.
    Что касается процедурного и объектно ориентированного стилей, это немного о другом. Я бы сказал, что это два разных способа писать императивные программы. В процедурном случае мы организуем код, наши команды (приказы машине) в виде процедур. Процедура - набор команд. Это довольно простой способ организации кода и исторически более ранний. ООП - это чуть более сложный подход к организации кода, когда мы группируем инструкции и данные, которыми они манипулируют, вместе. Объект - это состояние (данные) плюс поведение (набор методов). Но это уже немного другая история.
    Ответ написан
    2 комментария
  • Что такое замыкание?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    В целом ты все верно понял. Почитал я тут ответы, термины, термины, термины...

    Я люблю простые объяснения, буквально на пальцах.

    Вот ты вызвал функцию, в ней создаются переменные локальной области видимости, т.е. доступные только самой функции. Под эти переменные движок JavaScript выделяет память.

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

    В случае с замыканием, ты возвращаешь функцию обратно, т.е. ссылки остаются, поэтому движок не может освободить память, и переменные остаются доступными функции, и более никому. Поэтому эта штука и называется замыкание, т.к. переменные замкнуты на саму функцию.

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

    Один из основных паттернов, для которых применяются замыкания - ограничение доступа к данным, их изоляция (ограничение их области видимости).

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

    В ответах есть пример со счетчиком, который наглядно демонстрирует этот принцип.
    Ответ написан
    2 комментария
  • Существует ли, утилита для Linux с выводом программ для их запуска?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    смотри rofi и подобные
    Ответ написан
    Комментировать
  • Существует ли, утилита для Linux с выводом программ для их запуска?

    все установленные программы

    В Linux нет такого понятия, как "установить". В принципе любой исполняемый файл в системе - это уже рабочая программа, которую можно вызывать. Для удобства только они добавляются в $PATH
    Например:
    1. Vim
    2. MIDNIGHTCOMMANDER
    3. ...

    В таком виде никак не получится, так как в Linux нигде не сохраняется человекочитаемое название.

    Так что в целом список всех установленных программ - это ls
    А для запуска нужной достаточно ввести её имя.

    Но такой список вам никакой пользы не даст, так как он будет просто огромный.
    Вот например что выдаёт ls /bin:
    .                                    h2ph                               sbverify
     ..                                   h2xs                               scp
     NF                                   hd                                 screen
     VGAuthService                        head                               screendump
     X11                                  helpztags                          script
    '['                                   hexdump                            scriptreplay
     aa-enabled                           host                               scsi_logging_level
     aa-exec                              hostid                             scsi_mandat
     ab                                   hostname                           scsi_readcap
     add-apt-repository                   hostnamectl                        scsi_ready
     addpart                              htcacheclean                       scsi_satl
     addr2line                            htdbm                              scsi_start
     apport-bug                           htdigest                           scsi_stop
     apport-cli                           htop                               scsi_temperature
     apport-collect                       htpasswd                           sdiff
     apport-unpack                        hwe-support-status                 sed
     appres                               i386                               see
     apropos                              i386-tcc                           select-editor
     apt                                  iconv                              sensible-browser
     apt-add-repository                   id                                 sensible-editor
     apt-cache                            info                               sensible-pager
     apt-cdrom                            infobrowser                        seq
     apt-config                           infocmp                            serialver
     apt-extracttemplates                 infotocap                          setarch
     apt-ftparchive                       install                            setfont
     apt-get                              install-info                       setkeycodes
     apt-key                              instmodsh                          setleds
     apt-mark                             ionice                             setlogcons
     apt-sortpkgs                         ip                                 setmetamode
     ar                                   ipcmk                              setpci
     arch                                 ipcrm                              setpriv
     as                                   ipcs                               setsid
     at                                   iptables-xml                       setterm
     atq                                  ischroot                           setupcon
     atrm                                 iscsiadm                           sftp
     automat-visualize3                   jaotc                              sg
     awk                                  jar                                sg_bg_ctl
     b2sum                                jarsigner                          sg_compare_and_write
     base32                               java                               sg_copy_results
     base64                               javac                              sg_dd
    ... дальне не влезло в лимит по символам.
    Ответ написан
    Комментировать
  • Почему VS Code + LiverServer - не обновляет страницу браузера Chrome?

    @onjjje Автор вопроса
    Идем в File - Preferences. В Common Used в самом верху ставим в Auto Save - AfterDelay. По желанию Auto Save Delay можно изменить на 500. Теперь у нас можно наблюдать за версткой в режиме виртуального времени.
    Ответ написан
    1 комментарий
  • Работа программистом в НАСА, возможно ли?

    Zoominger
    @Zoominger
    System Integrator
    Ща у Илона спрошу, он за кофе пошёл.
    По теме - не думаю, что у вас получится, с логикой у вас беда.
    Учиться в Мюнхене, мечтать о работе в NASA и спрашивать о вакансиях на российском сайте это пример не самого лучшего логического умозаключения.

    Если серьёзно, то: "Таких, как вы, по всему миру миллионы. Миллионов вакансий в этих конторах что-то нет. Следовательно, шансы у вас стремятся к нулю" - вот пример хорошей логики.

    Кстати, Маск пришёл, говорит "хаха офигенно, но у нас четыре состава поездов, доверху набитых выпускниками MIT, не надо".

    В NASA позвонил, там сказали, цитирую: "У нас сломался завод по сжиганию программистов, которых у нас в США, как грязи, нам инженеры толковые нужны".
    Ответ написан
    6 комментариев
  • Верстка по макету figma, из телеграм каналов. Что за это будет?

    Alex_mos
    @Alex_mos
    Google всему голова
    Ну вы же без всяких макетов можете сверстать любой сайт Ютюб, Фейсбук, ВКонтакте и так далее))) и много уроков на Ютюбе где верстают копии сайтов, не думаю что после этого возникали проблемы)
    Ответ написан
    1 комментарий
  • KSS. Knyle style sheets его используют?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Мнение бэкэндера, работающего с фронтом постольку поскольку:
    Используй препрорцессоры (sass/scss/less...) и БЭМ. Сейчас, это что-то вроде стандарта.
    Ответ написан
    1 комментарий