Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Разработка идеологии политики обновлений для ОС: нужно ли и как часто?

Лучший ответ:
Весьма сложный вопрос, точнее сложен ответ. Сложен не столько трудностью, сколько богатством выбора, т.е. вариантами, в зависимости от условий.
Можно обновлять тестовую машину, а в идеале, ещё и не одну, затем проверять на них обновление, затем, если не найдено косяков критичных для работы - "раскатывать" по нормальным машинам, а в идеале по группам машин, да не по всем сразу. За одним создавать пропатченный (обновлённый) дистрибутив для будущего развёртывания, а лучше несколько, для разных конфигураций и один - чистый, без настроек.
И это самая малость, даже за ответ можно не считать. Вариантов ещё несколько, но описывать каждый нужно исходя из условий, которые в вопросе не отражены.Поставили и настроили необходимый софт.
И тут же сделать образ или бэкап для "чистового" развёртывания. Чтоб не приходилось по новой делать те же операции.

Худший ответ:
Подытожу:
1. После настройки рабочего ПК/сервера - сразу делаем образ.
2. Никогда не обновляемся, если: мы за firewall'ом, всё работает и не устанавливаются/запускаются никакие сторонние("чужие") приложения/сервисы (т.е. или режим сервера, или обработка документов/проектов).
3. Если нужно массовое обновление в Windows-домене - используем ActiveDirecory вместе с SCMM.
4. Если ПК автономный (без доступа к интернету) - используем офлайн установку с помощью https://www.wsusoffline.net/ , проверяем и делаем новый образ.
5. Если нужны обновления - делаем не чаще 1 раза в пол-года с предварительной проверкой в лабе офлайн-пакета (созданного в п.4) на попытку изменения существующих файлов/настроек системы и любых сетевых соединений. После - делаем все необходимые правки в окружении локальной системы и производим настройку сети (если необходимо!). Создаём образ и ТОЛЬКО ПОСЛЕ ЭТОГО! обновляем все другие ПК в корпоративной сети.
Вопрос: Как выжить джуну фронтенду в маленьком городке, при том что переезжать будешь не скоро?

Лучший ответ:
Удаленно работать - Можно.
Дальше - Все зависит от вас.
---
Брать задачи и делать их.
Фриланс - любой популярный они все одинаковы плюс минус.
После 100 выполненных заданий будешь точно знать в какую сторону интереснее развиваться.
---
Ну или на работу удаленную устроится, чуть сложнее но тоже можно.
Опять же все будет зависеть только от вашей выполненной работы.
---

Универсального ответа что учить - нет.
Только практическое выполнение задач, даст ответы.

Худший ответ:
Тупо переедь не 19 век когда надо было пешком весной выходит чтобы успеть до холодов в город дойти
Вопрос: Как подключить телефон андроид к винде?

Лучший ответ:
Подключаешь телефон в USB и все работает.

А в вашем вопросе за жалобами на жизнь отсутствует суть проблемы.

Худший ответ:
на сасунге c android 10 это:
настройки -> дополнительные функции-> свзяь с windows.

а вообще майкрософт пишет что поддерживаю только самсунги Поддерживаемые устройства в приложении "Ваш телефон"

или попробуй вот это приложение
Вопрос: Шаблон скрипта перехода по ссылке каждые Х секунд?

Лучший ответ:
while True:
  _do_any_work_with_your_url_
  time.sleep(30)

Для дёргания url смотреть в сторону библиотек urllib или requests.

Худший ответ:
while True:
  _do_any_work_with_your_url_
  time.sleep(30)

Для дёргания url смотреть в сторону библиотек urllib или requests.
Вопрос: Как зарабатывать фронтендщику через интернет?

Лучший ответ:
Я демпингую, всё равно выбирают других.
Более того, "другие" вас проклинают. Карма портится и заказов теперь не будет вообще.

Ответ на вопрос: никак. Ищите работу в офисе, там хотя бы на бесплатную стажировку попадёте, а там, глядишь, 15-20 тысяч в мегаполисе и будете получать.

Худший ответ:
Я откликаюсь, выбирают других. Я демпингую, всё равно выбирают других.

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

