Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как создать свое правило валидации в yii2?

Лучший ответ:
['post', 'validatorLongWords'],public function validatorLongWords ( $attribute )
{
    $parts = explode( ' ', $this->$attribute );
    foreach ( $parts as $word ) {
        if ( strlen( $word ) > static::LONG_WORD ) { # Для UTF-8 и русского текста используем mb_strlen( $word )
            $this->addError( $attribute, 'Слишком длинное слово в строке, да...' );
            break; # или return;
        }
    }
}

Худший ответ:
Как все сложно у вас. У Yii2 есть собственный валидатор строчек Документация
В Ruls просто указать ['SomeString', 'string', 'length' => [4, 150]],
/ не меньше 4, но не больше 150
Только это правило на общую длину комментария. Если вам нужно, что бы слова были не больше 150. Вам придется разбивать входящую строку на массивы слов и проверять этим валидатором.
Для выделения всей логики, и использования валидации. Можно реализовать Встроенный валидатор
Вопрос: Как залогиниться под админом на машине юзера, не оставив следов в поле логина?

Лучший ответ:
Локальные политики -> Параметры безопасности -> Интерактивный вход в систему: не отображать последнее имя пользователя

Худший ответ:
Спрячьте вообще админа (отображать в XP будет его только по двойному CTRL+ALT+DEL):Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList]
"USERNAME"=dword:00000000
В случае с Windows 7, чтобы запустить/установить что-то от админа нужно зажимать Shift и нажимать ПКМ, а там далее выбрать "Другой пользователь" и ввести пару логин/пароль.
Вопрос: Стажировка в Санкт-Петербурге

Лучший ответ:
Попробуйте сходить в Яндекс / Гугл.

Худший ответ:
На последнем ruby conf в Питере Evil Martians упоминали, что набирают стажёров.
Вопрос: Как грамотно архивировать данные ?

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

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

Лучший ответ:
ivideon. Есть представительство на хабре (ivideon)

Худший ответ:
bambuserr.com хороший сервис. Бесплатен и для русских почти нет рекламы
Вопрос: Какой есть самый мощный процессор для socket7?

Лучший ответ:
Смотря какой чипсет, в некоторые потолком будут IPentium 200MMX, которые на VX вроде, там были проблемы с питанием, для 233ММХ не хватало...
Для К6-II и K6-III нужно биос-патчить, если физически поддерживается...

Худший ответ:
Думаю, что-то вроде amd K6-II 550MHz или AMD K6-III 450 MHz
en.wikipedia.org/wiki/AMD_K6-III
Вопрос: Что случилось с разработкой php-apc?

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

Худший ответ:
в 5.5 по-умолчанию включен zend opcache
Вопрос: Как безвозвратно удалить пакетные данные?

Лучший ответ:
Зависит от приложения. Если говорить о конфигурации (для mysql это /etc/mysql/my.conf если не ошибаюсь) то её purge удалит. Если говорить о содержимом БД  то его было бы немного некорректно удалять автоматически. Например, я ставил MariaDB - она по зависимостях удаляет MySQL, но подхватывает её БД. Я бы был сильно удивлен, если бы обнаружил пропажу баз и таблиц при таком обновлении.
Основная масса таких файлов (хотя это весьма редкое явление) лежит в /var/lib и /usr/share (судя по моим наблюдениям). Так же можете сделать поиск по файловой системе с названием пакета.
Второе - это конфигурация пользователя. Например, если вы удалите браузер, или оконный менеджер - их настройки останутся в домашней папке пользователя, хотя в остальной части системы будет число. Обычно такие настройки лежат в:
~/
~/.config
~/.local/share
Можете просмотреть там и удалит ненужное. В худшем случае приложение загрузится с настройками по умолчанию (только не трогайте папки типа .gnugpg, .ssh, .pki и прочее что может быть связано с входом в аккаунт и подобным, удаляйте только те названия, о которых знаете что это).
Третье - это gconf/dconf хранилища настроек - что-то типа реестра в Windows. Удаление разделов только через терминал, при желании можно пользоваться.
Ну и последнее - когда ставите пакеты - перечисляйте минимальный набор пакетов. Например, если вам нужен веб-сервер с Apache2, PHP и MySQL - проще всего сначала поставить mysql-server, а потом PhpMyAdmin, который потянет за собой все нужные зависимости (или вручную mysql-client apache2 php5). Рекомендую использовать synaptic - выбрав пакет для установки получите список того, что устанавливается по зависимостях, возможно одного пакета будет достаточно (например часто советуют ставить пакеты nvidia-current nvidia-settings, когда первого достаточно, он потянет второй по зависимостях). В таком случае когда вы снесете пакет - все зависимости будут предлагаться для удаления автоматически, а когда вы вводите список пакетов в три строчки - для чистоты придется смотреть и удалять все по очереди вручную, иначе они будут стоять вечно, ибо установленные вручную и вроде как нужны кому-то. Ещё иногда ставятся пакеты которые рекомендуются, они после удаления могут не предлагаться для удаления; отказаться от таких пакетов можно так:apt-get install --no-install-recommends unity
Получилась почти статья, но в целом это всё. Такое использование системы позволяет держать её чистой долгое время в отличии от Windows, где сборка мусора неизбежна. Здесь есть весьма ограниченное количество мест, в которых могут остаться файлы, и их легко найти.
Как пример - моя система обновлялась с 12.04, сейчас уже месяца четыре как стоит 14.04, при чем раз или два делал даунгрейд, например с 14.04 до 13.10, но потом опять обновление до 14.04. При этом система чистая, и быстрая.
А ещё если появляются какие-то проблемы - в 99% их можно решить без переустановки, просто спросите у людей.

