• Как продвигать себя через ВК?

    @MamaLuyba
    Заходишь в местный паблик новостей и начинаешь там постить в меру тупые комменты. Если админы - сосямба, то через полгода тебя будет знать и ненавидеть половина города.
    Ответ написан
    Комментировать
  • Как передать 5 ТБ данных на сервер?

    В вашем случае может проще поехать к клиенту с диском 5+ ТБ.
    https://habr.com/ru/company/kingservers/blog/316660/

    Добавлено
    Если данные дедублицировать (ZPAQ и пр.), то неисключено, что они могут занимать существенно меньшее место и тогда эти дедублицированные данные можно отдать через FTPS/HTTP-сервер.
    Ответ написан
    1 комментарий
  • Реально ли работать на питоне не понимая сути декораторов?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    В общем пытаюсь учить питон и не могу никак понять суть декораторов.

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

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

    И нет, на декораторах свет клином не сошелся. Нужно понимать что в питоне функция - это объект первого рода и что это значит.
    Нужно понимать, что такое "замыкание" в контексте функционального программирования.
    Более того, нужно понимать что такое дескрипторы, как работают мета-классы и много-много всего такого.

    Нет, с этими знаниями не рождаются, их нужно осваивать.

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

    Что конкретно вам не понятно?

    Надо заметить, что Декоратор как паттерн проектирования имеет боле еширокий смысл. Декорировать можно объекты, классы, функции, даже модули (постольку, поскольку это тоже объекты). Учиться вам надо, сударь, и не ожидать, что всё прошьётся в мозг мгновенно. Быть программистом - это всегда учиться. Не останавливаясь.

    Примеров декораторов огромное множество: самые простые и понятные - это:
    - замер времени выполнения функции
    - кэширование результата
    - подстановка части аргументов (partial)
    Ответ написан
    4 комментария
  • Почему в Linux приложение может удалить само себя, а в Windows нет?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Когда процесс открывает файл, он открывает дескриптор на определенную структуру данных. Эта структура содержит аттрибуты файла, права доступа, информацию о том, где хранятся данные файла и так далее.

    В Win и *nix эта информация хранится в разных местах, и соответственно лок происходит по-разному.

    В POSIX системах (unix, linux, etc.) информация о файле хранится iNode, а имя файла уже ссылается на iNode.

    В Windows и DOS изначально информация о файле хранилась в структуре которая называется Directory Entry. В NTFS это немного изменилось, но подход они не меняли либо для обратной совместимости, либо не видели в этом нужды.

    Собственно отсюда исторически и выросло, что в *nix при открытии файла дескриптор указывает на iNode, а само имя файла можно при этом свободно удалять, или делать несколько имен ссылающихся на одну iNode (hard link), которые можно произвольно менять, пока "файл открыт".

    В Windows лочится непосредственно Directory Entry (или ее аналог в NTFS), следовательно его модифицировать в этот момент нельзя.

    У обоих подходов есть свои плюсы и минусы и история. Пока нет предпосылок к тому, что на Windows захотят изменить подход.
    Ответ написан
    Комментировать
  • Как вызвать метод внутри класса?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    Комментировать
  • Как установить Open JDK 13 в manjaro?

    @frozen_coder
    Java-developer
    Небось в переменных среды PATH и JAVA_HOME прописана 1.8 (это небось в /etc/environment). Вроде есть скрипт для установки нужных версий java в арч-бейзд дистрах - archlinux-java
    Однако! Пользуйтесь Sdkman и забудьте о проблемах с установкой на любых дистрибутивах. Еще в последних версиях Intellij IDEA вроде можно установить.
    Ответ написан
    Комментировать
  • Python, im stupid. Help. Alarm. Anybody?

    @ar2rsoft
    PHP-developer
    Вам нужно почитать про синтаксис питона
    Ответ написан
  • Каково 3D модель радиосигнала?

    longclaps
    @longclaps
    Если не трудно можно без аналогов объяснить а то аналоги всегда неточны.
    Легко.

    3D модель радиосигнала описывается уравнениями Максвелла, а последние описываются много где.

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

    Как длина волны связана с цветом - ты ведь не настолько туп, чтобы не суметь спросить у гугла?
    Ответ написан
    6 комментариев
  • Как выполнить несколько методов одним разом python?

    Maksclub
    @Maksclub
    maksfedorov.ru
    пара способов

    ЦЕПОЧКА ВЫЗОВОВ
    В коде вы привели пример, как хотели бы использовать: caller.hello().world()

    Если хотите, чтобы последний метод возвращал результат, то можно так:
    class Hello(object):
        def __init__(self):
             self.msg = 'Hello'
    
        def hello(self, world):
            self.msg = self.msg + ', ' + world
            return self
    
        def print(self):
            return self.msg
    
    caller = Hello()
    msg = caller.hello('niriter').print()
    print(msg) # Hello, niriter

    Такого рода код используется в разного рода билдерах, когда нужно настроить обьект разным способом по разным условиям (разного рода билдеры, в ОРМ запрос собрать и прочее)

    В вашей библиотеке по работе с html такой способ и используется (наряду со вторым) — вызываете разного рода методы, а возвращает все тот же обьект с разным состоянием и вы всегда можете вызвать новый метод (удалить элемент, добавить, все стереть) и по итогу вызвать получение своего нужного HTML

    ИНКАПСУЛЯЦИЯ

    class Hello(object):
        def __init__(self, msg='Friend'):
             self.msg = msg
    
        def print(self):
            init_msg = self.hello()
            return init_msg + ',  ' + self.msg
        
        def hello(self): # этот метод вызываем изнутри другого метода
            return str("Hello")
    
    caller1 = Hello()
    print(caller1.print()) # Hello, Friend
    
    caller2 = Hello('Maks')
    print(caller2.print()) # Hello, Maks


    Инкапсуляция из мира ООП, наружу предоставляет некий метод, и вызвав его — выполнится некоторое поведение и изменение состояния. Нужна для сокрытия всех деталей и нюансов и оставляет только удобное АПИ для работы.

    В вашей библиотеке по работе с html такой способ и используется (наряду с первым) — прячет сложные алгоритмы извлечения элементов, манипуляции с ними, отдавая назад только удобное АПИ с понятными названиями
    Ответ написан
    3 комментария
  • Почему Python неправильно считает?

    adugin
    @adugin Куратор тега Python
    Это ошибка округления в операциях с плавающей точкой. Читайте тут.
    Ответ написан
    Комментировать
  • Как защита приложения на Python?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Да кому нахрен нужно Ваше приложение? Люди еще приплачивают только для того, чтобы их программами пользовались :)
    Ответ написан
    Комментировать
  • Почему в обычном Python Shell команда выполняется, а в Pycharm нет?

    obezh
    @obezh
    Python разработчик
    print(user[5])
    В пишарм откройте интерпретатор и там так же будут работать команды. Запуская скрипт вы запускаете скрипт, со всеми вытекающими, готовый код. Он у вас ничего выводить не должен, вот и не выводит.
    А в интерактивной консоли - почитайте о ней, у того же лутца начинается все с её описания.
    Ответ написан
    2 комментария
  • Почему полностью не устанавливается Linux?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Цитату про подземный стук написать?

    В рядах линуксоидов принято:
    - уметь гуглить
    - уметь решать проблемы самому
    - если хочешь получить помощь - прилагать для анализа как можно больше информации. Здесь не платный саппорт, здесь выспрашивать не будут - не дали инфу на анализ, вопрос быстро скатится в подвал и там фиг кто на него ответит...
    Ответ написан
    Комментировать
  • Как менять цвет окна в цикле Tkinter?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    from itertools import cycle
    import tkinter as tk
    
    
    colors = cycle(['red', 'green', 'blue'])
    
    def change_color():
        root['bg'] = next(colors)
        root.after(2000, change_color)
    
    
    root = tk.Tk()
    root.title("Test")
    root.geometry("800x800+0+0")
    
    change_color()
    
    root.mainloop()
    Ответ написан
    Комментировать
  • Какие математические операции выполняет этот код?

    @CHolfield
    это логические и битовые операции.
    | - логическое сложение
    & - логическое умножение
    << и >> - сдвиг влево или вправо на количество бит, аналогично умножению или делению на 2 в указанной степени

    конкретно как работает &
    y = x & 65535

    для x=12345
    переводим в двоичный вид
    11000000111001
    переводим 65535 туда же
    1111111111111111
    выполняем логическое побитовое сложение (правила сам поищи)
    результат = 10011000000111000
    переводим обратно в десятичный вид
    77880
    както так)
    Ответ написан
    1 комментарий
  • Какие математические операции выполняет этот код?

    @StockholmSyndrome
    какие конкретно операции он выполняет

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

    inoise
    @inoise Куратор тега Карьера в IT
    Solution Architect, AWS Certified, Serverless
    Почему каждый второй считает что его возьмут за ручку и проведут в мир IT?

    1. Вы все-равно решите что-то самостоятельно
    2. Всем остальным в принципе вообще без разницы что вы себе решите
    3. Нету понятия быстрее или медленнее - как получится так получится (мы все имеем разную скорость обучения и условия для этого)
    4. Делайте то что нравится, а что не нравится вы все-равно бросите ибо от вас толку в таком раскладе будет примерно нисколько
    Ответ написан
    7 комментариев
  • Как решить задачу 4-класса?

    SagePtr
    @SagePtr
    Еда - это святое
    Обычная комбинаторика.
    Для минут есть 4 валидные комбинации: 22, 25, 52, 55. Для часов есть 1 валидная комбинация: 22.
    Перемножаем 4 и 1, получаем 4 комбинации (22:22, 22:25, 22:52, 22:55).
    Ответ написан
    1 комментарий
  • Ошибка make, dnet.h not found?

    kotomyava
    @kotomyava
    Системный администратор
    Для сборки нужна не только библиотека, но и заголовочные файлы от неё. Надо ставить пакет libdnet-dev, или как он там называется в вашем дистрибутиве.
    Ответ написан
    5 комментариев