Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Ка называется такая парадигма/паттерн (описание внутри)?

Лучший ответ:
По-моему, этот паттерн называется "костыль".
К тому же, от E_STRICT "non-static method SomeClass::someFunction_() should not be called statically" вы никуда не делись.class SomeClass {
  public function someFunction(){
    if(empty($this))
    {
      echo 'статичный контекст';
    }
    else
    {
      echo 'объектный контекст';
    }
  }
}
$obj = new SomeClass;
$obj->someFunction();  // 'объектный контекст';
SomeClass::someFunction(); // 'статичный контекст'
Результат тот же самый.

Худший ответ:
Сложно даже сказать, как этот прием назвать...
По сути, это перехват вызова метода и определение контекста этого самого вызова
Не думаю, что для подобных вещей есть смысл придумывать название. В общем случае - это просто часть какого-либо паттерна (м. б. fluent interface).  Попробуйте пролистать статью и почитать комменты вот здесь : habrahabr.ru/post/175935
Вопрос: На чем написан investing.com?

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

Худший ответ:
Очень легко посмотреть в заголовках ответа. 
Server:Apache/2.4.10 (Unix)
Vary:Accept-Encoding,User-Agent
X-Powered-By:PHP/5.4.34
Вопрос: Использование личных данных пользователей форумов

Лучший ответ:
1. Даёт право в рамках сервиса
2. Для этого нужен пункт: «Я даю право передавать данные обо мне 3им лицам»

Худший ответ:
Не факт, что данные с форумов являются ПД, так что очень сложный вопрос)

Если данные публичны значит смело можете использовать, а то что вы их собрали парсером, ну так это еще доказать нужно)
Вопрос: Symfony. Doctrine. Many-to-One. Выбрать одним запросом, коротко?

Лучший ответ:
Правильный ответ: «сделать отдельный метод в репозитарии, что-то вроде findPostsJoinAuthors(...), там уже запользовать билдер»
Скорее всего желаемый ответ: проставить fetch=«EAGER» в конфиге связи вот так.

Худший ответ:
Выкиньте доктирину. Она хоть и универсальная — но жутко не поворотливая, и код у нее с душком. Если посмотреть связи между объектами — вам дурно станет. Все головные объекты внутри ссылаются друг на друга. А уж как запрос собирается… Хотя бы разочек полностью пройдитесь в дебагере по простейшей выборке.
К симфони запросто прикручивается любая другая ОРМ
Ну а если хотите все таки с доктриной возиться — либо fetch=«EAGER», либо в репозитории квери-билдером, или как вам удобнее)
Вопрос: Что нужно знать Front-end разработчику в 2014 году?

Лучший ответ:
Ответы:
1) Grunt - для удобства.Bootstrap - не всегда правда нужен, но знать обязательно.
Ознакомьтесь с Mocha (читается как мокко или мокка, но не моча... мокка - сорт кофе)
Выбирете для себя препроцессор
 Хотя бы посмотрите что такое node.js.Git обязателен (ну кнечно можно выбрать другую систему контроля версий).
Для больших поддерживаемых проектов Bower.
2) Не факт... разные бывают проеты и разная стилистика иногда достаточно только сетку взять и то это тоже бывает не нужно. Иногда встречаются проекты с кодом css примерно 800 строк кода (вместе с reset и общих стилей). По поводу БЭМ - его нужно в меру тоже. Верстать по БЭМ вслепую, не задумываясь а нужен ли он тут, тоже может привести к неприятным последствиям. Если это мелкий лэндинг который на 95% не будет расти то тотальная стилистика БЭМ будет лишней. Но что касается больших проектов то Вы полностью правы.
3) hexlet

Худший ответ:
Shadow DOM, SVG, Polymer, SPA
А вообще конечно проектов где нужен хороший фронт, гораздо больше чем проектов где он запланирован в обозримом будущем. Потому смотрите по вакансиям, что востребовано то и изучайте, скорее всего в ближайшее время компонентные подходы в вебе будут развиваться все сильнее, но обычные сайты так и останутся ожившей на jQuery разномастной вёрсткой.
Вопрос: Для PHP нужен лок. сервер, а для других ЯП?