Тут как на рынке труда - резюме много, откликов свыше 100 на каждую вакансию, а вакансий всего 20 штук... но учитывая, что откликается половина ботов, тех кто хочет попробовать или вовсе не ищет работу - шанс найти новый заказ намного выше, чем кажется. Еще учитывайте, что успешная фриланс работа держится на постоянных клиентах, а на их поиск может уйти несколько месяцев.
Вопрос: Можно ли использовать 1000мб интернет-кабель со 100мб роутером?

Лучший ответ:
Будет, но скорость будет 100 мегабит, очевидно.

Худший ответ:
Все это верно, но мастеру тоже хочется кушать. 100% у него и подходящий рутер с собою был. :-)
Вопрос: Работа технологом в банке — стоит ли?

Лучший ответ:
Если нет грамотного юридического договора - не стоит рисковать, тем  более с теми у кого такая СБ. Не могу говорить за всех, но скажу за себя - с довольно богатым опытом в IT и c довольно высокой квалификацией (если скучно - можно посмотреть в профиле) у меня всегда на столе лежит несколько предложений из разных банков и .... с этими компаниями я общаюсь только для того чтобы собрать информацию и всегда отказываю. Работа в банковской сфере для IT специалиста, который собирается расти и развиваться, это ОЧЕНЬ больно и невыносимо. Если вам нравится сидеть на месте и делать работу ради работы то ок - вперед

Худший ответ:
Работа в банке лишь на одну ступеньку выше программирования 1С в моем личном рейтинге. Нормальный разработчик в банк не пойдет. На работе сейчас собеседую кандидатов. Банковского программиста отсеяли, слишком странным показался. Он не разработчик. Возможно, технолог, не знаю.

Сам в банке не работал, работал в компании-разработчике ПО для банков. От безысходности. Выдержал полтора года. С одной стороны вроде всё технологично было, но реализация — хоть стой, хоть падай. Не-не-не, бр-р-р.
Вопрос: Как узнать формулу, по которой считается время для взлома пароля?

Лучший ответ:
Формула простейшая - количество возможных вариантов пароля умножается на время проверки одного варианта.
Количество вариантов зависит от пароля.
Время проверки одного варианта от оборудования.

В итоге узнаем полное время перебора всех вариантов методом брутофорса. Это максимальное время, в реальности по теории вероятности это произойдет быстрее.

Не стоит забывать про радужные таблицы - если пароль простой и хэш не соленый - брутафорс не понадобится - секунда поиска в радужной таблице и пароль готов.

Худший ответ:
 там стоят rtx'ы,

себе сколько взяли?
Вопрос: Стоит ли ввести тег Психология?

Лучший ответ:
Отношение программистов к психологии в общем случае – сильно отрицательное. Это хорошо видно по комментариям под соответствующими статьями на Хабре. Отдельные личности темой интересуются, но в основном люди ее или просто игнорируют, или поливают грязью все, что с ней связано. Но когда люди не занимаются психообразованием себя и окружающих в условиях постоянных стрессов, дедлайнов, переговоров, переработок, отсутствия у менеджеров навыков управления коллективом – начинаются вот эти все истории об истощениях, выгораниях, конфликтах и.т.д.

Проблема в том, что вопрос по теме, заданный в вакууме, да еще и на всеобщее обозрение, не показывает всю картину происходящего с человеком. Иногда нужно кучу времени потратить, чтобы человека просто один на один разговорить и он рассказал, а что на самом деле у него происходит. Что-то ему будет тяжело принять, что-то он бы не хотел распространять о себе или других людях (это кстати одна из причин, зачем нужна конфиденциальность в этом деле). Поэтому 99% советов, которые дадут в ответ на такой вопрос в сети не соответствуют контексту, в котором автор формулировал вопрос, и хорошо, если они не сделают ему хуже. А учитывая, что психологией программисты не занимаются – советы часто будут не только вне контекста, так еще и вредными по определению (как, например, популярный  совет - взять на себя большую нагрузку, когда ты и так истощен до предела). Поэтому формат вопросов-ответов в том виде, в котором он есть на Хабр Q&A тут не годится.