Худший ответ:
dpkg-reconfigure пробовали?
Вопрос: Какие технологии лучше использовать для написания php api для связки с front-end?

Лучший ответ:
НТТР

Худший ответ:
советую frontend <--> nodejs (сервис, api для frontend) <--> rabbitmq (обмен сообщениями) <--> php (собственно, вывод)
очень удобная связка
Вопрос: Что могут сделать SEOшники с сайтом?

Лучший ответ:
Давно занимаюсь seo, удивлен комментариям "дешево = черный seo", "дорого = успешный". 
Так будет говорить только человек с неудачным опытом работы с "сеошниками".
По теме: слабо верится, что без вливания огромного кол-ва денег можно продающий сайт закрепить в топе.
Все зависит от региона, конкурентности запросов. А так же от того, что по вашему "огромные вливания".Все со своей стороны по коду все уже сделал
Теоретическое seo не 100% равно практическому. Всегда есть тонкости под разные тематики и т.д.
Если ребята вызывают доверие и сумма вменяема - попробуйте.

Худший ответ:
Если у вас денег нет то толку вам от того что они могут )) А если деньги есть то могут )))
Вопрос: Asus Eee PC 1201N и оперативная память?

Лучший ответ:
Обновить биос?

Худший ответ:
Если другие настройки сбиваются тоже, то есть смысл еще посмотреть-заменить батарейку CMOS'а.
Вопрос: Где найти эти Ваши «основы программирования»?

Лучший ответ:
Первое что вам нужно сделать - отбросить всё лишнее. Разброд и шатание между андройдом или десктопом или какими-то скриптами - только распыление усилий. Сосредоточьтесь только на андройде например и отбросьте всё лишнее. Далее купите любую книжку, откройте официальный туториал и разбирайте шаг за шагом и пишите хоть что-то. Какое-то приложение, чтобы был какой-то вещественный результат.
Основы программирования, о которых вы тут говорите, так просто не получить. Уйдет очень много времени, прежде чем появится глубинное понимание: "Ах, вот оно как работает!". Я тоже закончил юридический и у меня ушло много лет после, чтобы научиться программировать.

Худший ответ:
начните с javarush.ru
Вопрос: Как сделать всплывающее изображение в xcode?

Лучший ответ:
1. При запуске, например в первом ViewController, который у вас загружается при старте приложения первым, создаёте в коде UIImageView с вашей картинкой и показываете его. Сама картинка должна быть внутри проекта уже импортирована. 
2. Далее можно навесить touch-событие на картинку, по которому изображение убирается 
3. Запоминаете, что картинку уже показывали. Например в NSUserDefaults, и добаляете проверку на то, показывали ли вы это изображение в п.1

Худший ответ:
Если одной картинки недостаточно, то есть готовые контролы для этого, некоторые доступны в cocoapods