Лучший ответ:
Самый глупый вопрос тот, который не задан.Локальный сервер -  специальная программа, позволяющая веб-разработчикам   разрабатывать сайт на локальном (домашнем) компьютере, без необходимости выхода в Интернет.
Надобность в такой программе возникает именно при разработке динамических сайтов, т.е. сайтов, использующих в своей работе php (или perl, node.js и пр.) – скрипты.  Для тестирования обычных html+css сайтов  локальный сервер не нужен.
Тут, по-моему, важно понять, что какие-то вещи способен сделать браузер (распарсить html страницу, выполнить js код, ...), и они выполняются на стороне клиента, а какие-то вещи* выполняются на стороне сервера. В ответ на запрос сервер на основе скрипта / программы генерирует страницу, которую отправляет клиенту. В этом суть сервера. В этом и будет различие: (ещё раз) если Вы в проекте используете исключительно языки, которые "понимает" браузер, Вы можете обойтись без локального сервера.
Для языков, которые Вы упомянули в тегах, нужны локальные сервера:Java** - Tomcat, JBoss AS, GlassFish, Jetty и др.Python*** - Google App Engine, веб сервера, реализующие WSGI, (Twisted Web, например) и др.JavaScript*** - Node.js (основан на V8) и др.Ruby on Rails*** - WEBrick, Mongrel, любой web сервер, поддерживающий FastCGI, ...
__________
* Для реализации сайтов с динамическим контентом, либо по соображениям безопасности, либо, чтобы снять вычилительную нагрузку с клиента, ...
** Сервер нужен для сервлетов; java-апплеты выполняются в браузере, без участия сервера.
*** Важно: насчёт этих языков и фреймворка я не уверен, просто по-быстрому нагуглил. Надеюсь, знающий человек не пройдёт мимо этого ответа и поправит меня, если что-то не так.

Худший ответ:
В Ruby on Rails есть встроенный сервер WEBrick, который запускается для конкретного приложения из его директории командой rails server. Приложение доступно будет в браузере по адресу localhost:3000
Вопрос: Текущая ситуация с SSD?

Лучший ответ:
Так как эти самые планируемые годы эксплуатации еще не прошли, твой вопрос к сообществу в принципе наивен.

Современные контроллеры внутри SSD «размазывают» записываемые данные по всему объему памяти. Постоянная запись не приводит уменьшению ресурса какой-то одной ячейки.
Для мониторинга оставшегося ресурса есть специальные атрибуты SMART «ssd live left» (см картинку. forum.corsair.com/forums/attachment.php?attachmentid=7309&stc=1&d=1283407396 )
Короче, я считаю, можно.

Худший ответ:
Думаю, что однозначного ответа Вы не получите, ещё прошло слишком мало времени, чтобы давать какую-либо статистику, процент брака и поломок есть везде. По всему интернету есть сообщения о том, что они ломаются, но какой это процент от общего числа сказать сложно. Вот относительно новая статья: SSD reliability lower than disks?. Один из комментариев говорит о третьей замене, в течении небольшого срока, но есть куча людей у которых всё отлично работает на том же хабре (встречал комментарии не только по персоналкам, но и по серверам).
Вопрос: Возможно ли переключать css @media query из JS?

Лучший ответ:
А что мешает создать две версии CSS и переключаться между ними? Создать их можно с помощью LESS или SASS, просто с разными настройками адаптивности. Bootstrap 3 это позволяет.

Худший ответ:
@media screen and (max-width: 378px) {
 div#huiv{ margin:0px;}
 ....
 }
вынести его в одельный фал и по клику удалять ссылку на него - вариант только тогда когда вся адаптивная верстка bootstrap элементов вынесена так-же в этот отдельный файл
Вопрос: Найти закономерность между числами?

Лучший ответ:
невозможно решить в вашей постановки задачи. 

Вы говорите, что есть 5 чисел, то есть нам известены x1, x2, x3, x4, x5. Есть незвестная произвольная функция F, которая вычисляет x6 = F(x1, x2, x3, x4, x5).

Задача: Угадайте F и значение x6.

xDDD

Худший ответ:
Ну если бы ещё задачу сформулировать попонятнее.
«Других переменных, кроме 5 чисел — нет, но могут быть константы.» — а константы не являются числами?

