• Подойдет ли backend на python?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    В этой постановке выглядит так, что подойдёт любой язык программирования и любой фреймворк.
    Ответ написан
    1 комментарий
  • Как исправить строку в файле txt?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Захватить файл монопольно, прочитать все строки из файла, найти нужную, изменить её, очистить файл, записать в него все строки, освободить файл.
    Чтобы меньше страдать фигнёй, освоить реляционные базы данных и использовать хотя бы sqlite.
    Ответ написан
    3 комментария
  • Как проверить, что строка содержит только цифры и символы?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    public static boolean isDotOrDigit(String s) {
            return s.chars().allMatch(c -> Character.isDigit(c) || c == '.');
    }
    Ответ написан
    2 комментария
  • Стоит ли делать отдельный микросервис для Баз данных?

    @alexalexes
    Без подробностей связей архитектуры и метрик взаимодействий подсистем это останется мнением, а не основанием перехода на новую архитектуру.
    Ответ написан
    Комментировать
  • Стоит ли делать отдельный микросервис для Баз данных?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    1 микросервис - 1 БД


    Если БД используют несколько микросервисов, то (согласно философии микросервисов) это неправильно.
    В таком случае, выделяй отдельный микросервис-прослойку для БД. Но это будет уже не БД, а другой, полноценный сервис - со своими API, репозиторием, версионированием и т.д.
    Ответ написан
    5 комментариев
  • Какие книги прочитать чтобы написать свою операционную систему?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Мне кажется что это блажь. Операционные системы в наше время люди не пишут.
    Ее написать невозможно по причине бесконечных технических требований которые
    мы (читатели хабра) применяем к этому термину. И если вы по каким-то причинам
    будете сокращать или вычеркивать эти требования - то на выходе будет не ОС
    а некий программный продукт который содержит подмножество функций ОС.

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

    Написание своей уникальной ОС - это дорога длиной в жизнь.

    Если писать не свою ОС а клонировать имеющиеся проекты то надо тоже на этом акцентировать
    внимание.
    Ответ написан
    7 комментариев
  • А не правильнее ли будет вместо "робоТОтехника" использовать термин "роботехника"?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    Роботокоп
    Ответ написан
    Комментировать
  • Как поменять версию Python в терминале хостинга?

    @Everything_is_bad
    варианты
    1. перестать пользоваться устаревшей версией aiogram
    2. поставить стандартными средствами системы версию 3.11 (хотя для ветки 2 завялена поддержка только 3.10), при создании виртуального окружения, указать эту версию
    Ответ написан
    Комментировать
  • Почему на одном телевизоре Youtube работает, а на другом нет?

    @apppostol
    Потому что надо подождать. И на LG тоже перестанет работать. Не всё сразу.
    Ответ написан
    2 комментария
  • Что использовать в качестве workerА для отложенных задач?

    fenrir1121
    @fenrir1121
    Начни с документации
    Для длительного хранения нужно использовать базу данных, а не redis или selery.
    Отдельный воркер вообще не обязателен, если нет вычислительных задач.

    Раз в миниту/час/день ходишь в базу и смотришь не наступило ли время выполнения, если наступило выполняешь.

    Можно добавить полезных оптимизаций: засыпать до ближайшего события или до инсерта новых записей, читать сразу батчами, держать ближайшие события в памяти и проверять только их, но в целом не обязательно.
    Ответ написан
    1 комментарий
  • Ubuntu какую программу используете для резервного копирования с рабочих станций в общую папку?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Никакую.

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

    @Everything_is_bad
    Тут не язык важен, а опыт проектирование подобных систем. По вопросу видно, что его у тебя нет, так что два варианта, или ищешь специалиста, или сам потихоньку, через страдания и боль, получаешь этот опыт, берешь ЯП, который ты лучше всего знаешь, пишешь MVP, гоняешь под нагрузками, устраняешь узкие места, повторяешь это до приемлемого тебе результата. Первый способ в несколько раз быстрее второго. Второй способ со значительно меньшей вероятность гарантирует успех.
    Ответ написан
    6 комментариев
  • Как обезопасить программу С# от взлома?

    MANAB
    @MANAB
    Разрабатываю на C#: Web, Desktop, Gamedev
    По хорошему ответ на вопрос в заголовке - практически никак и торренты с ломаным софтом этому аргумент.
    Т.к. непонятно что защищать и от чего, то непонятно и что советовать, слишком много всего и обязательно что-то упустишь.
    Задам вопрос по другому - почему неподходит выполнять команды на сервере и получать результат? Соответственно получится аутентифицировать и авторизовать пользователя, проверить оплату/баланс и отдать или нет результат.
    Даже если же это on-prem решение по типу игр или фотошопа все равно какие то важные моменты можно вынести на свой сервер, без которых невозможна работа локально.
    Ответ написан
    Комментировать
  • Символ решетки # в конце адресной строки, на сайте не работает поиск и частично грузится главная?

    r3n0
    @r3n0
    // _ AppSec // Bug Bounty / Legal Hacking
    Привет.

    Подскажите, выручайте.

    Для WordPress рутинные процедуры: сделай полную резервную копию (бэкап) сайта; по одному отключай плагины, проверяя каждый раз, решило ли это действие проблему с отображением сайта; переключи активную тему оформления на одну из стандартных (twenty*), также проверь, осталась ли проблема с отображением сайта. Обновлён ли движок? Плагины? Тема?

    Я вообще не знаю, за что хвататься: что это - плагины, тема, еще чо?

    Хватайся за логи ошибок PHP и/или за дебаг WordPress + удали (а ещё лучше отключи на время диагностики) кэш, если таковой имеется.

    Отдельное внимание удели теме Avada - она премиальная (коммерческая), а значит: а) у вас (у компании) может быть варез, если вы её не покупали на Theme Forest; б) тему могли давно не обновлять, что-то где-то устарело, начались конфликты X с Y; мог устареть какой-то плагин, входящий в установочный бандл.
    Ответ написан
    Комментировать
  • Как скрыть токены и пароли в python?

    С чего вы взяли, что в .env можно писать JSON (да ещё и невалидный)?
    https://pypi.org/project/python-dotenv/#file-format
    Ответ написан
    4 комментария
  • Почему нет доступа к MongoDB из докер контейнера?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Пробрасывать порт нужно 27017, а не 5000!
    ....
         ports:
            - '27017:27017'
    ....

    PS. И не надо картинки постить. Копируйте текст в теги code, это так просто. Из картинок его не выдрать, а набирать - лень! Я вот поэтому вообще отвечать не хотел...
    Ответ написан
    1 комментарий
  • Какой смысл преподавать в вузах жутчайшую математику?

    Zifix
    @Zifix
    Barbatum
    Как говорил наш преподаватель по матану — вы, конечно, все это забудете, но человек который это осилил, и который нет — это два разных человека по уровню развития мышления.
    Ответ написан
    Комментировать
  • Как правильно списывать ИТ оборудование в компании?

    saboteur_kiev
    @saboteur_kiev Куратор тега Системное администрирование
    software engineer
    Правильный ответ - этим занимается не систадмин, а бухгалтерия.
    С вашим бухгалтером и обсудите что для этого нужно.
    Как минимум все оборудование должно быть на балансе организации, у бухгалтера есть варианты как оно было поставлено на баланс, и по какой статье у него идет списание и амортизация. Ваша задача там чисто консультативная
    Ответ написан
    Комментировать
  • Как заставить бота ждать ответа пользователя?

    Vindicar
    @Vindicar
    RTFM!
    Ну для начала твоя лесенка из if-elif-elif-... - плохое решение.
    Сделай нормальную структуру данных вместо пачки переменных. Используй словарь, или ещё что. Например, такого вида:
    # словарь, где ключ - строка с названием пунка отправления, а значение - ещё словарь,
    #   где ключ - строка с названием пункта назначения, а значение - список,
    #     где элементы - пары строк ("время отправления", "время прибытия")
    # Тогда с таким словарём можно будет работать так:
    bus_timetable: dict[str, dict[str, list[tuple[str, str]]]] = {
        # ты словарь заполняешь по результатам парсинга, ну и то хорошо
        # я для примера запишу прямо так
        'Владимир' : {
            'Муром': [
                ('8:00', '11:00'),
                ('9:00', '12:00'),
                ('10:00', '13:00'),
            ],
        },
    }
    point_from = 'Владимир'
    point_to = 'Муром'
    # для примера вывожу в консоль, для бота перепишешь сам
    print(f'Автобус из {point_from} в {point_to}')  
    for departure, arrival in bus_timetable[point_from][point_to]:
        print(f'Отходит в {departure}, прибывает в {arrival}')

    Тогда тебе не потребуется делать кучу веток для разных городов, достаточно лишь определить значения point_from и point_to. Более того, ты можешь просто перечислить ключи внешнего словаря при создании кнопок:
    kbd_from = types.ReplyKeyboardMarkup(resize_keyboard=True)
    buttons = [types.KeyboardButton(point_from) for point_from in bus_timetable]  # список кнопок
    kbd_from.add(*buttons)  # если надо добавить все кнопки сразу

    Похожий приём возможен и для определения кнопок для городов назначения.

    А теперь по тому, как сделать выбор. Тут есть два варианта, но давай пока поговорим о ReplyKeyboardMarkup, которую ты используешь.
    Если ты хочешь использовать ReplyKeyboardMarkup, то стоит помнить - её кнопки дают тот же эффект, как если бы пользователь просто ввёл текст кнопки сам. Поэтому тебе потребуется использовать register_next_step_handler(). Ты не привёл код своей попытки, но в целом идея несложная. В основном обработчике события ты проверяешь, что текст сообщения содержится в bus_timetable (оператор in в помощь) - это значит, что текст сообщения содержит название известного боту города.
    Тогда ты делаешь вызов register_next_step_handler() и ставишь обработчик второго сообщения. Единственное "но": тебе нужно будет обработчику передать первый выбранный город. Это будет выглядеть как-то так:
    @bot.message_handler(content_types=['text'])
    def first_message_handler(message):
        if message.text in bus_timetable:  # назвали известный город? Это пункт отправления
            kbd = ...  # тут определяешь клавиатуру, опираясь на города в bus_timetable[message.text]
            response = bot.reply_to(message, "А теперь назовите пункт назначения", reply_markup=kbd)
            # обрати внимание: все параметры после указания функции second_message_handler будут
            # переданы в эту функцию при её вызове. А вызвана она будет, когда пользователь ответит.
            bot.register_next_step_handler(response, second_message_handler, message.text)
        elif ...  # нам назвали не город - тут можно проверить другие команды
    
    def second_message_handler(message, point_from):
        # а эта функция будет вызвана только когда пользователь уже назвал пункт отправления
        # point_from будет содержать название города, отправленное пользователем.
        if message.text in bus_timetable[point_from]:  # нам назвали допустимый пункт назначения
            bus_rides = bus_timetable[point_from][message.text]  # список рейсов
            ...  # дальше перебираем список bus_rides и выводим его пользователю
        else:  # пользователь назвал что-то другое
            ...  # говорим пользователю, что он дурак
    Ответ написан
    1 комментарий
  • Где взять бэкенд для фронтенд учебного проекта?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Ответ написан
    Комментировать