Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как оптимизировать код для нахождения простых чисел (Задачка из CodeWars)?

Лучший ответ:
def isPrime(n):
 
    # Corner case
    if (n <= 1):
        return False
 
    # Check from 2 to sqrt(n)
    for i in range(2, int(n**.5)+1):
        if (n % i == 0):
            return False
 
    return True

def gap(distance, range_lower, range_upper):
  worked_area = list(range(range_lower,range_upper+1))

  find_primes = [el for el in worked_area if isPrime(el)]
  if len(find_primes) == 0:
    return []

  for i in range(1, len(find_primes)):
    if find_primes[i] - find_primes[i-1] == distance:
      return [find_primes[i-1], find_primes[i]]

  return []

Или:

def isPrime(n):
 
    # Corner case
    if (n <= 1):
        return False
 
    # Check from 2 to sqrt(n)
    for i in range(2, int(n**.5)+1):
        if (n % i == 0):
            return False
 
    return True

def gap(g, m, n):
    start = 0
    end = 0
    for i in range(m,n+1):
      if isPrime(i):
        if start == 0:
          start = i
        elif end == 0:
          end = i
        else:
          start = end
          end = i
      if end - start == g:
        return [start, end]
    return None

Худший ответ:
def isPrime(n):
 
    # Corner case
    if (n <= 1):
        return False
 
    # Check from 2 to sqrt(n)
    for i in range(2, int(n**.5)+1):
        if (n % i == 0):
            return False
 
    return True

def gap(distance, range_lower, range_upper):
  worked_area = list(range(range_lower,range_upper+1))

  find_primes = [el for el in worked_area if isPrime(el)]
  if len(find_primes) == 0:
    return []

  for i in range(1, len(find_primes)):
    if find_primes[i] - find_primes[i-1] == distance:
      return [find_primes[i-1], find_primes[i]]

  return []

Или:

def isPrime(n):
 
    # Corner case
    if (n <= 1):
        return False
 
    # Check from 2 to sqrt(n)
    for i in range(2, int(n**.5)+1):
        if (n % i == 0):
            return False
 
    return True

def gap(g, m, n):
    start = 0
    end = 0
    for i in range(m,n+1):
      if isPrime(i):
        if start == 0:
          start = i
        elif end == 0:
          end = i
        else:
          start = end
          end = i
      if end - start == g:
        return [start, end]
    return None
Вопрос: Как сделать так, чтобы при наведении на отдельную квартиру (path) менялся стиль ссылки, соответствующей этой квартире?

Лучший ответ:
Из data-атрибута получать номер квартиры. По нему выбирать и path и элемент списка:
snippet
Подробнее.
Интересуют события, когда мышка наезжает на path или на элемент списка, и когда уезжает.

