Задать вопрос
  • Как оптимизировали сайт, что он летает?

    @Vitsliputsli
    TldrWiki,

    Типичный ответ на отечественных сайтах

    Т.е. бесполезный? Вы всякий ответ, который предлагает чтото изучить считаете таковым?
    Если хотя бы поверхностно прочитать про протоколы, то станет понятно, что ping тут вообще не при делах. И с этого прям стоит начать.
    Ну а если говорить почему один сайтик быстрее другого, то ответ будет еще короче: потому что такая архитектура.
    А архитектура, это железо и софт, различные их сочетания и оптимизации, жонглирование данными и территориальной доступностью. Т.е. там прям дохрена всего, а не тупо "они тут все закешировали".
    Написано
  • Почему массив не меняется в цикле foreach?

    @Vitsliputsli
    Евгений Обыкновенный,

    т.е. я правильно предположил, что foreach для итерирования делает копию масссива.

    Грубо говоря - да, для простоты именно так и считаем. На самом деле, пока изменения не вносятся в массив, новую копию php не создаст.


    Тогда, наверно, решением будет использовать простой цикл for

    В общем случае для обхода массива нужно использовать итератор массива, это более производительно. For это не итератор, foreach - итератор. Разумеется на маленьких массивах от этого большой выгоды не увидим.
    Остальное rPman в ответе расписал.
    Написано
  • Стоит ли подписывать ученический договор?

    @Vitsliputsli
    Автор пишет от себя, без точных формулировок. И штраф может оказаться "возмещает другие понесенные работодателем расходы в связи с ученичеством", как в приведенном вами деле.
    Не говоря уже о том, что в России непрецедентное право, и то что прокатило в одном случае, в похожем может не прокатить.
    Да, чаще всего суды на строне работника, но прям расчитывать на это, думаю не стоит.
    Написано
  • Как правильно удалять старые данные из индексов elasticsearch?

    @Vitsliputsli
    xgyrfalconx,

    т.е. delete by query и _forcemerge?only_expunge_deletes=true это не считается "хорошим" способом очистки и влечет к последствиям?

    Не буду утверждать, что оно плохое, т.к. не пробовал идти этим путем. Но в неклассических СУБД, типа Эластика или Клика, чистка партиций самый простой, надёжный и удобный способ.
    Написано
  • Как правильно удалять старые данные из индексов elasticsearch?

    @Vitsliputsli
    xgyrfalconx, не обязательно по дате партиционировать, можно и другой параметр взять, с более равномерным распределением. Главное чтобы вы его всегда знали, чтобы определить в какую партицию-индекс писать.
    Написано
  • Как правильно удалять старые данные из индексов elasticsearch?

    @Vitsliputsli

    Или возможно стоит поделить этот индекс на множество мелких по датам и удалять старые индексы целиком, но переиндексация тоже требует много ресурсов?

    Обычно так и делают, самый оптимальный вариант.
    Какая переиндексация? Из текущего состояния в поделенный по датам? - да, потребует, но не сильно много, 22М это немного, если конечно, эти отдельные документы не огромны сами по себе.
    Написано
  • С какой стороны подобраться к изучению программирования в области ИИ?

    @Vitsliputsli
    Максим Припадчев, спасибо за развернутый ответ. Очень интересно. Конечно, хотелось бы посмотреть на код, чтобы понять что скрывается за пайплайнами. Но все равно очень круто.
    Написано
  • С какой стороны подобраться к изучению программирования в области ИИ?

    @Vitsliputsli
    Дмитрий,

    почему я должен что-то тебе доказывать?

    Потому что не сможешь удержаться, вон какую простыню накатал. Только в этой простыне, нет ответа на мой вопрос. Меня не интересует, что ИИ работает лучше чем ты, и твои предположения, и эксперименты, и слухи.
    Еще раз, где конкретно, в какой компании, весь код коммерческого проекта пишет ИИ, т.к. "людям за ним не угнаться"?
    Написано
  • С какой стороны подобраться к изучению программирования в области ИИ?

    @Vitsliputsli
    Максим Припадчев,

    Vitsliputsli, на работе, где же еще. В двух проектах в которых я сейчас работаю, claude opus 4.5 пишет весь код. У моих друзей тоже самое, они больше не пишут код

    Что это за проекты, можете рассказать? Какова роль ИИ в них, весь код написан с нуля, переписывает модули или небольшие правки? Какова роль человека при этом?
    Написано
  • С какой стороны подобраться к изучению программирования в области ИИ?

    @Vitsliputsli
    Дмитрий,

    добрый вечер, с разморозкой. Вы из криокамеры с каким номером вышли? У нас 2026-й год, добро пожаловать!

    Вопрос в другом: где сейчас НЕ используются ИИ агенты? Староверы и луддиты, конечно, будут всегда, но их в расчёт мы не берём. Берём адекватный конкурентный бизнес. Где-то сейчас не пользуются ИИ?

    А я сказал что он нигде не используется? Или просто хамство не получается удержать?
    Так отвечай на вопрос, раз разошелся. Где конкретно, в какой компании, весь код коммерческого проекта пишет ИИ, т.к. "людям за ним не угнаться"?
    Написано
  • С какой стороны подобраться к изучению программирования в области ИИ?

    @Vitsliputsli

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

    Расскажите, где вы его видели уже сейчас?
    Написано
  • Правильный ли ход мыслей к обучению?

    @Vitsliputsli
    evomed, нет, конечно. Даже Клод генерит еще тот говнокод, и я не про параметры в конфигах и т.п. (если про пыху, то, например, попросить его сгенерить модуль подключения к бд и получим канонический говнокод). Пока доступны только модели, которые учатся на всем подряд, а это по большей части код низкого качества, собственно это и получаем на выходе.
    И, хотя под контролем вещь полезная, о самостоятельном написании кода речи пока не идет. Так что, пока это все росказни того же плана, что "этот язык мертв", "а этот заменит все и вся".
    Тоже с нетерпением жду, когда хотя бы кодинг, т.е. тупую шаблонную работу, можно будет скинуть на ИИ.
    Написано
  • Вписывать ли специфический опыт работы в резюме?

    @Vitsliputsli
    Wsearch, а можете подробнее пояснить, почему в трудовой Яндекс, а фактически там не работали, просто интересно, почему так.
    Написано
  • При попытке подключения пакета вылетает ошибка. Что делать?

    @Vitsliputsli
    Warning: Module "openssl" is already loaded in Unknown on line 0

    Несколько подключений модуля в конфигах. Найдите лишние и уберите. Принципиально на работу не влияет.

    curl error 60 while downloading https://repo.packagist.org/packages.json: SSL: no alternative certificate subject name matches target hostname 'repo.packagist.org'

    Сертификат не соответствует ожидаемому. Либо у вас нет свежих сертификатов, тогда нужно их обновить. Либо кто-то подделывает сертификат, проверьте кому он выдан и не является ли самоподписанным.
    Написано
  • Как отдать ответ клиенту без ожидания завершения скрипта?

    @Vitsliputsli
    Маркус Кейн,

    Vitsliputsli, Слушай, здесь уже не обсуждение решения, а чистый спор ради спора. Ты перескакиваешь с тезиса на тезис, подменяешь вводные, притягиваешь фантазии про сессии, "20 раз хуже", "запрет cli" - лишь бы продолжать тянуть эристику.
    Мы отвечаем по факту вопроса ТС, а не строим гипотетическую Вселенную, где всё ломается ровно там, где тебе удобно для аргумента. Cron+таблица - нормальная и простая схема; fastcgi_finish_request - нормальный инструмент в определённых условиях. Всё.
    А дальше начинается только твоё упёртое "докажите мне, что я не прав", и оно вообще никому не надо.

    moderator, тут обсуждение решения переросло в эристическую полемику и перестало быть конструктивным

    ты адресатом ошибся. Про перескакивания, фантазии про сессии, построение своей удобной Вселенной, это вон к Daemon23RUS.
    Техническая аргументация выше, но ты, как и Daemon23RUS, упорно ее игнорируете.
    Разве что "20 раз хуже" мое, ну так ответь, как замена 20 воркеров на 1 с последовательной обработкой, по твоему плану, сможет решить проблему множества запросов?
    Я не просил доказать, что я не прав, но вы вдвоем пришли и бросились доказывать, а когда не получилось, один начал хамить, второй пошел звать папку. Посмотри на rPman, высказал свое мнение, я свое, не сошлись, но не беда, как адекватный человек, он пошел дальше.
    Написано
  • Как отдать ответ клиенту без ожидания завершения скрипта?

    @Vitsliputsli
    Daemon23RUS,

    Бинго, Вы показали верхушку айсберга, если сторонний сервер выдает ответ через 5-10 секунд, тогда что ? Роняем сервер ?

    Тогда математика, поменяй в формуле 1 сек на 5-10 и пересчитай, и, неожиданно, та же 1/20 часть.


    Но и это все мелочи, мы не знаем есть ли у клиента сессия, 50/50 но скорее да чем нет. Сюрприз, клиент ответ то получил, а что будет с его новым запросом ? Надеюсь Вы помните что он будет блокирован пока воркер закончит обработку. Ведь Вы не сообщили ТС, что если у него сессия то он должен еще и session_write_close() вызвать.

    Мелочи? Ну да, предложить вариант в 20 раз хуже, продемонстрировать отсутствие знаний в арифметике, и сразу же слиться "ой, не будем на этом заострять внимание".

    Не знаем. Именно, не знаем, так откуда ты взял все эти предположения? Опять хрустальный шар? Чтото он подсказывает только то, что тебе же удобно.
    Как наваять "юному программисту" ("не значит идиот") схему о которой вы сами договориться не можете, это без проблем. А как другой вариант - то он вдруг разучился работать с сессиями (или это ты не знаешь как с ними работать?). Но, если придумывать лишь удобное для нужного варианта, то предположим, что у него запрещен запуск cli, и "сюрприз"... А че нет-то? Тебя ж не остановить в придумывании на ходу не относящихся к делу заморочек.


    А если скрипт что то отправит пользователю после вызоваfastcgi_finish_request ?
    Помните/знаете ? Воркер определит что пользователь закрыл соединение, и прервет скрипт. Ведь он так устроен это его одно из основных свойств. Вы же и про ignore_user_abort(true) ничего не указали.
    И это все для новичка. Вам коллеги пытаются донести что решение то рабочее, но плохое и использовать надо с осторожностью (имея уже достаточно большой опыт и знания за плечами)
    Куда мир катится, я уже и не удивлен, не Вы писали калькулятор ?

    Отлично! Значит наш разговор не прошел даром, и ты уже начал изучать незнакомые инструменты, которых боялся. Что ж, отвечю: если чтото отправит, то ничего страшного не произойдет. По остальному - нет, все не так, когда гуглишь, проверяй что нагуглил, там про другое.
    Вам, коллеги, я пытаюсь донести, что решение рабочее, как и другие решения. Какое лучше подходит без дополнительной информации сказать наверняка нельзя. И, конечно, осторожность нужна, как и в других решениях (как выше я разобрал).
    А насчет хамства - не удивил. Здесь много таких же, кто некомпетентность пытается спрятать за хамством. Как и у тебя получается плохо.
    Написано
  • Как отдать ответ клиенту без ожидания завершения скрипта?

    @Vitsliputsli
    Маркус Кейн,
    Никто не предлагал копировать говнокод, это ты сам придумал. Юный погромист - не значит идиот, схема cron+таблица - простая и распространённая практика.
    Пугалка про "таблица разрастётся и всё ляжет" - из воздуха. Записи чистятся, задания берутся пачками, никаких трагедий. А вот твой fastcgi_finish_request - как раз путь к 502, пляскам с fpm и серверной оптимизацией, что для новичка сложнее в разы..

    Не предлагал, но решение "пойди туда, незнаю куда, найди то, незнаю что" несет в себе огромные риски.
    "Пугалка из воздуха": вы лечите ситуацию, когда задачи в fpm-воркерах выполняются так долго, что воркеры не успевают освободится для новых задач. Ваше решение - вместо нескольких fpm-воркеров использовать 1 работающий последовательно. Если fpm-воркеров 20 штук, то за 1 сек они выполнят 20 1-секундных заданий, а ваша схема за 1 секунду сделает только 1/20 часть этой работы. Т.е. результат немного предсказуем.
    "пляскам с fpm и серверной оптимизацией" - это одно число в конфиге, и не факт что вообще чтото нужно менять, если прочитать сравнение выше.
    Написано
  • Как отдать ответ клиенту без ожидания завершения скрипта?

    @Vitsliputsli
    Маркус Кейн,

    Мы вообще не знаем, что ТС делает с этим файлом дальше. Есть вопрос - есть рабочий вариант решения. Если что-то пойдёт не так - спросит ещё, это нормально.
    ...
    Не нравится тебе - ок, но не надо делать вид, что всё остальное автоматически "плохо".

    Отличные выводы. Именно об этом я все время здесь и писал.
    Написано
  • Как отдать ответ клиенту без ожидания завершения скрипта?

    @Vitsliputsli
    Daemon23RUS,
    Вы реально не понимаете в чем проблема fpm с долгим временем исполнения? Вот это, на мой взгляд, очень опасная привычка для разработчика.

    Понимаю, вы считаете, что все важное и нужное крутится только в fpm, главное чтобы http вернул 2xx, а как работает функционал неважно. Те, замел мусор под ковер, и как бы норм.
    Когда надоест жонглировать словами, там сверху есть примеры сравнения плюсов и минусов, критику лучше к ним применить.
    Написано
  • Как отдать ответ клиенту без ожидания завершения скрипта?

    @Vitsliputsli
    Daemon23RUS,
    Дальнейший разбор, как и гадания не имели смысла. Абсолютно не имеет значения какой конфиг VPS и сколько памяти. fastcgi_finish_request путь к падению сайта в целом с HTTP 502 . Можно, но не оптимально.
    ТС нужно решение проблемы долгой отдачи страницы пользователю. Ваше не решает, а маскирует ее. В частных случаях оно может вполне оправдано, но вот в общем случае - это плохое решение.

    Маскирует значит. А когда мы задачу убрали из fpm в "очередь" и оно завалится гдето в базе или гдето в кроновой задаче, это не маскировали?
    То, что сайтик отвечает, забирает задачу, а потом ничего не происходит, это значит, что сайтик не работает. Пользователю важен функционал, а не какие коды плавают по http-протоколу. Поэтому, пока мы не знаем флоу или хотя бы важности отдельных модулей, все вами написанное лишь гадание исходя из своего понимания "сайтика" (который на поверку может оказаться и не сайтиком).


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

    Да хрена с два я такое утверждал. А писал я следующее: "здесь осторожности нужно не более, чем в любых других вариантах". И об этом, пишу выше, где крутые неговнокодные варианты, где осторожность не нужна, могут расхерачить все и вся почище страшного fastcgi_finish_request.

    ТС для решения задачи надо внести изменения в свой код. Какие ? Тут есть варианты, и в известных исходных условиях fastcgi_finish_request бомба которая может разнести (постоянно ронять) его сайт. Если это не говнокод, то что это ?

    "Тут есть варианты" - ну так дайте конкретный вариант и мы сравним плюсы и минусы. И как с вариантами выше может оказаться, что все не так однозначно.
    "и в известных исходных условиях" вот в этом и проблема, они на самом деле неизвестны, но вам почемуто кажется, что вы их точно знаете. И это очень опасная привычка для разработчика.
    Написано