Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Динамические массивы внутри классов в Object Pascal

Лучший ответ:
a: array of integer;
потом можешь использовать команду SetLength(a, n);

Я так делал в Delphi, у ObjectPascal должно быть тоже самое…

Худший ответ:
Обджект паскаль очень печально работает с динамическими массивами.

Намного лучше, и, что важно, быстрей в плане исполнения кода, будет использовать строку.

А потом методом get и set тягать/назначать элементы.

Т.е. 
a: string;

в конструкторе setlength(a, n*4) (*8, если 64 битное приложение)

и методы
getElement(x:integer)
var tmpInt:integer;
move(a[(x*4)+1], tmpInt, 4); (везде 8 для 64 бит)
result:=tmpInt;

setElement(x, value:integer)
var tmpInt:integer;
tmpInt:=value;
move(tmpInt, a[(x*4)+1], 4); (везде 8 для 64 бит)

Оно, на первый взгляд, сложней, чем предыдущий ответ, но по факту проблем будет меньше. С передачами в качестве парамтров в функцию, с использованием внутри других функций и т.д.
Вопрос: Имеет смысл продолжать публиковать статьи про атоматические выключатели?

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

Худший ответ:
Спасибо!
Исходный код в первой статье
Вопрос: Как сделать разный вид анонсов новостей на главной странице в Wordpress?

Лучший ответ:
Вариантов решения много. Идеальным со всех точек зрения и оптимальным будет:
1. Создать метабокс "Формат вывода" с опциями в виде переключения радиокнопками или списком выбора (те, которые Вы перечислили + любые другие). Создать его можно либо вручную через functions.php либо с помощью одного из массы плагинов (рекоммендую Advanced Custom Fields).
2. В индексе в WordPress Loop получаете значение этого поля
3. Подключаете соответствующий шаблон
Если же Вам не надо полную свободу выбора, а, скажем, жестко каждая отдельная рубрика (или по несколько рубрик) должна иметь свой формат вывода, тогда дополнительный metabox или даже обычный custom fields не нужен. Проверяете в Loop айдишку группы или slug, подключаете нужный шаблон.
Также, можно включить форматы записей (стандартный, галерея, фото, видео, цитата, ссылка и т.д.) и перенастроить их под себя.

Худший ответ:
В Wordpress это лучше всего бы решилось с помощью виджетов
Вопрос: Существует ли эдакий быстрый старт для сис админа?

Лучший ответ:
CCNA, да и "сети для самых маленьких" самое то.

Худший ответ:
Зависит от производителя оборудования. 
Можно попробовать начать обучение с серии статьей   Linkmeup: Сети для самых маленьких.
Вопрос: Как сделать foobar похожи на амарок?

Лучший ответ:
> Сейчас пользуюсь foobar в «базовой комплектации». Но без «навесов» он представляет собой весьма жалкое зрелище: похоже, единственное что он умеет без доп. плагинов, это тупо играть музыку. 

амарок и этого не может, то ему подай xinelib пропатченный какого в репах нет, то переконверти все русские теги в мп3 то он путаеться в пульсах-альсах, нафиг такое счастье?

Худший ответ:
Поставить Clementine
Вопрос: Django bootstrap alerts?

Лучший ответ:
0. ексепшен в питоне приведет к 500 ошибке на сервре, так что отдать алерт никак не получится
1. Если тебе нужно показать ошибку, то тебе нужно во вью предусмотреть переменную, а в темплейте проверить ееdef foo_view(request):
     return render(request, 'foo_tpl.html', {'is_error': False}){% if is_error %}
shit happens
{% endif%}

Худший ответ:
Есть по круче 
https://docs.djangoproject.com/en/1.8/ref/contrib/...messages.add_message(request, messages.WARNING, 'You can post onlu one time in 24 hours!'){% if messages %}
  {% for message in messages %}
    <div{% if message.tags %} class="alert alert-{{ message.tags }}"{% endif %}>
      <a class="close" data-dismiss="alert" href="#">&times;</a>
      {{ message }}
    </div>
  {% endfor %}
{% endif %}
Вопрос: LED TV в качестве основного монитора, какой выбрать?

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

Худший ответ:
Тогда интерполяция замылит картинку. А если использовать обрамление, какой смысл от большой диагонали?
Вопрос: PDF to IMG, как?

Лучший ответ:
я использую imagemagick + Ghostscript

Худший ответ:
Я пользуюсь Apitron.PDF.Rasterizer в .NET проектах для Windows Phone, Android и стандартных WinForms.
Вопрос: Как восстановить поврежденный CSS файл после резкой перезагрузки компьютера?

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

