Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Что такое public и почему не работает функция PHP?

Лучший ответ:
public function __construct должен  быть определен в классе:class Person {
                public $isAlive = true;
                public $firstname;
                public $lastname;
                public $age;
            
            public function __construct($firstname, $lastname, $age) {
                $this->firstname = $firstname;
                $this->lastname = $lastname;
                $this->age = $age;
            } 
}
также у вас метод greet должен быть определен в классе,иначе не будет работать
Советую лучше прочитать книги Джорджа Шлосснейгла "Профессиональное программирование" или Мэтта Зандстры "PHP. Объекты, шаблоны и методики программирования",возможно лучше поймете,что такое ООП

Худший ответ:
class Person {
                public $isAlive = true;
                public $firstname;
                public $lastname;
                public $age;
           }
public function __construct(){} - функция за пределами класса не может быть публичной или вообще иметь какой либо модификатор доступа.
public значит что к этому методу могут обращаться все кому не попадя (echo $teacher->isAlive;). при любом другом модифиаторе доступа такой код вызовет ошибку.
Вопрос: Каковы преимущества размещения js-скриптов перед  &lt;/body&gt;?

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

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

Лучший ответ:
Вам просто нужен процессинговый центр, у которого есть поддержка рекуррентных (периодических) и рекаринговых (повторных) платежей. Мы используем CloudPayments.

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

Лучший ответ:
При каждом вызове функции объявляется новая переменная и создаётся новый интервал. Интервал-то останавливается, но не тот, который был создан при предыдущем вызове, а новый.var snake = { 
     interval : {
		right : function (start){
			if( start == "stop"){
				clearInterval(this.inter);
			} else {
				this.inter = setInterval(function(){}, 500)
			}
		}
	}
};

snake.interval.right();
snake.interval.right("stop");
В этом случае id интервала будет лежать в snake.interval.inter, и вызов с "stop" будет останавливать именно его.

Худший ответ:
А в консоле нет никаких ошибок?
Вопрос: Round robin DNS с проверкой на доступность хоста?

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

Худший ответ:
Round robin DNS скорее нужен для распределения нагрузки, он не поможет вам с fail-over (то, что вы видимо хотите).
DNS запросы активно кэшируются пользователями и всякими провайдерскими DNS серверами.
Вопрос: Yii2. Подгрузка старых старых сообщений через ajax. Как?

Лучший ответ:
Да, через пагинацию можно. 
Сделайте хидден поле с номером текущей страницы, как пользователь начинает делать прокрутку, иницилизируете ajax запрос, берете номер страницы и прибавляете к нему 1, таким образом получаете данные для след. страницы. 
Выводите результат, а хидден поле с номером текущей страницы обновляете.
upd. 
Ну смотрите. 
Для начала создаете hidden поле (оно нам нужно, для определения текущей страницы) <input type="hidden" name="currentPage" id="currentPage" value="">
Далее в нужном вам экшне иницилизируете пагинацию, что-то типо:$query = ... запрос к БД

        $countQuery = clone $query;
        $pages = new Pagination(['totalCount' => $countQuery->count()]);
        $pages->setPageSize(10);
        
        $model = $query->offset($pages->offset)->limit($pages->limit)->all();

		return $this->render('index', [
            'model' => $model,
            'pages' => $pages,
        ]);
И не забывайте про use yii\data\Pagination;
Далее, создаете еще один экшн, который как раз отвечает за подгрузку материаловpublic function actionPage()
    {
        if(Yii::$app->getRequest()->getIsAjax()):
            $query = ...запрос к бд...;
            $countQuery = clone $query;
            $pages = new Pagination(['totalCount' => $countQuery->count()]);
            $pages->setPageSize(10);
            $models = $query->offset($pages->offset)->limit($pages->limit)->all();
            $max_pages = $countQuery->count() / 10;
            if($_POST['current_page'] > ceil($max_pages)) {
                return false;
            } else {
                return $this->renderPartial('_page', [
                    'model' => $models,
                    'pages' => $pages,
                ]);
            }
        endif;
    }
И останется дело за малым, нужно иницилизировать AJAX запрос к эшну page при прокрутке страницы. 
Как-то так, извините за форматирование кода. Если кто знает решение элегантней, то подскажитеP.S Это пример для Yii 2, для первого принцип такой же, но реализация другая, думаю разберетесь