И у path и у элементов списка у каждого в дата-атрибуте data-flat записан номер квартиры. 
Когда происходит событие, надо:
получить из data-атрибута номер квартиры
переключить класс active (включить или выключить его, в зависимости от типа события

Зная номер квартиры, можно выбрать элементы, у которых атрибут data-flat совпадает с этим номером. Для этого используется селектор [data-flat="42"]

Худший ответ:
Я накидал готовый пример, посмотрите его.
Надеюсь это поможет!
CodePen
Вопрос: Как определить fps сайта при скроле?

Лучший ответ:
Chrome DevTools.
Производительность.
Начинаете запись , крутите , вертете.
Заканчиваете запись CTRL+E , или кнопкой в панеле.
Ждете , смотрите статистику.
(может это не то я не совсем уверен)

Худший ответ:
Формально никак. Просто потому, что js код не может получить доступ к event loop браузера. Разумеется, можно написать setTimeout(...,0), но этот трюк вовсе не гарантирует вызов callback в следующем фрейме. С другой стороны, вы можете запустить цикл с искусственной прокруткой для имитации действий пользователя, но эта симуляция даст опять же неточный результат.

Очевидно, лучше для профайлинга использовать devtools.
Вопрос: Как максимально оптимизировать (ужать) много картинок JPG (JPEG) с сохранением качества, особенно CMYK?

Лучший ответ:
Если с удобным интерфейсом, то irfanView, в нём команда batch conversion (пакетная конвертация).
Если не боитесь с консольным разбираться, то смотрите imageMagick.

Худший ответ:
Непонятно. Если это одноразовое действие - то можно написать наверное софт который просто вызывает imagemagic и все сделает. Но у вас - сайт. И это должно работать на основе некого процесса верстки контента. 
Дизайнер закинул картинку. Дальше она сжалась и создалось штук 5 уровней thumnails для preview. Вот второй сценарий - более интересен к разработке.
Вопрос: Как объяснить ребенку что IT это светлое будущее (буклет/журнал)?

Лучший ответ:
Сергей Михалков уже ответил на ваш вопрос:

<...>
— А у нас огонь погас —
Это раз!
Грузовик привез дрова —
Это два!
А в-четвертых — наша мама
Отправляется в полет,
Потому что наша мама
Называется — пилот!

С лесенки ответил Вова:
— Мама — летчик?
Что ж такого?
Вот у Коли, например,
Мама — милиционер!
А у Толи и у Веры
Обе мамы — инженеры!
А у Левы мама — повар!
Мама-летчик?
Что ж такого!

— Всех важней, — сказала Ната, —
Мама — вагоновожатый,
Потому что до Зацепы
Водит мама два прицепа.

И спросила Нина тихо:
— Разве плохо быть портнихой?
Кто трусы ребятам шьет?
Ну, конечно, не пилот!

Летчик водит самолеты —
Это очень хорошо!

Повар делает компоты —
Это тоже хорошо.

Доктор лечит нас от кори,
Есть учительница в школе.

Мамы разные нужны,
Мамы разные важны.

Дело было вечером,
Спорить было нечего.


Худший ответ:
Детям хорошо заходят ролики от BostonDaynamics c роботами Atlas и Spot
Вопрос: Выбрать выделенный сервер между AMD Epyc 7351P и Intel 2x Xeon E5-2630v3?

Лучший ответ:
Верно заметил ky0, AMD 16 ядер на одном процессоре, а Intel - два процессора, по 8 ядер на каждом. Однопроцессорный AMD будет быстрее, хотя бы потому, что на двухпроцессорном NUMA будет иногда замедлять доступ к памяти. Да ещё и сама память на Intel'е медленнее.

Худший ответ:
Частота у памяти разная - 2400 против 1866. 
Учитывая, что у AMD и 2х Intel одинаковое количество каналов памяти - 8, то частота играет роль в скорости.
Так у AMD максимальная пропускная способность памяти 153.6 GB/s против 59 GB/s  у Intel.
Почувствуй разницу. 
У этих хостеров можно взять указанные серверы без оплаты за инсталл
Вопрос: Нужна помощь с тех. заданием. Что гуглить?

Лучший ответ:
Хотят консольное приложение, которое отправляет данные веб-сервису через вебсокет. 
Веб-сервис хотят, который принимает данные из консольного приложеня через вебсокет. 
Azure функцию хотят, которая обрабатывает информацию из веб-сервиса. Использовать базу данных ms sql server, и linkToDb для взаимодействия с базой данных.

Худший ответ:
Если только начинаешь изучать ASP то для того,чтобы грамотно и с пониманием, а не копипастом все сделать. придётся для начала хорошенько в основах разобраться и повышать свой скилл. А не сразу на это лезть)
Вопрос: Как перевести на русский все тексты исключений в существующей библиотеке?

Лучший ответ:
Правильно говорит Pavel Omelchenko, только без примеров
try {
} catch (Throwable $e) {
    $translation = translate($e->getMessage()); // <== Не знаю откуда будешь брать переводы
    $class = get_class($e);
    throw new $class($translation, $e->code);
}

