Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как сделать качественную сеть небольшого заведения?

Лучший ответ:
Берете любой смартфон на андроиде, гуляете по помещению и смотрите уровень сигнала от точки доступа, и сравниваете его с сигналом от других источников. Так можно примерно представить себе где проблемные места.
Устранять проблемы с плохим сигналам повышая мощность роутера смысла нет абсолютно. У роутера всегда более мощный передатчик чем у клиента.
Самая большая проблема - работающие сети по соседству, вы делите с ними эфир. Если кто то плотно работает в соседней сети, вы в это время нервно курите.
Нужно добиваться максимальной изоляции от других сетей. Например грамотным расположением точки доступа, использованием направленных антенн, использованием нескольких точек доступа.
Давать советы удаленно, не имея полной картины обстановки особого смысла нет.  
Но так если на вскидку самое лучшее решение - четыре правильно настроенных точки доступа, по одной в каждой комнате, с передатчиками выкрученными на минимум, и правильно расположенных в пространстве.
Точки доступа следует использовать те, которые позволяют тонко настраивать параметры. Микротик, убикьюти, в крайнем случае обычные с прошивкой типа DD-WRT.

Худший ответ:
Купите нормальный роутер с нормальными антеннами. Бытовой роутер элементарно не предназначен для подключения такого кол-ва клиентов. 5-10 еще куда ни шло.  Помещение у вас небольшое, чтобы заморачиваться с построением сети. Обычный Tp-link за 1000 руб. у меня за 100 метров в соседний дом добивает через бару стекленных балконов.
Вопрос: Как сделать, чтобы при наведении всплывал треугольник?

Лучший ответ:
Используй :before , :after
Используй :before , :after
Используй :before , :after

Худший ответ:
Как вариант, сделать его для каждого пункта меню, но установить visibility:hidden, а при hover'e менять на visible.
Вопрос: Реально ли восстановить BIOS в случае, если его нет?

Лучший ответ:
может я недогоняю но как rm -r /dev могла стереть bios?

Худший ответ:
Помогла перепрошивка биоса через программатор.
Перепробовал всё что смог. Отнёс в один сервис, в который советовал саппорт самсунга, там вообще ничерта не умеют, только менять запчасти за бешеные деньги. За 3 недели, что ноут провёл там, с ним работали только на уровне "Включил, не смог войти в биос, значит надо менять мать". Забрал из этого ужасного сервиса и "на удачу" отнёс в другой. Там меньше чем за неделю смогли определить в чём проблема и прошить через программатор BIOS)
Вопрос: Project Management?

