Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как синхронизировать store и back-end?

Лучший ответ:
Насколько хороши варианты: 
1. интервалом синхронить стейт корзины.
2. Синхронить стейт при событии onunload
3. Писать обработчик кликов, который будет регулировать частоту запросов (очень не хочется)
У всех этих вариантов есть общий недостаток. Предположим, кот пользователя внезапно решил поиграть с кабелем питания компьютера и выдернул его. Ну, как-то так получилось. Или пользователь телефон выронил, при падении слетела крышка, аккумулятор вывалился. Или ещё что-то в том же духе. Короче, отрубилось всё. А перед этим пользователь как раз добавил товар в корзину / изменил количество / удалил товар из корзины. И никакой синхронизации.

Надо как-то сразу сохранять состояние корзины, после любого действия пользователя, немедленно. Пишите его в localstorage. Под это дело есть плагины для vuex - например. При загрузке приложения синхронизируйте.

Как синхронизировать в процессе работы - я бы предпочёл третий вариант. Только конечно не клики надо обрабатывать, а состояние корзины в хранилище. Делаете watch, в обработчике - запрос на синхронизацию с сервером, обёрнутый в debounce (лень писать - можете легко нагуглить готовый вариант).

Т.е., будет что-то вроде

methods: {
  syncCart: debounce(function() {
    ...
  }),
},
watch: {
  '$store.state.cart': {
    immediate: true,
    deep: true,
    handler: 'syncCart',
  },
},

Худший ответ:
Цели правильно понимаю?Ограничить частоту обращений к backend - не более N в M секундНе потерять набранную корзину
Первый пункт решается учетом времени последних N обращений. 
Второй - флагом "всё сохранено на бэкенде" – который ставится при изменении корзины и снимается после успешной синхронизации. При поднятом флаге не давайть так просто уходить со страницы через onBeforeUnload
Вопрос: Какой первый Linux-дистрибутив поставить?

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

Худший ответ:
Ubuntu.
Легко найти ответы в случае чего.
Вопрос: Выбор внешнего хранилище для Mac?

Лучший ответ:

www.u-nas.com/xcart/product.php?productid=17640&ca...
+
https://www.supermicro.com/products/motherboard/Xe...
и вдшки типа https://www.wdc.com/products/business-internal-sto...
плюс www.freenas.org или https://www.nas4free.org/
гарантированно надолго хватит)

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

Лучший ответ:
./balong_flash./ показывает что надо запустить с текущей директории.
Если не запустит, тоchmod +x balong_flash

Худший ответ:
Судя по расширению это исходники написанный на С. Попробуйте скомпилировать его с помощью gcc
Вопрос: Как принудительно залить файлы на Git?

Лучший ответ:
Папка vendor не заливается, так как она есть в .gitignore. Да она и не нужна. Ее можно восстановить, просто набрав одну команду в терминале.
Git - это хранилище версий вашего проекта, а не помойка для всего-всего-всего :)

Худший ответ:
Папка vendor не заливается, так как она есть в .gitignore. Да она и не нужна. Ее можно восстановить, просто набрав одну команду в терминале.
Git - это хранилище версий вашего проекта, а не помойка для всего-всего-всего :)
Вопрос: Как на хостинге запустить cron yii2?

Лучший ответ:
Добрый день.
Во-первых, посмотрите в логах сервера, почему не выполняется команда.
Во-вторых, команда у Вас не сработает, потому, что нет такого файла на сервере как "yii hellow".
Вам надо указать путь к консольному контроллеру "hello", что-то подобное такое:/usr/bin/php ~/domain/public_html/console/hello/index

Худший ответ:
в кроне ваша команда выглядить примерно такphp /domain/public_html/ yii hello/world
та, которая на скриншоте
Вопрос: Как передать значение в ngClass?

Лучший ответ:
Пример

Худший ответ:
Не хотите сделать пример на https://codepen.io/ ?
https://angular.io/docs/ts/latest/api/common/index...<some-element [ngClass]="stringExp|arrayExp|objExp">...</some-element>
Вопрос: Можно ли обойти GSM глушилку и как её обноружить?