Так что заводить такой тег именно здесь не имеет смысла. Он мало того, что будет непрофильным, так еще и пользы не принесет. Гораздо лучше задаться вопросом массового образования программистов – чтобы люди не только мыли руки после туалета, но и про психогигиену не забывали, чтобы проблемы не становились очевидными, когда уже все плохо и без врача и серьезных перемен в жизни не обойтись. Но задачка эта не из простых, конечно.

Худший ответ:
нет. 
есть несколько более актуальных тегов. но и они - не формат. по крайней мере в области экспрессивной лексики. хотя по сути очень бы даже вписались.
Вопрос: Хватит ли Macbook Pro 2012 для фронтенда?

Лучший ответ:
Странно, но у меня, там где фигма, мой i7 7500 и 8 гигов оперативки не справляются, если параллельно открыть фотошоп, или если ноут не перезагружал дня 4-5...
Проц тут не проблема, но только фигма съедает 2-3 гб оперы, фотошоп хочет около 2, + пару вкладок хрома около 1500мб, где остальное не известно, но факт, что нужно 16 гигов ))

Худший ответ:
Вполне должно хватить. Люди работают и на более слабых машинах.
Вопрос: Какой открыть домофон без ключа и кода?

Лучший ответ:
Стр 19 индивидуальный код
www.cyfral.ru/images/stories/Cxema/CCD-40/CCD-40_v...

Худший ответ:
Ардуино в помощь и разбор протокола
Вопрос: Есть ли хорошая облачная IDE с поддержкой JavaScript + HTML, CSS?

Лучший ответ:
codepen? В целом текстовые редакторы самые удобные, и при работе с большими проектами они незаменимы. Но по вашим критериям хорошо подходит codepen.io

Худший ответ:
Лучшая иде в этом случае блокнот! А для особенно продвинутых Нотепал++!
Вопрос: Как избавиться от наводки ТВЧ станка?

Лучший ответ:
Если проблема по сети, тогда первым делом заглянуть в станок есть ли там входной фильтр. Если его нет- тогда нужен фильтр на входе станка, что бы помехи от него не шли в сеть. 2 попробовать онлайн безперебойник на проблемном оборудовании (у них гальваническая развязка между входом и выходом).
Непонял следующую фразу: 
  Заземление проведено не коснувшись металлических поверхностей и проводов.  
Это как? Наоборот все оборудование нужно заземлять. Все пк если нормально заземлены должны хорошо работать, потому как заземленный стальной корпус должен хорошо все экранировать.

Худший ответ:
Поставьте стабилизатор напряжения на станок типа Ресанты, чтобы была хоть какая-то гальваническая развязка по питанию и пилоты типо Pilot Single/Most MHV для компов. Ну и на крайняк еще вызывайте электриков для проверки заземления.
Вопрос: Счётчик успешных операций в минуту на Delphi?

Лучший ответ:
Используй тики. GetTickCount это счетчик ОС.
var Save := GetTickCount;
<do something>
var Delta := GetTickCount - Save; <- Тут кол-во миллисекунд, потраченное на действие выше

Худший ответ:
Обычно календарь юникса измеряется в секундах, и только в JS исключение с миллисекундами. Если там правда миллисекунды, может, тогда заменить целочисленное деление div на операцию с плавающей точкой /

Также хорошей практикой будет использовать по возможности не гражданский календарь, а монотонное время. В языке Ada это приложение к стандарту D.8 Monotonic Time, описывающее пакет Ada.Real_Time. В Delphi тот же функционал спрятан в модуль с не очевидным названием System.Diagnostics. Это если программа не перезапускается в течение всего интересующего интервала.
Вопрос: Прослушивают ли компании наши смартфоны для показа рекламы?

Лучший ответ:
Подслушивают! Создавал тут тему на эту тему =) Закрыли вопрос по быстрому. Так что и Ваш закроют. Видимо подкупные тут....

С человеком общались по поводу покупки гектара земли и игру дартс. В кармане лежал телефон. Полезла на компьютере. Всего скорее Алиса, Хуиса, Сири + аккаунт яндекса (на телефоне использую почту яндекс) = вся эта связка и бомбят потом тебя рекламой. В общем обсуждайте что то важное в кабинете из свинца и без телефонов!