Лучший ответ:
блог: www.happy-pm.com/blog/
Курсы: www.intuit.ru/speciality/intuitdpo/itpmdpo/
Видеокурсы: www.cbtnuggets.com/it-training-videos/series/pmi_pmp_u2
Ну а вообще- стандарт де факто — курить PMBOK(http://ru.wikipedia.org/wiki/Project_Management_Body_of_Knowledge)
Успехов!

Худший ответ:
Профессиональное сообщество руководителей проектов - pmexperience.org/ru Присоединяйтесь, там описано большинство стандартов, ИСУП, блоги, форум и т.д. На сайте присутствуют специалисты - задавайте любые вопросы по УП, ответят.
Вопрос: Лучшая IDE для PHP, HTML5, CSS для Mac OS X?

Лучший ответ:
На macos пользовался phpstorm. Потом работал с ubuntu, сейчас на windows - везде пользуюсь этим замечательным продуктом от jetbrains
https://www.jetbrains.com/phpstorm/

Худший ответ:
Я бы тебе посоветовал Coda,
сейчас она считается TE, в раньше считалась IDE
Также попробуй:
Komodo
Dreamweaver
Вопрос: Как в с++ добавить переменную в обьект уже определённого класса?

Лучший ответ:
Никак. Потому что:

Худший ответ:
Способ 1. Наследование.class Entity
{
public:
  virtual ~Entity() {}    // для корректной работы динамических структур данных 
                          // наподобие менеджеров уровней; в нашем примере не нужно;
                          // в реальной игре потребуется
}

class Player : public Entity
{
public:
   bool isDead;
}

int main()
{
   Player player;
   player.isDead = true;
   return 0;
}
Если кто-то отдаёт Entity, окторый гарантированно Player — то Player& somePlayer = dynamic_cast<Player&>(someEntity);
Способ 2. Композицияclass Player
{
public:
   Entity entity;
   bool isDead;
}
Способ 3. Словарь. Это уже на случай, когда чужой код настолько монолитный, что ничем его не прошибёшь.struct PlayerInfo
{
    bool isDead;
}

std::map<const Entity*, PlayerInfo> playerInfo;
Если чужой код монолитный, а объекты ещё и перемещаются по памяти — тогда выяснить, что будет «значением» объекта (например, какой-нибудь идентификатор).typedef std::string PlayerId;
std::map<PlayerId, PlayerInfo> playerInfo;
Если и код монолитный, и «имя» или «значение» объекту никак не придумаешь — тогда никак.
Вопрос: Контекстный и дочерний селекторы — в чём разница? И что за [class*="..."]?

Лучший ответ:
Мой простой пример поможет вам разобраться

Худший ответ:
по поводу №2 - не проще повторяющиеся описания вынести в отдельный класс и не париться?
Вопрос: Есть ли на тостере возможность отправки личных сообщений?

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

Худший ответ:
Нет тут такого, максимум раздел контакты у пользователя.
Вопрос: Что значит английское &quot;POW&quot; с географической точки зрения?

Лучший ответ:
Ошибочка в оригинале? Скорее всего ROW — Rest of World

Худший ответ:
Нашел вот такое определение, может, поможет :)

pow
n
(Earth Sciences / Physical Geography) Scot a creek or slow stream
[from earlier Scots poll]
Вопрос: Почему не получается изменить CSS свойство с помощью javascript?

Лучший ответ:
Подключай   jquery.. 
$("#main").css("width", "100px");

Худший ответ:
Нормально, просто и легко - с помощью jQuery, потому что IE по традиции впереди планеты всей.
answers.oreilly.com/topic/1819-how-to-change-an-el...
Вопрос: Вопрос касательно $.ajax?

Лучший ответ:
а уроки сделал?

Худший ответ:
Нужно работать с WebSocket, если пишите на php то из коробки нету поддержки, можно установить phpDaemon, либо это можно реализовать на node.js
или если на php то каждый раз пере запускать функцию после получения ответа от сервера, но так лучше не делать
Вопрос: Канал Telegram и Wordpress. Как транслировать?

Лучший ответ:
Есть готовое решение, как раз для Wordpress: blog.sk8er.name/rabota/wordpress-telegram
Пользуйтесь)

Худший ответ:
Ну смотрите. В бот апи нет функции чтения текста сообщения из канала, зато его можно форвардить куда угодно. Я предлагаю чтобы бот форвардил сообщение самом себе в личку. А уже потом, через get_updates читать текст сообщение присланных из канала. Костыль, но должно работать.
Вопрос: Как устранить тормоза таблицы после большого delete?

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

Худший ответ:
Если это логи, то:
a) зачем там индекс?
б) подумать нужно ли хранить сырые данные вообще, или можно сразу агрегировать что то?
Плюсую Леонид Сысолетин ,  решение с суточной таблицей живое.
Вопрос: Как написать простой будильник на swift?

Лучший ответ:
Может стоит хотя бы синтаксис изучить а потом писать уже что то ? 
Да и то если вы будете спрашивать как сделать то или это или всё слизывать то какой вы тогда программист ?

Худший ответ:
Переройте лучше книжку по swift от apple.
Вопрос: Что выбрать Информационная безопасность (программист) или Инженер?

Лучший ответ:
борьба с хакерами и т.д  в реальной работе ибшника 9 из 10 совсем не то.

Худший ответ:
Все названные вопросы - не главные.
Не так важно чему учиться, какое название придумали специальности, важно - у кого.
Нужно выбирать университет из числа лучших...Трудно ли найти работу по данным направлениям ?
... вот тогда, если получить хорошее образование, и работу найти по любым направлениям - легко. ;-)
Вопрос: Scrum в заказной разработке и с удаленной командой

