Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Почему функция в php не найдена?

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

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

Лучший ответ:
Да. Все верно.
Единственное что добавлю, пересылать токен лучше в заголовках. Причем желательно, поскольку механизм аутентификации нестандартный, в заголовке X-Authorization. Если вы решите хранить токен в куках и передавать его, это желательно должны быть http-only куки (хотя в случае JWT не обязательно) и на сервере должна быть защита от CSRF атак.
Так же поскольку у нас по сети гуляют по сути креденшелы, важно использовать SSL. Благо сегодня есть lets-encrypt что бы бесплатно получить сертификаты.
И последнее, что бы обезопасить себя еще, используйте refresh-токены. То есть наш уникальный токен который гуляет в каждом запросе будет иметь ограничение по времени жизни (скажем 5 минут) и для его обновления мы будем использовать refresh-токен. При получении refresh токена клиенту уходит новая пара токен + refresh-токен.
Таким образом у злоумышленника который перехватил токен пользователя будет окно всего в 5 минут что бы что-то сделать.

Худший ответ:
Я мимо проходил и, вроде, все верно, кроме:С мобильного приложения я отправляю логин и пароль на сервер api.Никогда! Слышишь, Карл?! НИКОГДА НЕ ПЕРЕСЫЛАЙ данные авторизации на сервер БЕЗ ПРЕДВАРИТЕЛЬНОГО ХЕШИРОВАНИЯ на стороне клиента серверным ключом.
1. Данные на клиенте: hash(USER1:PASSWORD:SKEY:RANDOM), 
2. Пересылаю на сервер: ab1e37ab50c61d8c80fb5cb4b1e3122f:RANDOM
3. Ищу на сервере совпадение: 
ab1e37ab50c61d8c80fb5cb4b1e3122f===hash(USER:PASSWORD:SKEY:RANDOM) и получаю учётку пользователя, если все верно.
А так, да! Спасибо, Сергей Протько - все довольно четко и верно написано!
Вопрос: Как написать программу для отслеживания изменений на сайте?

Лучший ответ:
beutifulsoup - не используем
Если сервер норм - он будет отдавать время последнего изменения
Если нет
requests 
забираем страницу
делаем хеш с содержимого, проверяем изменилась ли страница
делаем БД (набор файлов json, yaml)
scrapy
если страниц много (тысячи)
большу часть делает сам
Парсер хтмл - lxml

Худший ответ:
Пишем парсер на питоне, парсим весь сайт, сохраняем в удобоваримом виде, будь то бд или таблицы. 
Для парсинга есть requests, beautifulsoap etc... Потом либо по расписанию, либо ручками запускаем снова парсер, только уже не сразуохраняем данные, а сравниваем с нашей готовой базой и, в зависимости от целей, вносим изменения в нашу бд или сохраняем изменения в другую таблицу. Дальше уже таскаем инфу как душе угодно.
Вопрос: Как выглядит «прокачанный» аккаунт ГитХаб?

Лучший ответ:
Примеры:
https://github.com/pepelsbey
https://github.com/Samdark
https://github.com/mdo
Как заинтересовать работодателя:
1. Аватарка. Да, она должна быть. Ещё лучше, если это будет ваша фотография. Если видишь в профиле дефолтную аватарку, возникает ощущение, что GitHub у человека всего лишь для галочки.
2. Контактный email.
3. Полоска активности должна быть зеленой (см. примеры выше), но в меру — не нужно стремиться окрасить каждую клеточку, отдыхать тоже нужно. Если заходишь в профиль, а салатовые клеточки изредка были год назад или наоборот появились только две недели назад, то страница работодателя не заинтересует.
4. Ссылка на персональный сайт.
5. Наличие собственных public репозиториев. Работодатель хочет увидеть ваш код, поэтому очень желательно наличие в них свежих коммитов. Каким должен быть отличный репозиторий на GitHub — тема для отдельного вопроса, тут напишу кратко: README, понятная структура, тесты, звезды.
6. Наличие вклада в Open Source проекты. Мне доводилось встречать профили, в которых были выполнены все пункты выше, но тем не менее их владельцы были очень слабыми разработчиками. Наличие вклада в крупные проекты с открытым исходным кодом — это однозначно вин. Очень желательно, чтобы он у вас был.
7. Stars, Followers, Following. Всё это тоже было бы неплохо завести. Если у вас много фолловеров на GitHub, значит скорее всего вы из себя что-то представляете в мире Open Source, раз другим интересно следить за вами.
P.S.: Хороший профиль на github сам может выступать в роли резюме. Очень часто хедхантеры через него и выходят на тебя.