Худший ответ:
Ребята, разрабатывавшие Yandex.Phone и его голосовой анализатор, говорят, что им такие вопросы и утверждения льстят) Они не всегда могут в контексте-то распознать правильно, а уж из разговора вычленить суть и показать по ней потом рекламу... Пока что это невозможно.
Вопрос: Как правильно провалидировать поле?

Лучший ответ:
давайте начнем с того, что все в _POST – строки.
поэтому все равно, что передавать – все равно придется кастить в null.

Худший ответ:
null - нельзя, ведь не пройдет проверка isset($_POST['cat'])
array_key_exists поможет
Вопрос: Почему отключается lan кабель?

Лучший ответ:
Можно начать с того, чтобы переобжать концы кабеля

Худший ответ:
Была похожая тема. Так же мучались.
Проблема была в том, что для прокладки магистралей закупали омедненный кабель. Он очень жёсткий. И алюминиевая жила окисляется с медным конектором.
А ещё есть кабель для скрытой прокладки патч-панель - розетка. Такой кабель одножильный. 
И для патчей, кабель мягкий с несколькими жилами внутри.
Вопрос: С чего начать обучение Frontend-разработчик или вообще программированием?

Лучший ответ:
Фигачить! Фигачить! Фигачить! КОД!
Меньше читай и смотри видосов, больше практикуйся.
Не только теория вылетит, но и практика, поэтому:
Повторяй! Повторяй! Повторяй! КОД!
А чтобы повторять пройденное:
Конспектируй! Записывай! Сохраняй!

И вот когда 10% теории, 90% практики, неделю повторял, всё записал и уже можешь сказать: 
"Я освоил этот материал, всё понял и запомнил на века", то вот тогда можно с уверенностью сказать, что...

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

А так успехов, лишь бы нравилось то что делаешь.

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


Код. Тайный язык информатики 
Грокаем алгоритмы


Вместе с этим подойдут вообще любые курсы по HTML/CSS/JS. Основы они и есть основы. Главное черпать информацию и постоянно практиковаться. Узнали переменные? Попробуйте с их помощью сложить числа. Узнали массивы? Попробуйте выводить из них данные в разных вариантах и так далее. Сухая теория уйдёт быстро из головы. 

Как почувствуете силы, то делайте небольшие страницы. Не смотрите на то, что у них не будет супер анимаций и великого дизайна — ваша задача это практика. Читайте различные статьи и черпайте из них информацию
Вопрос: Зачем абстрактным классам нужны конструкторы?

Лучший ответ:
Чтобы в каждом конструкторе наследника не писать одно и то же.

Худший ответ:
В абстрактном классе могут быть неабстрактные свойства, поля и методы. Их (свойства и поля) то и нужно в этом конструкторе инициализировать.
Вопрос: Как обновить laravel c 5.4 до 5.8?

Лучший ответ:
Заходишь в composer.json и поднимаешь версию ларки до 5.8. Пишешь composer update. Он в тебя срет ошибками, мол "такие то пакеты слишком старые для этой версии". Гуглишь новые версии под 5.8 и вписываешь их. Опять composer update. Опять ошибки, опять ищешь новые версии. Так по кругу.
Наверное есть и более норм способ это сделать, но раз в несколько месяцев можно и так.
Но это 10% работы. 90% это проседовать upgrade guide'м, всем, от начала до конца, а потом искать бажики в конце (потому что они будут, даже если вы идеально проследовали всем апгрейд гайдам. Гайды НЕ описывают все изменения).

Худший ответ:
Попробуй, composer dumpautoload
composer clearcache
composer update —lock
Вопрос: Как связать сайт на Битркис и приложение?

Лучший ответ:
Думаю, что самое первоочередное - это rest api, чтобы были не просто черт знает какие запросы и json ответы

Худший ответ:
Самое простое - можете тут посмотреть
https://dev.1c-bitrix.ru/api_help/main/reference/cuser
либо по его аналогу в D7 	
Bitrix\Main\UserTable
+
https://gist.github.com/zmts/802dc9c3510d79fd40f9d...
Вопрос: Как сделать цикл?

