• Гриды так умеют?

    Mi11er
    @Mi11er
    A human...
    Можно, у гридов есть шаблоны прям.
    Ответ написан
    4 комментария
  • Как между асинхроными функциями делиться и перекидывать переменные и их значения?

    Vindicar
    @Vindicar
    RTFM!
    Потому что у каждого пользователя должен быть свой экземпляр хранимых данных.
    Например, вместо одиночного хранилища нужно иметь хранилище вида "ключ-значение", где ключом будет ID пользователя, а значением - данные, которые для этого пользователя актуальны.
    Природа этого хранилища не принципиальна: может быть простой словарь (если не нужно сохранение состоятния между перезапусками бота), может быть БД, может быть ещё что.

    Собственно, в аиограме есть механизм Finite State Machine, который как раз про организацию сценариев, с отслеживанием того, на каком этапе находится конкретный пользователь.

    Но для его использования нужно знать питон на уровне немножечко повыше "Если я пытаюсь исплользовать return то код дальше становится недоступным".
    Ответ написан
    Комментировать
  • Как навсегда отключить злоумышленника от моего компьютера?

    Несмотря на то, что не являюсь специалистом по информационой безопасности, на мой взгляд есть следующие факторы риска:
    1. низкая осведомлённость по теме информационой безопасности - полезно хотя бы периодически посещать сайты типа https://www.SecurityLab.ru
    2. настройки маршрутизатора (роутера) с паролем админа по умолчанию (admin/admin, admin/12345 и.т.д.)
    3. настройки маршрутизатора с возможностью удалённого доступа.
    4. настройки маршрутизатора со слабыми аутентикациями типа WEP, слабыми паролями и т.д.
    5. настройки маршрутизатора с открытыми портами на всё и вся, а также другие настройки сетей
    6. старый маршрутизатор с давно необновлённой прошивкой (firmware)
    7. нелицензионно установленная ОС, скачанная с интернета
    8. неустановленные или вовремя не установленные штатные обновления безопасности ОС
    9. любое ПО, установленное с сомнительных источников (в особенности игры)
    10. отсутствие средств защиты ОС: антивируса (хотя бы встроенного в ОС) и межсетевого экрана
    11. вовремя необновлённое ПО (дыры в Adobe Acrobat Reader, Adobe Flash, Java JRE и т.д.)
    Ответ написан
    Комментировать
  • Как сверстать вот эту фичу?

    AlekSays
    @AlekSays
    FrontEnd developer
    Ответ написан
    Комментировать
  • Какая правильная команда curl для отправки сообщения с сервера на телеграмм?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    В кавычки урл возьмите.
    Ответ написан
    Комментировать
  • Как сделать автоматическое обновление кода на хостинге из GitHub?

    @vitaly_il1
    DevOps Consulting
    Автоматически - точно так же, как вручную, но "завернуть" все команды в GitHub Actions.
    Вот примеры от самого GitHub https://docs.github.com/en/actions/automating-buil...,
    можно поискать в гугле по "мой-язык пример github actions"
    Ответ написан
    Комментировать
  • Как попасть на CA/B Forum?

    CityCat4
    @CityCat4 Куратор тега Цифровые сертификаты
    Внимание! Изменился адрес почты!
    Глеб, даже если бы ты туда и попал - тебе там делать нечего. Сейчас только один CA выдает сертификаты для РФ и - ты разве не уловил тенденцию - на всех банковских вебмордах сейчас написано - "переходите на российские сертификаты". То есть в перспективе, доступ в тырнет будет только при их наличии, будем пользоваться госCA, на мировую структуру забьем (раз она на нас забила).
    На этом форуме сидят серьезные конторы, ты во сне столько бабок не видел...
    Ответ написан
    6 комментариев
  • Сколько строк кода может уместить ATmega 8?

    @kalapanga
    Так выбирают микроконтроллер для большой серии изделий, когда важна каждая копеечка. А для хобби, обучения и т.п. не жадничают, а берут с запасом - какой-нибудь актуальный, современный МК. Когда напишете проект - другой, появится и представление о том, на какой функционал сколько и каких ресурсов нужно.
    И да, память - далеко не единственный и далеко не всегда главный критерий выбора МК.
    Ответ написан
    Комментировать
  • Сколько строк кода может уместить ATmega 8?

    GavriKos
    @GavriKos
    Никто, включая МК, не меряет размер кода строчками.
    Тем более компилируемый код.

    МК вмещает столько скода, сколько у него памяти (вроде обычно ROM или ее часть для этого используется), может с небольшой поправкой (загрузчик там например). Но - чаще всего - ассемблера. А не C++.

    я примерно представляю сколько строк кода в нём будет

    не верю
    Ответ написан
    5 комментариев
  • Как выбрать работодателя чтобы меньше работать?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Я заметил, что компании которые зарабатывают на разработке (IT-гиганты, аутсорс, стартапы) в основном относятся к 1 категории, а те, у которых разработка вторична (банки, магазины) - к 2.

    Наблюдение ошибочно. Своими глазами вижу, как две команды, сидящие за соседними столами в офисе одного банка, работают в очень разном режиме. Можно сказать, одни в первой вашей категории, а вторые во второй. А ещё вижу стартапчик, в котором уже третий год люди вообще не работают.
    Ответ написан
    Комментировать
  • Где лучше хранить БД? В докере или нет?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Дополню немного ответ Dr. Bacon, поскольку мне кажется он не так понял ваш вопрос, а вы, возможно, не так поняли суть проблемы.
    Под БД, например постгрес, обычно понимают две разные вещи:
    1) сами данные в файловой системе,
    2) сервер базы данных, который реализует сетевой интерфейс для работы с БД и правильным образом кладёт и читает данные в файловой системе.

    Так вот, сервер можно развернуть ка кна хостовой машине (как вы сказали "локально"), так и в докер-контейнере.
    Файлы БД можно разместить как в файловой системе контейнера, так и в локальной файловой системе, примонтированной внутрь контейнера.
    И тут полно нюансов.
    Давайте начнём с того, как правильно.
    Правиьным будет взять стандартный докер-образ сервера БД, сконфигурировать его через компоуз-файл, а размещение файлов БД примонтировать в виде отдельного volume.

    Что имел в виду Dr. Bacon. Он имел в виду, что если не монтировать файлы БД в volume, то они будут лежать внутри контейнера, а значит при его перезапуске все данные будут стерты, поскольку состояние файловой системы контейнера не принято хранить. Это одно из преимузеств докера - сделал образ унаследовав его от других образов, а потом при запуске контейнера он какждый раз как новенький.
    Ответ написан
    Комментировать
  • Почему занятого места на диске больше, чем файлов?

    paran0id
    @paran0id Куратор тега Linux
    Умный, но ленивый
    Скорее всего, где-то остались удаленные, но не закрытые файлы - какие-то программы их держат.
    Их можно найти командой
    lsof -X / | grep deleted
    Если совсем лень разбираться, можно просто перезагрузить систему
    Ответ написан
    6 комментариев
  • Есть ли какие-либо практические различия в PostgreSQL между доступом к jsonb через -> и []?

    Melkij
    @Melkij
    PostgreSQL DBA
    Начну с конца - для индексов это критично разные вещи. Планировщик даже пытаться анализировать не станет, эквивалентные это условия или нет. Если у вас есть индекс по my_column -> 'a', а в запросе вы написали "my_column"['b'] - то этот индекс использоваться не будет.

    Касательно самих двух операторов:
    -> ровесник jsonb как такового
    jsonb[element] - jsonb subscripting на языке документации - штука недавняя, лишь только прошлогодняя из pg14. Пока что нужно иметь в виду если вам может потребоваться более старая версия базы.
    По поведению отличий вроде не должно быть никаких. Оба варианта возвращают jsonb, поэтому IRL куда чаще используется ->> возвращающий текст.
    На уровне реализации оба приходят к одному и тому же getKeyJsonValueFromContainer. Вы скорее упрётесь в производительность разбора формата самого jsonb, чем заметите какую-то разницу в производительности родного оператора от type subscripting.
    Ответ написан
    Комментировать
  • Как можно задублировать bot.send_message?

    Dr_Elvis
    @Dr_Elvis Куратор тега Python
    В гугле забанен
    Как то так
    file = open("text.txt", "r" )
        file_r = file.read()
        file_p = re.findall("'(.+?)'", file_r)
    
        for x in file_p:
            bot.send_message(message.chat.id, str(x), reply_markup=markup)
    Ответ написан
    5 комментариев
  • Как выбрать анонимный VPN?

    CityCat4
    @CityCat4 Куратор тега VPN
    Внимание! Изменился адрес почты!
    хороший и реально анонимный VPN

    poiskvps.ru :)

    Покупаешь.
    Ставишь.
    Пользуешься.

    Любой VPN сливает данные, особенно сейчас, когда ситуевина в мире такая охренительная. И это еще не самое интересное. VPN может оказаться, что сам содержится той конторой, от внимания которой Вы стремитесь уйти :)
    Ответ написан
    Комментировать
  • Почему postgresql создаёт ещё одну директорию?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Потому что внутри образа postgres:13.3 анонсируется том /var/lib/postgresql/data. Поскольку он никак не описан при создании контейнера, создаётся анонимный том в стандартном хранилище и монтируется в контейнер. То, что в манифесте также объявлен ещё один том, никак не влияет на автосоздание вот этого. В итоге у нас два тома, один описан явно и смонтирован в /app/app/database/pgdata, другой описан в образе и смонтирован в /var/lib/postgresql/data.

    Правильно монтировать свой том в /var/lib/postgresql/data, именно там образ будет хранить базу.

    Посмотреть, что думает образ, можно командой docker inspect postgres:13.3
    Ответ написан
    Комментировать
  • Работает ли сейчас DoH / DoT в России?

    @ynblpb_spb
    дятел php
    Все прекрасно работает
    Добавляете в настройках роутера любой сторонний DoH сервер и пользуетесь технологией
    Ответ написан
  • Как передавать html по ссылке?

    ThunderCat
    @ThunderCat Куратор тега HTML
    {PHP, MySql, HTML, JS, CSS} developer
    открыть в браузере - выделить все - ктрл+ц - ктрл+в в гугл почту не пробовали?
    Ответ написан
    Комментировать
  • Почему бот пишет про неудачу даже если дротик попал в цель?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    if sent.dice.value == 1 or 2:
    означает если (значение равно 1) или истина:
    то-есть всегда истинно.
    Внимательнее изучите, как правильно такие вещи делать.
    Можно
    if 1 <= value < 6:
    Можно
    if value in range(1, 6):
    Можно
    if value in [1, 2, 3, 4, 5]:
    Ответ написан
    3 комментария