Лучший ответ:
Мы проводим стэндапы в гуглохэнгаутах и используем редмайн для багтрекинга.
С редмайном работаем из IDE через плагины, для общения используем скайп.

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

Лучший ответ:
В идеале — с помощью flex.Вариант попроще — с помощью второго плавающего блока.
И самый простой вариант — сделать первый блок плавающим, и использовать calc().

Худший ответ:
По Вашему вопросу - jsfiddle.net/55bq9h63/1
А так можно еще почитать - -holygrail
Вопрос: Нашел сайт с подходящим шаблоном, но не знаю какие последствия могут ожидать?

Лучший ответ:
Ищите шаблоны тут: themeforest.net/category/wordpress
Всё официально, всё проверяется модераторами, кучи пользователей и отзывов.

Худший ответ:
нуу а гугол на что. По названию ищи.
Вопрос: Как правильно разбить HTML-шаблон? На примере Modx

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

Худший ответ:
Я в своё время делал так:
1. Верстку разделял на чанки
{html_begin}<html>
<head>
<!-- тут стандартные элементы для верстки, script, link и т.п.
{body_begin}</head>
<body>
<!-- тут верстка хидера и т.п. стандартных элементов, всякие меюшки, еще какая логика -->
{body_end}<!-- тут подключение script и т.п. -->
</body>
</html>
В результате был такой шаблон:{html_begin}
<!-- здесь вставляем нестандартные элементы, зависящие он конкретного шаблона
{body_begin}
{{content}}
{body_end}
Что то примерно такого.
P.S. За давностью лет {} {{ }} мог попутать местами.
Вопрос: Как обратиться к CSS свойству с префиксом из javascript?

Лучший ответ:
буквы после дефисов — пишутся в верхнем регистре. А так тоже самое

Худший ответ:
Это какое-такое свойство с одним и тем же префиксом записывается для всех браузеров?
Вопрос: Может ли сайт с функционалом, как hh.ru или rabota.ru, работать на cms 1С-Битрикс: управление сайтом?

Лучший ответ:
Может. Я лично писал сервисы с миллионами записей и аналитикой на 1С-Битрикс, причем крутилось все это на бюджетных VPS.
Важно понимать что такое данные и как с ними работать. Использовать в Битриксе то, что удобно и экономит время и думать своей головой там, где Битрикс создаст такую нагрузку, что впору суперкомпьютер арендовать.
Прямые руки + знание предметной области и все будет прекрасно работать.
Уверен все вышесказанное применимо к любому фреймворку

Худший ответ:
Если хочешь использовать Инфоблоки, то начни с ДЕТАЛЬНОГО анализа функций GetByID, GetList, GetProperties (CIBlockElement). Битрикс универсален, поэтому не оптимален для конкретной задачи. Если схема БД (модуля Инфоблоки) тебя устроит, то напиши свои публичные функции для работы с информационными объектами - и вперед.
А если будешь писать свой модуль, то лучше воспользоваться любым другим продуктом, который хотя бы дает структуру MVC (или хоть какую-то структуру для работы с данными и шаблонами). Битрикс не дает ничего в этом плане, только класс для доступа к БД (опять же не самый лучший), и стили для админки.
Надежду на готовые модули для битрикса (из маркетплейса) похорони сразу... Как пример, DEFA TOOLS написала модуль для копирования Инфоблоков, в этом модуле была функциональность наполнения Инфоблока рыбой (случайными текстами). Модуль был криво написан и при каждой загрузке обращался на сайт Яндекса за текстами (vesna.yandex.ru/all.xml). Яндекс прикрыл эту ссылку. И все сайты, на которых стоял этот модуль, стали тормозить, при любом обращении, так как яндекс не просто повесил 404, а сделал 408 или вроде того. (вот камент Дефа по этому поводу marketplace.1c-bitrix.ru/solutions/defa.tools/?PAG...). И это крупная компания. И такой БАГ!!! я бы сказал подстава из подстав. А большинство модулей написано непонятно кем, только ради 300-500 рублей за установку.
Вопрос: Как «внедрить» строку, которая содержыт HTML-теги в шаблон?