Худший ответ:
Через try catch
Вопрос: Как написать красивый и понятный код?

Лучший ответ:
Красивый и понятный код = читаемый код. 
Нагугли что такое самодокументирующийся код.

Я сам начинающий, но с чего бы я начал это распутывать:
area[0][0]["text"]  - тут у тебя куча раз написано примерно одно и то же, меняется только 2 числа.
Легчайшим образом переносится в функцию:
def x_here(x,y):
    if area[x][y][text] == X:
        return True
    else:
        return False

тогда одна строка в winner() уже будет вот так выглядеть:

if x_here(0,0) and x_here(0,1) and x_here(0,2):
    return "X"

тут у тебя снова есть повторяющиеся элементы
во-первых, координаты для победы заранее известны
win_condition_topleft_to_botright = ((0,0),(0,1),(0,2))
у нас есть кортеж с кортежами. Если в этих координатах везде окажутся иксы - нужно вернуть X (победа). У этого кортежа понятное название (слева вверху к низу справа)

далее нам нужна функция которая примет это условие победы и проверит его:
def check_win_condition(first, second, third):  
    """на вход три кортежа, являющиеся координатами игрового поля"""

    if x_here(*first) and x_here(*second) and x_here(*third):
        return "X"

def winner():
    check_win_condition(*win_condition_topleft_to_botright)
    check_win_condition(*win_condition_2)
    check_win_condition(*win_condition_3)
    check_win_condition(*win_condition_4)

И... видишь повторяющиеся элементы? 4 одинаковые строки, в которых меняется только один параметр?
Ah shit, here we go again
Ты знаешь что делать. Действуй.

Худший ответ:
Разбей программу на две части.
1. Класс "игровое поле". Хранит и сообщает (но не показывает на экране!) текущее состояние поля игры, позволяет делать ходы, отслеживает их очерёдность и корректность, определяет завершение игры и победителя (если есть). Словом, содержит в себе собственно логику игры.
2. Класс "окно игры". Держит у себя ссылку на экземпляр класса "игровое поле", показывает его состояние,  т.ч. состояние игры в целом, вызывает метод хода согласно действиям пользователя.
2,5. Основная программа. Создаёт поле, создаёт окно игры, показывает его на экране, уходит в рабочий цикл (mainloop).
Вопрос: Есть ли смысл в закупке ссылок?

Лучший ответ:
Мое имхо - нет.
И не потому что ссылки не работают, они до сих пор являются фактором ранжирования (более заметно в google чем в яндекс), но я практически уже не закупаю ссылки вот по таким причинам:


факторов ранжирования стало очень много, и роль ссылок заметно снизилась. Если раньше это был чуть ли не №1 какой важный параметр для сео, то сейчас на первых местах другие факторы. И я реально не вижу существенной отдачи от закупленных ссылок. Типа был на 10 странице - купил ссылки - стал ТОП1, такого я не наблюдаю.
каталоги, форумы, профили и т.п. уже всё, почти не дают отдачи.
мусорных площадок стало так много, что копание в них отнимает много времени. Да, есть сервисы, помогают массово тестировать, в блоге писал как это делать https://moytop.com/prodvizhenie-sajtov/kak-pokupat..., но всё равно каждую приходится перепроверять руками, тратится куча времени на поиск действительно толкового донора.
цены на качественные ссылки поднялись, если раньше можно было покупать вечные ссылки за 200-300р с незаспамленных сайтов, то сейчас я дешевле 800-1000р найти могу только шлак, даже на известных биржах, типа GGL и Миралинкс, рейтинг бирж ссылок тут - https://moytop.com/prodvizhenie-sajtov/rejting-bir..., поэтому возникает большой вопрос - то ли вкидывать в ссылки десятки и сотни тысяч, то ли вложить их в развитие сайта, рекламу, соцсети и т.п. Ибо сейчас уже в ссылки придется вкладывать больше.


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