www.cocoacontrols.com/controls/eaintroview
www.cocoacontrols.com/controls/myintroductionview
www.cocoacontrols.com/controls/kxintro
www.cocoacontrols.com/controls/path-intro-view
Вопрос: Читать PDF на e-book

Лучший ответ:
Я тоже задавался этим вопросом, т.к. являюсь владельцем Lbook. Некоторые pdf у меня получалось перегнать в fb2 программой Calibre (http://calibre-ebook.com/). Изображения попадут в fb2 только в том случае если они растровые.

Худший ответ:
Pocketbook умеет делать reflow — вполне качественно работает с распознанными пдф, не сильно хуже чем с fb2. Иногда только код расползается — но ничего, понять можно.

Маловероятно, но может быть Digma тоже так умеет?
Вопрос: Кто нибудь может идиоту разжевать, как начать работать с Arduino?

Лучший ответ:
Настоятельно рекомендую начать вот с этого: arduino.cc/en/Tutorial/HomePage
Эти примеры уже зашиты в IDE Arduino, но рекомендуется для моторной памяти, запоминания и понимания набирать самому.
Хорошие уроки еще тут: wiki.amperka.ru/
Если что, пишите в личку.

Худший ответ:
Так, сразу уперся в выбор shield'а для шаговика 12в/4а — подскажите, какой может это выдержать?
Вопрос: Почему антискиммеры на банкоматах Альфа-банка имеют закрытую часть на стороне магнитной ленты?

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

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

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

Худший ответ:
Я бы и за 300 рублей сделал.
Вопрос: CSS фон на сайте, как создать?

Лучший ответ:
А множественные фоны?
Изящно решают проблему, если есть .png картинка ряби.

Худший ответ:
А множественные фоны?
Изящно решают проблему, если есть .png картинка ряби.
Вопрос: Нубовской вопрос по C++! Как устроен char*?

Лучший ответ:
Да... 
char str[] = "Hello World!\n\n\n";
Касательно вопроса: char* хранит адрес в памяти, как и всякий указатель.

Худший ответ:
В смысле нельзя удалить? Поставить \0 в конце это правильная идея, поскольку он означает конец строки.Рабочий пример#include <iostream>
 
int main() {
	int count = 100;
	char *text = new char[count];
	text[0] = 'h';
	text[1] = 'e';
	text[2] = 'l';
	text[3] = 'l';
	text[4] = 'o';
	text[5] = '!';
	text[6] = '\0';
	std::cout << text << std::endl;
	delete[] text;
	return 0;
}
Вопрос: Github и совместная работа. Вопрос от чайника

Лучший ответ:
Они комитят в свой форк, а потом посылают Вам pull request.

Худший ответ:
Неплохая статья о цикле разработки с git
Вопрос: Как настроить Ноутбук для работы в 2 сетях?

Лучший ответ:
WiFI подключение делаем шлюзом по умолчанию.
В локальную сеть предприятия прописываем маршрут явно указывая интерфейс.

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

Лучший ответ:
Нет, лучше так не делать. Это пойдет, если у вас 100 строк кода. А если  100 000, то уже не катит. Фактически, это такой джуниор-студент подход, что всё можно решить одной функцией. Лучше найдите более удачное решение для себя.

Худший ответ:
Если уж очень хочется то в 8ой Жаве можно попытаться извратиться.
Вот только похоже придется делать много Try* для методов с конкретным набором аргументов.public class TryCatch
{
	@FunctionalInterface
	public interface Try<T>
	{
		T trai() throws Exception;
	}

	@FunctionalInterface
	public interface TryDouble<T>
	{
		T trai(Double d) throws Exception;
	}

	@FunctionalInterface
	public interface Catch<T>
	{
		T katch(Exception e);
	}

	public static <T> T trai(TryDouble<T> call, Double d)
	{
		return trai(call, TryCatch::katch, d);
	}

	public static <T> T trai(TryDouble<T> call, Catch<T> katch, Double d)
	{
		try
		{
			return call.trai(d);
		}
		catch (Exception e)
		{
			return katch.katch(e);
		}
	}

	public static <T> T trai(Try<T> call)
	{
		return trai(call, TryCatch::katch);
	}

	public static <T> T trai(Try<T> call, Catch<T> katch)
	{
		try
		{
			return call.trai();
		}
		catch (Exception e)
		{
			return katch.katch(e);
		}
	}

	public static <T> T katch(Exception exception)
	{
		exception.printStackTrace();

		return null;
	}
}public class Main
{
	public static void main(String[] args)
	{
		Integer i = TryCatch.trai(Main::meth1);
		Double d = TryCatch.trai(Main::meth2);

		System.out.println(i);
		System.out.println(d);

		Double d1 = TryCatch.trai(Main::meth2, (e) -> 2.0);
		Double d2 = TryCatch.trai(Main::meth2, Main::myKatch);
		Double d3 = TryCatch.trai(Main::meth2, (e) ->
		{
			e.printStackTrace();
			return null;
		});

		System.out.println(d1);
		System.out.println(d2);
		System.out.println(d3);

		Double d4 = TryCatch.trai(Main::meth3, 1.0);

		System.out.println(d4);

		Double d5 = TryCatch.trai(Main::meth2, (e) ->
		{
			throw new RuntimeException(e);
		});

		System.out.println(d5);
	}

	public static Integer meth1() throws Exception
	{
		return 10;
	}

	public static Double meth2() throws Exception
	{
		throw new Exception();
	}

	public static Double meth3(Double d) throws Exception
	{
		return d;
	}

	public static <T> T myKatch(Exception exception)
	{
		System.out.println("My Catch!");

		return null;
	}
}
Вопрос: Какую литературу посоветуете для изучения Java?

Лучший ответ:
Я думаю что если вы ЗНАЕТЕ С++. То можно читать  Герберт Шилдт  "Java Полное руководство". Хорошая книга на мой взгляд.

Худший ответ:
Очень классная книга Head First "Изучаем Java" - как раз, чтобы вникнуть в суть языка и она легко читается.
Вопрос: С чего начать путь мобильного программиста и выгодно ли фрилансить в этой специализации?

Лучший ответ:
лучше учи C# и Xamarin, будеш писать под Android/IOS одновременно

Худший ответ:
В мобильной десятке появилась возможность запускать андроид приложения, они конечно не будут 100% работать, но часть функционала работает.
Попробуй начать разрабатывать на Android, а там уже и официальные инструменты портирования от майков прибудут
Вопрос: Где в Битриксе находится html главной страницы?

Лучший ответ:
Тело главной страницы находится здесь $_SERVER['DOCUMENT_ROOT'].'/index.php'.
Если вам нужно добавить стили только для главной страницы сайта, то проще всего добавить в шаблон сайта условие:<?php
$curPage = $APPLICATION->GetCurPage(true);
if (
            $curPage == SITE_DIR."index.php"
){?>

<style type="text/css">
  <!--
  стили для главной страницы
  -->
  </style>

<?}?>
вообще лучше стили вынести в отдельный файлик:<link rel="stylesheet" type="text/css" href="<?=CUtil::GetAdditionalFileURL(SITE_TEMPLATE_PATH."/for_index_page.css")?>" />

Худший ответ:
Вот здесь исходник шаблона находится:
Администрирование->Настройка->Сайты->Шаблоны сайтов
Вопрос: Какие существуют бесплатные .NET библиотеки для распознавания штрих-кодов?

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

Худший ответ:
Собираюсь пользоваться. К сожалению, у двух испробованных из них были существенные недостатки(ZXing очень плохо работает с Code-128A, а это одно из основных требований, а Spire Barcode слишком долго распознает изображение), потому хотелось бы узнать об альтернативах.
Вопрос: Кем надо работать в IT что-бы путешествовать по долгу службы?

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

Худший ответ:
Менеджером, руководителем ИТ отдела, когда у вас офисы в разных странах :)
Вопрос: Как отправить POST запрос с помощью HttpURLConnection?