Лучший ответ:
1 тыкс{% autoescape off %}{{ Post.body }}{% endautoescape %}
2 тыкс{{ Post.body|safe }}
Но на "внедрились" мозг до сих пор ломаю. Какой смысл скрыт за этим словом? Сейчас понимаю как:
 - Мне нужно чтобы выводило строку, оно её и выводит. Но хочу чтобы внедрилась.

Худший ответ:
Вот почему никто не читает Оф. документацию?
https://docs.djangoproject.com/en/1.7/ref/template...
P/S На русском: djbook.ru/rel1.6/ref/templates/builtins.html
Там много полезного всякого, и про это и про то.
Вопрос: Как помечать интернет страницы прочитанными (посещенными, отправленными)?

Лучший ответ:
например, вот. уже не поддерживается, но работает.

Худший ответ:
Число закладок сократилось примерно в 10-20 раз когда я стал использовать Evernote совместно с расширением Evernote Web Clipper. Делает скриншоты, либо копирует в заметку выделенный текст\статью целиком, также делает закладки с превью. В закладках браузера теперь только то, что требует авторизации. А заметки Evernote очень удобно сортируются по блокнотам, есть тэги, возможность редактирования, шаринга и прочего прочего. К тому же вся информация при установленном и синхронизированном вин приложении доступна оффлайн, да и в случае пропажи какой то инфы в интернетах у вас все останется на месте.  Это не решение, а вкусная альтернатива, с которой я уже не слезу, чего и Вам советую.
Вопрос: С чего начать изучение робототехники?

Лучший ответ:
Я так понимаю с операционками, хакерством и всевозможными ЯП Вы уже закончили? )
toster.ru/user/evgeniy8705/questions

Худший ответ:
Без радиотехники не обойтись это точно, важно уметь читать структурные схемы, и самому понимать принципы)
Вопрос: Как работает меню Тостер?

Лучший ответ:
херова он работает. под андроидом не показывает никаких кнопок и меню

Худший ответ:
<a class="main-menu__link " id="item_feed" href="my/feed">
        <svg class="icon_svg icon_menu_feed" viewBox="0 0 32 32">
          <use xlink:href="https://toster.ru/images/sprites.svg#icon_menu_feed"></use>
        </svg>
        Моя лента
      </a>
Скорее всего в backend-е какой-то MVC фреймворк, в котором заданы шаблоны URL и на каждый шаблон повешен обработчик который отдаёт соответствующую страницу. В данном коде мы видим ссылку href="my/feed", которая как раз соответствует одному из шаблонов.
Вопрос: Вопросы про коммутатор и маршрутизатор. Как это действует и какие есть токости?

Лучший ответ:
www.cisco.com/web/RU/learning/le3/le2/le0/le9/lear...
Почитайте учебники по сетям, сходите на курсы, CCNA вам вполне хватит..
Это хоть кашу в голове уберет, и базовые понятия по сетям выучите....

Худший ответ:
Я конечно не понимаю этих схем, но я уверен что разницы ты не заметишь, а про 4 вопрос, все зависит от того какого уровня коммутатор чаще всего это 2 уровень и там все происходит по MAC-адресам
Вопрос: Avast

Лучший ответ:
У меня ругался только на домены вконтакте: vk.com и vk.me.
Сейчас перестал, также внезапно, как и начал.

Худший ответ:
Тоже интересно узнать. У меня он vk.com заблокировал, но на https://vk.com не жалуется.
Вопрос: Зачем хешировать строку для cookies при авторизации?

Лучший ответ:
Абсолютно бессмысленная трата ресурсов. Её даже в куки класть не нужно. Храните в куке только идентификатор пользователя. Если он там есть - значит пользователь зашел на сайт и всё хорошо.
Ведь никто не подберёт постоянный идентификатор пользователя, это ж не какой-то там ненужный бессмысленный хэш генерируемый при каждом логине.