Худший ответ:
Да! Есть смысл и еще долго будет.
Просто нужно очень внимательно выбирать и не допускать мигающих. 
А так, аккуратная закупка ссылок будет работать еще долго ;)
Хотя это и не совсем white hat
Вопрос: Оцените верстку HTML / CSS, стоит ли переходить на изучение JS?

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

Худший ответ:
Учите жс, я тоже недавно учу верстку + жс, гораздо интереснее и гораздо прикольнее учиться, когда видишь, что твоя работа "Оживает", обретает какую-то динамику и с ней можно провзаимодействовать )
Вопрос: Есть ли «тайм-трекеры» для учета работы сотрудников не за компьютерами?

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

Худший ответ:
ручной секундомер.
дома строят, урожай собирают
посчитайте норму времени, и на её основе устанавливайте дедлайны.

Затреканое время не гарантирует эффективное использование этого времени
Вопрос: Существует ли тип данных List или Array в MySQL?

Лучший ответ:
Разумеется, существует. 
Тип данных List или Array в реляционной базе данных - это связанная таблица.

Соответственно, inventory - это просто таблица из двух полей, id игрока и id скина

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

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

Обходить это технически - не самый лучший способ. Но вы можете передавать файлы через любой файлобменник в инете. можно даже через pastebin передавать за base64-коденые файлы.

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

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

Ну и гугл конечно.

Документация к конкретной библиотеке должна быть примерно там же, где нашёл саму библиотеку.

PS: поддерживаю Adamos 

А вариант НЕ делать ролики по вопросам, в которых вы сами недостаточно разбираетесь, чтобы обойтись без вопросов на Тостере - не рассматривался?..

Для кого это видео должно быть? Для таких же не разбирающихся?

Худший ответ:
Как правило практически все библиотеки доступны через репозиторий пакетов соответствующего языка - там можно и по ключевым словам искать.

Ну и гугл конечно.

Документация к конкретной библиотеке должна быть примерно там же, где нашёл саму библиотеку.

PS: поддерживаю Adamos 

А вариант НЕ делать ролики по вопросам, в которых вы сами недостаточно разбираетесь, чтобы обойтись без вопросов на Тостере - не рассматривался?..

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

Лучший ответ:
Вот представьте, DDoS - это час пик в Москве. А вы турникетами перегородили въезд на придомовую территорию. И теперь искренне надеетесь, что благодаря придомовым турникетам МКАД перестанет пробками забиваться. Аналогия понятна?

P.S. Даже если вы выдернете провод из сервера - DDoS трафик не исчезнет, он просто перестанет доходить до конечного устройства, будет подвисать на стадии инициализации коннекта. Cloudflare вам в помощь.

Худший ответ:
Нужно ограничивать до того, как траффик зафлудит ваш канал.
Два варианта:
1) Использовать сервис, через который проходит весь траффик между клиентом и сервером. Сервис будет резать плохой траффик. Пример популярных и недорогих - Cloudflare, Incapsula.
2) Для желающих, умеющих и/или людей с паранойей (так так сервисы из пункта 1 должны расшифровывать траффик) - делать это самому. Т.е. купить железо с портом на 10 (100, 1000) ГБ и фильтровать.
Вопрос: VPN с перезагрузкой через консоль?

Лучший ответ:
Элементарно.
Берете один vps. На нем поднимаете впн сервер, чтобы вы к нему коннектились.
Покупаете еще N.... нет, N мало, лучше M vps в разных местах. Ну сколько вам там уникальных ип надо? сотня? покупайте 100 vps.
Теперь на первом vps настраиваете возможность выходить в инет через любую из 100 vps... Ну например еще впн подключениями...
Вуаля. Вы подключаетесь к одному серверу, и на нем можете выбрать, через какой ип дальше идти в инет...

ЗЫ. Любой сервис, который дает вам возможность сменить ип или локацию выхода - сделал также....