Худший ответ:
Сочувствую. Была когда-то аналогичная проблема: из-за скачка комп вырубился и открытые в блокноте файлы пострадали. С тех пор стараюсь делать бекапы.
Вопрос: Что выбрать для командной Wiki — MediaWiki / GoogleSites / DokuWiki?

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

Худший ответ:
Без разницы абсолютно.
Есть еще atlassian confluence
Есть в конце концов встроенный репозиторий wiki в каждый проект github/bitbucket
Пощупайте к чему больше душа лежит, с точностью до интерфейса они все +-одинаковые.
Вопрос: Где взять текст input-а введенный пользователем?

Лучший ответ:
попробуй $('#elem_id').val()

Худший ответ:
что значит "значение value не меняется при изменении текста пользователем"? какое пользователь ввел значение в инпут такое значение value и принимаем. Другое дело если Вы инпуты каки-то образом кастомизируете.
Вопрос: Chrome заблокировал JS для localhost

Лучший ответ:
«Переустановить хром»… «перезагрузить комп»… чего уж мелочиться, поменять компьютер, место жительства, пол, ориентацию, конфессию и профессию :) Жить в горах лесбийской буддисткой каменщицей и не париться по поводу яваскриптов :)

Худший ответ:
а не кэш не пробывал сбросить?
Вопрос: Почему AngularJS плохо индексируется поисковиками, а ReactJS хорошо?

Лучший ответ:
поисковики плохо работают с js вообще. поисковый робот - это как пользователь, у которого js отключен (на самом деле все немного сложнее, и поисковики рендерят js, но это другой вопрос).
Отключите javascript в браузере и посмотрите, какой контент будет виден на сайте с angular и какой на сайте с react? вот этот контент поисковики и получат.
ну и react поддерживает рендеринг на стороне сервера, а значит поисковики будут получать сразу полноценный html. а не шаблон без контента, в случае с angular.

Худший ответ:
Сами по себе обе эти технологии плохо индексируются. Но React это изоморфная библиотека. Это значит что она может быть запущена так же на сервере (node.js) для генерации страниц еще там, так чтобы было что выдавать поисковикам по прямому запросу. Angular 1.x этого не умеет (2.х, который сейчас в альфе, будет уметь).
Вот еще хорошая статья на хабре на тему: habrahabr.ru/post/203444
Вопрос: Github или Sourceforge?

Лучший ответ:
Bitbucket еще же есть.

Худший ответ:
Github, причины две, удобный GIT и вторая — это много народу сидит, так что в случае интереса будет кому делать коммит реквесты.
Вопрос: Чем Вы защищаете свои личные данные на ПК?

Лучший ответ:
KeePass — для хранения паролей.
TrueCrypt (старая версия) — для шифрования существующих разделов диска и создания отдельных файлов-контейнеров.
Файлы в облаке можно шифровать пофайлово через BoxCryptor. Но у меня очень медленно с фотографиями работате.

Худший ответ:
Никак. Не храню личных данных на компе. 
Порнушку не жалко :)
Вопрос: Сколько стоит натянуть верстку

Лучший ответ:
Сферический конь в вакууме
А вообще вы натяните какую-то часть, относительно нее и расчитаете.

Худший ответ:
Это зависит от многих факторов.

1. Блочная ли у вас верстка и качественная ли нарезка, соответствуют ли хотя бы приблизительно блоки верстки шаблонам/компонентам сайта (основной фактор скорости «надевания» верстки, в этом плане быстрее всего надевается верстка под готовые cms, когда верстальщик имеет уже опыт работы с ней, но в вашем случае это вряд ли возможно).
2. Нормально ли сделаны блоки и их дизайн (тайлинг текстур, простота ресайза элементов, отсутствие всяких трудновыполнимых переходов между блоками).
3. Требуется ли дополнительная нарезка графики (особенно если в psd слои оргазизованы без группировок и имен).
4. Требуется ли поддержка устаревших браузеров (включая ИЕ8) и нестандартных фич новых браузеров (тех, что с префиксами), как и предыдущих пункт, необходимо в случае, если верстка готова не полностью.
5. Требуется ли дополнительное программирование (js), анимации, ajax-рефреши, валидация форм в реальном времени и прочие модные штуки.

Таким образом, стоимость может отличаться на несколько порядков, и просто так оценить ее может только специалист, имеющий в руках дизайн и ТЗ. Если же верстка у вас полностью готова и разрабатывалась под готовую структуру сайта — оценивайте количеством отдельных блоков верстки.
Вопрос: Какую литературу почитать для саморазвития?