«Действия могут быть любого характера, не только математические» — я не представляю себе не-математические действия над числами. Число — это математическая абстракция. Побитный сдвиг — это умножение на степень 2, к примеру,… 

Разве что, как в той детской задачке, нематематические действия над числами — это когда восьмёрка соответствует двойке, потому что в восьмёрке два кружочка. Но если это такой алгоритм, тогда конечно вряд ли его можно подобрать…

Если вы из головы задачу придумали, нужно её сформулировать строже.
Вопрос: Генератор юзеров?

Лучший ответ:
randomuser.me ?
Или faker (есть для ruby, python, php, js...)

Худший ответ:
Не могу подсказать касательно сервиса, но есть такой модуль Python, если вас он устроит.
Вопрос: C# to Java или Чего стоит выучить новый язык, зная прежний?

Лучший ответ:
Требование совершенно справедливое, т.к. зная один единственный язык стать хорошим (тем более, пригодным для должности ведущего) программистом просто невозможно. Как абсолютный минимум нужно знать:
- ассемблер и устройство процессоров,
- минимум один "взрослый" язык (C/C++/Pascal)
- минимум один VM-ориентированный язык (C#/Java)
Зная C#, выучить синтаксис Java - вопрос одного-двух дней, но научиться правильно писать на нем программы - это как минимум один-два серьезных проекта, т.е. годик-другой. Однако, не расстраивайтесь - после третьего языка "изучение" последующих уже практически не напрягает. А потом наступает состояние, когда "новых" языков не остается - есть лишь языки, которые еще не использовал... но если нужно - просто берешь и используешь, "изучая" их, практически, по ходу дела. Вот именно оно и есть признак пригодности для должности ведущего программиста.

Худший ответ:
Ну выучить Java хорошо зная c# не сильно сложно.
Что бы стать крутым .NET-чиком нужно (да и Java-разработчиком и вообще) стоит:
 - понимать как работает CLI (или JVM, короче понимать что такое рантайм и как он устроен).
 - понимать как работает компьютер (можно почитать например архитектуру ЭВМ Таненбаума). Мол понимать что есть еще такие волшебные вещи как кеши процессора, реордер буферы, векторные инструкции, предсказание переходов, как работают потоки и т.д. Вы должны понимать что все это
Собственно последний пункт говорит о том что вы можете писать на Си. Так сказать практическое применение знаний. Пописать потоко-безопасные lock-free структурки например (это у вас не сразу будет получаться). Ну как-то так...
Вопрос: Покупка залоченного iPhone на ebay?

Лучший ответ:
Берёте лоченый на AT&T, после ищите ресурсы, которые делает официальную разлочку для вас без проблем (imzdl, ebay, etc). Стоимость варьируется примерно от 8$ до 30$. Это для всех айфонов включая пятый.

Худший ответ:
Ищете на blog.iphone-dev.org в последних постах версии поддерживаемых baseband-ов на 4S и берете его. Есть разные анлоки, но один только лишь точно рабочий, без всяких хардварных хаков, называется ultrasn0w. Про него обязательно будет написано в постах — ищите.
Вопрос: Какой mac mini выбрать в 2014 году?

Лучший ответ:
Работа с графикой и видео больше всего ложится в виде многопоточной обработки на процессор. 
Самое важное свойство mini, что вы можете купить его с 4-мя гагами памяти, а потом бюджетно, тысячи за 3, добить до 16 гб. А SDD ещё больше поможет взлететь производительности.
По этому не гонитесь за годом, переплатите. Берите 2012 в минимальной комплектации, докупите памяти, вставьте ssd и в ближайшие 2-3 года вы не ощутите какого-либо дискомфорта в работе.
Дёшево и сердито. Сам из такого заделал рабочий сервер, на котором одновременно работает 3-4 виртуалки а сама машина выступает в роли билд-станции. Нас устраивает :)

Худший ответ:
Купите себе MacBook Air 2013-2014 года с ssd на 250 гб и по возможности озу 8гб
Мне для работы (Web Developer) и Dota2 хватает за глаза =)
И намного удобней чем мини, таскать можно с собой. Даже не подключаю дополнительные мониторы, тк слайд между 2+ рабочими столами 4-мя пальцами рулит!
Вопрос: Какую библиотеку GUI выбрать? QT, GTK или что-то еще?