Худший ответ:
Вот на пример мой проект https://github.com/CppComet/comet-server я в резюме на него даю ссылку и несколько раз в год им интересуются. Плюс иногда с фриланса пишут.
Вопрос: Как отрендерить vue компонент на node.js для seo и вернуть html в php?

Лучший ответ:
https://vuejs.org/v2/guide/ssr.htmlно не могу, т.к. Seo индексирует только отрендеренные, как реализовать такую связь?
очень спорное утверждение. Все мои сайты давным давно индексируются, даже если они на JS чуть более чем полностью генерируются.
Вот например:
https://siahub.info/
https://github.com/S-anasol/siahub/blob/master/res...
dsro.ru/gyazo/images/c2de88a67b0612e620b7cdec56d4.png
Даже текст кнопок на графиках в гугле показывает.

Худший ответ:
так себе вариант, ну а вдруг: по крону кешировать верстку в бд и отдавать этот кеш. у вас получится laravel + vue, а Nodejs для создания кеша.
Вопрос: Почему при подключении к разным сайтам у меня разные IP? Прокси провайдера?

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

Худший ответ:
1. Новое соединение - новое правило NAT.
2. Провайдеру скорее всего не хватает ip адресов и они выпускают пачку пользователей с определенным диапозоном адресов.
3. Попробовать завершить соединение, причем завершенным оно должно считаться на железке провайдера, где происходит NAT. С установкой нового соединения скорее всего попадете на новый ip адрес.
Вопрос: Dendy Games где можно играть?

Лучший ответ:
https://yadi.sk/d/Aq03khDR3J9PGP
здесь у меня есть все игры из детства =)

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

Лучший ответ:
Встречал уже много раз на кабелях, но не вижу смысла в этой насадке.
Аналогично - по мне так они больше мешают, чем помогают.
Разъемы с такими колппачками  становится очень НЕУДОБНО вынимать - колпачок мешает нажимать на усик, увеличивается ширина разъема - в свитче разъемы оказываются впритык друг к другу.
Купил недавно патч-корды такого исполнения
Здесь наоборот - нажимать на усик становится удобнее. Функция защиты усика сохраняется, ширина не увеличивается..

Худший ответ:
Я слышал гипотезу, что резиновые колпачки нужны для того, чтобы не испортить разъём, в процессе протягивания кабеля через дебри. Если резинки нет, что усик цепляется и отламывается. Если резинка есть, то зацепиться он не может.
(Хотя кажется, что проще тянуть просто кабель и потом уже его обжимать).
Вопрос: Как провести аудит безопасности локальной сети?

Лучший ответ:
Ох, неправильный у вашего начальства подход. Весь ваш аудит, увы, можно будет выкинуть в мусорную корзину!
1) По вопросам, которые вы задаете, у вас просто нет компетенции для данной работы.
2) Даже если вам полностью все разжуют, то скорее всего вы получите неверные результаты.
3) Даже получив верные результаты, их еще нужно как-то интерпретировать, что тоже сомнительно.
Не занимались бы вы этим, от слова - вообще, именно аудитом, ведь за его результаты всех собак повесят именно на вас!
А вот если интересует безопасность для себя самого, то начните со сканирования портов (nmap), входа в домен, подключения к сети, точек доступа wifi. Далее  - сканируем сеть со стороны пользователя. Далее - смотрим на подключение к интернет и фильтрацию трафика. Далее - подключение флешек и всяких СД-ЮСБ устройств. Далее - везде.

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

Лучший ответ:
Можно в бд хранить название картинки, как строку. Вытаскивая, получить id ресурса методом String imageName = getImageNameFromDB // "gerb"
int id = getResources().getIdentifier(imageName, "drawable", getPackageName());

Худший ответ:
А можно в base64 хранить картинки в БД. хехехе
Вопрос: 2D Game типа Mario как и на чем можно сотворить?

Лучший ответ:
Этот тип игр называется платформер.
1. Английский язык.
2. Javascript
3. Crafty.jsDEMO-заготовка для понимания из документации.