Лучший ответ:
Глушилки бывают разными. Принцип работы у всех одинаковый создать помеху на определенном диапазоне частот. Т.е. никакого сигнала они не перехватывают. Само собой чем шире диапазон и дальше радиус действия тем больше мощность.
Теоретически обойти глушилку можно, практически нельзя.

Худший ответ:
Wifi точку скрытую подними недалеко от себя.
Вопрос: Почему градиент в photoshop полосатый?

Лучший ответ:
Увеличьте битность цветовой модели изображения (8/16/32 bit).

Худший ответ:
В опциях градиента включите галочку Dither
Вопрос: Зарезервировано системой память ОЗУ.Почему я не могу использовать всю память а только часть?

Лучший ответ:
Ну вообще 32 битная винда не может использовать более 4гб,  к тому же часть из этого резервируется под видео.
Ставьте 64битную архитектуру, тогда можно ставить памяти сколько угодно.

Худший ответ:
Да, это 100 процентов зависит от архитектуры - 32-битные системы не могут адресовать все 6 гигабайт.
Вопрос: Как заказчику проще создавать (наполнять) страницы?

Лучший ответ:
Я обычно что-то такое делаю:
Для записей, где много текста и картинок - гутенберг.

Худший ответ:
Как это организовать?
Что именно организовать?
С Metabox.io не работал, но в ACF, по идеи, должно подойти поле Flexible Content.
Ещё можно, например, Gutenberg-блоков наделать. Самостоятельно или опять же с помощью ACF.
Вопрос: Как организовать процесс web-разработки?

Лучший ответ:
1. У вас должно быть два сервера: один для разработки (локальный), второй боевой (vds).
2. Установите любую IDE, например от JetBrains. В ней настройте деплой.
3. Как только на локальном сервере внесли новый код, убедились, что он работает правильно, нажимаете кнопку деплоя в IDE.
4. Вы у цели.
Это сценарий для новичков. Далее по мере вашего развития вы сами дойдете и до докера, и до много чего ещё интересного. Удачи.

Худший ответ:
Добрый день! 14 лет в разработке, у меня процесс такой:
Пишу сервис\сайт\код
Создаю .gitlab-ci.yml и описываю правила деплоя, обычно это создание докер образов и развертывание на сервере
Создаю репозиторий в gitlab, настраиваю раннеры на vps и пушу правки
У geekbrains планируется курс по Go, там хороший roadmap, можно взять его как план обучения. (не реклама, не имею к ним никакого отношения)
Вопрос: Потребление памяти php и go?

Лучший ответ:
Я пишу на Go в production. Минимальный HelloWord http_сервер будет отжирать ~5Mb. Если delphi реализация задачи кушает 20Mb можете рассчитывать на такое же от Go. Потребить 500Mb на 100 пользователей - это на Go нужно сильно постараться, какую нибудь очень сложную бизнес логику с девками и блэкджеком вроде задачи коммивояжера для каждого с учётом взаимных влияний.

Худший ответ:
Сейчас сайт на пхп, 100 пользователей (постоянное выполнение определенных действий на серверной стороне) жрет около 500мб памяти. Там что ни база, ни вэб сервер не потребляют ресурсы?Знаю что такой же ресурс, даже в разы более функционяльный написанный на delphi сжерает 20 мб оперативки.  Наверное потому что этот delphi компилируемый, "При создании языка (и здесь качественное отличие от языка C) не ставилась задача обеспечить максимальную производительность исполняемого кода или лаконичность исходного кода для экономии оперативной памяти" и со статической типизацией.Сколько же будет жрать GO? Примерно Прикинь. Golang со статической типизацией при его разработке "ставилась задача обеспечить максимальную производительность исполняемого кода или лаконичность исходного кода для экономии оперативной памяти", ориентирован на многопоточность. Помимо этого на нём можно написать фронт и вэбсервер.
Вопрос: В чем разница между return и print?