Лучший ответ:
1984
О, дивный новый мир
Автостопом по галактике
Воровка книг
451 градус по Фаренгейту
Скотный двор
Мы
Заводной апельсин
Кысь
Котлован
Бойня номер пять, или Крестовый поход детей 
Колыбель для Кошки
Повелитель мух
Престиж
Мемуары гейши
Дом, в котором...
Над пропастью во ржи
Собачье сердце
Сто лет одиночества
Загадай число
Остров проклятых
Исчезнуть не простившись
Основание
На игле
Бойцовский клуб

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

Лучший ответ:
Пионер не привязан к стране и везде одинаковые лимиты и они описаны на сайте пионера

Худший ответ:
Это обычная карта MasterCard. В любой точке планеты где есть банкомат обслуживающий MasterCard.
Вопрос: Какие есть открытые проекты с последней версией RubyOnRails (от 4.0) для самостоятельного изучения?

Лучший ответ:
Я на днях исходники Росвыборов смотрел https://github.com/fbkinfo/rosvybory
А вообще, можно просто взять и на гитхабе поиск использовать ;-)
Выдача примерно следующая:
https://github.com/railstutorial/sample_app_rails_4
https://github.com/clayallsopp/rubymotion-tutorial
https://github.com/railstutorial/sample_app
https://github.com/mhartl/sample_app
Также есть отдельные репозитории с best practices.

Худший ответ:
http://www.opensourcerails.com, хотя там многие еще на 3.2.
Вопрос: Планшет + фотобумага

Лучший ответ:
А бумага то какая — цвет, ч\б, позитив, негатив?
А проявлять потом как? Хотя ч/б ещё ладно но с цветной гемор страшный.

Худший ответ:
ИМХО — получится. Только в негативе и зеркальный. Но не факт что вы успеете включить планшет на нужное время, чтобы небыло засвета
Вопрос: Почему не запускается The Elder Scrolls V: Skyrim?

Лучший ответ:
При чем здесь Тостер? Пиши в техподдержку

Худший ответ:
Чтож Вас всех на 10 то тянет раньше времени? Я так полагаю, на другой системе проблем не было?
Вопрос: Как работать с Big Data в .NET и надо ли?

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

Худший ответ:
Видимо я плохо искал в первый раз, сейчас набрел на https://pragmaticdevs.wordpress.com/2014/09/03/get...
Принцип понятен. Буду разбирать дальше. Если получится - отпишу тут
Вопрос: Что будет с .deb в ubuntu?

Лучший ответ:
1) Не будут делать, он уже есть (точнее 2 - для десктопа и для мобильных; тот что для десктопа, к стати, выпилили в 16.04 и запилили GNOME Software вместо него)
2) Отказа пока нет, Snappy будет развиваться параллельно, в первую очередь будет использоваться для мобильных телефонов, маршрутизаторов и подобных вещей где обновления в виде снимков гораздо надежнее
3) Пакеты можно ставить и другими способами - через терминал или тот же Synaptic (я им постоянно пользуюсь, снес Ubuntu Software Center давным давно)
4) С дистрибутивами ничего не будет
В целом вы что-то услышали непонятно где и откуда. Ничего кардинально не изменится, как минимум для десктопа, в обозримом будущем.

Худший ответ:
Ничего не будет, 95% пакетов в Ubuntu собираются из debian as-is без единого патча, вся движуха ведется именно мэйнтейнерами дебиана. 
Дебианщики никуда мигрировать не собираются => базовая убунта останется на .deb. 
Вот другой вопрос, что появится _ещё один_ способ установки программ. Вообще он сильно похож на тот же docker - программа приносит всё с собой в одном файле, запускается в контейнере. Единственный вопрос, что Snappy будет лучше в систему интегрирован.
Вопрос: Можно ли добавить в уведомление для chrome extension звук?

Лучший ответ:
Как-то так:var audio = new Audio();
audio.preload = 'auto';
audio.src = 'notify.mp3';

var notification = new Notification(title, {icon: 'icon.png', body: bodyText});
notification.onshow = function() {
    audio.play();
};

Худший ответ:
Пока сделал через chrome.windows.create, но вопрос остается открытым :-)
Вопрос: Стиль написания нативных SQL-запросов?

Лучший ответ:
Если выбирать, то вариант №3:
return DB->fetch_column('SELECT code FROM table ...');

1. Не пойму, в чем может быть плюс here-строки.
2. Почему двойные кавычки вместо апострофов? Вы туда переменные вставляете? Если да, то ваш вариант заведомо ужасен. Используйте хотя бы pdo с плейсхолдерами.

