Задать вопрос
  • JS скрипт вызывает .PHP файл, а PHP должен понять что обращаются с сервера?

    @Vitsliputsli
    Локально, это с сервера? Зачем тогда js? У вас сервер это машина на которой вы работаете, т.е. сервер с браузером?
  • Как оптимизировать ORDER BY в MySQL?

    @Vitsliputsli
    MikUrrey, а где у вас limit в запросе? Если у urlId действительно низкая селективность, значит вы вытягиваете из базы сотни тысяч данных, а это в любом случае будет медленно (т.к. из explain кудато исчез filtered, то число нужных строк не понятно).
    Партиционирование классная штука, но я надеюсь, вы понимаете, что делаете. Индекс в партициях все равно нужен, поэтому вряд ли это будет гораздо быстрее, чем правильный индекс в неразделенной таблице. А, если вдруг окажется, что у вас не один единственный запрос на всю базу, и понадобится выбирать данные без оглядки urlId, то при большом кол-ве партиций будет весело.
  • Как оптимизировать ORDER BY в MySQL?

    @Vitsliputsli
    композитный индекс пробовал первым, не работает.

    вот что значит не работает? не работает так быстро как хотелось бы? MySQL его не использует? использует частично?

    Стоит пробовать partitioned?

    Стоит показать как минимум explain запроса, т.к. начинать надо с него, а не с перехерачивания всей таблицы в надежде "вдруг заработает".
  • Зачем нужна инкапсуляция в ООП?

    @Vitsliputsli
    Сергей delphinpro, именно так, поэтому определение Adamos более верное - не свалка всего в одном месте, потому что все это используется вместе, а инкапсулирование независимых элементов в классы.
  • Зачем нужна инкапсуляция в ООП?

    @Vitsliputsli
    Сергей delphinpro, не, это кажется. Начинающие разработчики как раз и собирают в кучу, то что работает вместе. Нужно забрать из базы данных параметр, обработать его и вывести пользователю, т.к. это работает вместе, то он и напишет это одним куском. А по определению Adamos это абсолютно не верно.
  • Отличия GET от POST?

    @Vitsliputsli
    Dmitry Roo,
    ну вот, например, делаем два запроса get, допустим /get/user. Между ними данные пользователя изменятся, по какому-то бизнес-процессу. Получается, в первый раз какие-то одни данные прилетают, а второй - уже другие.

    Все же, под идемпотентностью подразумевается каким образом запрос изменяет сущности, а не что-то там еще в фоне это делает. Про get даже никто не говорит, что он идемпотентный, потому что он не изменяет сущности.
    delete идемпотентен, и не важно, что при последующих вызовах на несуществующую сущность, он пришлет в ответ что-то иное, важно что при любом кол-ве запросов сущность получила одно конкретное состояние. Т.е. такое же поведение как описал Василий Банников для logout.
    А по логике описанной в цитате, ни один запрос не будет идемпотентным, если вы в фоне будете менять данные.
  • Какой дистрибутив Linux лучше всего подходит для игр?

    @Vitsliputsli
    CityCat4, mkone112, noostyche, скажите, пожалуйста, вы все здесь рассуждаете теоретически, или кто-то реально играет на Linux, или пытался играть, но из-за проблем не получилось? Разумеется в последние 5 лет, а не 20 лет назад.
  • Какой дистрибутив Linux лучше всего подходит для игр?

    @Vitsliputsli
    Играю редко, и уже давно разделяю рабочий комп и игровой, игры запускю только на Windows, поэтому удивило процентное соотношение. Ради интереса взял 3 игры, которые первыми пришли в голову (они примерно лет 5 назад вышли):
    Stellaris - есть нативная версия;
    Red Dead Redemption 2 - как пишут, на Linux работает даже быстрее, чем на Windows (интересно было бы проверить);
    Escape From Tarkov - работает на Linux без проблем, но из-за системы античитов онлайн играть нельзя, т.е. по-сути играть не получится.
    Т.е. прям как noostyche описал.
  • Пакеты и репозиторий в linux?

    @Vitsliputsli
    Debit, как уже написали, пакет внутри имеет подготовленную структуру файлов для дистрибутива на котором работает. Т.е. чтобы запустить в Debian пакет иной структуры нужно сперва его сконвертировать в пакет deb, можете поискать, в Debian должно быть что-то такое для пакетов rpm, для пакетов Arch вряд ли. Поэтому не получится просто затащить другой пакетный менеджер.
    В Arch pacman не работает с Aur, используется надстройка (их достаточно много), потому что в Aur лежат не пакеты, а инструкции для сбора, поэтому вряд ли есть решения портирования в Debian.
    Вообще, чем сложнее устанавливаемое ПО тем более вероятно, что будут проблемы при попытке затащить его из другого дистрибутива. В таком случае, зачастую проще будет собрать из исходников свой пакет.
  • Пакеты и репозиторий в linux?

    @Vitsliputsli
    Пакеты это забота не о "глупых юзерах", а о скорости установки, устанавливать каждое приложение вручную нереально.
  • Как в регулярных выражениях php заменить только символ?

    @Vitsliputsli
    Stas1995, тогда вариант для конструкций из 3 чисел соединенных * или x, дописал выше
  • Почему не используют NoSql решения на каждого пользователя?

    @Vitsliputsli
    Александр Аксентьев, миграции для шардов не проблема, наоборот, т.к. шарды маленькие миграции на них будут проходить быстро. Не может быть зоопарка версий, если каким-то образом версии различаются, значит есть большая проблема в ПО которое пишут.
    Все обращения к шардам должны контролироваться автоматически, деплой тоже должен быть полностью автоматическим. При наличии этих условий зоопарк не сможет появиться.
    Миллионы шардов это действительно как то дохрена, но тысячи и десятки тысяч шардов вполне нормальная вещь.
  • Как построить систему рассылки?

    @Vitsliputsli
    Нормально, когда запланированная функция запускает другую запланированную функцию

    Что за "запланированная" функция? Что и зачем она запускает?

    Как вы построете систему зависит от требований, которые вы к ней предъявляете. Скорее всего, это будет очередь (в базе или в брокере сообщений), все остальное частности.
  • Сущевствуют ли унарные операторы php?

    @Vitsliputsli
    Eitewi,
    мне нужно суммировать в случае чисел, и конкатенировать в случае строк

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

    @Vitsliputsli
    Очищается что? Закрыли файловый дескриптор, логи идут в поток ошибок, и сразу же назначили файловый дескриптор... Не вижу, что мы очистим так.
  • Изучаю ООП, как лучше обрабатывать форму?

    @Vitsliputsli
    Прочитайте про MVC и Single Responsibility, попробуйте реализовать на любом популярном фреймворке, это поможет разобраться с этими вещами.
  • Как отправлять запрос в базу mysql по формуле?

    @Vitsliputsli
    Как решить в лоб, ответ уже дан. Но, по-хорошему, надо привести базу данных в вид, который необходим для работы, пока это помойка, где все накидано абы как, что теряется весь смысл использования СУБД.
  • Как решить проблему с переменной?

    @Vitsliputsli
    Игорь,
    вы не автор вопроса. Вы вклинились в обсуждение, придумали какие-то свои дополнительные условия, которых не было в вопросе и теперь самоутверждаетесь в теме рассказывая, что ваше мнение самое правильное если рассматривать именно ваши уточнения, а не исходный вопрос.
    Играйте в эти игры сами.

    Второй раз, автору предложили 2 варианта, работающих по разному. Комментирующие разделились на 2 лагеря, что только 1 из вариантов верный. Так о каких дополнительных условиях вы пишите? Я не писал, что мое мнение самое верное, наоборот, хотел услышать аргументы других сторон. А вот вы заявили, что ваш вариант единственно верный, с аргументацией "я прав, а вы все не правы", а мою аргументацию по делу просто игнорируете.
    Раз вклинились в обсуждение - давайте ваши аргументы. Если не понимаете, о чем я пишу, так прямо и спросите. Ваша "переменная не пустая" - это не абсолют в программировании, а просто специфика неявных преобразований в php. И, если автор (или тот, кто просто прочтет тему) проверяя через ==, незная, забыв или просто не учтя все вариации, наткнется, что 0 или false - это пустота, или в обратном случае, что число в строке - это не число, то ему не покажется, что я писал про что-то "лишнее".
    А пока выглядит, что вы просто не понимаете, что разработка ведется не на языке, а с помощью языка. И если в доке написанно "проверяет, пуста ли переменная", то не нужно тупо копипастить, а надо разобраться, что имеется ввиду.
  • Как решить проблему с переменной?

    @Vitsliputsli
    Игорь,
    в данной задаче нет ни слова о типах, только о проверке на то, что переменная не пустая. Поэтому спор == или === совершенно беспочвенный. А чтобы однозначно избежать неопределённости и решить задачу проверки на то, что переменная не пустая, используем функцию empty().

    как спор может быть беспочвенным, если для решения задачи предложено 2 оператора, а они действуют по-разному? Фраза "переменная не пустая" очень условная, empty проверяет исходя из специфики языка, а раз автор путает операторы присвоения и сравнения, то это как раз и может создать неопределенность для него. И, очевидно, что оператор == дает больше вариативности, чем ===, а значит нужно хорошо представлять себе все эти варианты.

    "Бывают ситуации" это за пределами рассматриваемого условия.

    За какими пределами? Если я как раз говорил, про получение данных извне, т.е. прям как раз рассматриваемый случай.