• Как в телеграме сделать меню у бота?

    Zagir-vip
    @Zagir-vip
    Web dev, Game dev, app dev, Разработчик на Python!
    Давайте я за вас прочитаю документацию про Bot Menu Button
    Ответ написан
    Комментировать
  • Какую key-value БД использовать с данными в 10 млрд строк записей?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Несколько мыслей.

    1) У меня устойчивое дежа-вю. Периодически в топик заходят люди с именно этим вопросом. Разница только в количестве. Кому 1 млрд. Кому 10. Можно также поискать и слинковать эти вопросы в один большой вопрос.

    2) MySQL который указан в тегах - нормально справляется с этой задачей. Он и не такое число строк
    умеет хранить. И если взять MariaDb - там есть куча новых engines которые можно крутить для тюнинга
    именно скорости чтения. Разумеется жертвуя чем-то другим. Транзакциями и записью например.

    3) Непонятно что такое минимальное время? Если использовать дисковую БД типа MySQL то деградация времени
    поиска будет примерно зависеть от логарифма количества строк. Тоесть деградация будет но очень медленно.
    Для 10 млрд индекс по key будет содержать порядка 4-5 уровней BTree дерева. Тоесть дисковой системе
    нужно будет сделать до 5 или до 6 рандомных чтений (если нужные данные лежат в таблице). Это достаточно
    быстро для того чтобы моргнуть глазом за это время. Рандомное чтение любого блока из магнитного диска
    класса SATA-3 занимает порядка 20 милисекунд. Тоесть для 5 уровней - это 100 милисекунд. Для дисков
    класса SSD и это время можно уже считать меньше милисекунды. Точно я не знаю надо мерять.

    Испортить это время может сетевой лаг который в данной задаче мы просто не учитываем. Считаем что сеть идеальна.

    4) Непонятно зачем здесь указан Redis. Его задача не хранить 10 млрд а хранить только горячие
    ключи по котороым идет очень частый доступ. Если автор хочет In-memory хранение - то время можно
    еще сильнее улучшить. Его можно свести практически до нуля (я вангую несколько микро-секунд)
    но придется прикупить планок памяти побольше и посчитать сколько памяти
    надо для 10 млрд key/values неизвестной длины. Вообще крутить регулятор в направлении
    микро-секунд нет особого смысла т.к. другие звенья вашего стека (приложение и сеть) могут
    быть на порядки медленнее а это вообще нивелирует всю пользу от такой оптимизации.
    Ответ написан
    41 комментарий
  • Как может выглядеть сложное задание на Laravel?

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

    Fragster
    @Fragster
    помогло? отметь решением!
    ну так в https://laravel.com/docs/master/notifications#spec... аргумент - это твой пользователь же. Там и определяй из его настроек то, куда слать.
    Ответ написан
    1 комментарий
  • Как правильно реализовать авторизацию через социальные сети в паре с laravel-passport-ом?

    @Kostik_1993
    Web Developer
    Вход через соц сети делается один раз. Процесс этот простой вы переходите по адресу вашего сайта который редиректит вас на выбранный сервис (например ВК) там вы жмете войти и вас редирекит на callback url вашего сервиса с токенон (одноразовым) по которому вы можете получить данные юзера, вы (socialite) шлет запрос на получение пользователя только один раз, а не каждый. С полученными данными вы уже работаете, например создаете пользователя если его нет и выролняете вход на вашем бекенде
    Ответ написан
    Комментировать
  • Для чего нужен составной ключ в mysql?

    flapflapjack
    @flapflapjack
    на треть я прав
    У меня например есть таблица "права доступа".

    access (id,user_id,access_mode)
    У одного пользователя не может быть два раза одно и тоже значение access_mode ( зачем допускать пользователя 2 раза к одному и тому же разделу сайта?)

    Потому я использую двойной ключ (user_id,access_mode)
    Ответ написан
    9 комментариев
  • Для чего нужен составной ключ в mysql?

    @luna3956
    Составные ключи могут служить заменой специально вводимым идентификаторам.
    Например есть таблица Пользователи вида Users(id, name) и таблица Фотки вида Photos(id, name).

    Таблица содержащая фотки пользователей будет таблица UsersPhotos(user_id, photo_id). В данном случае эти два поля образуют составной ключ, эта связка будет уникальна и нет смысла вводить избыточный идентификатор, если этого не требует логика приложения.
    Ответ написан
    7 комментариев
  • Правильно ли я защитил сайт?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    правильно
    ты, главное, идею пойми
    а как поймешь - поймешь что csrf лучше ставить JS кодом, уже сложнее для атакующего, ну и прочие навороты
    ну и проверка-то правильная
    а вот вставил ли ты ее ВО ВСЕ страницы где она нужна?
    Ответ написан
    1 комментарий
  • Php не видит классы после установки сайта на хостинг, что делать?

    @Nc_Soft
    Ох уж эти программаторы на винде. Регистр директории смотрите
    namespace shop\core;
    а сама папка Core
    В винде core и Core это одна и таже папка, но в линуксе нет.
    (хотя на маке также :D)
    Ответ написан
    4 комментария
  • Как решить проблему с php.ini?

    @4iloveg
    Full-Stack HTML Developer
    Ошибки ведь читаемые и всё понятно
    . >=7.1.3 <7.3 -> your PHP version (7.3.12) установленная версия не входит в указанный диапазон
    the requested PHP extension mbstring is missing from your system. - нужно подключить модуль. Как подключать инфы уйма.
    Ответ написан
    Комментировать