Худший ответ:
Если при авторизации хеш в базе существует, то можете в куку записать данный хеш.
В каждом скрипте где необходимо проверять достоверность авторизации вы сверяете то что в куке и в базе, если количество запросов много, то можете через сессии задать время проверки(раз в 5 минут).
при таком подходе у вас будет следующий функционал.
вы мажете скинуть авторизацию пользователя, просто сменив хеш в базе.
В куках вы не храните реальной информации а пароле.
также при таком подходе вы можете сделать авторизации только на одном клиенте!
Вопрос: Какой самый простой Web-framework на GO?

Лучший ответ:
Самый простой идёт в стандартной библиотеке.
golang.org/pkg/net/http

Худший ответ:
Для стандартной библиотеки (net/http)q := r.FormValue("q")
b := r.FormValue("b")

где r *http.Request.
Ну и не забывайте ставить заголовки..w.Header().Add("Content-Type", "text/html; charset=utf-8")
w.Header().Add("Server", "fakeserver")

Где w http.ResponseWriter.
Если это то, что Вам нужно - могу накидать примерчик.
Вопрос: Как заглушить часть кода HTML?

Лучший ответ:
Что может быть проще?
codepen.io/aliencash/pen/wajbex

Худший ответ:
никак. Доступ к айфрейму закрыт браузерами по соображениям безопасности. Единственный вариант - делать свою странице, отправляя данные на их сайт(что тоже весьма небезопасно), либо используя их апи, если таковой имеется.
Вопрос: Сайт на JAVA с использованием Spring Framework?

Лучший ответ:
У себя в избранном нашел 2 статьи — они мне когда-то очень помогли разобраться:
habrahabr.ru/blogs/java/111102/ — особенно эта
habrahabr.ru/blogs/java2ee/83860/

Худший ответ:
Когда в своё время изучал Spring, положил в избранное несколько статей, может пригодятся.
viralpatel.net/blogs/2010/11/spring3-mvc-hibernate-maven-tutorial-eclipse-example.html
habrahabr.ru/blogs/java/83860/
0agr.ru/blog/2011/04/15/spring-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D1%8B/
www.spring-source.ru/articles.php
Вопрос: Как правильно обрабатывать запросы Telegram Bot API?

Лучший ответ:
Странная проблема.
Посмотрите что начинает глючить в обработчике. Если он написан прямыми руками - все должно отлично работать.
Можно конечно и очередь какую впилить, но это реально полезно только если у вас какой то дикий пиковый хайлоад бывает, а ресурсов на ответ требуется много.UPD на всякий случай уточню: не стоит писать обработчиков бота на базе каких либо тяжелых фреймворков

Худший ответ:
В твоем случае лучше реализовать web-hook в АПИ телеграма, если нужно использовать PHP. PHP не очень подходит для бесконечно работающей программы. (чем и является бот).
Вопрос: Как скопировать текст в excel по столбцам (подробнее в содержании)?

Лучший ответ:
Копируйте в текстовый документ. При импорте просто укажите разделитель, который разделяет слова. Например пробел или табуляцию или что там у вас.
Еще можете с помощью notepad++ отформатировать текстовый документ удалив/добавив/заменив символы для более правильного импорта в Excel.

Худший ответ:
Выделяете список, сохраняете в блокноте, открываете в excel. 
Все.
Т.к. там слова разделены Tabом, откроется уже разделенным на столбцы. Если почему то не откроется, выделяете столбец > "Данные" > "Текст по столбцам". Выбираете разделитель столбцов.
Вопрос: Проиндексируется ли то, что напечатано через js?