Лучший ответ:
Разобрался, может кому пригодится:class SendLoginData extends AsyncTask<Void, Void, Void> {

        String resultString = null;

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }

        @Override
        protected Void doInBackground(Void... params) {
            try {
                String myURL = "http://site.ru/";
                String parammetrs = "param1=1&param2=XXX";
                byte[] data = null;
                InputStream is = null;

                try {
                    URL url = new URL(myURL);
                    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                    conn.setRequestMethod("POST");
                    conn.setDoOutput(true);
                    conn.setDoInput(true);

                    conn.setRequestProperty("Content-Length", "" + Integer.toString(parammetrs.getBytes().length));
                    OutputStream os = conn.getOutputStream();
                    data = parammetrs.getBytes("UTF-8");
                    os.write(data);
                    data = null;

                    conn.connect();
                    int responseCode= conn.getResponseCode();

                    ByteArrayOutputStream baos = new ByteArrayOutputStream();

                    if (responseCode == 200) {
                        is = conn.getInputStream();

                        byte[] buffer = new byte[8192]; // Такого вот размера буфер
                        // Далее, например, вот так читаем ответ
                        int bytesRead;
                        while ((bytesRead = is.read(buffer)) != -1) {
                            baos.write(buffer, 0, bytesRead);
                        }
                        data = baos.toByteArray();
                        resultString = new String(data, "UTF-8");
                    } else {
                    }



                } catch (MalformedURLException e) {

                    //resultString = "MalformedURLException:" + e.getMessage();
                } catch (IOException e) {

                    //resultString = "IOException:" + e.getMessage();
                } catch (Exception e) {

                    //resultString = "Exception:" + e.getMessage();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onPostExecute(Void result) {
            super.onPostExecute(result);
            if(resultString != null) {
                Toast toast = Toast.makeText(getApplicationContext(), resultString, Toast.LENGTH_SHORT);
                toast.show();
            }

        }
    }

Худший ответ:
Есть очень хорошая либа https://code.google.com/p/android-query/ позволяет не только посылать HTTP запросы.
Вопрос: Может ли NodeJS работать как PHP?

Лучший ответ:
Запускайте Node приложения через grunt с настроенным autoreload'ом. В итоге получите то что хотели: изменили файл, и сервак перезапустится, вы сразу увидите изменения.

Худший ответ:
Я думаю вам просто не нужен Node.js а нужен PHP, так как ваш подход убъект весь профит от node.js. Если нужна производительность - HHVM или HippyVM.
Вопрос: Поставить на ноут винт на 2ТБ, реально?

Лучший ответ:
Вполне себе реально. Когда начнут выпускать 2Tb винчестеры 2,5 дюйма. Объективных причин чтобы ноутбук не поддерживал нет. Разве что производитель постарался и заблокировал что-то в BIOS.

Худший ответ:
макс 1Tb
Вопрос: Правомерно ли использование видео с youtube на своём сайте?

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

Худший ответ:
читай 5. Общие ограничения на использование там более менее понятно https://www.youtube.com/t/terms
Вопрос: Посоветуйте читалку с E-ink дисплеем

Лучший ответ:
Ну, а собственно, почему не Kindle.

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

Лучший ответ:
Как вариант - Stylish

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

Лучший ответ:
Мало исходных данных для грамотного совета.
Надо понимать, хотя бы примерно:
- месячный оборот;
- кол-во транзакций в месяц.
- кол-во учредителей
- кол-во привлекаемых и оплачиваемых сотрудников.
- рентабельность бизнеса (планируемые затраты с оборотом по счету)
- желаемый метод вывода денег
- Ваше отношение к легализации доходов и уплате налогов в РФ.
На мой взгляд, при не больших оборотах (до 10 тыс дол/мес) держать фирму в названных Вами юрисдикциях - накладно. Вы минимизируете налоги за счет офшора, но потеряете деньги на поддержке фирмы.
Обратите внимание на страны Балтии и на Болгарию. У них достаточно щадящее налогообложение, очень лояльные банки (порой с открытием счета без личного присутствия), транспортная доступность, как правило - нет проблем с языком русским / английским, и членство в ЕС. 
Посмотрите здесь же на Тостере, я недавно отвечал на вопрос об открытии счетов в ЕС без визита в банк.

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

Лучший ответ:
Программист в состоянии сам решить, какой процессор ему нужен.

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

Лучший ответ:
Проверьте, что файлы отдаются с правильными mime-типом.

Худший ответ:
Всё CSS с mime отдаются text/plain.
В секцию http надо добавить нечто вродеinclude /etc/nginx/mime.types