Худший ответ:
www.elisdn.ru/blog/28/beskonechnaia-lenta-zapisei-...
При желание можно оптимизировать под Yii2.
Вопрос: Как правильно начать изучать C++?

Лучший ответ:
"WinApi, я с ним пока еще не разобрался и не знаю стоит ли. " - C++ и WinAPI по бОльшей части вещи слабо пересекающиеся. Если вы собираетесь писать под Винду без использования монструозных библиотек типа Qt/Boost, WinAPI вам определенно понадобится.

Худший ответ:
Смотри С чего начать изучение C++
Вопрос: Какой язык программирования выбрать сис.админу?

Лучший ответ:
Phyton, конечно же

Худший ответ:
Для хобби любой.
Для работы однозначно shell scripting.
Вопрос: Обучение программированию: поэтапная разработка, инструменты, материалы и пр. для новичка. Что к чему в мире программирования?

Лучший ответ:
Всем отписавшимся сверху: ну что вы пристали? А слабо попростому ответить что такое гит, что б ребенок понял. Или только бла бла бла можете и посылать книжки учить?
Кстате, автор вопроса, по хорошему нужно МНОГО почитать вам еще в гугле по каждому вопросу.
1) Прототип, потом верстка, потом натягивание на CMS, потом наполнение.
2) Залить картинку в интернет – это значит выложить на хостинг.
Привязать к картинке БД – указать БД в настройках CMS
С помощью языка программирования (php, ruby)
JavaScript нужен для написания кода, которому не требуется перезагрузка страницы. Он выполняется в браузере прямо. PHP нужен для написания кода, для которого нужно перезагрузить страницу. Он выполняется на удаленном сервере.
Питон и Руби - альтернатива PHP
"нарисовал кнопку - написал процедуру" работает и в вебе, просто рисуете вы и пишете на других языках.
2. Я не знаю
3.Фреймворк позволяет программировать быстрее, за счет того, что многие возможности он преподносит на блюдечке и их не нужно писать самому часами.
4. Git.. гит... Гит позволяет экспериментировать в программировании. Можно сделать классную прогу. Сохраниться с помощью гита (как в игре). Потом программировать ее дальше, накосяпорить, все поломать. Понять, что лучше оставить прежний вариант программы, и вернуться к "сейву".
5. IDE (phpstorm например) - в нем пишут код. Локальный сервер (openserver например), он дает пользоваться php на компьютере. Браузер – позволяет смотреть на то, что ты нагородил.

Худший ответ:
банальнейшие вопросы, о которых не знаю, и так же не знают студенты первого/третьего курса моей специальности.Это вообще ни о чём не говорит. "Программист"-магистр и тот может на эти вопросы не ответить. Дань нашего образования. Только самообучение.
Про самообучение. Задавать подобные вопросы - гарантия на провал. За вас никто не будет разжёвывать информацию и класть вам в рот. Вы никому не нужны. В интернете существуют ответы на все интересующие вас вопросы. Нужно только уметь их искать. Это один из ключевых навыков в IT.
Второе - читайте книги. Бумажные, электронные, не важно. Можно проходить курсы на Курсере. Вообщем любую информацию, которая будет в конце темы обязательно закреплена практикой.
Третье - как освоите язык, устраивайтесь на работу стажером/джуниором, на полставки или за еду. Там познакомитесь со всем остальным.
Вопрос: Как изменить вид url сайта php?

Лучший ответ:
в стародавние времена это делалось целиком и полностью на mod-rewrite.
Сейчас же проще использовать какой-нибудь микро-фреймворк, аля silex/slim и тд.

Худший ответ:
все зависит от CMS эта вещь называется ЧПУ, вот пример на базе  joomla
Вопрос: Что должен уметь веб-программист?

Лучший ответ:
Гуглить

Худший ответ:
По мне как все зависит от самого. Если самому интересно, то бери, учись и ставь. Т.е. нету такого стандарта что веб программист не должен заниматься этим. И наверное если ты это будешь уметь, то это будет только плюсом. И для начало просто поставь Ubuntu(Linux) и глянь его.
Вопрос: MySQL. Откат последнего изменения