Лучший ответ:
Делайте пагинацию. Для этого вам нужно достать  количество всех фильмов, поделить его на количество фильмов на одной странице (допустим, 20) и округлить результат в большую сторону с помощью ceil. Дальше через цикл вывести количество страниц и сделать ссылки вида ?page=$i. Теперь при каждом запросе следующей страницы вы делаете запрос в базу, используя LIMIT, где сначала указываете количество фильмов на страницу (20), а потом оффсет, с которого брать фильмы (номер страницы * количество фильмов).

Худший ответ:
Это называется пагинация - вот пример как это делать
Вопрос: Можно ли начать изучения JS, если знаешь только базовый HTML&CSS?

Лучший ответ:
Можно ли начать изучения JS, если знаешь только базовый HTML&CSS?
Да, можно. Я бы сказал чем раньше тем лучше но боюсь - меня захейтят.

Худший ответ:
Можно и нужно, чем раньше тем лучше. И никакого jquery, нужно учить нативный js, чтобы понимать что и как работает.
Вопрос: Есть ли в Си функция, читающая TCP без коллбеков?

Лучший ответ:
В си вообще нету функции, которая что-то там читает из сокета - это делается либо функцией из состава Berkeley sockets для UNIX или Winsock для Windows.
И там и там имеется функция recv - она ничего циклом не нагружает, а усыпляет поток выполнения до прихода порции данных или сообщения об ошибке.

Худший ответ:
В С вообще есть любая функция :) Какую напишете :)
Есть socket(). Есть connect(). Есть bind(). Есть listen(). Есть read(). Есть accept(). Вот на них обычно и строится все.
Вопрос: Почему выполняются все метки?

Лучший ответ:
Это же не высокоуровневый язык с case, это асм. 
Здесь метки - это именно метки, они просто сообщают ассемблеру адрес следующей строчки для внесения его в бинарный код команды jmp, не добавляя никакой логики выхода наружу на следующей метке. 
Вам надо добавить m6: в конце и jmp m6 после каждого из вариантов, кроме последнего.

Худший ответ:
Данная конструкция работает в точности так же (так же неправильно) как switch в Си, в котором в case-ах ошибочно отсутствуют директивы break - выполнение идет через все кейсы, расположенные ниже.

Как сделать аналог break в данном случае, уже сказано (jmp на новую метку в самом конце).

Программа на языке ассемблера выполняется буквально сверху вниз, без каких-либо отклонений. Любое ветвление (в данном случае - обход ненужного кода) должно быть заданно явно инструкциями управления выполнением (jmp, jxx, call. ret, int).
Вопрос: Параметры функции?

Лучший ответ:
Потому что иначе невозможна рекурсия. Что если у вас f(1,3) захочет вызвать f(0,0). Еще придется эти глобальные переменные переписать и потом как-то восстанавливать, если после вызова f(1,3) еще что-то хочет делать с этими параметрами.

Потом, это тупо неудобно. Для каждой функции нужен свой набор глобальных переменных.

Это про второй ваш вариант.
В третьем же a и b локальные переменные. Получается вы их никак снаружи функции не сможете задать.

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

Худший ответ:
Зачем передавать переменные-параметры в функцию, если можно писать глобальное объявление переменных?
1. Чтобы избавлять от дублирования (ну вообще это сам смысл функций)
2. Чтобы удобнее работать с этими функциями (сразу видишь, что функция от тебя ждёт)
3. Чтобы нормально работало в многопоточной среде. (глобальные переменные и многопоток не совестимы)

Ну вот например менее абcтрактный пример:
int sum(int a, int b) { // всё отлично, всё понятно
  return a + b;
}

int a,b;
// Каким образом мы поймём, что надо перед вызовом sum задать какое-то значение переменным a и b?
// sum и её "параметры" a и b никак не связаны
int sum() {
  return a + b;
}

int sum() { // а как в этом случае нам сложить две переменные? Как задать значения a и b??????
  int a,b;
  return a + b;
}
Вопрос: Похоже на фишинг gmail, но в чем смысл?