Худший ответ:
Если в программировании только основные знания типа "как-то примерно так пишется цикл", то очень советую Stencyl (www.stencyl.com ). Он как раз создан для 2D-игр, есть удобный тайловый редактор, встроенный физический движок Box2D, а всю логику можно писать на варианте Scratch - это такой язык программирования, где программы складываются из кусочков по типу паззлов, очень легко и просто.
Единственный недостаток - в бесплатной версии игры можно делать только на флеш и HTML5, для остальных платформ нужно платить. Но как для новичка - лучше нету, ИМХО.
Вопрос: Как делать выпадающие блоки?

Лучший ответ:
По-моему, на bootstrap такое есть.

Худший ответ:
Можно попробовать программы для прототипирования, напрмиер, proto.io или principle, только они в основном все платные
Вопрос: Почему при выводе денег с upwork paypal дерет такую большую комиссию?

Лучший ответ:
говорила тебе мама "через payoneer работай"

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

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

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

Лучший ответ:
public static void main(String[] args) {
        System.err.print(Arrays.toString(test()));
    }
    private static char[] test(){  
        StringBuilder sb = new StringBuilder();
        try( BufferedReader br = new BufferedReader(new FileReader("D:\\text.txt"))) {
            String str;
            while( (str = br.readLine()) != null){
                sb.append(str);
            }
        } catch (IOException ex) {
            System.out.println(ex.getMessage());
           return sb.toString().toCharArray();
        }
       return sb.toString().toCharArray();
    }
}
Вывод:
run:
[a, s, d, a, s, f, g, a, s, f, d, a, s, d, s, d, g, s, d, g, a, d, f, h, b, s, a, b, w, 4, q, g,  , g, 3,  , t,  , 3, g,  , 3, g, 3, g,  ,  , g, r, v, 3]

