Задать вопрос
  • Ошибка "cannot pickle '_tkinter.tkapp' object" при использовании Multiprocessing, почему?

    Vindicar
    @Vindicar
    RTFM!
    Потому что multiprocessing - это не магия, а инструмент с ограничениями.
    В частности, у каждого дочернего процесса полностью своя память. Никаких общих объектов! Любые данные, передающиеся между процессами, упаковываются встроенным модулем pickle, и распаковываются на той стороне. Как следствие, есть довольно ограниченный набор типов данных, которые можно передавать как аргумент, или возвращать как результат из другого процесса. Окна ткинтера в этот набор не входят, о чём тебе и сообщает ошибка.

    Используй пару multiprocessing.Queue или SimpleQueue для коммуникации с работающим процессом. Одна очередь должна содержать команды от главного процесса дочернему, а другая - оповещения от дочернего главному. Сосредоточь всю работу с GUI в главном процессе, а для периодической проверки наличия новых оповещений в очереди используй метод root.after().

    Ну и да, "принудительно остановить" - это вообще не лучшая идея, и не должно быть нормальным подходом. Перепиши свои функции так, чтобы они мониторили какой-нибудь multiprocessing.Event (ну или threading.Event, если хочешь работать в потоках), и останавливались, когда он окажется взведён.
    Ответ написан
    2 комментария
  • Чем отличается функция от конструктора и где применять то или это?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    зачем нужны конструкторы если можно пользоваться функциями и реализовать тот или иной код с помощью функции без надобности вызова его через new

    Да, можем. Точно так же можем записать всю программу в один файл и в одну функцию, в которой использовать простой goto. Вместо продуманной структуры классов. Как и не использовать фреймворки, стандартную библиотеку или можно для скорости работы программы писать её на ассемблере или даже машинных кодах сразу. Вместо простого и понятного кода в несколько слоёв абстракций, который понятен, легко сопровождается и позволяет не писать очередной велосипед в миллионный раз. Аналогично и с new Foo() - это просто всем понятная абстракция, говорящая "эта инструкция создаст объект такого-то класса и выполнит все необходимые инструкции для инициализации объекта". Думаю, мысль вполне ясна и детального объяснения не требует?
    Ответ написан
    Комментировать
  • Какие есть хорошие ресурсы для изучения Docker для Golang?

    @Araya
    Никакой связи нет между докером и разбиением на слои.
    Найди любой хороший проект, а как подключаться к базе уже другой вопрос, go приложение не знает ни о каком докере.
    Ответ написан
    Комментировать
  • Как решить: ImportError: cannot import name 'executor' from 'aiogram'?

    @Everything_is_bad
    1. при чем тут node.js?
    2. ошибка без проблем гуглиться и отвечали на ее 100500 раз, ты поставил 3 версию aiogram, а код у тебя от 2й
    Ответ написан
    2 комментария
  • Куда расти ИБ специалисту?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    //COPY01 EXEC PGM=IEBGENER
    Думаю обзавестися сертификатами по ИБ, подтянуть инглиш и идти на upwork

    Думаю, что на апворке ты нахрен никому не впилился. Тем более, что в РФ апворк давно уже не работает (а если ты не в РФ - то довольно глупо спрашивать здесь).
    Получать его не хочу, слишком долго и слишком мало мне это даст.

    Ага, типичный продукт пятилетней давности. Когда палка и пионер, когда апворк лежа под пальмой... С разморозкой, человече! Мир давно уехал черт-де куда, а ты и не заметил...

    В ИБ, где все строго и регламентировано, в ИБ, где как правило ответственность делегируется (потому что не
    можно управлять системой, будучи внутри ее) - тебе никогда не вырасти никуда с подходом
    нет высшего образования. Получать его не хочу, слишком долго

    Вышка - это такой тест на способность самостоятельного решения задачи. Знания, которые при этом типо получаются - вторичны, хотя некоторые пригождаются. Но в основном вышка - это про умение учиться :) Да-да, вышка учит учиться и не более того. Не одолел - ну вот провалил первый тест на профпригодность. В ИБ, где люди как правило работают на доверии, таких точно не берут (ну разве что в крупных конторах на самые низовые должности)
    Могу написать скрипты для PowerShell и Bash, но с chatGpt

    То есть "освоил Ctrl-C/Ctrl-V, но смысла не понимаю, ибо абизьян
    В целом, могу поднять и настроить любую прогрумму или сервер на Win и Unix.

    По данному заявлению сразу можно сказать, что уровень джуна не преодолен.
    Год не выпускаю из рук ноутбук с KaliLinux,

    Ты ничего не говорил, мы ничего не слышали. Никогда не говори про это в серьезной компании - оборжут и затроллят
    Думаю, что как сисадмин Windows/Linux я почти Middle,

    Ты ошибаешься :)
    Ответ написан
    16 комментариев
  • Какой отечественный linux выбрать для веб-разработки?

    Steel_Balls
    @Steel_Balls
    0KLRiyDQv9C40LTQvtGALiDQmNC00Lgg0L3QsNGF0YPQuQ==
    Для веб-разработки не важна ОС. Просто по определению. Потому что это веб
    Ответ написан
    1 комментарий
  • Как установить cookie и сразу совершить редирект?

    @Everything_is_bad
    Такой код не помогает, куки не обновляются.
    да потому что ты устанавливаешь куки в одном response, а возвращаешь вообще другой который с redirect
    Ответ написан
    5 комментариев
  • Ошибка: 'function' object has no attribute 'to_dict' Бот телеграма как решить ошибку?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    + import traceback
    ...
    - print(f"Ошибка: {e}")
    + print(traceback.format_exc())
    Ответ написан
    8 комментариев
  • Для чего нужен слой сервиса без логики?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Вообще-то тут должен быть маппинг доменной модели, но о нём, видимо, забыли и пытаются сохранить ее в бд непосредственно, и, самое ужасное, восстановить.
    То, что слой есть - похвально, то, что там ничего не происходит (хотя должно) - нет.
    Ответ написан
    8 комментариев
  • Статья закончена, а ответ на вопросы нет?

    @Everything_is_bad
    причина - тупое копирования без понимания смысла
    Ответ написан
    3 комментария
  • Почему тут ошибка?

    @Everything_is_bad
    1. for i in range(1)для какой цели ты написал этот треш?
    2. Где у тебя тут список, чтобы можно было обращаться по индексу?
    открывай учебник и читай про тип данных dict
    Ответ написан
    Комментировать
  • Как лучше поступить при создании сайта?

    dmitriylanets
    @dmitriylanets
    веб-разработчик
    Как человек имеющий опыт 15 лет, в разработке интернет-магазинов автозапчастей, скажу одно, вероятность успешной сдачи пректа близка к 0.
    Интернет-магазин автозапчастей это:
    Клиентская часть
    1. Поиск автозапчастей с использованием аналогов, синонимов производителей
    2. Динамическое ценообразование
    3. Каталоги запчастей оригинал и не оригинал, визуальное представление агрегатов для удобства поиска
    4. Личный кабинет, с возможностью отправки вин-запросов, истории заказов, добавлением машин, выставлением счетов
    5. Корзина с онлайн оплатами и отложенными заказами
    Админка
    1. Работа с заказами, клиентами
    2. Работа с поставщиками
    3. Загрузка прайс-листов поставщиков с различных источников
    4. Настройка ценообразования
    5. Управление логистикой
    6. Работа с каталогами товаров
    7. Работа со складом, складскими ячейками, приходы, отгрузки
    8. Выставление счетов, актов

    По сути это базовый функционал который требуется в 90% случаях. Как правило делаются на специализированных CMS
    Ответ написан
    2 комментария
  • Как лучше поступить при создании сайта?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Лучше для чего именно? Определитесь сначала с конкретными требованиями.

    создать сайт, на котором будет каталог запчастей

    Самый оптимальный вариант по финансам/времени - взять готовый движок магазина со всеми нужными фичами и плагинами. Типа интеграций с 1С, платёжными системами, готовой админкой и т.п. Выбор конкретного движка зависит от ваших конкретных задач и требований.
    Лучший вариант - разработать своё решение под свои конкретные задачи.

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

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

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

    Для этого и используют готовые движки и CMS, а так же интеграции с другими системами. Складской учёт и прочее.

    Дедлайн примерно месяц, можно даже больше.

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

    И также отдельно вопрос касаемо денежных затрат, что выйдет в таком случае дороже

    Разработка под ключ среднестатистического нормального сайта стоит от ~$10к. На готовом движке - гораздо быстрее и стоимость, конечно меньше будет, но и возможностей у такого тоже будет меньше. Стоимость хостинга и тильды на этом фоне копейки.

    а если самому создавать то только за хостинг

    А стоимость вашего времени? Вы работаете за бесплатно? Или просто это что-то вроде учебно-практического проекта?
    Ответ написан
    2 комментария
  • Почему не удается установить веб сокет соединение через телефон?

    Vindicar
    @Vindicar
    RTFM!
    ws://127.0.0.1:8000/
    Как по-твоему, что означает адрес 127.0.0.1?
    Ответ написан
    Комментировать
  • Кириллица в c++. Что с ней не так?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Как распознать кракозябры:

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

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Json это не база данных. Одновременный вызов команд его сломает. Попытки чтения и записи одновременно из нескольких корутин приводят к неопределённому поведению и гонкам. А разрастание файла будет ещё и цикл событий подвешивать.

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

    @Everything_is_bad
    Даже новомодные нейросети не справились
    а давай ты просто научишься гуглить?

    https://docs.python.org/3/library/atexit.html
    Ответ написан
    1 комментарий
  • Как стать начинающим программистом в текущих реалиях?

    xez
    @xez
    TL Junior Roo
    Что ж вы так сразу "не выдающийся человек".
    Если у вас "Отличный английский язык" - уже выдающийся, на местном уровне.
    Чтобы стать програмистом надо
    1. Учиться, учиться и еще раз учиться.
    2. Програмировать, програмировать и еще раз програмировать.
    Легко, скорее всего, не будет, особенно в начале пути.
    Попробуйте устроиться на какую-нибудь стажировку, школу разработчиков или типа того. Туда можно попасть без опыта, но скорее всего, что-то уже знать и уметь надо.
    Ответ написан
  • Работа/карьера в информационной безопасности в России и за границей?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    В работе безопасника имеются следюущие моменты, которые надо сразу учитывать:
    - специализированных контор, которые занимаются пентестом, анализом вирусов, специализируются по всему тому, с чем обычно у обывателя ассоциируется понятие "информационная безопасность" - их немного, обычно они сосредоточены в столицах.
    - крупные команды ИБ обычно есть в банках и прочих серьезных местах, в остальном - ИБ-шник как правило один, реже два и занимается он как правило всем - и линуха настраивает, и микротики с кошками крутит, и сертификаты выпускает (там где есть свой CA), и антиспамы настраивает и юзеров инструктирует и документацию пишет.
    - ИБ-шник всегда как Стивен Сигал - "над законом". Он не является субьектом системы безопасности, потому что он ее изменяет, его учетка как правило имеет максимум прав, поэтому никто и никогда не пускает в ИБ людей со стороны. Вообще. В ИБ либо вырастают из других подразделений, либо берут по знакомству, потому что ИБ-шнику часто поручают такие задачи, утечка по которым способна размазать людей, к которым она относилась тонким слоем. О том, что именно ИБ эксплуатирует СМП - и говорить не приходится.
    - ИБ-шник обязан знать законодательство по своей части, следить за его обновлениями и быть достаточно подкованным.
    wireshark, nmap, metasploit и др. инструментами из kali

    Оставьте Вы эту обывателиаду для школоты. Wireshark, nmap и пр. - не имеют никакого отношения к Kali и прекрасно работают в других дистрибах.
    И если да, то как примерно это происходит?

    Никак. Никто и никогда не возьмет ИБ-шника из-за границы. Тем более, что сейчас сотрудников с российским паспортом почем зря увольняют только за одно его наличие - Вот, читаем
    Ответ написан
    2 комментария
  • Что пытается сделать злоумышленник на моем сайте?

    На первом скрине, похоже, атака через "Stacked Queries". Хацкер надеется, что вы не отфильтровали входящие данные.

    Допустим у вас из бройзера приходит ID товара. И в программе запрос:

    SELECT * FROM products WHERE productid={нефильтрованный ID};


    Хакер отправляет вместо ID товара следующее:

    1; SELECT pg_sleep(25)


    В результате получится запрос:

    SELECT * FROM products WHERE productid=1; SELECT pg_sleep(25);


    И ваш сервер при каждом таком запросе будет спать 25 секунд. И порядочное количество таких запросов в случае удачи атаки смогут повесить вам там всё.

    То, что он продолжает долбиться, ничего не значит. Он, наверняка, использует какого-то бота, где накиданы в кучу различные векторы атаки, и они все применяются, пока ваш сервер не упадёт в результате срабатывания какой-то из них.
    Ответ написан
    Комментировать