Задать вопрос
  • Какое железо лучше для нагруженного веб-сервера?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    Для нагруженных сервисов железо не так важно, важна архитектура.
    Железо - это вертикальное масштабирование и оно всегда имеет ограничения, с которыми все сталкиваются через полгод-год-два. Впрочем, этот твой вопрос тому доказательство.
    Надо делать упор на горизонтальное масштабирование, чтобы не зависеть от характеристик железа.
    Другими словами, должно быть много недорогих (слабых) серверов, а не один дорогой и мощный.
    Лично мне такой подход позволяет держать нагрузку ~24000 запросов в секунду на десяти дешёвых серверах.
    Если нагрузка возрастёт, то я куплю ещё 2-5-10 дешёвых серверов вместо того, чтобы думать о характеристиках железа
    Ответ написан
    Комментировать
  • Криптографические библиотеки для C/C++?

    конкретно для моих проектов меня интересуют алгоритмы(sha, rsa,ecdh, aes), и хочу найти информацию по поводу существующих библиотек на эту тему.

    https://www.cryptopp.com/wiki/RSA_Cryptography - вот страничка на cryptopp-шной wiki по RSA, пробовали читать? Что понятно/непонятно? Вы уверены, что вам нужна информация именно по библиотеке, а не по самим алгоритмам?

    Мне интересно узнать ваше мнение, как вы думаете, насколько безопастно/грамотно использовать самописные крипто-либы, и использовали ли вы бы такие библиотеки для какого-то продакшена?

    Вам - категорически не советую. Если бы вы знали достаточно для самостоятельной безопасной реализации таких алгоритмов - вы бы не задавли этот вопрос. Кроме того, вы бы понимали, что гораздо проще разобраться с существующей библиотекой, чем писать свою реализацию.

    Судя по вашему вопросу, вы пытаетесь обойти необходимость разбираться со сложными вещами, в том числе путём велосипедостроения. Криптография - это область, которая не терпит такого подхода. Разумеется, люди время от времени реализовывают свои собственные решения с нуля (ведь кто-то же начал проекты cryptopp и openssl), но они хорошо осведомлены как о всех существующих решениях, так и сложностях с созданием своего собственного. И о практическом выхлопе от затрат на качественную реализацию своего решения.

    Если это серьёзный продакшен - то криптовелосипеды от начинающего разрабочтика там ни к чему.
    Если это учебный проект или пет-проект - ну тут риски не оценить без дополнительной информации. Если вам просто хочется попрактиковаться в реализации SHA - тогда и спрашивать смысла нет, берите и реализуйте.
    Ответ написан
    Комментировать
  • Почему phpstorm не видит php обработчик?

    DevMan
    @DevMan
    потому что консоль не имеет никакого отношения к этой настройке.
    курите что такое PATH.
    Ответ написан
    1 комментарий
  • Как исправить ошибку TypeScript?

    @wonderingpeanut
    Когда в джаваскрипте появился такой интересный синтаксис?))
    if (0 < something && something < 90) {
      doSomething();
    }


    upd. технически это будет работать, но совсем не так, как ты думаешь.
    Сначала выполнится выражение 0 < windDeg, результат этого выражения будет boolean. Потом булевое значение сравнивается с числом. Отсюда ошибка.
    Ответ написан
    1 комментарий
  • Какая версия Ubuntu лучше для бюджетного VPS?

    karabanov
    @karabanov Куратор тега Ubuntu
    Системный администратор
    Ubuntu 20.04 - свежее ядро, долговременная поддержка. Серверная версия места почти не занимает.
    Если по религиозным причинам не устраивает, то Debian 11.
    Ответ написан
    Комментировать
  • На что обратить внимание на сервере после взлома?

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

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    исходя из вышеизложенного, какой бы стек технологий вы бы выбрали как разработчик чтобы решить вышеописанную задачу?

    Для начала немного контекста - 2 важных примечания:
    1) Описанная задача решается на любом упомянутом стеке, + еще десяток возможных вариантов (Java/Spring, питон, нода, дотнет, голанг и т.д.).
    2) Быстродействие системы зависит от ее самой медленной части, и в 95% случаев самая медленная часть - БД, просто в силу специфики работы: много данных со сложными связями, выборки с сортировкой и фильтрацией из большого массива и вот это все, в то время как язык бэкенда в основном выполняет достаточно простые манипуляции с уже готовыми наборами данных (за редчайшими исключениями, которых в вашем кейсе нет, или они не описаны в вопросе).

    В вашем случае:
    - база можно сказать совсем небольшая, до 1 миллиона записей условный мускуль ворочает весьма шустро, если железо соответствует.
    - задача сбора метрик достаточно тривиальная, особого ума в сохранении действий пользователя не надо, бОльшая часть работы - вывод в красивые графики и написание быстрых запросов с хитрыми выборками/агрегациями, немного пошаманить с формулами, возможно делать какие-то сводные выборки с денормализованными результатами для отчетов и прочие мелочи. Работа не сложная, но нудная, и ее много.

    Насчет стоимости и условий:
    полный самопис 150к+ (я это не тяну) или же сайт на Laravel +MySQL а дальше варьируется.
    полный самопис - либо маркетинг, либо идиотизм, писать на голом языке не будет ни одна нормальная студия, в принципе в данном случае либо используется фреймворк и заказчику преподносится как "сделано вручную программистами девственниками под светом серебряной луны", либо разработчики идиоты, мнящие себя круче всех (нет). В первом случае это то же что и "сайт на Laravel +MySQL" (норма и стандарт для среднего уровня студий), во втором - развод на мани на пустом месте и попытка продать г**но в обертке "иксклюзивнасти".

    По цене - на сегодняшний день, если я не ошибаюсь, 150к деревянных это +- 1000уе. Цена приемлемая за нормальную работу, если найдете дешевле "на Laravel" - думаю будет вообще ок. Опять же, цены штука такая, кто-то за копейки сделает хорошо, кто-то за дорого каку сляпает. Влияет так же регион, понятно что в Мск цена будет серьезно больше чем в условном Челябинске...

    Важный момент - нормальное ТЗ в разы упрощает как поиск исполнителя, так и оценку работы. Я бы на вашем месте погрузился именно в тему создания качественного ТЗ, нежели в дебри современных технологий.

    UPD:
    проект планируется на 100 к+ посетителей в месяц...
    предупреждают что если аудитория достигнет условных 100 тысяч в месяц Лара начнет потихонечку задыхаться от нагрузки,
    ок, пусть будет 200к для наглядности.
    В среднем, если это маркетплейс, то постоянных посетителей будет не много, думаю около 10%, так что ими можно пренебречь. Условно - 200к / 30 дней = 6600 в сутки, при активных 10-12 часах посещения это ~600 в час. Пусть на 1 посетителя будет 5 запросов страниц, это 600*5=3000 в час = 50 в минуту или менее 1 запроса в секунду.
    Даже если умножить это на 30 (допустим такая пиковая нагрузка), 30rps вообще "ниачем". Не знаю кто там вам считал то это проблема, любое современное железо среднего уровня вытягивает без напряга.
    Ответ написан
    2 комментария
  • Как изменять значение в бд по времени?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А что мешает вместо 0/1 заносить срок окончания подписки и проверять его?
    Ответ написан
    Комментировать
  • Как исправить ошибку " Undefined offset: 1"?

    @jazzus
    Для связей фабрик в Ларавел есть свой способ https://laravel.com/docs/8.x/seeding#using-model-f...
    А запросы в бд из фабрик нужно удалить. Это плохая идея.
    Ответ написан
    4 комментария
  • Парсер JSON на PHP или Python?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    JSON не надо парсить, это стандартизированный формат, для чтения которого есть библиотеки на почти каждом языке. Нужно просто читать. Это самая элементарная вещь, не требующая вообще ума.
    Ответ написан
    3 комментария
  • Кто-нибудь знает как вывести php artisan route:list с нормальным форматированием?

    delphinpro
    @delphinpro Куратор тега Laravel
    frontend developer
    Переписать команду. Можно исходник дернуть из девятой ларки и сделать из него свою команду.

    Создаем команду

    php artisan make:command RouteListCommand

    Копируем в созданный файл содержимое отсюда https://github.com/laravel/framework/blob/9.x/src/...

    Меняем неймспейс на App\Console\Commands
    Комментируем строку с вызовом пока несуществующего метода https://github.com/laravel/framework/blob/9.x/src/...

    - $rootControllerNamespace = $this->laravel[UrlGenerator::class]->getRootControllerNamespace()
    -            ?? ($this->laravel->getNamespace().'Http\\Controllers');
    + $rootControllerNamespace = ($this->laravel->getNamespace().'Http\\Controllers');


    И получаем листинг роутов как в девятке.

    spoiler
    61ff5f82e7614202157205.png

    Это я в восьмом ларавел пробовал.
    Ответ написан
    7 комментариев
  • Как возвращать 403 код ответа при просроченном токене Laravel Passport?

    ddv88
    @ddv88
    Binance Futures
    invalid_token The access token provided is expired, revoked, malformed, or invalid for other reasons. The resource SHOULD respond with the HTTP 401 (Unauthorized) status code. The client MAY request a new access token and retry the protected resource request.


    https://www.rfc-editor.org/rfc/rfc6750#section-3.1
    Ответ написан
    1 комментарий
  • Как лучше сохранять дату и время?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    вот я тоже не понял, в чем смысл этого "справочника"

    А справочник для цифр не хотите ввести? Ну там к примеру датчик показывает 200 миллизюзиков
    вы пишете 200 не в таблицу с показаниями, а берете её из справочника показаний, а в таблице с показаниями делается ссылка на это значение.
    А можно ещё сделать справочник цифр от 0 до 9, и присоединить его как многие ко многим. Сделать промежуточную таблицу, в которую записать ссылки на цифры 2, 0 и 0. И получить 200 через "понятное присоединение таблиц (join)"!
    Ответ написан
    5 комментариев
  • Как лучше сохранять дату и время?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Есть встроенный тип времени и даты и даже не один. Используйте его, а не костыли.

    INT -231 (-2,147,483,648) to 231-1 (2,147,483,647) 4 Bytes
    DATETIME 8 bytes
    7 * 4 = 28 это одна ваша запись оверхед в 20 байтов.
    Плюс по вашим данным нельзя искать используя встроенные функции и операторы, в общем реальная дичь.

    Кстати что натолкнуло на такую конструкцию?
    Ответ написан
    9 комментариев
  • Почему выдает ошибку при создании модели с миграцией?

    E1ON
    @E1ON
    Programming, Gamedev, VR
    A CreateUsersTable class already exists.
    Магия перевода:
    Класс CreateUsersTable уже существует.

    У вас успешно создалась сущность, но миграция с таким именем уже существует.
    Ответ написан
    Комментировать
  • Кто-то уже окунался в разработку с Nuxt 3?

    SeaInside
    @SeaInside
    15 лет пилю все эти штуки
    Вы соберёте все проблемы и завалите все дедлайны. :)

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

    Причём после релиза было ощущение что "сейчас всё быстренько допилят" (потому что и без того релиз на полгода откладывали), но динамика показывает, что ближайшие полгода - вряд ли, а то и год.

    Да и вообще есть ощущение, что они слишком фанатично пытаются всё упростить и обвешать магией, ушли куда-то не туда.
    Всякий сахарок - это прикольно, но должно быть опционально и навешиваться поверх уже готовой, работающей системы, а там половина issue - это борьба с теми проблемами, которые они сами себе придумали в погоне за "хотим, чтобы тут одну строчку написать - и дальше оно всё само".
    Но альтернатив не видно, поэтому пока Nuxt 2, возможно Nuxt Bridge, но и то смотреть надо.

    Другой вопрос - а зачем вам SSR для CRM? Для морды можно и пререндер сделать, а всё что за авторизацией - кому вообще интересно, есть там серверный рендеринг или нет?
    Ответ написан
    4 комментария
  • Как работают сессий в laravel?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    в сессии нет ничего магического.
    это всего лишь кука в браузере и хранилище на сервере, где по ключу из сессии ищется массив с информацией.
    вот и всё.
    реализовать такое руками - дело на 5 минут.
    что Лара и делает.
    session() лезет в куки и берет оттуда ключ. по этому ключу лезет в хранилище (оно может быть любое - база, редис, и т.п.), достаёт из него массив, и из массива достаёт 'key'
    всё просто

    только два более-менее сложных момента
    1. ключ в куку надо писать не абы какой а чтобы нельзя было подобрать. random_bytes в помощь, и подлиннее, штук 20.
    2. чтобы не лазить в хранилище каждый раз, когда надо записать значение в сессию, можно определить функцию, которая вызывается после выполнения скрипта. и в ней уже записывать массив из скрипта в хранилище
    Ответ написан
    2 комментария
  • Windows 11 как подключиться к беспроводной сети?

    @Drno
    А сам вай фай модуль в ПК точно есть?
    Драйвера на него установлены?
    Что показывает диспетчер устройств по этому поводу?
    Ответ написан
    5 комментариев