Худший ответ:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class Main {
  public static void main(String[] args) {
    File file = new File(args[0]);
    if (!file.exists()) {
      System.out.println(args[0] + " does not exist.");
      return;
    }
    if (!(file.isFile() && file.canRead())) {
      System.out.println(file.getName() + " cannot be read from.");
      return;
    }
    try {
      FileInputStream fis = new FileInputStream(file);
      char current;
      while (fis.available() > 0) {
        current = (char) fis.read();
        System.out.print(current);
      }
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}
//пример взят отсюда: ru.stackoverflow.com/questions/310036/%D0%A1%D1%87...
Вопрос: Как редактировать документы Office онлайн?

Лучший ответ:
https://www.onlyoffice.com/ru/
https://www.onlyoffice.com/ru/developer-edition.aspx
https://api.onlyoffice.com/editors/basic
Еще один вариант
https://myoffice.ru/products/sdk/

Худший ответ:
По сути офисные документы представляют из себя Zip архив только с изменённым расширением, во всяком случае до 365 так было, не верите, попробуйте убедитесь, создайте документ word, переименуйте название расширения на *.zip и откройте его обычным архиватором, много чего увидите интересного в обычном XML кажется
С другой стороны попробуйте вместо GD пользоваться https://office.live.com/start/Word.aspx?ui=ru-RU это конечно не своё приложение, но тоже позволяет это делать
Вопрос: JavaFX умер или нет?

Лучший ответ:
Живее всех живых. Шикарнейший gui фреймворк. Это awt/swt со свингом больше не нужны никому - есть же FX, который в разу симпатичней и функциональней. Просто gui'шные приложения на java исторически считаются моветоном.

Худший ответ:
развертывание на сервере очень плохое, насколько я понял это просто перезапуск старых аплетовПричем здесь развертывание на сервере, апплеты (или все-таки сервлеты?) и GUI-фреймворк JavaFX?JavaFX умер или нет?
Озвучьте свои задачи, требования, и я скажу, "умер" он для вас или нет, например для Windows Desktop в общем случае лучшим GUI-фреймворком является WinForms, все остальное уже требует каких-то "оправданий" - кроссплатформенность, свистелки и перделки, наличие уже готовой базы кода и т.п., то есть все остальное лишь для узкого круга задач подходит лучше или хотя бы не хуже, чем WinForms.
Вопрос: Используются ли паттерны js в веб разработке?

Лучший ответ:
Паттерны используются везде и это не зависит от языка. 
Фреймворки в основном на MVC , MVVM.

Худший ответ:
Шаблоны проектирования тем и хороши, что работают практически с любыми языками. В js они есть и встроенные и  самому можно наприкручивать.EventListener, MutationObserver, Intersection_Observer_API - это же наблдателиdocument.createElement - это же строитель
А вот пример фасада:$(document).ready(function() { 
    // какой-то код
});
Так можно долго продолжать. В любых фреймворках можно выявить шаблоны.
Вопрос: Почему в Wordpress выводится только одна рубрика?

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

Худший ответ:
Думаю, стоит проверить раздел Внешний вид -> Виджеты. 
Если "Navigation" — это виджет меню, то либо заменить его на виджет "Рубрики", либо перейти в раздел Внешний вид -> Меню и в меню, указанное в виджете, добавить необходимые пункты.
Вопрос: Как вынести расчёт из JavaScript?

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

Худший ответ:
Судя по всему, готовых решений не существует - иначе сразу был бы ответ.
Вариантов решения вижу 2
1. Запрос через AJAX или приложение на WebSocket - минусы есть, но поддержка проще. И при должной оптимизации нормально работает.
2. генерация дублирующегося кода в автоматическом режиме. Тоесть формула может быть описана в конфиге, и просто использоваться при расчёте на сервере. А JS файлы пересобираются после внесения изменений.
Вопрос: Какой первый язык стоит учить для создания игр? И какие источники посоветуете (книги, сайти, Ютуб канали)?

Лучший ответ:
Английский. Документация, книги - всё на нём.

Худший ответ:
Язык не важен. Тем более для геймдева.
Учите алгоритмы, подходы к проектированию и разработке, основы графики (как 2д так и 3д) и вот это все.
Вопрос: Что такое итераторы в python, c#, c++, js? Как их использовать? Для чего они? Читал — пока что не понял их суть?

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

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

Лучший ответ:
.block {
  $this: &;

  color: red;
  
  &__element { font-size: 12px; }

  &:hover &__element { transform: scale(1.1); }

  @media () {}

  //==
  //== Модификация какая-то
  //== ==========================

  #{$this}_mod {
    color: green;
    &__element { font-size: 16px; }
    @media () {}
  }
  #{$this}__mod:hover &__element { transform: scale(1.1); }

  //==
  //== Другая модификация
  //== ==========================

  &_mod { background: yellow; }
  @media () {}
}

Худший ответ:
мне нравится компонентный подход, соответственно css разделен на файлы. стили я пишу примерно так:.header {
    background: #fff;
    
    &::after {
        content: "";
        background: #000;
    }

    &:hover{
        background: #000;

        &::after{
            background: #fff;
        }

        .header__box{
            background: #fff;
        }
    }

    &__box{
        background: red;
    }
}
и отдельным файлом медиа, как правило уже без scss, привык так)
да и это (вложенность) не всегда нужно
Вопрос: Какой аналог MS Project для mac OS X вы посоветуете?

Лучший ответ:
Использую Project Office X: Gantt chart
https://www.dk-consulting.app/project-office

Худший ответ:
OpenProj смотрели?
Вопрос: С чего начать laravel?

Лучший ответ:
С документации. Laracast для видео уроков. Остальное это 99% шлака. Качество будет зависеть от знания вами языка и паттернов. Никакие уроки из вас не е сделают программиста. Как труд сделал из обезьяны человека, так и из кодера программиста может сделать только он.

Худший ответ:
После Битрикса повторите ООП и ПХП. Далее документация. Даже англоязычная документация Laravel намного понятнее русской документации Битрикса. Далее laracasts, особое внимание стоить уделить урокам где джефери объясняет паттерны используемые во фреймворке.
Вопрос: Как разбить MP4 файл на несколько видео в Java?

Лучший ответ:
забей на яву
вот тут совсем конкретно.

Худший ответ:
Ну java это не самый лучшая платформа для обработки видео. 
Если все-таки java нужно оставить, то
Лучше всего попытаться использовать консольный ffmpeg
Если он так не умеет, то смотри в сторону javacv. На андроиде тоже должно рабоатть.
Вопрос: Хочу научиться работать с видео файлами на php. Как это сделать?