Лучший ответ:
это можно описать приблизительно так
представьте что Вы стоите в очереди за зарплатой и вот Ваша очередь подошла, вы заглядываете в окошко и тут кассир:
(print) - вот ваша зарплата
показала ее Вам и спрятала обратно в стол
(return) - получите Вашу зарплату
выдала Вам деньги в окошко
в вашей воле выбрать какой вам вариант больше нравится :)

Худший ответ:
return
может вернутьprint()
аprint()
не может вернутьreturn
Если у вас с английским туго то хотя бы  через переводчик переведите эти 2 слова
Вопрос: Почему база данных mysql не принимает знаечение php?

Лучший ответ:
Вы построили INSERT ( $sql ), но в БД не отправляете

Худший ответ:
попробуйте так$sql = mysql_query("INSERT INTO prise (weapon, price) VALUES '$weapon','$price');
Вопрос: На каких технологиях реализовывается сбор данных социальных аккаунтов на socialblade.com?

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

Худший ответ:
Ничего сложного не вижу, на codecanyon есть подобные скрипты, на них также собирались на складчике !
Вопрос: Какую систему контроля версий можно использовать для работы с проектом в котором больше 200 файлов?

Лучший ответ:
У вас всё в тегах написано, спокойно берите Git, Гитом пользуется ядро линукса, а там намного больше 200 файлов, и ничего, пережевывает )

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

Лучший ответ:
> Как правильно получить частотный спектр этих данных?
Спектр всегда частотный, а масло - масляное
> Ожидаю, что должен вылезти пик на амплитуде "2".
Вот это вообще непонятно что означает
Смотри: у тебя есть какие-то дискретные события, происходящие в произвольные моменты времени, например, ты сидишь под яблоней и, когда падает яблоко - засекаешь время. И ты хочешь что-то понять про периодичность, связанную с этими событиями.
Первое - временные рамки. Помимо времени падения первого и последнего яблока понадобятся моменты начала и конца наблюдений. Пусть это будут 00:00 и 24:00.
Второе. Дискретное преобразование фурье работает с периодическими отсчетами, например, сколько яблок упало за каждый час в течение суток (те 24 отсчета). БПФ - алгоритм, требующий, чтобы число отсчетов было степенью двойки (в моём примере возьму 32 отсчета по 45 мин).
Третье. Если яблок падает мало, а вытянуть из опыта хочется по-максимуму, можно попробовать интерполяцию, например, если в 12:30 упало 1 яблоко, это можно интерпретировать так: в 12:00 упала 1/3 яблока и в 12:45 - остальные 2/3. Для корректной интерполяции на краях временного диапазона неплохо бы прихватить по 45мин наблюдений до и после.

Худший ответ:
Я чего-то давно не практиковал Matlab. Лет 10 :) Все забыл.
Но скажу так -- преобразование фурье должно давать вам комплексное число, соотвественно пик вам нужно наблюдать на АЧХ (модуль комплексного числа).
Потом ваш сигнал - это меандр.
Может это поможет: https://habrahabr.ru/post/219337/
Вопрос: Цикл foreach при работе с коллекциями и массивами?

Лучший ответ:
Вы перепутали понятия "коллекция" и "перечислитель".
Обычно коллекция хранит элементы, а перечислитель - ссылку на перечисляемую коллекцию и текущее положение в ней. Каждый раз, когда вы используете стандартную коллекцию (массив, список и т.д.) в foreach, создается новый перечислитель. Поэтому сбрасывать состояние не надо. Вы же сделали химеру из коллекции и ее собственного перечислителя (return this as IEnumerator), поэтому вам приходится сбрасывать состояние руками.
Это очень плохой код. Решение - не создавайте собственные коллекции вообще. Еще с C# 2.0 существуют универсальные обобщенные коллекции - List<T>, Dictionary<TKey, TValue> и множество других, которые следует использовать.

Худший ответ:
Enumerator обычно реализовывается в закрытом вложенном классе, в методах которого вы просто используете экземпляр вашей коллекции. Для написания полноценной коллекции на основе массива можно воспользоваться обобщенными интерфейсами ICollection<T> / IList<T>. Для словарей  - IDictionary<TKey, TValue> и т. д.  Не соглашусь с предыдущим решением "не создавайте собственные коллекции вообще" - коллекции нужно создавать, стандартные не всегда подходят для реализации некоторых моделей. Например, для WPF есть ObservableCollection<T>, а что если нужен отслеживаемый словарь?
Вопрос: Почему-то не работает «service nginx start» (Собрал Nginx из исходников)?