Лучший ответ:
У пользователя ne.vzlomniy@gmail.com есть резервный почтовый адрес. Мы (да и вы) не знаем, какой именно, но он наверняка очень похож на вашу <моя почта>. Это очевидный вариант.
Далее не очевидные размышления. Возможно, есть какая уязвимость гугла. Например, кто-то как-то проверяет существование адреса или вашу активность. Не всё же сводится к тому, чтобы подсунуть вредоносную ссылку и обманом уговорить пользователя нажать её, это слишком банально. То есть ваше нажатие на чистую гугл ссылку или просто существование аккаунта может уже представлять какую-то ценность.
Еще вариант. Можно предположить, что расчет на то, что вы захотите получить доступ к чужой почте, и для вас там что-то заготовлено. Если вы решитесь, то не берусь предсказывать, как дальше будут развиваться события. Может быть, вы узнаете о секретном счете, на котором миллион долларов, и чтобы получить доступ к нему, нужно заплатить 10 копеек.

Худший ответ:
Cейчас зашла в почту гугл, а он требует установить резервный адрес эл. почты. Добавила, на этот адрес пришло письмо


"Google
Кто-то указал """ в качестве резервного адреса электронной почты
Пользователь ______@gmail.com хочет использовать Ваш адрес электронной почты в качестве резервного.
Если это не Ваш аккаунт, возможно, кто-то указал Ваш адрес электронной почты по ошибке. Вы можете удалить его из этого аккаунта. Отключить адрес"

У меня возник вопрос! Я такая наивная, или если бы я ошиблась и добавила чужой адрес, то владелец этого адреса может получить доступ к моему?
Вопрос: Как создать установщик программ на Windows?

Лучший ответ:
Как вариант если есть в запасе время можешь освоить NSIS:
Запускается на всех версиях Windows, имеет разные способы сжатия. Используется свой собственный язык для создания инсталлятора. Большой плюс в NSIS можно использовать функции, подключать *.dll, и ты точно знаешь что ни чего лишнего твой инсталлятор не делает. 
https://nsis.sourceforge.io/Download
https://nsis.ucoz.ru/index/0-4

Если времени мало можешь использовать Inno Setup (с помощью мастера создаешь базовые возможности, остальное пишешь сам)

Есть и другие инсталляторы, но подтвердить реализацию твоей задачи при помощи данных инсталляторов не могу:
 - Windows Installer
 - WiX (не путать с конструктором сайтов)
 - IzPack
 - InstallShield 11

Худший ответ:
Попробуйте это
https://wixtoolset.org/

Если сложно то  https://www.jrsoftware.org/isinfo.php
Вопрос: VK блокирует fetch 'GET' запрос. Как решить?

Лучший ответ:
Спасибо всем, вопрос решен. Решил вопрос с jquery.
С таким кодом: 
$.ajax({
        url: 'https://api.vk.com/method/friends.getSuggestions?f...'+$filter+'&fields='+$fields+'&count=500&access_token='+$token+'&v=5.103',
        type: 'GET',
        dataType: 'jsonp',
        crossDomain: true,
        success: function(data){
        console.log(data.response);
        }
        })

Худший ответ:
проблема возникает из-за отправки запроса option, перед отправкой основного запроса
попробуйте поменять эту строчку x.open("GET", url, true);
Вопрос: Отказоустойчивый удаленный доступ, возможен ли при следующих условиях?

Лучший ответ:
Нет, данная схема не обеспечит отказоустойчивость для ip, если он арендовал у одного из провайдеров.

Для обеспечения отказоустойчивость внешнего адреса должны выполняться условия:

IP пренадледит вашей организации
На вашу организацию зарегистрирована AS
С каждым провайдером у вас bgp пиринг и вы анонсируете провайдерам свой ip-адрес


Худший ответ:
если только isp1 и isp2 поженятся и разродятся нетиповым решением в вашу пользу
а так вешайте два локальных ip на ваш сервер и на микротике пробрасывайте порт с каждого внешнего на каждый внутренний адрес

для удобства можно адрес сервиса менять в ДНС динамически при недоступности любого ISP
Вопрос: Как разделить парсинг на этапы?

Лучший ответ:
504 это gateway time-out - значит перед вашим php стоит какой-то сервер который все-равно имеет таймаут и по этому таймауту останавливает выполнение.

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

Худший ответ:
Вроде-бы за'loop'ить можно в цикле с использованием  ob_start() и ob_get_clean().