Лучший ответ:
Никак. Если только сам бэкапы не делал.

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

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

Худший ответ:
Думаю это Вам поможет
Вопрос: Как обойти блокировку SSH портов?

Лучший ответ:
Повесить SSH на сервере на 443 порт.

Худший ответ:
Используйте бесплатный OpenVPN с www.vpnbook.com через доступный вам порт
Вопрос: Сайт-портфолио веб-дизайнера: подход?

Лучший ответ:
43 года стажа художника (раньше это называлось так независимо от стези), дизайнера. От раскрашивания троллейбусов и киосков, парадных портретов политбюро, ручного оформления книг и журналов, оформиловки, интерьеров и экстерьеров, визуальной рекламы, полиграфии, типографики, айдентики, проектирования мебели, макетирования и пр. до веба. И если "Родина скажет", то хоть сейчас (после непродолжительной разминки) "на ура" (навыки не исчезают).
Узкая специализация среди нас появилась ("ку" западному образу жизни) лет 15 назад, но только лет пять-семь тому это отчего-то стало считаться крутым.
И нет твёрдого правила: многие (умные) работодатели счастливы приобрести спеца, который при необходимости сваяет ещё чего-то непрофильное. "Айфонщики" действительно считают, что если умеешь прокручивать в мясорубке говядину, то никакой иной плоти крутить с той же эффективностью человек не может по определению.

Худший ответ:
Зависит от того как хорошо она это делает, если в других направлениях она так же хороша, то нет ничего плохого если вы выложите работы всех направлений, а для особо умных маркетологов сделаете фильтрацию по направлениям. Если все настолько принципиально тогда добавите спойлер с заголовком "Другие направления" и туда положите все остальное.
Про стоимость, разве хорошие режиссеры становятся дешевле поиграв актёром в фильме или будучи там сценаристом и тд?
Вопрос: Русские URL не работают после переноса на новый сервер?

Лучший ответ:
Есть ли на сайте не кириллические адреса страниц и работают ли они?
Если набрать вручную site.ru/форум/, тоже не работает?

Худший ответ:
База перенеслась корреткно, главная страница читается нормально. Что то с настройками mod_rewrite видимо, отключил в Wordpress в постоянных ссылках формирование URL по Месяц и название, поставил ID страницы — работает нормально и ссылки открывает. Не могу понять, что не так с реврайт.
Вопрос: Поможет ли история в репозитории в доказательстве авторства?

Лучший ответ:
В разрезе показать соседу да, в суде в России крайне сомнительно.

Худший ответ:
Смотря в каком праве. Да и шутка ли, но вряд ли Вы используете цифровой ключ ГОСТ 34.10-2012 в качестве метода авторизации, так что... Сомнительно.
Впрочем, надежда есть. Если кинул заказчик (покупатель лицензии), то в случае внушительной документации (какой-нибудь контракт, договор об отчуждении авторских прав, хоть что-нибудь с печатью и подписью), суд может быть в Вашу пользу даже без VCS, тогда как она лишь даст дополнительный плюс в Вашу пользу).
Вопрос: Как сделать такой скрипт?

Лучший ответ:
А просто на выводе на сайте нельзя показывать статьи у которых время размещение меньше настоящего времени?

Худший ответ:
Кроном запустить скрипт, который будет добавлять в ту базу из которой выводятся
Или добавить сразу все с датой добавления, при выводе делать выборку наступила дата или нет
Вопрос: Нужна ли уникальность описания фильмов на сайте?

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

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

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

Худший ответ:
Контролировать загрузку javascript'ом: сначала скидывается статистика по странице — сколько, линки и т.д. Затем контролировать загрузку каждой картинки посредством события onload и изменять глобальный счетчик загрузки картинок. Возможно, прийдется поколдовать с таймером при незагрузке картинок и реактивировать повторную загрузку с случае неудачи получения картинки. Одним словом, создать алгоритм получения и контроля набора картинок.

Как вариант — если отдельно взятые картинки небольшие — получать их в base64 простым тектом и показывать на клиенте — получается как бы локальное хранилище. Причем, если картинки больше допустимой строки для base64, резать скриптом на сервере и отдавать клиенту. Пожалуй, в твоем случае наиболее удачный вариант — полный контроль над загрузкой графического контента.
Вопрос: Как безболезненно искать в окнах Windows 7

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