Лучший ответ:
все практически юзают ffmpeg, 
хотя есть от российских производителей серверный вариант получше, но он платный
идешь сюда 
stackoverflow.com/search?q=php+ffmpeg
тыкаешь по вопросам - смотришь вправо на популярные вопросы по теме с большим числом ответов
еще неплохо бывает тут https://www.quora.com/search?q=php+ffmpeg , но там рыть надо уметь

Худший ответ:
ffmpeg - без вариантов
Он не так сложен, как кажется
Большая часть кейсов уже обсосана посимвольно
Вопрос: Как грепнуть одновременно по нескольким условиям?

Лучший ответ:
Без регулярок невозможно объединить. И вообще, у Вас есть man grep.
Сначала его читайте, а потом вопросы задавайте.cat access.log | grep -P 'foo|bar|baz'

Худший ответ:
cat access.log | grep -P 'foo|bar' | grep -P baz
а В чем проблемма то?
 или или и
ну и в купе с этим | grep -v 'исключить'
Вопрос: CMS для фриланса: Drupal, modx, bitrix, wordpress?

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

Худший ответ:
Под любую есть достаточно заказов и все они востребованы. Лучше изучи WP и Modx или битрикс, тогда точно будешь всегда при заказах
Вопрос: Как добавить домен в функцию route()?

Лучший ответ:
Третий параметр у route - это (bool) absolute
И вообще тоBy default, the route function generates an absolute URL. If you wish to generate a relative URL, you may pass false as the third argument:
$url = route('routeName', ['id' => 1], false);

Худший ответ:
Ваш вопрос относится к шаблонизатору twig.
Способы его модификации / переопределения см по ссылке
https://twig.symfony.com/doc/2.x/advanced.html
Вопрос: Как отформатировать числа на php?

Лучший ответ:
умножить на 100 и округлить

Худший ответ:
Математические операции с числами, лучше осуществлять математическими операторами, а не sprintf:echo floor(0.68752475247525*1000)/10
Вопрос: Как сделать горизонтальную прокрутку внутри блока?

Лучший ответ:
Используйте  flex https://codepen.io/lmoroz/pen/gxOXJw

Худший ответ:
overflow-x: auto;
илиoverflow-x: scroll;
Вопрос: Почему многие компании используют Windows Server?

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

Худший ответ:
Просто инфраструктуры такого масштаба, одновендорной, стабильной, с поддержкой 24/7 - больше не существует. Линукс и прочее - экономят кучу денег, пока "кто то" вам "что то" делает - это в подавляющем большинстве случаев кастомизация, с точки зрения того самого "кого то". И когда хозяйство разрастается до довольно серьезных размеров - нормально у правлять этим становиться не то, чтобы неудобно - а практически невозможно. А если еще и потеряете этого "кого то" - у вас появляются такие проблемы, ради избежания которых уже готовы отдать побольше чем хотел MS, но поезд ушел.
Вопрос: Почему греется блок питания на выключенном компьютере?

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

Худший ответ:
Проверь систему охлаждения БП! Может у тебя много пыли в кулере, который находится внутри БП!!!
Вопрос: Можете подсказать хороший онлайн тест на знание английского языка?

Лучший ответ:
огромное количество тестов предлагают пройти их бесплатно, но вот результат после 20-30 минут мучения только за деньги
Очень странно. Почему мне такие никогда не подались?
Вот на вскидку: то, что нашел у себя в закладках:esl.about.com/qz/Intermediate-Level-English-Review-Quiz - тест на intermediate уровень. Стилизован под бланк письменного теста, только интерактивный, сразу показывает правильный ответ и соответствующее правило.esl.about.com - целый каталог таких тестов.www.englishtag.com/tests/level_test_intermediate_B1.asp - интересен тем, что кроме стандартных заданий с выбором одного ответа из трех/четырех, есть задания на расстановку (drag&drop) множества слов во множество возможных позиции (суть в том, что гораздо сложнее угадать правильный ответ чисто случайно).
Не ручаюсь за то, насколько данные тесты можно считать эталонными, но, по крайней мере, они полностью бесплатные.

Худший ответ:
begin-english.ru/test
хз только насчет случайности / обновления
Вопрос: Какой из вентиляторов начинает гудеть?

Лучший ответ:
что то вопросы из 1 класса, возьми рукой останови кулер от проца и сравни шум

Худший ответ:
Блок питания, в 99% случаев, потом видео, потом процессор.