• Есть ли разница между памятью в PHP и C#?

    @Vitsliputsli
    Adamos, если речь про fixed array, то у него свои ограничения и соответственно не всегда можно лего заменить им стандартный массив. А вот замечание alexalexes про передачу по ссылке, чтобы не копировать весь массив, наверное более часто можно встретить. Опять же, если знать как php работает с памятью и помнить про copy-on-write, то и это не всегда нужно.
    По ссылке передается только то, что указано передавать по ссылке, в том числе массивы. Объекты хоть и не создаются заново при передаче в переменную, это не тоже самое, что передача по ссылке, там есть свои нюансы.
    И, хотя, я не согласен с Ипатьев по поводу php "запустился, поработал долю секунды, завершился", очень часто работал с демонами, которые работают неограниченно долго. Но, согласен, вопрос "на стеке или в куче" для php не столь актуален. Хотя теоретически вопрос очень интересный, насколько знаю, с 7 версии zval хранятся именно в стеке, но не смогу рассказать подробно как организуется хранение, сам хочу поизучать вопрос.
  • Есть ли разница между памятью в PHP и C#?

    @Vitsliputsli
    Владимир Коротенко, автору это не нужно, он спрашивает совсем о другом.
  • Есть ли разница между памятью в PHP и C#?

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

    совсем не так, когда речь идет о fpm, разве что в cli так, и то, там можно включить кеширование байт-кода.
  • Как объединить строки в SQL?

    @Vitsliputsli
    pivot, либо какой-то хитрый case when
  • Почему у практически идентичных условий разная скорость проверки?

    @Vitsliputsli
    Нет, видно дело в другом. Если выделить target - nums[i] в отдельную переменную, то производительность будет гораздо выше, чем в рассматриваемом случае. И в байткодах этого не видно.
    Скорее всего это связано с оптимизацией хранения переменных с малыми значениями, но наверняка трудно сказать.
  • Зачем ip телефония?

    @Vitsliputsli
    Sergey, в оборонке свои требования безопасности, но автор спрашивает не об этом. Поэтому мобильники здесь еще как при чем, для оборонки нормально их вовсе запретить, для коммерческого офиса нет. "ip телефония это не видео-конференц связь", но все это инструменты коммуникации, о чем автор и спрашивает. По безопасности в них нет никакой разницы, разница в том, где стоят серверы и что за ПО используется.
    Работал, и опять же это никакого отношения к вопросу не имеет.
  • Зачем ip телефония?

    @Vitsliputsli
    Sergey, что здесь действительно не при чем, так это оборонка.
  • Зачем ip телефония?

    @Vitsliputsli
    Sergey, оборонка это особый вопрос, на режимном объекте вообще мобильные могут изыматься, что вовсе не означает, что нам тоже нужно от них избавляться. Но даже там, нет проблемы использовать что-то подобное зум, с учетом что сервер находится у них и ПО лицензированное. И для видеоконференций они так и делают.
  • В PHP 5.6 и MySQL Emoji отображаются как ????

    @Vitsliputsli
    В базе данных изменил кодировку с utf8 на ut8mb4, но результат все тот же.

    Что значит кодировка в базе данных? У конкретной таблицы точно сменили кодировку? Что написано в show create table?
  • Взаимодействие уровней сетевых моделей?

    @Vitsliputsli
    Сергей Малинин, данные не "попадают с одного уровня на другой". Откройте пакет в сниффере, том же Wireshark и посмотрите. В начале пакета будут адреса уровня Ethernet, потому будут адреса TCP/IP, а дальше будут данные HTTP.
  • Сколково или частный инвестор?

    @Vitsliputsli
    Был неудачный опыт работы с ментором и это был большой подводный камень.

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

    @Vitsliputsli
    mayton2019, вопрос не столько в том, сколько занимает вся база, а сколько данных активно используется. Если активно используемое помещается в буффер, то не надо ходить на диск за данными и все будет быстро.
    Но, в конкретном случае сложно угадать, у автора 100 выборок разных пользователей за одну операцию, что он с ними делает сложно сказать, быть может как раз аналитику и ему нужны все 2 млрд на каждый запрос.
  • Расскажите пожалуйста, что может произойти, если ответвить ветку от родительской с текущим кодом, а потом изменить родительскую ветку?

    @Vitsliputsli
    Сергей Кузнецов, ну так, я ж про это и писал.
    Что касается rerere, не представляю где это может понадобится. Решать одни и те же конфликты повторно - это какой-то мазохизм, при нормальном git flow такое не нужно.
  • Как оптимизировать высокий lock_time в slow_query_log на insert или update?

    @Vitsliputsli
    То, что в where кроме id еще что-то понаписано наводит на странные мысли, либо id не pk, либо ..., но судя по query_time запрос выполняется быстро и все уходит именно на ожидание освобождения лока.
  • Как работать с базой на 2 миллиарда записей?

    @Vitsliputsli
    mayton2019, не хитрое, имеется ввиду, что вы можете создать базу не на диске, а прямо в памяти на время работы приложения. Поэтому и есть указание, что обычно все же пишем на диск.
    Классические СУБД предпочитают сами управлять буфером, т.к. только они знают приоритеты. Выдавленная из буфера страница с данными может и не понадобится, а вот страница с индексом уже критично. ОС на это пофиг, ей надо - она займет, не разбираясь.
    И справедливости ради, это актуально для данных так или иначе помещающихся в оперативку, если же данных с которыми работаем в разы больше, то читаем диск, как это делают колоночные СУБД.
    Т.е. под каждую задачу свой инструмент.
  • Расскажите пожалуйста, что может произойти, если ответвить ветку от родительской с текущим кодом, а потом изменить родительскую ветку?

    @Vitsliputsli
    Это действительно нормальный рабочий процесс. Но вот хорошо, это вряд ли, конфликты могут требовать много времени для решения, и лучше их избегать. Стараться как можно раньше затягивать обновления, разумеется насколько это возможно.
  • Какие ограничения в PHP существуют?

    @Vitsliputsli
    eugene159, apache / nginx в эту ситуации ни при чем, в OpenServer они запущены или иначе тоже.
    Указанных настроек должно быть достаточно для вывода ошибок на экран. Возможно, что-то перехватывает исключения и обрабатывает их внутри себя, или вероятнее подключение к СУБД происходит в другом месте с другим настройками, тогда нужно смотреть функционал обработки ошибок в CMS, и вряд ли это делают плагины. Возможно, в CMS есть режим дебага, при включении которого, вывод ошибок будет прямо на экран.
    Ну и посмотреть файловый лог, в него CMS обязана писать, оставить разработчика без логов это совсем не адекватно.
  • Какие ограничения в PHP существуют?

    @Vitsliputsli
    eugene159,
    какая у тебя ошибка выдается, если отвалилось соединение с БД?

    Выкидывается exception PDO, который логируется с указанием причины разрыва соединения.

    а если не хватает ОЗУ?

    fatal error, который также логируется, с прямым указанием, что не хватает памяти, какой сейчас лимит и сколько нужно было выделить.

    В логах PHP?

    именно.

    На самой странице, где выполняется код?

    обычно туда технические ошибки не выводят.

    У меня такие ошибки никогда не выводились. Я догадывался о них интуитивно. Как раз таки пробуя менять лимиты.

    Об этом и речь, быть может стоит пересмотреть вопрос логирования. Я просто предлагаю, если это невозможно, я не настаиваю.