Задать вопрос
  • Класс FileResponse в Django что означает строка 'rb'?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Сначала нужно выучить Python, потом браться за Django.
    Ответ написан
    1 комментарий
  • Автоматизация лебедки?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Без внятного ТЗ результат будет ХЗ.

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

    В любом случае, нужен будет мотор-редуктор, ватт на 300, а может и больше - надо смотреть, какую нагрузку тягают эти лебедки.

    Все расчеты по мощности укладываются в школьную физику. Чтобы рассчитать потребную мощность, нужен чертеж (с размерами!), содержащий лебедку, то, как идет трос и то, что и как она перемещает.
    Ответ написан
    24 комментария
  • Хотите задать вопрос администрации Тостера?

    OtshelnikFm
    @OtshelnikFm
    Обо мне расскажет yawncato.com
    По поводу махания банхаммеров вроде на хабре пообщались. Но для закрепления тут: сделайте не бан на неделю - а предупреждение. Я пару лет здесь и тупо забыл про историю со ссылками. Вы меня в бан на неделю отправили. И все равно несмотря на мое письмо с попыткой разобраться в ситуации и мое признание что я забыл про ссылки - ничего не поменялось (вот она лояльность). Если бы выписали просто пред - я бы почитал и вспомнил ваши правила.
    Но - и чтобы все свои преды и недельные баны я бы видел в своем лк - те что просрочены. Люди невольно всё равно забываются.

    2. Вот эти уведомления - хочу убивать их кликом по крестику https://yadi.sk/i/vfe7nMW33UqL44 (не переходя никуда) ну или группируйте их в одно с указанием кол-ва. Трижды одно и тоже - ну честно мне все равно кому понравился ответ. Но кол-во видеть хочу.

    3. Пометить ответ как решение - это нужная опция для сторонних пользователей. И вправду - решения часто не отмечают таковыми.

    4. Автора вопроса в комментариях помечайте - не всегда понятно что отвечаешь и вступил в диалог с случайным прохожим. Зачем на него тратить время. Пусть создает свой вопрос.

    5. Из вк переходя по интересным вопросам (а именно такие туда репостятся?) часто наблюдаю что вопрос удалили. С этим надо что-то делать. У вас сервис вопросов или банов? Если вопрос собирает аудиторию - зачем рубите сук?

    6. Добавьте жалобу - "это не полный ответ приправленный ссылкой". Я часто даю полные ответы и потом указываю ссылку. А вот некоторые просто кидают ссылку с ехидными "поискал в гугле за тебя"
    Ответ написан
    18 комментариев
  • Кто поможет с проблемой авторизации через python?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    Либо использовать requests.session() или вручную получать после авторизации cookies и передавать их при запросе страниц с нужными данными по нужным url.
    Ответ написан
    Комментировать
  • Чем pandas отличается по возможностям от MS Excel,MS Access, SQL?

    @dmshar
    Pandas - инструмент программирования, даются возможности, делай что хочешь. MS Excel,MS Access - закрытые инструменты: что дали тем и пользуйся. Шаг вправо, шаг влево - и сполошной головняк. Попробуйте на EXCEL реализовать какой-нибудь простенький метод типа WMW или ARIMA- замаетесь. Я уж не говорю, если что-то надо считать в режиме он-лайн. А табличку простенькую (и не очень) - конечно, проще вести на EXCEL. SQL - вообще доступ к БД и больше по сути ничего.
    Так что каждый овощ - в свой салат. А для каждой задачи - свой инструмент.
    Ответ написан
    Комментировать
  • Как закрыть доступ к сайту и настроить инвайты?

    DevMan
    @DevMan
    да фигня вопрос - прост при регистрации спрашиваем код инвайта.
    элементарно реализуется на любом яп'е.
    Ответ написан
    2 комментария
  • Есть ли актуальные курсы по хакингу для новичков?

    DevMan
    @DevMan
    на курсах далеко не уедешь: они рассказывают основы и давно прикрытые дыры.
    для хакинга нужны не курсы, а
    1 мозг (это самое ценное)
    2. знание сетевых протоколов
    3. знание целевой системы

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

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Курсы. По хакингу. Для новичков.

    5e7591afbfd94542739129.jpeg
    Это абсолютно несовместимое сочетание слов!

    Почитайте этот ответ и комментарии к нему. И этот ещё полезно будет.
    Ответ написан
    Комментировать
  • Запрет wi-fi, блютуз, интернета, карты памяти и тд на андроид?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Всегда можно перефоткать или рутануть планшет.
    Ответ написан
    3 комментария
  • Бэкенд интернет магазин?

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    1) легкий путь - ищи популярные движки для инет магазинов (по типу wordpress woocommerce, opencart) и осваивай.
    2) сложный путь, где ты научишься почти всему - бери фреймворк по типу laravel и пиши магазин сам.
    Ответ написан
    7 комментариев
  • Почему nginx добавляет к путям с стилями uri?

    @KingstonKMS
    Дело не в настройках nginx, а в путях на эти стили в html файлах.
    Ответ написан
    Комментировать
  • В чем суть декораторов?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    В питоне функции и классы - это тоже объекты. У них есть особый синтаксис объявления, после объявления эти объекты доступны по имени как и любой другой объект с именем (переменная).

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

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

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

    Итак:
    my_object_instance = MyClass()
    my_object_instance = my_decorator1(my_object_instance)
    my_object_instance2 = my_decorator2(my_object_instance)

    В этом примере дважды задекорирован объект. Здесь при первом декорировании оригинал нам, судя по коду, не нужен (или декоратор его не менял, смотря что за декоратор, может просто зарегал где-то в списке...), а при втором декорировании нам остаётся доступным и оригинал и задекорированная версия.

    Пока всё просто и не ясно причем тут собаки и чем эти декораторы отличаются от обычных функций. На второй вопрос ответ прост -- ничем особенным. Просто мы такой смысл вкладываем в эти функции. Такая абстрактная концепция.

    В Питоне есть синтаксический сахар, чтобы декорировать объявления функций и классов.

    Иногда хочется наглядно модифицировать или зарегистрировать в каком-то глобальном реестре класс или функцию, но объявление при этом сильно менять не хочется.
    Можно так:
    my_pretty_functions = {}
    
    def my_deco(decorated_function):
        '''Это декоратор, который не меняет декорируемый объект, 
        лишь регистрирует его в словаре'''
        my_pretty_functions[decorated_function.__name__] = decorated_function
        return decorated_function
    
    def my_function(x):
        return x ** 2
    
    # вот декорирование вручную, без сахара
    my_function = my_deco(my_function)
    
    # Но в питоне же есть сахар для этого, и вот альтернативный вариант декорирования:
    @my_deco
    def my_other_function(x):
        return x ** 3

    Эти два способа декорирования работают одинаково, просто "собака" - это синтаксический сахар.

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

    Но замыкания - это отдельная большая история, а узнать об этом вы сможете, к примеру, на занятиях по питону на otus.ru, где я скоро, надеюсь, стану преподавать=).

    Спрашивайте сто не понятно. Я тут не рассмотрел даже малой доли от разных способов применения декораторов в народном хозяйстве. Надо будет состряпать специальный курс про это.
    Ответ написан
    Комментировать
  • Не взяли на работу из-за неправильно выполненного тестового задания, посмотрите?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Братан, индусский код, без обид

    1)
    TASKS_DIR = os.path.dirname(__file__) + '/tasks'
    тут os.path.join нужен ( + - еще можно поспорить, если б см. п 2 ты правильно заюзал)

    2)
    file_data = user['name'] + '<' + user['email'] + '> ' +\
            time.strftime('%d.%m.%Y %H:%M', time.localtime()) + '\n' +\
            user['company']['name'] + '\n\n'


    это пишется так
    file_data = f"{user['name']} < {user['email']} + >  {time.strftime('%d.%m.%Y %H:%M', time.localtime())} \n {user['company']['name']} \n\n"

    и вот так еще полубезобидно можно складывать путь из п1.

    3)
    except Exception as e:
         print(e, u'Не удалось получить задачи | get_http_error')

    есть такая вещь как ООП и паттерны, и там наружу тебе нужно передавать естестенную (читай систмную, сетевую, АПИ) ошибку, а не самодеятельность - ну нет прав на запись в твою создаваемую ДИР, что делать запустившему - код твой гадать? так он сразу увидит, что нет прав, апи кей не катит, нет роута и т.д.

    ну и , как понимаешь, весь блок коннекта к апи можно было обернуть одиним - какая разница где ошибка? ты ее выведешь, при общем неуспехе

    но ты стараешьтся, молодец - нет camel style по крайней мере (надеюсь, это осознанно? )
    Ответ написан
    Комментировать
  • Как скачать торрент с помощью python?

    0ralo
    @0ralo
    Python backend developer
    Комментировать
  • Где можно провести трансляцию лекции, кроме youtube?

    @anton99zel
    29а класс средней школы №7
    ВКонтакте, создаешь группу, можно закрытую, приглашаешь в нее студентов, и делаешь трансляцию для группы.
    Можно через ВК приложение на смартфоне, либо через Вк лайф https://play.google.com/store/apps/details?id=com....
    Можно через вебкамеру на компьютере через программу OBS, где то в сети была версия оптимизированная под ВК.
    Ответ написан
    Комментировать
  • Где можно провести трансляцию лекции, кроме youtube?

    profesor08
    @profesor08
    Берешь любую стриминговую программу, врубаешь стрим, студентам раздаешь ссылки. Никого не надо ждать. За срачь в комментариях раздавать незачеты.

    Можно на twitch.tv там проще чем с youtube. https://obsproject.com/

    Дополнительно можно в https://discordapp.com/ организовать голосовую связь со всеми студентами. Все легко и просто. Работает отлично.

    В принципе можно ограничиться дискордом https://support.discordapp.com/hc/ru/articles/1150...
    Ответ написан
    2 комментария
  • Python, как пинговать много хостов?

    @deliro
    Из адекватных

    Вариант 1: Создавать кучку воркеров через ThreadPoolExecutor, закидывать им очередь урлов
    Вариант 2: aiohttp, создавать кучку тасков-воркеров, закидывать им очередь (asyncio.Queue) урлов
    Вариант 3: aiohttp, запускать все 30к одновременно, с помощью asyncio.Semaphore задавать, сколько максимум может быть запросов одновременно

    Вариант №3 самый простой в реализации и оптимальный. Примерно на 15 строк кода. Но будет кушать чуть больше памяти, чем вариант 2. Вариант 1 самый тяжёлый из-за того, что каждый тред в ОС будет кушать примерно по 2мб памяти, зато синхронный.
    Ответ написан
    Комментировать
  • Задача по Python, где ошибка?

    aRegius
    @aRegius
    Python Enthusiast
    где ошибка?

    1. Метод __init__ требует двойного нижнего подчеркивания
    2. self.cuisine_type = cuisine ---> self.cuisine_type = cuisine_type
    3. name.title(), cuisine_type ---> self.name.title(), self.cuisine_type
    4. Методы класса должны быть определены в теле класса.
    Ответ написан
    Комментировать
  • Как сделать фильтр на Checkbox'ах?

    К React, надо сказать, ваш вопрос имеет самое посредственное отношение.

    Реализовать фильтрацию массива объектов по нескольким ключам можно примерно вот так:

    function filter(array = [], filters = {}) {
        const keys = Object.keys(filters).filter(key => filters.hasOwnProperty(key));
        return array.filter(elem => {
            const commonKeys = keys.filter(key => elem.hasOwnProperty(key));
            return commonKeys.reduce((flag, key) => (flag && filters[key].includes(elem[key])), true);
        });
    }

    В filters кладёте допустимые значения по соответствующим ключам. Например:

    const products = [
        {country: 'Russia', img: 'link.img', genre: 'Comedy', name: 'Вишнёвый сад'},
        {country: 'France', img: 'link.img', genre: 'Novel', name: 'Oberman'},
        {country: 'Italy', img: 'link.img', genre: 'Adventures', name: 'Il cimitero di Praga'},
        {country: 'USA', img: 'link.img', genre: 'Comedy', name: 'The Ransom of Red Chief'}
    ];
    
    const filters = {
        country: ['Russia', 'Italy', 'France'],
        genre: ['Comedy', 'Novel']
    };
    
    const filteredProducts = filter(products, filters);
    Ответ написан
    3 комментария
  • Как защитить код если предлагают помощь с разработкой?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Стоит ли давать и какие есть варианты защитить код?

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