Лучший ответ:
Почему-то я постоянно натыкаюсь на рабочие кроссплатформенные программы, написаные с wxWidgets. 
То, что видел на GTK — глючат на винде регулярно.

Худший ответ:
Этот ответ вам, видимо, не подойдёт, но — SWT.
Вопрос: Какой движок интернет-магазина лучше использовать для зарубежной публики?

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

Худший ответ:
Их платных хороший движок Shopify
Пользуюсь им около года, доволен. (вот мой сайт если что - http://food-for-space.com) Также несколько товарищей  сделали на этом движке сайт. 
То что есть оплата - не бойтесь: вы либо начнете продавать и отбивать эти небольшие затраты либо, вам еще рано делать магазин, по крайней мере время свое терять не будете.
Вопрос: Где следует использовать умные указатели?

Лучший ответ:
Когда их стоит использовать
Умные указатели? - задан сегодня утром.Нужно ли, например, объявлять массив при помощи std::unique_ptr и т.д.
В большинстве случаев лучше std::array для массивов размера, известного во время компиляции, и std::vector - если размер становится известен только при выполнении программы. Исключение - необходимость взаимодействия с кодом, использующим обычные указатели на массивы (в частности, с Сишным кодом).и какой из них?
std::unique_ptr подразумевает одного владельца в один момент времени, и переход владения от одного умного указателя к другому (ownership transfer). std::shared_ptr использует подсчет ссылок, чтобы у объекта было несколько владельцев. Объект будет уничтожен, когда последний shared_ptr, указывающий на этот объект, будет уничтожен.
Разумеется, и та и другая стратегия работает только в умных указателях. Если вы скопируете содержимое умного указателя в обычный, и затем объект будет удален умным указателем, то обычный указатель продолжит указывать на тот же адрес в памяти. Это очевидная вещь, но именно на нее все напарываются поначалу.
Отдельно добавлю, что unique_ptr это один из способов моделирования композиции объектов (когда умирает владеющий объект, умирают и те, которыми он владеет), а shared_ptr - агрегации (если владеющий объект умирают, те, которыми он владел, продолжают жить, пока они нужны кому-то еще).

Худший ответ:
Собственно, начал читать книгу по STL, вначале идет краткий обзор C++11.
Очень понравились интеллектуальные указатели. Когда их стоит использовать и какой из них?
С умными указателями нужно быть поосторожнее. Не всегда они уместны. Да и не являются они составной частью STL и никак и не лежали рядом с STL.
Вот есть такое мнение:
Нелегкая выпала доля тем, кто связал свою жизнь с программированием на языке Cи++. На мой взгляд, для изготовления Cи++ был изуродован прекраснейший язык Cи. Мало того, Cи++ мутирует чуть ли не каждый квартал, постепенно превращаясь в игрушку-трансформер, а сам автор Си++ вынужден выпускать одну книжку за другой для толкования своего детища. С внедрением языка Си++ в коммерческую разработку резко упала надежность программного обеспечения, что пользователи прочувствовали на своей шкуре. Чрезмерная избыточность языка Cи++ привела к тому, что один и тот же алгоритм каждый программист кодирует по-своему и, в соответствии с законами Мерфи и Питерса, не самым оптимальным способом.
Это в очень существенной мере относится к умным указателям.
Вопрос: Почему растянулся фон за контент, в чем ошибка?

Лучший ответ:
Наверное вот так это можно исправить: 

Худший ответ:
Задай wrap'у и body максимальное и минимально разрешение.
Вопрос: Как сделать дырку в DIV (не только фон)?

Лучший ответ:
Попробуй использовать для элементов управления z-index выше, чем у твоего div

Худший ответ:
Делаешь див который будет "окном"
В него засовываешь див в котором будет все то что будет видно в "окне"
Этот внутренний див контейнер делаешь большего размера чем "окно"
И позиционируешь его внутри окна абсолютно
Окну делаешь оверфлоу хайден
Вопрос: Как из одной функции передать значение в другую?

Лучший ответ:
можно создать свойство $menu и обращаться через $this<?php
class Page_Portfolio extends Page_Basic{

    private $menu;

    public function actionIndex() {
        $this->menu;
    }

    public function actionHtml(){
         $this->menu;
    }

}
Или, быть может, нужно что-то подобное<?php
class Page_Portfolio extends Page_Basic{

    public function actionIndex() {

    }

    public function actionHtml(){
         $this->actionIndex();
    }

}

Худший ответ:
Если ближе к ООП, то вот так, пожалуй:<?php
<?php
class Page_Portfolio extends Page_Basic
{
    function actionIndex() {
        $sql = "SELECT * FROM site_portfolio WHERE portfolio_active='Y' ORDER BY portfolio_id DESC";
        $viewportf = cms_class::getInstance()->getRecords($sql, 150, "portfolio_image");
        return array("menu"=>$this->getMenu(), "viewportf"=>$viewportf);
    }
	
	function getMenu() {
		$cms_class = cms_class::getInstance();
		return $cms_class->getRecords($sql, 3);
	}
	
    function actionHtml()    {
        $cms_class = cms_class::getInstance();
        $sql = "SELECT * FROM site_portfolio WHERE portfolio_active='Y' AND portfolio_theme='".Router::$pageParams["html"]."'";    
		$records = $cms_class->getRecords($sql, 150, "portfolio_image");
        return array("records"=>$records, "menu"=>$this->getMenu());
        }
    }
А уж если надо оптимизировать, то можно "одним движением руки" кэшировать getMenu()
Вопрос: Ubuntu: Почему медленно записывается на флешку?

Лучший ответ:
Была такая проблема на одной из машин. Решилось добавлением «pci=routeirq» в параметры grub. По этому поводу есть страничка на launchpad. bugs.launchpad.net/gvfs/+bug/197762 и brainstorm.ubuntu.com/idea/15648/

Худший ответ:
1. Какое ядро?
2. libccid стоит?
Вопрос: Как подогнать сайт под ширину браузера?

Лучший ответ:
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">В этом направлении...

Худший ответ:
min-width наверное использовать.
Вопрос: Как сделать четкий шрифт текста на изображении (.png) для публикации на сайте?

Лучший ответ:
Мы под ретину изображение увеличиваем в два раза. То есть, на сайте лого 100х100. Делаешь png 200х200, а в стилях уже выставляешь размер 100х100.

Худший ответ:
Все правильно сказал Дмитрий . От себя добавлю, что логотипы сайтов, иконки и иллюстрации лучше всего изначально делать в векторе и вставлять на сайт в формате SVG. На хабре есть множество статей на эту тему, например эта «Изображения в верстке. Хватит это терпеть»
Вопрос: Перенаправление портов по имени сайта

Лучший ответ:
Спасибо всем!
Нашел решение сам.
вот если кому понадобится:

<VirtualHost *:80>
  ServerName ts.our

  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>

  ProxyPass / http://192.168.0.2:8888/
  ProxyPassReverse / http://192.168.0.2:8888/
  ErrorLog /var/log/apache2/ts_error_log
  CustomLog /var/log/apache2/ts_log common
</VirtualHost>


Худший ответ:
Пишу в этой теме так как похожий вопрос.
Значит задача такая: На VDS Server 2012 стоит программа TeamSpeak 3 Server (обмен голосовых сообщений). У этого сервера много виртуальных серверов которые сидят на портах (UDP 9987, 9988, 9999, 10025)
К серверу подключаются по типу 192.192.192.192:9987
Нужно сделать так чтобы можно было подключаться по домену третьего уровня
server.ts3.ru подключался на 192.192.192.192:9987
server2.ts3.ru подключался на 192.192.192.192:9988
server3.ts3.ru подключался на 192.192.192.192:9999
server4.ts3.ru подключался на 192.192.192.192:10025
Как это реализовать? Apache или DNS или что нужно на сервере установить чтобы это работало????
Заранее спасибо тем кто не останется равнодушным!
Вопрос: Оператор "if": как реализовать проверку 2-го условия при ложном результате выполнения проверки 1-го условия?

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

Худший ответ:
Если использовать одинарный эмперсэнд, то будут проверяться все условия. Также и для условия "или" можно использовать одинарную вертикальную черту с тем же эффектом (применимо к php)
Вопрос: PHP + MySQL: Как правильно сделать сортировку?

Лучший ответ:
Добавьте поле ранг, которое будет отвечать за позицию. Позиция должна задаваться с определёнными промежутками. Например, первая запись — ранг = 100, вторая запись — ранг равен 200, и т.д.
Когда вы переносите запись Вам достаточно изменить ранг на середину промежутка между соответствующими записями. Например, первую запись вы переместили на 50 место, т.е. между 49 и бывшим 50, тогда Вам достаточно установить ранг для новой записи 4950. Остальные записи трогать не надо. 
Промежуток между записями выбирается в зависимости от частоты изменений + периодически необходимо производить выравнивание рангов.

Худший ответ:
Как вариант — pastie.org/1516344 (писалось на MySQL PL/SQL в учебных помыслах)
Вопрос: Настройка ZyXEL Keenetic Giga на два инета?

Лучший ответ:
Это читали?

Худший ответ:
Да все равно нормально мониторить не умеет, а если у вас ещё модем то пока не упадет линк все равно будет гнать на него.
Вопрос: Адаптивный флаг Японии как правильно сделать?

Лучший ответ:
Мы же помним, что margin и padding считаются от ширины контейнера? Пример

Худший ответ:
jsfiddle.net/Carduelis/t20j0bdg
Используя padding в процентах, мы можем контролировать высоту блока (и соотношение сторон) в зависимости от ширины окна. И точно работает во всех браузерах, в отличие от единиц vh/vh.
Есть некоторые трудности при высчитывании нужных значений left/top/width/height/padding, но используя препроцессоры - все легко превращается в переменные и ничего пересчитывать не нужно: одна переменная будет отвечать за соотношение сторон флага, вторая переменная - размер круга по центру.
Вопрос: Десктопное приложение в Web приложение — что использовать?

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

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

Лучший ответ:
1. Посчитай максимальный объем памяти, который будут занимать одновременно работающие виртуалки, добавь объем памяти на хостовую ОС. Например, 
1.1 если хост ОС - Windows 2012 - 1 Gb, 
1.2 Oracle 12c - 2 Gb, если RAC - значит два экземпляра в двух виртуалках (4Gb)
1.3 Weblogic AS - 2 Gb
Итого 5 (7 для RAC) Gb минимум, сами приложения в WLS могут потребовать еще несколько гигабайт, как итог RAM от 8Gb, если средства позволяют, сразу 16GB
2. Процессор должен поддерживать технологии x86 virtualization (как минимум VT-x, лучше еще VT-d) en.wikipedia.org/wiki/X86_virtualization
Как бюджетный вариант подойдет Corei5, если позволяет бюджет - Corei7. AMD допустим, но с ним могут быть решаемые проблемы. Intel - дороже, но меньше проблем (например с запуском Mac OS в виртуалке).
3. HDD лучше брать два. Первый - небольшой SSD на 60-80 Gb, который обеспечит просто комфортную работу, мгновенный (по сравнению с обычным HDD) старт ОС и прочих программ. Если взять SSD от 120Gb, то на него влезет и одна виртулка с Oracle RDBMS, который на SSD работает очень быстро. Intel SSD надежно и дорого, по остальным производителям - смотри статистику отказов, которую можно спросить прямо в магазине.
Второй HDD - самый емкостный на 1 рубль цены, ибо образы виртуальных машин легко весят и 20, и 120, а если будешь делать snapshot, то и все 200 Gb. Никаких денег на такие SSD не хватит.
4. Видео любое, для виртуалок это не важно. Из удобства посоветовал бы, чтобы в видео была возможность подключения двух мониторов - при работе с 2-мя или 3-мя виртуалками одновременно - это удобно.
5. Материнка - под процессор, лучше бы чтобы было как минимум 4 слота под память. Дабы в будущем иметь возможность расширения до 32 Гб. Oracle охоч до памяти, WLS тоже. Порты USB 3.0 желательны, например для подключения внешнего HDD, чтобы перенести виртуалку на другую машину. В принципе неплохой бюджетный вариант можно подобрать у Asus (как вариант ASUS B85M-G). 
6. Сеть и звук - подойдут встроенные в материнку.

Худший ответ:
лучше обратить внимание на чтото отличное от виртуалбокса