Лучший ответ:
У вас нет init скрипта в /etc/init.d
Взять тут

Худший ответ:
Потому что в случае сборки nginx нужно запускать с номером версии.service nginx-1.12 start
Вопрос: На что расходуется оперативная память Windows 10?

Лучший ответ:
Все версии винды после ХР автоматически кэшируют много чего, большое количество памяти расходуется на этот кэш. Размер кэша можно посмотреть в Task Manager на закладке Perfomance в разделе Memory, в процессах и деталях его нет.
У вас памяти и так-то впритык - 2Гб.
Так что ни чего неожиданного нет.
Если в целом производительность вас устраивает - значит система работает нормально.

Худший ответ:
joomlageek, У вас в диспетчере видно, что 60% памяти съедают процессы доступные вам, есть еще процессы которые вы не видите.
Кроме реально занятой процессами памяти есть еще память для кэширования.
Работать на 4гб памяти крайне некомфортно, для самых простых задач нужно 8Гб для комфортной работы.
А 2гб это только систему запустить и то мало.
Вопрос: Как разбанить аккаунт на апворке после фейкового заказа?

Лучший ответ:
Ничто людей не учит, увы(( Даже здесь на Тостере не раз обсуждался этот или похожие способы развода.
Кроме того в правилах Апворка такие манипуляции строжайше запрещены, вы нарушили сразу несколько пунктов.
Можно было бы написать в тех.поддержку, но,боюсь, вам навстречу они не пойдут....
Даже и не знаю, что еще вам посоветовать.
Наверное все равно напишите в саппорт, хотя бы с целью заблочить и изловить его как мошенника, или дайте ссылку на его профиль, мы тоже сообщим "куда следует", коли вы сами это не сделали.

Худший ответ:
Ничто людей не учит, увы(( Даже здесь на Тостере не раз обсуждался этот или похожие способы развода.
Кроме того в правилах Апворка такие манипуляции строжайше запрещены, вы нарушили сразу несколько пунктов.
Можно было бы написать в тех.поддержку, но,боюсь, вам навстречу они не пойдут....
Даже и не знаю, что еще вам посоветовать.
Наверное все равно напишите в саппорт, хотя бы с целью заблочить и изловить его как мошенника, или дайте ссылку на его профиль, мы тоже сообщим "куда следует", коли вы сами это не сделали.
Вопрос: Как передать имя документа через параметр в 1С?

Лучший ответ:
Посмотрел ваш обмен комментариями с Константином. У вас нет понимания, как работают запросы. Попробую в двух словах.
Текст запроса - это инструкция подсистеме управления базой данных по выбору и трансформации данных. Есть синтаксис языка запросов, согласно которому источник получения данных требуется описать в разделе ГДЕ следуя определенным правилам: если источник находится в данных системы, то он описывается как [КлассОбъекта].[ИмяОбъекта] (при этом как источник можно использовать только табличные данные, даже если они содержат всего одну строку - т.е. константы применять можно, а перечисления уже нельзя); если же источник данных находится в коде, откуда выполняется запрос, то пишут &НазваниеПеременной и источник данных передают в одноименную переменную. 
Итак, если на вход объекту Запрос или основанному на нем (это могут быть "построитель отчета" или "система компоновки") подать некоторый текст запроса, где в секции ГДЕ будет вместо Документ.Акт и Документ.Счет будет &ВидДокумента , то он отправится в переданную коллекцию параметров, поищет там параметр с именем "ВидДокумента", переместит его содержимое во временную таблицу и выполнит запрос к этой временной таблице, а не к реальным таблицам тех же документов. Таким образом, если вы в параметр ВидДокумента установите какую-то таблицу значений (или табличную часть, или результат из другого запроса), то у вас все получится. Но при передаче строки, как в вашем случае, получится ошибка, так как строку невозможно неявно преобразовать в таблицу.
Если у вас в какой-то переменной есть имя таблицы, то вам нужно следует передать значение этой переменной в текст запроса так как посоветовал Константин, или с помощью текстовой замены: 
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ВидДокумента", ВидДокумента);

Худший ответ:
Начнем с того, что параметр у вас будет строка. 
У документов есть реквизит ВидДокумента?
Вопрос: Какие тестовые задания для веб-дизайнера можно считать адекватными?

Лучший ответ:
Никакие!
У Вас должно быть своё портфолио: скрины дизайна сайтов в разных стилях. 
По нему Заказчик смотрит и решает: давать Вам работу или нет.Как много времени в среднем у вас занимает весь процесс дизайна лендингов, интернет-магазинов и т.д.? Обычно - вначале понимание логики работы сервиса, затем разбивка на визуальные модули и только потом - концепт дизайна. 
Подготовка драфта дизайн-макета с учётом проработки по ТЗ и проектирование UI/UX - это не менее 7-10 дней.Со стороны Заказчика: можно проверить чувство цвета в дизайне у кандидата: 
Попросите сделать 2-3 дизайна по случайным изображениям здесь и прислать Вам сразу же скриншоты. (это займёт не более 5 минут)

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

Лучший ответ:
Хороший английский для чтений оригинальных соглашений и лицензий.
Также крайне полезно, чтобы юрист имел продвинутый ИТ бэкграунд.
Чтобы легко мог понять такие вещи как кеш.
Чтобы понимал что просмотр и скачивание равносильны и понимал почему.
Чтобы имел представление о разных операционных системах.
Чтобы понимал чем исходный код отличается от скомпилированного или байт-кода.
Чтобы понимал основы TCP/IP и как движется траффик.

Худший ответ:
Вы конкретно в какую сферу собираетесь идти? "ИТ" это как бы про что угодно.
Вопрос: Как создавать блоки для Visual Composer?

Лучший ответ:
Сколько тем не встречал на ВП, которые были созданы на основе Visual Composer... все они работают следующим образом - создается самая обычная тема на ВП (например, на бубстрап). После чего разработчик устанавливает плагин visual composer и собирает сайт, как необходимо через визуальный редактор. Добавляет демо страницы - Homepage, About Us, Contact Us и т.д. Дальше - можно интегрировать тему с плагином https://ru.wordpress.org/plugins/one-click-demo-import/
А дальше предлагаете пользователю установить минимальный набор плагинов для корректной работы темы. Например, фреймворк... redux framework etc.   плагин Visual Composer  Contact Form 7  Woocommerce Revolution Slider
Ниже представлена библиотека для создания required plugins for theme
tgmpluginactivation.com
Ну и конечно же вышеупомянутый плагин - One click demo import.
Юзер устанавливает тему, устанавливает необходимый набор плагинов, а потом импортирует демо данные  и все.
Ну и не забываем подключить какой-нибудь фреймворк для вашей темы. Например, Redux. При необходимости можете также Carbon Fields добавить в нее

Худший ответ:
0 рисуете дизайн
1 верстаете 
2 натягиваете на ВП
3 делаете все странички с контентом для демонстрации дизайна темы
4 устанавливаете вижуал компоузер
5 при помощи набора блоков вижуалкомпоузера переделываете все те же странички из шага 3 самим вижуалкомпоузером.
у него есть набор "примитивов", которыми Вы и реализовуете всё то что Вы нарисуете в фотошопе и сверстаете.
тема будет содержать условно шапку и подвал.
а контент будет накидываться вижуал компоузером.
Ваша задача - сделать стили, чтобы условный заголовок и условная подпись у картинки вставленные на страницу при помощи вижуалкомпоузера, выглядели так, как было нарисовано в фотошопе.
Вопрос: Как правильно обработать пустой запрос поиска в wordpress?

Лучший ответ:
Попробуйте добавить в functions.php темыadd_filter('posts_search', function( $search, \WP_Query $q ) {
    if (!is_admin() && empty($search) && $q->is_search() && $q->is_main_query())
        $search .=" AND 0=1 ";

    return $search;
}, 10, 2);

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

Лучший ответ:
Комиссия, платные функции

Худший ответ:
Комиссия с услуги, за срочный вывод денег, за выделение объявления. Расширенный функционал либо с определённого количества заказов, либо открываешь платно эту функцию.
Вопрос: Выгода по времени и по памяти в реальной работе?

Лучший ответ:
В реальности всегда приходится совмещать красоту и плотность кода и потребляемый ресурсы. Иначе оно работает но не поддерживается или оно поддерживается но не всегда работает))) а для совмещения нужно хорошо понимать обе стороны!) На основании этого можно сказать что вам дают полезные навыки.