Худший ответ:
наличие данной опции зависит лишь от владельца VPN.
ну если она такая есть, то он и предоставит метод смены ип.
от параметров локальной системы это не зависит.
Вопрос: Попросили паспорт фото и идентификационный код для договора и NDA, стоит ли подписывать?

Лучший ответ:
Нет ли в денном договоре ничего такого, противозаконного обычно?Обычно - нет. Нет ли в вашем конкретном - кто знает.

идентификационный кодЧто за код?

стоит ли подписыватьКонечно. В случае проблем, в суде скажете, что в интернете совета спрашивали (не показывая текст договора) и там разрешили.

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

Лучший ответ:
Подозреваю что вы криво пытались объяснить что вам нужно событие смены вкладки?
document.addEventListener("visibilitychange", function() {
    if (document.hidden){
        console.log("Browser tab is hidden")
    } else {
        console.log("Browser tab is visible")
    }
});

Худший ответ:
https://www.w3schools.com/jsref/event_onhashchange.asp
может поможет
Вопрос: Как отправить форму без валидации?

Лучший ответ:
Используйте функцию confirm, чтобы спросить у пользователя нечто такое:
Форма заполнена некорректно, вы действительно хотите отправить данные как есть?
OK | Отмена

Худший ответ:
Добавьте атрибут novalidate на форму. 
https://developer.mozilla.org/ru/docs/Web/HTML/Ele...
Вопрос: Могу ли я перенести Windows 10 с hdd на ssd без установлений дополнительных программ?

Лучший ответ:
Встроенными средствами Windows это пока не сделать. Нужны сторонние утилиты. Лет 20 назад мы использовали Partition Magic. Потом появились утилиты от Acronis. Но они больше не развиваются. 
Сейчас безусловный фаворит — AOMEI.  Там есть бесплатная версия в которой выполнишь команду Migrate OS to SSD. Утилиту можно установить в системе, либо использовать загрузочную флешку.

Худший ответ:
Вам не нужно устанавливать на комп никакие программы (и тем более покупать их), а достаточно обзавестись любым популярным ремонтно-восстановительным LiveDVD или LiveUSB - Реаниматор, MultiBoot, диски Сергея Стрельца и т.д., тысячи их. Заимев такой инструмент, вы сможете использовать его не только для решения данной проблемы, но и во множестве других случаев.
При выборе рекомендую обратить внимание на те LiveDVD/LiveUSB, которые содержат набор утилит 2k10 - это несколько сотен утилит, каждая снабжена краткой аннотацией. Среди них есть AOMEI Partition Assistant и парагоновский HDM, оба они умеют делать "Миграцию ОС на SSD" - то, что вам и нужно. Перенос Винды через резервную копию подходит для этого гораздо хуже (там могут вылезти проблемы, о которых тут было многократно спрошено/отвечено).
Вопрос: Где искать нормальных менторов?

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

Худший ответ:
Чтобы ответить на твой вопрос, ты должен сам ответить на один: "А какой смысл опытному чуваку заниматься менторством левых людей?". Если он работает в конторе, ему есть, кого учить + он с этого будет иметь выгоду, ибо ему с этими людьми дальше работать.
Если он - фрилансер, то (1) вряд ли такой уж опытный, и (2) опять-таки, у него время - деньги. А на фрилансе ставки больше, чем в фирме.
Итого, ответ: "Нигде. Ибо нормальные спецы подобным не занимаются."
Исключение, сайты, навроде этого, где тебе, возможно, помогут с каким-то специфическим вопросом. А может и пошлют. В гугл.
Вопрос: Как ограничить скорость канала для ngnix?

Лучший ответ:
С такой утилизацией вам нужно расширять канал.
Данная задача решается на сетевом уровне через qos.

Худший ответ:
Посмотрите вот это
Вопрос: Как в mysql выбрать ближайшую бОльшую и ближайшую мЕньшую запись из базы в 1 запрос?