Лучший ответ:
Ни гугл, ни яндекс не умеют индексировать страницы, которые показываются javascript-ом, по крайней мере, автоматически.
Но и гугл, и яндекс этому можно научить.
Для того, чтобы поисковики умели индексировать ajax-страницы, нужно особенным образом подготовить сайт.
Например, у вас есть сайт www.example.com. И вы делаете несколько страниц, подгружаемых через ajax, например, у вас вот такие странички:www.example.com/#!first
www.example.com/#!second
www.example.com/#!third
(важно добавить восклицательный знак!)
После этого необходимо подготовить на сервере скрипт, который будет выдавать тот же контент, что и ajax-версия (иначе могут быть проблемы).
Нужно сделать доступными следующие страницыwww.example.com/?_escaped_fragment_=first
www.example.com/?_escaped_fragment_=second
www.example.com/?_escaped_fragment_=third
И тогда поисковик сумеет проиндексировать ваш сайт. А ваш javascript никто не будет выполнять, вдруг вы там биткойны майните. (хотя были разговоры, что гугл выполняет скрипты для проверки чго-то там).
Вот статья про это в гугле, а вот в яндексе.
Вот статья про то, как всё это можно настроить.

Худший ответ:
Как я и сказал ранее там  лишь соц.блок столько возни не по мне, да и бессмысленно если честно... Проще этот код на всех этих сайтах добавить и обновлять по отдельности
Вопрос: Обработка текста с помощью mystem на php?

Лучший ответ:
mystem — консольное приложение, в консоли используется кодировка 866.
можно попробовать:
$q = convert_cyr_array($q,"k","w");

Худший ответ:
У меня работает такой вариант:


<?php
function mystem($q) {
	$result = exec('echo "'.$q.'" | mystem.exe -i -e cp866');
	$result = iconv("cp866", "windows-1251", $result);
	return $result;
}

echo mystem('в мурелки шлепают пельсиски');

Кодировка скрипта: ANSI (Notepad++)
Вопрос: Куда и как правильно положить свои скрипты и как их лучще хранить?

Лучший ответ:
git clone <repo>
git checkout <branch>
sudo ./install.sh

Как-то так. Зачем заморачиваться с deb пакетами и прочим? Напишите один скрипт, заведите git репозиторий.

Худший ответ:
Под всё это просится puppet. Но его сервер вам придётся держать самостоятельно (заодно на нём можно будет организовать репозитории для кода и пакетов).
Вопрос: Как поделить доли в проекте?

Лучший ответ:
Нафиг партнеров. Нафиг инвесторов. Работайте самостоятельно. При явной необходимости нанимайте наемников попроектно. При великой необходимости берите людей на зарплату.
Двоевластие является частой причиной гибели проектов, на самых разных этапах развития.

Худший ответ:
все зависит от проекта... плюсую ответ Артёма - это в идеале.
а вообще договоренности дело ответственное, особенно письменные.
я бы облек возможно все в такую форму "ок, ребята - скажу честно, проект только на начальном этапе - очень нужны рабочие силы, я сам всё не успеваю. так как я очень нуждаюсь в вас, на данном этапе я готов вам отдавать по 15% всей выручки. это предложение действительно на начальный этап, который как мне кажется продлится Х месяцев, затем условия будем пересматривать - скорее всего в сторону просто з.п., так как будут привлекаться еще люди, на всех таких вкусных долей не хватит".
Вопрос: Стоит ли начинать заниматься программированием в 30+ если до этого не программировал?

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

Худший ответ:
Стоит. За это не расстреливают.
Вопрос: Как работать с семантическим ядром?

Лучший ответ:
Книга "SEO оптимизация от А до Я" раздел" Семантическое ядро" даст ответы Вам на эти вопросы.

Худший ответ:
Сем.ядро это для всего сайта. Каждая страница соответствует своему запросу/нескольким связанным. В общем нужно, чтобы страница была релевантна запросу.
Вопрос: Как работает оператор декремента в JS?

Лучший ответ:
Потому что вы видимо плохо представляете как устроен цикл for. Он будет отрабатывать пока --n === true. В случае --n, там сразу окажется 0, т.е. false и цикл остановится, таким образом нуля вы не увидите никогда. В случае с n--, там будет пока ещё единица и цикл продолжится, а на момент вызова лога n уже станет нулём.// последняя итерация цикла

for (n = 10; --n;) { // n === 0
  console.log(n); // сюда не зайдёт ибо 0 == false
}

for (n = 10; n--;) { // n === 1
  console.log(n); // а вот тут уже n === 0
}

Худший ответ:
просто вы не пользовались логикой при составлении цикла :)