• Как работает Jinja?

    Vindicar
    @Vindicar
    RTFM!
    В рамках веб-стэка питон код не может выполняться на клиенте. Учи основы.
    Вся работа Jinja выполняется на бэкэнде. Проверить легко - открой исходник страницы (Ctrl-U по умолчанию), и ты увидишь, что пришло в браузер от сайта.
    Ответ написан
    Комментировать
  • Искривлённый вывод в файле json?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Всё у вас тут нормально кроме неправильных ожиданий. У вас сериализатор выдаёт валидный json, причем с форматированием, а не одной строкой. Ничего другого вы от него не получите. Если вам нужен какой-то другой вывод где-то, то делайте для этого другой сериализатор, или делайте шаблон и рендерите его с этими данными в контексте в текст или html.
    Вы запросили json и получили его. Какой есть, такой и получили. Другого нет. Чего вы ждёте от него?
    Ответ написан
    Комментировать
  • Как сделать миграции в django проекте на GitLab?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Вопрос похоже поставлен некорректно.
    На гитлабе хранятся только исходники. Там не надо выполнять миграции.
    Создать миграцию - это сделать файл миграции, который будет преобразовывать БД.
    Выполнить миграцию - это применить логику этого файла к конкретной БД.
    Выполнять миграцию вы можете на любой машине, но подключаться при этом должны к конкретной БД на которой хотите применить эту миграцию.
    Обычно к какой БД подключаться указывается в настройках.
    Если у вас есть продакшн-сервер, на котором запущен проект, то миграции делаются (выполняются, применяются к БД продакта) при деплое (релизе) очередной ревизии. Обычно это происходит после успешного слияния текущей рабочей ветки в релизную.
    Есть такой механизм, который называется CI\CD. Он отвечает за обнаружение нового коммита в релизной ветке, сборку продукта (докер-образов, например) и выкатку (остановку старой и запуск на проде новой версии продукта). При этом настроен автоматический запуск миграций.
    Ответ написан
    Комментировать
  • Как обезопасить программу С# от взлома?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Взломать можно все, что угодно - это лишь вопрос объема прикладываемых усилий/времени/денег для этого. Со стороны разработчика можно только осложнить этот процесс, но не предотвратить. Стандартная практика - осложнить взлом ровно на столько, чтобы объем затрачиваемых на взлом усилий себя не окупил или получаемая выгода была минимальна. Для начала вам следует определиться с ценностью того, что вы хотите защитить в своих приложениях и определиться с бюджетом времени/денег для затрат на защиту этих важных для вас данных, процессов и прочего. А уже потом прорабатывать меры защиты. Судя по вашим вопросам вам потребуется нанять консультанта, который поможет подобрать оптимальные для вас меры защиты.
    Ответ написан
    6 комментариев
  • Как сделать связь между сервером и десктоп программой?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Связь осуществляется через сетевое соединение, а именно через сокеты и кучу разных протоколов поверх типа HTTP/WS и прочего. На стороне сервера реализуете выбранный вами протокол в виде сервиса API, который слушает сокет, а в десктопном приложении подключаетесь к серверу и взаимодействуете с API вашего сервиса.
    Ответ написан
    Комментировать
  • Почему не отрабатывает Flask?

    @Everything_is_bad
    1. скорее всего он не поддерживает 3.12, уточняй версию
    2. обычно с подобными проблемами обращаться в issues репы
    Ответ написан
    Комментировать
  • Почему экраны имеют разрешения не кратны степени 2? Почему 1080, а 1024, если вместо умножения на 1080, можно сдвинуть 10 байт?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    Типа так сложно сделать 76 лишних пикселей?

    Производители дисплеев не производят отдельные дисплеи, это невыгодно.
    Вместо этого они оперируют понятием mother glass:
    mother-glass.jpg
    И уже эта стеклянная подложка нарезается на отдельные экраны, которые необходимы заказчику.

    Размеры "материнского стекла" более-менее стандартизированы в зависимости от поколения. Известны их размеры и диагональ (примерно от 50 см до 5 м).

    Это позволяет в т.ч. и заказчику расчитать сколько нужных ему дисплеев поместится на одном листе и подогнать размеры так, чтобы из одной большой матрицы получить максимум готовых изделий, минимизировав "обрезки".
    Ответ написан
    Комментировать
  • Как добавить купленный домен в веб сервер django?

    @Everything_is_bad
    Открыть гугл и набрать два слова "deploy django", всё давно уже рассказано 100500 раз. Ну вот откуда такая неспособность к элементарным действиям
    Ответ написан
    4 комментария
  • Профессиональная переподготовка СПБ, куда пойти?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Самостоятельное изучение вполне норм.
    Нет в мире "профессионального обучения программированию". Есть базовые курсы, но их легко заменить видяшками из инета или книжками для начинающих.
    А так - много практики.
    Если же интересует именно программная инженерия как курс высшего образования, то это скорее всего будет много математики или электротехники, возможно низкоуровневого программирования, но не так много именно прикладного современного программирования.
    Ответ написан
    Комментировать
  • Как "зафиксировать" список в питоне?

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

    Сейчас вы ссылаетесь на один и тот же объект 3 раза, вместо создания нового объекта.
    Исправляется созданием плоской копии списка.
    lst = []
    l = []
    for i in range(3):
        l.append(i)
        lst.append(l[:])
    print(lst)
    Ответ написан
    Комментировать
  • На чем построить базу IP-адресов?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    sqlite сразу идёт мимо, он плохо подходит для многопользовательской работы. В остальном - что лучше знаете, на том и пишите.
    Ответ написан
  • На чем построить базу IP-адресов?

    @Everything_is_bad
    Это можно написать на любом современном веб стеке.
    Ответ написан
    1 комментарий
  • Как создать exe приложение на macOS?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Python исторически не создавался для компилляции в бинарники.

    Попробуй реализуй свою задачу на языке Swift. Это как раз для Мак-ов язык и для компилляции.
    Ответ написан
    Комментировать
  • Как обойти ошибку Tcl_AsyncDelete: async handler deleted by the wrong thread?

    Vindicar
    @Vindicar
    RTFM!
    Поясню ответ выше: насколько я знаю, графические интерфейсы строго однопоточны. Как минимум под Windows это так, а потому ни один графический фреймворк не поддерживает обращение к окнам и их элементам из других потоков.
    Как следствие, если ты хочешь организовать фоновый поток с "обратной связью" в GUI, обычно требуется использовать очередь, например, queue.Queue. В эту очередь фоновый поток должен класть сообщения, объясняющие, что надо сделать - например, сведения о прогрессе операции, или команды на смену состояния, или ещё что. Это зависит от твоей задачи.
    Тогда основной поток программы, который и отвечает за GUI, должен использовать средства фреймворка для периодической проверки очереди на предмет сообщений. Например, в обычном tkinter это будет реализовано через метод after().
    Если в очереди есть сообщения, основной поток читает их и выполняет соответствующие действия - например, меняет положение прогресс-бара, включает/выключает кнопки, и т.д.
    Если фоновый (рабочий) поток живёт долго, то может иметь смысл организовать вторую очередь для передачи команд из GUI-потока в рабочий. Идея та же самая: рабочий поток ждёт появления команды в своей входной очереди, и выполняет её, а потом сбрасывает уведомления в исходящую очередь.
    Ответ написан
    Комментировать
  • Где найти гайды по Spring а не Spring Boot?

    xez
    @xez
    TL Junior Roo
    Spring в действии. Шестое издание | Уоллс Крейг
    Spring 5 для профессионалов | Харроп Роб, Шефер Крис
    Ну и "Спринг потрошитель", как по мне, достаточно посмотреть чтобы въехать, а дальше документации хватит.

    Насчет разделения spring и spring boot в разрезе обучения - это вы себе напридумывали.
    Ответ написан
    Комментировать
  • Как организовать работу внутри компании?

    saboteur_kiev
    @saboteur_kiev Куратор тега Организация работы
    software engineer
    нанимается проджект менеджер, который рулит людями
    выбирается тимлид, который рулит командой.
    проджект и тимлид делят проект на задачи - проджект с точки зрения бизнеса, тим лид с точки зрения технической реализации
    потом задачи выдаются разработчиками.
    Технически в этом помогает какой-то трекер, типа JIRA и система контроля версий и система ревью. Типа битбакет, гитхаб, гит, и другие.
    А так - слишком общий и нетехнический вопрос,
    Ответ написан
    2 комментария
  • Каким образом и где можно разместить аудиофайл с расширением mp3 чтобы доступ на прослушивание к нему был, но возможность скачивания не была доступна?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    //COPY01 EXEC PGM=IEBGENER
    Задача не имеет решения.

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

    А что помешает энтузиасту-фанату написать свой плеер с функцией сохранения? Опять же аудиопоток можно банально записать с аудиовыхода - без всяких аудиокабелей - просто включив воспроизведение в колонки и положив рядом телефон :) Да, качества не будет, но обычно когда задумываются о такой вот вещи - качество не нужно, обычно это аудиозаписи "волшебных курсов", там достаточно разборчивого текста.
    Ответ написан
    3 комментария
  • Ошибка при работе c imaplib. При продолжительной работе перестает прозванивать почту. В чем может быть ошибка?

    @Everything_is_bad
    При продолжительной работе
    скорее всего это проблема про которую написано в оф доках https://docs.python.org/3/library/asyncio-task.htm...
    Important Save a reference to the result of this function, to avoid a task disappearing mid-execution. The event loop only keeps weak references to tasks. A task that isn’t referenced elsewhere may get garbage collected at any time, even before it’s done. For reliable “fire-and-forget” background tasks, gather them in a collection:
    Ответ написан
    2 комментария
  • Может кто-нибудь посоветовать курс по пентесту?

    @Everything_is_bad
    проверку ты уже провалил, не твое это, займись чем-то другим
    Ответ написан
    7 комментариев
  • Как избежать 429 ошибки при скраппинге?

    @Everything_is_bad
    долбить API с меньшей частотой, а еще лучше, выяснить какие у них лимиты и начать их соблюдать
    Ответ написан
    Комментировать