Лучший ответ:
В комментариях тебе уже ответили вариант с order by. Запрос order by и limit очень тяжелый для sql сервера, его очень сложно оптимизировать.

Есть еще min max но тебе нужны id, значит вложенный запрос по timestamp, не уверен что это будет быстрее (лучше поэкспериментируй)
select * from xxx where
   timestamp=(select min(timestamp) from xxx where timestamp > ...)
or timestamp=(select max(timestamp) from xxx where timestamp < ...)p.s. я заметил что ничего не сказано про одинаковые значения timestamp в разных записях, если брать limit 1 то будет выбираться случайная запись (точнее 100500 раз одна но в какой то момент другая - undefined behavior), этот запрос выдаст все записи с одинаковыми timestamp

Вообще то sql базы данных не очень подходят к задачам, где есть относительный порядок, будут накладные расходы, причем сильно заметные при больших размерах и больших количествах запросов.

В каких то ситуациях можно очень СИЛЬНО оптимизировать задачу, если есть какое то знание о том как данные записываются в таблицу. Например если известно гарантированное окно времени, в течении которого поступают данные, и их не сильно много можно просто сделать
select * from xxx
where timestamp > date - const_interval
  and timestamp < date + const_intervalа затем уже среди этих данных выбирать по выше определенным алгоритмам или даже на бакэнде 

Если изменений данных значительно меньше запросов на чтение (особенно если модификации не предполагаются и есть только добавления), то можно складывать искомые значения сразу в момент создания записи (добавлять id новой записи в предыдущую, и тут же ее id в новую), делать это можно как тригерами так и на бакэнде, накладных расходов на такую запись мало зато на чтение данные доступны за константное время, максимально быстро
select p2.*,p3.* from xxx p1
  left join xxx p2 on p1.id=p2.previous_id
  left join xxx p3 on p1.id=p3.next_id
where p1.timestamp=...в данном случае строчка будет одна, данные раскиданы по колонкам p2.* и p3.*

В каких то ситуациях можно даже завести отдельный сервис, службу, дающую нужный ответ на порядок быстрее чем любой sql (например за счет того что данные хранятся в оперативной памяти), очень часто этим сервисом может стать тот же бакэнд (если это не cgi приложение), дабы не множить сущности, но если речь идет не об одной физической машине а о кластере, то там есть варианты и сложности.

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

Лучший ответ:
Может вы выводите на экран с точностью в 4 знака? У double явно побольше точность

Худший ответ:
Нормально все считается. У меня вышло

sizeof(double) = 8 bytes
z = 16.66666666666666785090

gcc version 9.4.0
Вопрос: Перестал работать USB порт, как исправить?

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

Худший ответ:
Я сам чиню, там могли ножки выломаться с платы, достаточно разобрать, аккуратно подпаять (восстановить дорожки при необходимости тонкими проводками) и надежно зафиксировать разъём припоем
Вопрос: Почему я не могу активировать виртульное окружение python?

Лучший ответ:
1. Открой PowerShell от имени администратора.
2. Введи команду "Set-ExecutionPolicy unrestricted" без кавычек.
3. Теперь можешь можешь активировать виртуальное окружение (не важно в этом же окне или в новом).

Эти действия нужно проделать только 1 раз,  далее для запуска виртуального окружения их повторять не нужно.

Худший ответ:
python env\Scripts\activate -> env\Scripts\activate
Актиация окружения происходит для данной сессии терминала, питон там не особо участвтует.
Вопрос: Почему выводит массив?

Лучший ответ:
Кому-то лень сделать var_dump переменной.

Худший ответ:
Внутри то, что возвращает getOne, а не count
Вопрос: Какой прямой шлюз прописать на Ростелеком?

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

Худший ответ:
 как запустить интернет без прокси и контент-фильтрации? 
Берете бутылку сока/тортик/пиццу и идете к вашему админу и спрашиваете у него доступ. В большинстве случаев очень легко и быстро все решается.