Худший ответ:
Вопрос: в реальном рабочем программирование важнее простота и понятность написанного кода или его выгода по времени и по памяти,действительно ли егэ прививает полезный навык ? 
Вот если Ваш код будет запускаться на сервере о 2-ух процессорах по 8 ядер 3 ггц и 512 гбайт озу - то можно и в простоту-понятность. 
А если Вам Ваш код надо запустить на микроконтроллере 10 мгц/64кбайт озу - вот тут Вы и про время с памятью вспомните...
Так что, все относительно и зависит от задач: кому то и java-script - быстрый язык, а кому-то каждый байт вылизывать.
Вопрос: Каким образом создаётся единая концепция указанного на скрине дизайна?

Лучший ответ:
Какой свет? Какие 3д/цсс/свг? 
Это просто иллюстрация в png. На оригинальный сайт посмотрите.

Худший ответ:
Народ, это же изометрическая графика. Плоская. В векторном редакторе делается сетка с 30 градусным наклоном (на глаз определил) и по ней привязка объектов. Переливы все градиентные. Можно векторным редактором все сделать, без фотошопа и тем более фигмы!
Вопрос: Почему сайт обновляется только когда я выполнил вход в wordpress?

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

Худший ответ:
Если правильно помню то там обновление через cron идет. Точнее не обновление а проверка есть ли новое обновление. А cron запускается когда в админку вы заходите.
Вопрос: Как определить формат координат типа 37.41512194854169, 55.714944687533524?