Худший ответ:
Основная проблема в том, что 2 разработчика с разными восприятием красоты кода работают над одним проектом. И нужно найти общий «знаменатель». В Большей части проекта (если не весь проект) написан по 2-му варианту с запросом в HERE строке — мне режет глаз, а коллега так привык. Не тяну одеяло на себя, но нужно оговорить единый стиль. Хотя, как заметил, Hint — лучше отрефакторить проект с использованием PDO.
Вопрос: Как фреймворк выбрать?

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

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

Лучший ответ:
На одной стороне создаете список пар (хеш_имени;хеш_контента) и на другой стороне такой же список пар. Которая-то из сторон отправляет свой список другой стороне. 
Получатель ищет 
а) хеши_имен, которых нет у него (и запрашивает такие файлы себе)
б) хеши_имен, которых нет у отправителя (и отправляет такие файлы ему)
в) хеши_имен, которые есть и там и тут, но не совпадают их хеши_контента (тут нужно решить у кого более свежая версия и соответственно направление обмена)
Если хеш криптостойкий, то можно еще обнаруживать факт переименования файла - хеш_контента не изменится, а хеш_имени изменится. Ну и вообще много разных вопросов в части снижения трафика между сервером и клиентом можно придумать (например, некую аналогию rsync для списка хешей).

Худший ответ:
Ну на php обычно реализовать авторизацию прием и хранение файлов.
А вот на с++ как то сканировать папку на компьютере и через http общаться с сервером.
Так как то(
Вопрос: Необходимо ли оптимизировать самописные табы на JQuery?

Лучший ответ:
1. Независимо от сложности приложения, которое вы пишете, нужно помнить, что операции поиска элементов очень дорогостоящие. Нашли один раз свои элементы (в данном случае по классу) и запомнили. А дальше уже с помощью eq(), filter() из них выбираете нужные. И неважно — простая или сложная структура в документе, сложные или не очень действия предусмотрены функционалом. Привычка — второе Я.
2. Искать лучше не по всему документу, а внутри некоего контейнера — так быстрее и правильнее. В данном случае неактуально.
3. Для функциональности лучше использовать data-атрибуты. А классы вы можете менять, как перчатки.
4. При использовании addEventListener писать в обработчике return false не имеет никакого смысла.
5. Вы написали 3 обработчика, хотя в реальности нужен один.
6. Вы сначала находите элементы, а потом навешиваете обработчик на событие click, а правильнее отслеживать событие в документе и обрабатывать его. К тому же, в этом случае не придётся ждать формирования DOM.
7. Ожидание формирования DOM можно делать через $() вместо $(document).ready().
Итого ваш скрипт (для простоты я не сохраняю результат поиска вкладок, поскольку не знаю остальных действий):$(document).on('click', '.about menu li', function(e){
	$(this).addClass('about-current').siblings('about-current').removeClass('about-current');
});

$(function () {
	$(.about menu li).eq(0).trigger('click');
});

Худший ответ:
Вот вам хорошая реализация табов:$('.wrapper-tabs').on('click', 'span:not(.active)', function () {
    $(this)
        .addClass('active')
        .siblings()
        .removeClass('active')
        .closest('.wrapper-tabs')
        .find('.tab-box')
        .eq($(this).index())
        .show()
        .siblings('.tab-box')
        .hide();
});
А это схематичная разметка:<div class="wrapper-tabs">
    <span class="active">Tab 1</span>
    <span>Tab 1</span>
    <div class="tab-box">Content Tab 1</div>
    <div class="tab-box">Content Tab 2</div>
</div>
Изучайте.
Вопрос: Стабильный публичный jabber-сервер?

Лучший ответ:
Если нужна надёжность, то пользуйтесь большой тройкой (Gmail, yandex, qip), либо localhost. По опыту всех, кого я знаю на других серверах, рано или поздно приходится менять сервер. 
В аспекте конференций, Gmail выкидываем, конечно. Остаются два вышеназванных, которым кто-то зачем-то поставил минуса.

Худший ответ:
я пользуюсь Гугловым джаббером. Под ваши требования подойдёт разве что собственный джаббер-сервер. Маленькие все рано или поздно глючат/закрываются.
Вопрос: Google удаляет проекты App Engine с отключенным биллингом?

Лучший ответ:
Прочитайте, пожалуйста, текст внимательнее — речь идет про освобождение ресурсов Compute Engine, а не App Engine!
Скорее всего (я могу только догадываться) около года назад вы пробовали использовать виртуальные машины Google Compute Engine - создали инстанс, поигрались с ним и, надеюсь, остановили. В любом случае созданные образы занимают дисковое пространство.
Если ваши приложения работают только в App Engine и вы не используете виртуальные машины - то бояться нечего, можете даже сами удалить старые инстансы.

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

Лучший ответ:
Никак, подымите сервер на порту 80 или перенаправьте 80 порт на 8080 через фаервол или какой нибудь nginx

Худший ответ:
для софта, поддерживающего разрешение SRV-записей DNS-сервера, можно указать запись вида _<service_name>._[udp|tcp].<domain_name>.
так умеет Тимспик, например: https://support.teamspeakusa.com/index.php?/Knowle...
web-сервер (вернее, браузеры) такой функционал не поддерживают. как сказано выше, следует использовать перенаправление портов средствами web-сервера или файервола.
Вопрос: Кто сталкивался с процессом регистрации лицензионного договора в роспатенте?

Лучший ответ:
Действительно, согласно ч. 2 п. 2 ст. 1235 ГК РФ, «лицензионный договор подлежит государственной регистрации в случаях, предусмотренных пунктом 2 статьи 1232 настоящего Кодекса». 
П. 2 ст. 1232 гласит, что «когда результат интеллектуальной деятельности или средство индивидуализации подлежит в соответствии с настоящим Кодексом государственной регистрации, отчуждение исключительного права на такой результат или на такое средство по договору, залог этого права и предоставление права использования такого результата или такого средства по договору, а равно и переход исключительного права на такой результат или на такое средство без договора, также подлежат государственной регистрации».
На практике это означает, что если ПО (или иной результат интеллектуальной деятельности), передаваемое по лицензионному договору, основной лицензионный договор, по которому переходят права по сублицензионному договору, зарегистрированы, то регистрация лицензионного/сублицензионного договора также обязательна.
Подробнейший регламент, в том числе наглядные схемы процесса регистрации лицензионного договора, а также образцы заявлений можете найти на сайте ФИПС: www1.fips.ru/wps/wcm/connect/content_ru/ru/documents/russian_laws/order_minobr/administrative_regulations/test_9/

Худший ответ:
Пленум Верховного Суда Российской Федерации №5
Пленум Высшего Арбитражного Суда Российской Федерации № 29
Постановление от 26 марта 2009 года
О некоторых вопросах, возникших в связи с введением в действие части четвертой Гражданского Кодекса Российской Федерации

П. 38.1. Согласно пункту 2 статьи 1235 ГК РФ лицензионный договор подлежит государственной регистрации в случаях, определенных пунктом 2 статьи 1232 Кодекса. К таким случаям относится в том числе предоставление права использования подлежащего государственной регистрации результата интеллектуальной деятельности или средства индивидуализации. При этом в силу пункта 7 статьи 1232 ГК РФ это правило применяется и к зарегистрированному по желанию результату интеллектуальной деятельности (в частности, к программам для ЭВМ и базам данных), если Кодексом не установлено иное.
В отношении программ для ЭВМ и баз данных иное установлено пунктом 5 статьи 1262 ГК РФ, в соответствии с которым государственной регистрации подлежат только:

1) договоры об отчуждении исключительного права на зарегистрированную программу для ЭВМ или базу данных;
2) переход исключительного права на такую программу или базу данных к другим лицам без договора.

