Задать вопрос
  • Какой софт можно использовать в качестве корпоративной хранилки файлов?

    @ipoluda
    Тоже не понимаю почему не NextCloud, уже лет 5 ставлю его всем своим клиентам, все в восторге, всё отлично работает. Подводных камней нет, как раз большинство сидит на 22 убунте. Но также не понимаю почему не устраивает snap пакет, ставится прямо во время установки убунты, со всеми зависимостями и необходимыми тонкими настройками, ssl с пол-пинка поднимается, на виртуалке масштабируется до тысяч, есть куча подключаемых модулей, файлы хранятся в их нормальном виде (восстанавливать если что получится без гемора), редактировать доки можно прямо в браузере, есть клиент на телефон, интегрируется с чем угодно, короче тупо гугл диск он-премисес только круче как на меня. Советую потому что перепробовал в своё время почти все решения и некст - лучшее что есть из опенсорса. И искренне не понимаю к чему городить связку именно из тех продуктов которые вы перечислили (nginx, mariadb). Некстклауд админится из вебки, в саму ОС вы даже заглядывать не будете после установки)) То есть, я к тому что если Вы привыкли к MariaDB + Ubuntu 22 + nginx то вам не придётся переучиваться, так как админить эти компоненты отдельно не придётся со snap. Поставил и забыл
    Ответ написан
    Комментировать
  • Как асинхронно использовать gui и несколько бесконечных циклов?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Асинхронный код запустить в отдельном потоке, а все взаимодействия с интерфейсом из этого кода делать сигналами. Есть ещё библиотеки, позволяющие использовать цикл событий asyncio в качестве цикла событий окна, что звучит здорово, но сам я их в бою не пробовал.

    UPDATE:
    Надо же, с 2019-го многое поменялось в интересную сторону. Для PyQt и PySide есть qasync, который активно развивается, а для Tk вообще не нужны сторонние библиотеки:
    import tkinter as tk
    from tkinter import ttk
    import asyncio
    
    
    class App:
        async def exec(self):
            self.window = Window(asyncio.get_event_loop())
            await self.window.show();
    
    
    class Window(tk.Tk):
        def __init__(self, loop):
            self.loop = loop
            self.root = tk.Tk()
            self.animation = "░▒▒▒▒▒"
            self.label = tk.Label(text="")
            self.label.grid(row=0, columnspan=2, padx=(8, 8), pady=(16, 0))
            self.progressbar = ttk.Progressbar(length=280)
            self.progressbar.grid(row=1, columnspan=2, padx=(8, 8), pady=(16, 0))
            button_block = tk.Button(text="Calculate Sync", width=10, command=self.calculate_sync)
            button_block.grid(row=2, column=0, sticky=tk.W, padx=8, pady=8)
            button_non_block = tk.Button(text="Calculate Async", width=10, command=lambda: self.loop.create_task(self.calculate_async()))
            button_non_block.grid(row=2, column=1, sticky=tk.W, padx=8, pady=8)
    
        async def show(self):
            while True:
                self.label["text"] = self.animation
                self.animation = self.animation[1:] + self.animation[0]
                self.root.update()
                await asyncio.sleep(.1)
    
        def calculate_sync(self):
            max = 3000000
            for i in range(1, max):
                self.progressbar["value"] = i / max * 100
    
        async def calculate_async(self):
            max = 3000000
            for i in range(1, max):
                self.progressbar["value"] = i / max * 100
                if i % 1000 == 0:
                    await asyncio.sleep(0)
    
    
    asyncio.run(App().exec())
    Ответ написан
    Комментировать
  • Можно ли как то отследить элемент JS?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    4 комментария
  • Как создать программу с готовыми шаблонами для формирования отчётов?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    1. Выбираем язык программирования
    2. Изучаем его
    3. Создаем базу с данными и учимся заполнять и извлекать данные из базы
    4. Пишем программу, которая умеет извлекать данные и выводить отчет
    5. Создаем шаблоны для титульной страницы и остальных страниц, интегрируем в программу

    Ну и все в таком духе.
    Ответ написан
    2 комментария
  • Что такое WEB api?

    bingo347
    @bingo347
    Crazy on performance...
    API - Application Programming Interface
    То есть это не обязательно что-то сетевое, интерфейс некой библиотеки - это тоже ее API

    Web API - это api браузера
    https://developer.mozilla.org/en-US/docs/Web/API

    Web Forms Api - часть api браузера для работы с формами
    https://developer.mozilla.org/en-US/docs/Web/API/H...
    https://developer.mozilla.org/en-US/docs/Web/API/F...
    Ответ написан
    Комментировать
  • Как выключить компьютер при пропадании подключения?

    @Drno
    Можно. Пингуй ip сервера и в случает отсутствия пинга отдавай команду на выключение
    Ответ написан
    Комментировать
  • Как уберечь аккаунт от бана несовершеннолетнему на Апворк?

    @Stalinko
    PHP'шник и фрилансер до мозга костей
    Ты сам никак не можешь работать по правилам.

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

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

    Как-то так.
    Ответ написан
    8 комментариев
  • Насколько законно для крупной компании пробивать человека по почте?

    @Drno
    слать "нахер"
    если угрожают - заявление в мвд и прокуратуру отедльным письмом. так же официальной(бумажным) письмом на имя их ген дира, с требованием выдать "звиздюлей" их СБ
    Ответ написан
    4 комментария
  • Как хранить константы в python?

    @blozheupasi
    По поводу Enum и постоянного обращения на value. Можно делать так:

    class CustomEnum(str, Enum):
        """Помощник, чтобы не писать .value кажыдй раз при вызове enum класса
    
        Вызов: YourCustomEnum.megaparam # сразу вернет значение, .value в конце не нужно
        """
        def __str__(self) -> str:
            return str.__str__(self)


    По поводу хранения и быстрого переопределения параметров в продакшне можно вместо БД (если, конечно, речь о чем-нибудь типа psql или mysql) использовать etcd — он легкий и умеет в HTTP.
    Ответ написан
    2 комментария
  • Как хранить константы в python?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Ваш подход вполне пригоден к использованию и его можно применять.
    Тут надо внести ясность, что есть разница между константами и настройками. Настройки предполагается менять, их иногда "перекрывают" через параметры командной строки или переменные среды окружения.
    Если вам нужны настройки, то этот вариант не годится. Используйте предложенный выше вариант с Pydantic.
    Если это именно константы, их не потребуется или не скоро потребуется перекрывать, загружать из файлов, пробрасывать через переменные среды окружения, через параметры командной строки и т.д.
    Если значения этих констант приемлемо хранить в репозитории, то нет ничего плохого в том, что вы группируете константы в классы. Это нормально для питона.

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

    Возможно у вас возникнет соблазн сейчас сделать вот так по-простому, а чувствительные данные и секреты тоже импортировать в виде питоновских модулей, но эти модули добавить в игнор-лист репозитория, а импортировать с соответствующим перехватом ошибок импорта... Так можно сделать, если вам критически не хочется брать в проект лишние зависимости, но это тот ещё геморрой. Лучше использовать специальные механизмы хранения настроек сразу. Тем более это потребует меньше кода (который нужно еще и тестировать) и сложности (которую принято выносить и тестировать отдельно, чем такие либы как Pydantic и занимается).
    Ответ написан
    1 комментарий
  • Как работать с иконками?

    @TooTal
    общего решения не дам, но как дизайнер, могу сказать, что помещаю иконку в контейнер, например, 24px, сама она по себе может быть любых размеров и соотношений сторон в рамках контейнера. Создаю из иконок библиотеку и отдаю разрабам.
    Ответ написан
    Комментировать
  • Делят ли файлы в nodeJS?

    Посмотри на nestjs - там вполне opinioated архитектура.
    Правда если понравится nest - не понятно, зачем вообще нода (ибо можно тогда на какой-нибудь из "более взрослых" языков перейти. Типа того же C# + asp net core)
    Ответ написан
  • Какие ограничения есть на ip адреса для SSH?

    Vindicar
    @Vindicar
    RTFM!
    Часть IPv4 адресов (точнее, целые подсети) зарезервирована для локальных сетей и подобных целей - т.н. приватные адреса (private subnets). Они не доступны "снаружи", из Интернета, а только если ты находишься в той же сети.
    Какие именно - гугл и википедия знают.

    А "скорее всего" - даже если IP адрес публичный, не значит, что этот адрес соответствует реальному узлу. А если соответствует, не факт, что на узле поднят SSH сервер.
    Ответ написан
    Комментировать
  • После установки драйверов, звука нет, как его вернуть?

    xez
    @xez
    TL Junior Roo
    1. Прекратите использовать малварь Driver Booster.
    2. Скачайте драйвер с сайта производителя оборудования. (я бы на вашем месте сначала переустановил винду).
    Ответ написан
    2 комментария
  • В чем преимущества использования С++ в embedded?

    Adamos
    @Adamos
    C - прекрасный, универсальный, эффективный язык.
    Но.
    Если вам нужно не один раз написать, отладить и потом полвека пользоваться программой, а постоянно работать с ней и привлекать к разработке новых людей - у С серьезные проблемы с погружением в проект, слишком много подробностей сразу.
    С++, благодаря уже стандартным архитектурным решениям ООП, позволяет сделать это погружение легким и постепенным - высокоуровневая логика четко отделена от возни с байтами и можно выбрать ту степень детализации, до которой тебе нужно разобраться с кодом, вообще не влезая на нижние уровни.

    Конкретно embedded тут неважен, просто сейчас даже встройка стала достаточно богатой ресурсами, чтобы иметь возможность сместить баланс "оптимальность-гибкость" и "компактность-читаемость" вправо.
    Ответ написан
    2 комментария
  • В чем преимущества использования С++ в embedded?

    @dima20155
    you don't choose c++. It chooses you
    БПЛА, автопилоты сильно сложнее с алгоритмической точки зрения, чем отправить N байт по UART или переложить их в X регистр. Поэтому ответ тут такой же как и на вопрос: Почему для написания современных приложений зачастую используется С++, а не С.
    Опять же, не стоит обобщать: довольно немалое количество компаний пишет свои автопилоты на чистом С из-за сертификации, каких-либо бюрократических требований.
    Ответ написан
    3 комментария
  • В чем преимущества использования С++ в embedded?

    mayton2019
    @mayton2019
    Bigdata Engineer
    ООП и метапрограммирование.
    Ответ написан
    Комментировать
  • После настройки RAID 1 на материнской плате, как узнать когда один SSD сгорит?

    @SunTechnik
    Должен быть софт (утилита) по управлению raid'ом из windows. Смотреть драйвера к материнке.

    Дальше, в зависимости от софта - или логи windows смотреть, или в самом софте (может он в трее может жить).

    Нужно больше информации: какая материнка, какие ssd.
    Ответ написан
    Комментировать