Лучший ответ:
У вас просто широта и долгота перепутаны. Для Москвы: 55.714944687533524 -- широта, 37.41512194854169 -- долгота. https://www.openstreetmap.org/search?query=55.7149...
А иначе будет Иран.

Худший ответ:
Очень часто Latitude и Longitude меняются местами. Стандарта никакого нет. Нужно просто это контролировать.
Вопрос: Align-items: почему не работает?

Лучший ответ:
Предположу, что забыли задать 100% высоту для всей страницыhtml,
body {
  height: 100%;
  padding: 0;
  margin: 0;
}

Худший ответ:
Так у вас скорее всего у родителя блока .register-container-flex высота такая же, как у самого блока register-container. Вот смотрите ваш код https://jsfiddle.net/auz7w5fp/1/ все корректно. Я дополнительно задал для родителя 
 всего этого height: 100%;
Вопрос: По сетке это или не по сетке?

Лучший ответ:
вообще это ерунда, но дизайнеру следовало быть аккуратнее.
усложняет на 10 минут

Худший ответ:
Поднимал этот вопрос, пусть и немного с другой стороны
Насколько совместим bootstrap и pixel perfect?
Вроде как все сошлись на том, что дизайнер должен подстраиваться под bootstrap.
С другой стороны, bootstrap позволяется менять количество колонок в сетке, м б вам просто по другой сетке нарисовать?
Вопрос: Как рекурсией вывести многоуровневое меню из массива?

Лучший ответ:
Эта структура называется adjacency list. Со всех сторон разобрана в гугле.

Худший ответ:
Поисковая фраза для гугла: "php recursive menu"
Вопрос: Chromium на Ubuntu просит при каждом запуске sudo?

Лучший ответ:
Либо у него ярлык прописан с gksu, либо он просит не sudo, а всего лишь разблокировку ключей (хранилища ваших паролей).

Худший ответ:
скорее всего, писать куда-нибудь прав ему не хватает