Худший ответ:
Советую проверить, что индексируется для поиска. Он вообще должен работать моментально и без задержек. Нужны: параметры индексирования в панели управления. Если туда добавлены вообще все диски, то, полагаю, из-за этого проблемы. Обычно там только папка Users, история IE, Start menu и прочие мелочи.
Вопрос: Может ли Windows менять DNS в зависимости от сети?

Лучший ответ:
1. установить факт смены профиля:
Event ID 4956 — Firewall Rule Processing
https://technet.microsoft.com/en-us/library/dd3643...
2. привязать задачу к событию:
Запуск задачи в ответ на определенное событие
https://technet.microsoft.com/ru-ru/library/cc7489...
3. покрутить необходимое:
PowerTip: Use PowerShell to Set Primary and Secondary DNS Server Addresses
https://blogs.technet.microsoft.com/heyscriptinggu...

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

Лучший ответ:
Чтобы внутри скрипта вернуть код возврата, нужно написатьEXIT /b [code]
Потом его можно обработать также, как и любой другой код возврата из сторонней программы. Материальчик по теме.

Худший ответ:
Думаю bat в принципе не возвращает ничего.
Приведите скрипт что ли...
Вопрос: Отправка СМС при поступлении заказа в интернет магазин. Как?

Лучший ответ:
Есть еще sms.ru

Худший ответ:
Я лично использую sms-online.com, api у них есть и оно хорошо документировано.
Вопрос: HTML, CSS — ошибка позиционирования absolute и 100% height для родительских областей и дочерних

Лучший ответ:
WAT?
Зачем html, body position absolute?
Зачем куча padding и margin?
Что вы хотите сделать? Здесь же глаз выколоть можно и это оправдано...

Худший ответ:
Да он прав.. Зачем ?
почитай про position, не надо его впихивать куда угодно. И кроме абсолютного позиционирования, если еще относительное.
А проблема у тебя из-за того что у тебя все абсолютное "такого не должно быть"html,body{position:relative;}
Это может и не сработае, значит у тебя еще что-то лишнее.. 
вот короче читай 
Или залей код нормально.
Вопрос: Что делать с измененными пакетом в папке vendor?

Лучший ответ:
Трогать vendor папку? Зачем?
Если так хочеться что-то поменять, то можно форкнуть проект, и менять у себя.
С обновлениями будет геморой, так что нужно либо сделать pull-request чтобы приняли ваши изменения, либо вручную мерджишь свою репу и из нее уже обновляться.

Худший ответ:
Трогать vendor папку? Зачем?
Если так хочеться что-то поменять, то можно форкнуть проект, и менять у себя.
С обновлениями будет геморой, так что нужно либо сделать pull-request чтобы приняли ваши изменения, либо вручную мерджишь свою репу и из нее уже обновляться.
Вопрос: Android. ListView. Как настроить обработчик нажатия элементов для открытия фрагментов?

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

Худший ответ:
Почему бы просто при нажатии на пункт списка не создать Intent c вложенным ключом, открыть Activity2 и уже в ней, на основании переданного ключа, загрузить необходимый фрагмент?
Activity1:listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view,
                                    int position, long id) {

Intent i = new Intent(getBaseContext(), Activity2.class);
i.putExtra("position", position);
startActivity(i);
}
Activity2:int key = getIntent.getIntExtra("position", 0);