Другие договоры, в том числе лицензионные договоры о предоставлении права использования программы для ЭВМ или базы данных, государственной регистрации не подлежат.
Вопрос: Нужно ли хорошо уметь программировать на PHP, если работаешь с фреймворками?

Лучший ответ:
думаю тут достаточно сказано - Не учите фреймворки, учите архитектуру

Худший ответ:
Зависит от того каким Вы программистом хотите быть. Если одним из тех из-за которых так не любят php, то да - вперед, если же нет, то советую разобраться в деталях работы фреймворка, попробовать реализовать такую же структуру, но своими силами (естественно в целях самообразования)
Вопрос: Как убрать «Рубрики» из wp_list_categories()?

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

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

Лучший ответ:
Это называеться Dependency Injection, в скобках вы передаёте объект, который будете использовать внутри класса.
Если объект передан через __construct(Guard $auth), как у вас в коде, значит можно будет использовать данный класс в каждом методе. Если вам нужно использовать класс только один раз, вы можете передать нужный класс методу, вместо public function __construct(Guard $auth) {}, public function myMethod(Guard $auth) {}
Передача второго параметра может быть такой:public function myMethod(Guard $auth, $id) {}
или такой:public function myMethod($id, Guard $auth) {}
Laravel сам знает что где

Худший ответ:
Это называется DI — Dependency Injection. laravel.com/docs/5.1/container#introduction