• Стираются данные при записи в коде телеграм бота, как исправить?

    Vindicar
    @Vindicar
    RTFM!
    Читаем доки.
    Синхронный телебот по умолчанию выполняет обработчики в пуле потоков, чтобы один медленный обработчик не ставил колом всего бота. Как следствие, ты ловишь т.н. состояние гонки, когда несколько обработчиков (или несколько копий одного обработчика), работающих в разных потоках, одновременно обращаются к одному ресурсу - например, к твоему словарю suggested_photos, или к файлу, или ещё к чему. Косяки при этом могут возникать самые весёлые - и, что самое неприятное, они будут то появляться, то исчезать в зависимости от порядка исполнения потоков.

    Так что либо пробуй отключать многопоточность параметром конструктора Telebot (ссылку на доки я дал), либо разбирайся, как писать многопоточные приложения - например, защищая глобальные ресурсы бота мьютексом.

    Также можешь попробовать перейти на асинхронный вариант телебота, но там нужно понимать как вообще устроены асинхронные приложения.
    Ответ написан
    Комментировать
  • Как настроить Git?

    это командная строка, через неё можешь пользоваться гитом, и не только
    Ответ написан
    Комментировать
  • Как записать массив PHP в базу данных MySQL?

    rozhnev
    @rozhnev Куратор тега PHP
    Fullstack programmer, DBA, медленно, дорого
    Если массив не очень большой - сделайте всё одним запросом:
    <?php
    $data = [
        ['a' => 1, 'b' => 2, 'c' => 3],
        ['a' => 1, 'b' => 2, 'c' => 3],
        ['a' => 1, 'b' => 2, 'c' => 3],
        ['a' => 1, 'b' => 2, 'c' => 3],
        ['a' => 1, 'b' => 2, 'c' => 3]
    ];
    
    $query="INSERT INTO t (a, b, c) VALUES " . implode(
        ', ', 
        array_fill(
            0,
            count($data), 
            '(' . implode (', ', array_fill(0, count($data[0]), '?')) . ')'
        )
    );
    
    echo $query;
    
    $values = array_reduce(
        $data,
        function($ac, $el) {
            return array_merge($ac, array_values($el));
        },
        []
    );
    
    var_export($values);
    
    $q=$pdo->prepare($query);
    $q->execute($values);


    Здесь вы можете протестировать код
    Ответ написан
    1 комментарий
  • Требования для серверной комнаты на предприятии?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Скорее всего в серверной будут хранится база данных с ПД (персональные данные) сотрудников.
    В этом случае, будет применяться Постановление Правительства РФ от 1 ноября 2012 г....:
    - В нем определяются 4 уровня безопасности (с условиями) и для каждого уровня определены требования безопасности.
    - Обобщая необходимо: вести журнал аудита, следить за доступом к серверной, иметь ответственное лицо за ПД
    - Следить за доступом к серверной - только (как я понял) для 4 уровня

    Также стоит упомянуть коммерческую тайну: если есть информация, составляющая коммереческую тайну, то обязанность за ее сохранность на плечах собственника. Если произойдет утечка и все узнают, что просто за серверной не следили, то тут вряд-ли будет какая-то компенсация (но это не точно)
    Ответ написан
    Комментировать
  • Требования для серверной комнаты на предприятии?

    GavriKos
    @GavriKos
    Закон - вряд ли. А вот другие документы типа указов, нормативных актов, ГОСТ-ов и прочего - наверняка есть.
    А вот закон о нарушении этих самых актов и ГОСТ-ов - есть
    Ответ написан
    1 комментарий
  • Как сделать чтобы фотографии были также слитно?

    Krasnodar_etc
    @Krasnodar_etc
    fundraiseup
    .photo__section {
      height: 857px;
      display: flex;
      // здесь вы перетираете display flex на inline-block, из-за этого flex-свойства работать не будут
      display: inline-block;
      justify-content: space-between;
      align-items: center;
    }
    
    .photo__colage {
    // это стили для обёртки, а не для элементов
      display: flex;
      flex-wrap: wrap;
    }
    .photo__photo {
      width: 477px; // это же для одного фото? Если для обёртки, то надо перенести в . photo__colage
      height: 357px;
      position: relative;
      background-size: cover;
      margin-left: 0;
      // не знаю, зачем вам здесь эти стили, но без display: flex они не сработают
      flex-direction: column;
      justify-content: space-between;
    }
    Ответ написан
    Комментировать
  • Как сделать чтобы фотографии были также слитно?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Практически весь код нужно выкинуть..
    /*.photo__section {*/
    .photo__colage {
      /*height: 857px;*/
      /*display: flex;*/
      /*display: inline-block;*/
      /*justify-content: space-between;*/
      /*align-items: center;*/
      display: grid;
      grid-template-columns: repeat(4, 1fr);
    }
    
    .photo__photo {
      /*width: 477px;*/
      /*height: 357px;*/
      /*position: relative;*/
      /*flex-direction: column;*/
      /*justify-content: space-between;*/
      background-size: cover;
      /*margin-left: 0;*/
      /*vertical-align: right;
      /*justify-content: space-between;
      flex-direction: column;*/
    }
    Ответ написан
    Комментировать
  • Не могу понять почему отказ в доступе?

    @historydev
    Острая аллергия на анимешников
    chmod +x /usr/bin/scan/scan.py
    Ответ написан
    Комментировать
  • Как запускать выполнения файла по расписанию?

    @pfg21
    ex-турист
    есть стандартная системная служба cron

    в менеджере systemd есть более современный метод создать my_name.service и к нему запускалку по времени my_name.timer
    статей мильен и для того и для того
    пишем задание для cron
    пишем свой timer для systemd
    Ответ написан
    1 комментарий
  • Как запускать выполнения файла по расписанию?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    systemd-timer. Нихт юзать крон в 2024.
    Ответ написан
    1 комментарий
  • Как возвести в степень в php?

    GavriKos
    @GavriKos
    Цикл + умножение.
    Ответ написан
    Комментировать
  • Как заблокировать доступ к ресурсу для конкретного региона?

    ky0
    @ky0 Куратор тега Nginx
    Миллиардер, филантроп, патологический лгун
    Рабочий вариант, не полагающийся на разной степени редко обновляемые географические базы IP-адресов - закрыть SSH совсем и ходить только из локальной сети, например через впн.

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

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    GeoIP ngx_http_geoip_module

    1. Nginx должен включать модуль ngx_http_geoip_module.
    2. Качаем БД GeoLite2 Country.
    3. Пример конфига (nginx.conf), с отправкой всех из Индии в 403 лес:
    http {
        geoip_country /path/to/GeoLite2-Country.mmdb;
        map $geoip_country_code $allowed_country {
            default yes;
            IN no; # banned india
        }
    }
    
    server {
        if ($allowed_country = no) {
            return 403;
        }
    }
    Ответ написан
    5 комментариев
  • Можно ли ставить диски WD Purple в NAS?

    ZERGeich
    @ZERGeich
    Никакого конкретного запрета - нет.
    В маркетинговых спецификациях - никаких запретов нет.
    Возможно есть специфические технические нюансы, но в целом - какая нафиг разница?
    Ответ написан
    Комментировать
  • Telethon - как пересылать видео/фото при этом скрывая имя пользователя?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    везде искал - не нашел

    А в официальной документации искали?
    В в телеграмме есть возможность скрыть автора при пересылке,я хочу чтобы скрипт пользовался ей

    Можно использовать метод forward_messages().

    Forwards the given messages to the specified entity.
    If you want to “forward” a message without the forward header (the “forwarded from” text), you should use send_message with the original message instead. This will send a copy of it.
    Ответ написан
    2 комментария
  • Почему не стартует проект на react?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    npm start
    Ответ написан
    1 комментарий
  • Насколько глубоко нужно знать Linux дата-инженеру?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    По-хорошему, надо знать то, что потребуется для работы.
    Обычно это понимание как работает командная строка, терминал, ssh.
    Немножко вглубь: файлы, дескрипторы, файловая система, монтирование, симлинки, хардлдинки, пайпы, конвейеры, синтаксис перенаправления между стандартными потоками ввода/вывода, базовые утилиты командной строки (grep, ls, tee, tail, cat и т.д.), желателен какой-то опыт работы со всем этим, понимание как обычно устроен механизм передачи параметров в таких утилитах, как их выстроить в конвейер, как запаковать\распаковать поток данных на лету. Желательно понимать что такое, как устроены и для чего нужны make-файлы.
    Нужно понимать как пользоваться менеджерами пакетов основных дистрибутивов, желательно в общих чертах понимать что такое докер, контейнеризация в целом, ориентироваться в командах управления образами и контейнерами, понимать что такое вольюмы и где их искать, уметь читать докер-файлы и компоуз-файлы, понимать как вообще это всё работает. Ну и GIT нужно уметь использовать.

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

    Melkij
    @Melkij
    PostgreSQL DBA
    Если у этого набора нестандартное напряжение 1,25В - то оно не пониженное, а повышенное. DDR5 использует 1.1V

    Варианта два: или договорятся с материнкой на использовании XMP профиля в нестандартном режиме разгона либо согласуют стандартный SPD профиль (соответственно на стандартном для DDR5 напряжении), а дальнейшие настройки вручную.
    Ответ написан
    1 комментарий
  • Что учить дальше?

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