switch(i){

case 1:

//load Fr1

case 2:

//load Fr2
Вопрос: Pub/Sub с персистентными сообщениями?

Лучший ответ:
Учитывая «Подключится – получит все опубликованные сообщения» и «Сервер можно гасить и поднимать» можно с уверенностью сказать, что готовых решений нет.

Я бы использовал sockjs + redis со своей логикой.

Худший ответ:
В реддите недавно проскакивал holler — посмотрите, может подойдет.
Вопрос: Платёжные системы для eBay кроме PayPal?

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

Худший ответ:
В бородатые времена верифицировал Литовский paypal аккаунт по белорусскому паспорту до максимального. В Литве не разу не был. Пользуюсь до сих пор.
Как аналог paypal используйте:
https://www.payoneer.com/ru/
https://www.usunlocked.com/
Вопрос: Как сервер реагирует на выполнение жирных скриптов ?

Лучший ответ:
Основная проблема будет только с записью. То есть при использовании традиционных SQL можно одним движением руки прострелить себе не то что ноги, но и голову, внезапно обнаружив на себе последствия грязных, фантомных и других чтений.
В плане производительности, нормальный сервер работает как минимум на процессах (cgi-bin), так что все получат хотя бы поровну. Другими словами - если сервер потащит, то задержки будут (если будут) очень небольшими. Асинхронная магия - основное время CPU ожидает, а не числа дробит, отсюда конвейр сможет эффективнее построить цепочку и так далее.
Ну и потом. 10 секунд на миллион пользователей. Много. Слишком. Да и про миллион, товарищ, привираете.

Худший ответ:
Во-первых, многое зависит от организации структуры БД. По факту, если руки растут откуда надо и база организована как надо, то ваши 20 секунд отработки - это какое-то фантастически высокое значение.
Во-вторых, про 1 миллион пользователей вы явно нафантазировали.
В-третьих, да тормозить будет всё, если всё находиться на одной машине.
В-четвёртых, установите на прототип проекта xdebug и с помощью трассировки определите точное время работы скрипта и планируемую нагрузку, а не берите цифры с потолка.
Вопрос: Если ли свободное решение SDK для собственного сервиса мобильной статистики и аналитики?

Лучший ответ:
Предоставьте пару строк инициализации API и описание самого API на Вашем сайте.
Если будет востребовано - люди будут подключать без всякого SDK.

Худший ответ:
Самое главное должно быть понятно чем ваше решение лучше другого, какой функционаол есть   у вас которого нет в стандартных средствах и который сделает меня счастливее без лишних трудовых затрат (меня это образно, любого другого разработчика который задаст сам себе вопрос на нафиг оно мне надо ?   если сможете ответить на этот вопрос тогда может что то и получится )
Вопрос: Какой есть способ проверки полного вхождения одного массива в другой на JavaScript без использования двойного цикла?

Лучший ответ:
Если @egor_nullptr вас понял правильно, и вам нужно проверить, что массив b хотя бы в одном экзепляре содержит каждый элемент массива a, то предлагаю такое решение:
Array.prototype.hasAll = function(a) {
    var hash = this.reduce(function(acc, i) { acc[i] = true; return acc; }, {});
    return a.every(function(i) { return i in hash; });
};
По сравнению с решением @egor_nullptr оно асимптотически быстрее: O(n + m) против O(n * m), где n, m - размеры массивов a, b. При n = m = 100 000 на моей машине мой вариант отрабатывает быстрее в 200 раз. Тестировал так.

Знаете, каков мой опыт разработки на JavaScript? Я программирую на нём 40 минут, в обнимку с JavaScript Reference от Mozilla. Мой основной язык - C++. А вам очень советую добраться-таки до какой-нибудь книжки по алгоритмам и структурам данных (например, до "Introduction to Algorithms". Она есть на русском, лучший перевод, на мой взгляд, от МЦНМО). Это полезно, уверяю вас.

Худший ответ:
Если важна именно производительность, то задача аналогична задаче о проверке вхождения подстроки. Для этого можно воспользоваться алгоритмами Кнута-Морриса-Пратта или Рабина-Карпа.
Вопрос: Работа в ИТ компании по договору подряда или как ИП?

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

3) Допустим человек не может устроиться в ИТ компанию по трудовой книге. Как ИТ компании относятся к тому, чтобы нанять себе работника по договору подряда?
небольшие компании должны положительно относиться, в больших могут быть причины наничмать только в штат4) Большая ли это проблема для них?
Да какая уж тут проблема, это же уменьшение налоговой базы6) Какие тут могут быть подводные камни?
проще расстатьсяДопустим человек не может устроиться в ИТ компанию по трудовой книге. Как ИТ компании относятся к тому, чтобы нанять себе работника, который будет работать у них как ИП?
wtf ? Договор подряда это и есть ИП. Договор подряда без ИП с выплатой всех налогов отдельно коммерческим компаниям не нужен!(это же куча геморроя). Так делают только госорганизации.

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