Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как настроить git на windows 7?

Лучший ответ:
Это не вам должны ключ скидывать, это вы свой id_rsa.pub должны добавить на сервер, с которым собираетесь работать.

Худший ответ:
в id_rsa нельзя добавлять ключи, это неверно сформулированная фраза.
Ключи работают так:
Генерится пара ключей - приватный и публичный.
По умолчанию, утилита ssh-keygen генерит файлы $HOME/.ssh/id_rsa и $HOME/.ssh/id_rsa.pub
Приватный остается у пользователя, публичный кладется на тот ресурс, к которому нужно получить доступ.
Для доступа к веб-сервисам, в настройках профайла должна быть возможность вставить публичный ключ в поле. Для доступа к обычному ssh шеллу, публичный ключ добавляется в файл $HOME/.ssh/authorized_keys, в котором публичных ключей может быть много.
Если вам дают какой-то приватный ключ, то его не добавляют в id_rsa, а как минимум вам должны были дать файл id_rsa, ибо в этом файле может быть только один ключ. Может быть просто решили помочь вам сгенерить пару ключей.
В любом случае, вам проще уточнить на работе где вы что напутали.
Вопрос: Какая программа подойдёт для мониторинга действий пользователя?

Лучший ответ:
существует. посмотрите Стахановец, как вариант.  ну или тут
писать видео  дело безперспективное. 100 компов - 900 часов видео ежедневно. Даже абстрагировавшись от размера - чтобы просмотреть это видео с 10-и кратной скоростью Вам потребуется 90начальнико-часов в ДЕНЬ.
Или 10 начальников, которые будут только и делать, что смотреть видео.

Худший ответ:
Самое идеальное, что использовал - это KGB Spy (ранее называлось) - сейчас именуется как MIPKO - все, что нужно и даже БОЛЬШЕ! ;)
Вопрос: Почему в функциях JS пишут букву «e» хотя такой переменной нигде не определенно?

Лучший ответ:
В первом случае - e - аргумент функции, который передается при ее вызове.
Во втором - e - переменная типа Exception значение которой определится автоматически, если в try блоке возникнет ошибка.

Худший ответ:
element.onclick = function(e) {

       console.log(e)

}
Переменная e будет содержать информацию о произошедшем событии.
Создаст ее интерпретатор js.
Вопрос: Измениться ли производительность MacBook если поставлю Linux?

Лучший ответ:
Шта? Макбук ? Линукс ? Джава ? xfce ?
Омг, просто каша какая-то.
Оставьте все как есть.
Хотите изучать линукс - изучайте, ставьте на виртуалку, пробуйте.
Хотите учить джаву - учите на яблоке
Хотите учить джаву, но очень хотите линукс - ставьте любой популярный LTS дистрибутив, что б заниматься изучением джавы, а не настройкой системы и сторонних библиотек
Хотите быстродействия - выбросьте джаву. И перейдите на фронтэнд
Какой XFCE ? Почитайте обзоры и посмотрите реальное поведение вещей: он экономит 100-300 мегабайт оперативки в памяти по сравнению с последним Гномом или Юнити. Не любите эффекты - настройте compiz\metacity и разницы не будет совсем никакой
Все эти тайлы или "мини" окружения - для тех, кто сам к ним прийдет, а не кому посоветуют.

Худший ответ:
Да. Будет работать гораздо быстрее.
Вопрос: Выбор cms Joomla vs ModX?

Лучший ответ:
Все, что Вы написали в требованиях - идеально подходит к Wordpress. Главное его правильно настроить. У Вас, как понятно из описания, блог или новостной портал.  Joomla тоже идеально подойдет под Ваши условия.
Для MODx немного другие требования:
 Неограниченная возможность реализации любого дизайна.
Открытость системы под новые модули (невысокая стоимость заказа новых плагинов и модулей на фрилансе).
Полный контроль над любым элементом сайта и куском кода.
Возможность наращивать возможности в будущем. 
SEO ориентированность. 
Лично я работаю на MODx и очень доволен. Советую.

Худший ответ:
Посоветовал бы MODX, но она не соответствует пункту ваших требований о большом количестве готовых дополнений. Это фреймворк с админкой. Гибкость и масштабируемость -да, сео-ориентированность и безопасность -да, но вот накликать что-угодно путем сборки из готовых модулей не получится.
Вообще непонятно, как получилось, что вы отмели вордпресс и друпал в пользу джумлы)) Скорее всего вам нужен сайт, который смогут собрать и поддерживать непрофессионалы. Но тогда и не расчитывайте на стабильную и быструю работу, безопасность и решение любых проблем и задач. Это обеспечивают не cms, а люди. А cms всего лишь инструмент.
Вопрос: Как вернуться к нормальному режиму сна?

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

Худший ответ:
Идеальный график для фрилансера чем он вам не нравится то?
Пытаюсь хоть как то к нему приучиться но не могу. Сплю как убитый по 16 часов
Вопрос: PUT-запросы и Касперский. Какая взаимосвязь?

Лучший ответ:
возможно у клиента включен Анти-Баннер и ваш запрос похож на какое-то ключевое слово *ads*, *baner* или в урле запроса есть похожие слова\буквы...

Худший ответ:
Вот оно! Вот вам любители рестов аргумент.
Юзайте гет\пост запросы и все будет нормально.
Вопрос: Смысл упаковки ключевых аргументов в python 3?

Лучший ответ:
Да много где приходится использовать. Первое что вспоминается:Если одна функция является оберткой над другой функцией, реализация которой может меняться, то обертка принимает **kwargs и передает в оборачиваемую функцию, при этом может происходит изменение/добавление/удаление элементов словаря, т.е. параметров оборачиваемой функции.Написание декораторов - обобщение случая №1, когда оборачивается не конкретная функция, вызываемая по имени, а переменная.Часто используется в различных ORM, когда через параметры функции передаются значения полей модели/записи БД (сама ORM не имеет понятия о конкретной модели/таблице).Не уверен насчет того, насколько это правильный паттерн проектирования, но любую функцию принимающую словарь единственным аргументом можно переписать так,  чтобы она принимала **kwargs, это дает возможность более удобной передачи аргументов f(var=42), вместо создания словаря на лету f({'var': 42}), и оставляет возможность передать готовый словарь через вызов с распаковкой аргументов f(**the_dict).

Худший ответ:
могут понадобиться когда у вас данные пришли снаружи, например из конфиг-файла.import json

def foo(host, port):
    ....

with open('config.json', 'r') as f:
    config = json.loads(f.read())

    foo(config['host'], config['port'])  # можно так
    foo(**config)  # или так
Вопрос: Подбор АТС в офис на 40 абонентов?

Лучший ответ:
Вообще могу посоветовать два вида подключения:
1. Оставить АТС Panasonic для аналоговых линий ГТС: купить плату потока T1 в АТС и плату E1 от Digium, все вместе будет стоить около 45к и можно купить 40 IP телефонов( например:Yealink SIP-T20 
стоимость: 3730*40~150к)
Преимущества данного решения что появляется возможность использовать до 31 аналоговой линии ГТС + расширения внутренних линий покупкой только телефонов, также можно ждать когда появятся нормальные VOIP операторы в регионе
2. Убрать на полку Panasonic, купить 2-е платы TDM880E (16каналов) ~71к и соответственно IP телефоны как в первом варианте
Преимущества тут тоже, что и в варианте выше + минимум оборудования в обслуживание
Минусы тут в ограниченности аналоговых линий 16 и бюджет превысит 200к
Если раньше не настраивали подобные решения лучше взять готовые дистрибутивы: Trixbox или Elastix

Худший ответ:
Не стоит Asterisk вязать c ГТС при основной деятельности, связанной со звонками. Относительно кривой dahdi-драйвер неадекватно работает даже с родными платами от Digium.
Вопрос: Как собрать квадрокоптер, способный летать на расстояние до 50км?

Лучший ответ:
беспилотник тебе в помощь! 
www.uav-siberia.com
разрешение на полеты будет сложно получить, если вообще возможно.

Худший ответ:
Задачка понятная и решаемая. Можно позаниматься. Пишите rdmitryv@mail.ru О нас: www.unmanned.ru
Вопрос: Как вывести одну строчку из mysql?

Лучший ответ:
Все верно говорят, + ко всему учитывайте добавляйте к запросу LIMIT 1 для оптимизации

Худший ответ:
если id - это поле первичного ключа и оно единственно в ключе (то есть гарантированно ссылается на одну запись, то ничего делать не нужно.$sth = $dbh->prepare("SELECT * FROM user WHERE id=?id");
$sth->execute(array('id' => $userid));
$arResult = $sth->fetch(PDO::FETCH_ASSOC);
print_r($arResult);
в массиве $arResult вернутся еще один встроенный массив, в котором будут значения ваших полей.  $arResult[0]['id'] => 5
$arResult[0]['name'] => 'Иванов Вася'
$arResult[0]['email'] => ivanov@gmail.com''
Ваш пример с  $userid=1 видимо от непонимания принципа работы: как вы будете эти остальные данные соединять  $userid=5 ?
Вопрос: Где покупать/продавать Bitcoin?

Лучший ответ:
На биржах:
bitstamp.com
mtgox.com
btc-e.com
О каком софте речь? Для трейдинга или клиент кошелька имелось ввиду?

Худший ответ:
Биржи написали уже
Софт тут:
https://play.google.com/store/apps/details?id=net.metaquotes.metatrader4
http://itunes.apple.com/ru/app/metatrader-4/id496212596?mt=8
Вопрос: Где найти ФИАС в MySql?

Лучший ответ:
Клац

Худший ответ:
ФИАС- исходники в DBF, XML.
Далее заливаем в MySQL. 

Как вариант на C# можно быстро сварганить маленькую программу, которая сама все зальет Вам.
Если нужна будет помощь с программой, пишите, у меня уже есть исходники, т.к сам работаю с FIAS + MySQL.
Вопрос: Можно ли создать «шумный» фон только с помощью CSS3 (без изображений)?

Лучший ответ:
base64 как я понял не вариант?

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

Лучший ответ:
macbook. только с 8 gb ram.

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

Лучший ответ:
Разместить где-то после Хабра – можно, наоборот - нет (нарушение правил).

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

Лучший ответ:
Сбер хорош, тем, что он как танк — стабильный, большой, железный и зеленый. Как следствие медленный и неповоротливый, счет открывают медленно деньги доходят медленно, очередь с бабушкам идет тоже меееедлееенно.
Работал с разными банками, для себя выбрал АКБ «Авангард», съездить туда нужно будет ну максимум один раз для открытия счета и по необходимости налить большие суммы (об этом лучше звонить и договариваться заранее)

Худший ответ:
Не забудьте с заказчиком оговорить, на кого ложатся расходы (или в каких долях) на валютные операции (РКО при валютных операциях). Так же не стоит забывать о расходах на ведение ИП (с 2013 года размер фиксированных взносов 35 664,66 руб/год). Если работа обещает быть продолжительной (год и более), то есть смысл в договоре делать привязку к текущей величине этих расходов, а не договариваться на фиксированную сумму.
Вопрос: Какие можно использовать методы рекламы?

Лучший ответ:
перед началом рекламной компании вы столкнетесь с очевидной проблемой холодного старта -> когда пользователям не за чем заходить на ваш маркет плейс, потому что на нём ничего нет, и на нём нет ничего потому что туда никто не заходит)
поэтому нужно сначало сфокусироваться на очень очень узкой аудитории например только на фотографах -> собрать в ручном режиме ту информацию, которую собирают эти фотографы -> а лучше всего предоставить уже конкретные заказы для них.
потом уже начать постепенно ознакомлять фотографов с сервисом.
классические методы продвижения, через покупку таргетированной рекламы очень просты но достаточно дороги. 
в условиях ограниченных финансовых ресурсах вам прийдётся немного жульничать, и прибегать к разного рода трюкам (так все начинающие делают).
это очень опасный путь но многие успешные сервисы именно благодаря им становились успешными.
такие примеры на виду -> например сайты знакомств, прибегали к фейковым сообщениям от якобы людей которые хотят с тобой познакомиться... мотивируя определённые группы активно начинать пользоваться сервисом.
часто используют вбросы скандалов/срачей -> очень популярная тема которую люди обмусоливают сами готовы рассказывать друг другу, особенно если эти скандалы связанны с жуткой несправедливостью.
вам подойдут скандалы например, как ваш сервис забирает у кого-то работу и теперь кто-нибудь с голода сдох, или вынужден например уехать обратно на родину и тд (сейчас так рекламируется убер)
в любом случае для начала вам нужно выделить очень узкую аудиторию, приготовить для неё удобный продукт (создать фейковую потребность в услугах фотографов или отобрать где-то реальные объявления), привлечь самих фотографов -> а затем найти где обитают клиенты для этих фотографов -> с последующим вбросом туда информационных крючков.
это нужно будет сделать как со стороны тех кто ищет работу, и тех кто её предлагает.
такие крючки-ловушки не обязательно должны напрямую вас рекламировать, они могут быть по совсем не связанной тематике -> вам важно просто поймать вашу целевую аудиторию.
K примеру если вы хотите привлекать на услуги фотографов невест -> вы ищите где они обитают (например на сайте с новостями о том кто с кем переспал, кто кому изменил) и вбрасываете информационные крючки в самые обсуждаемые темы, придумываете что-нибудь в стиле как друг свидетеля на свадьбе заразил сифилисом подружку невесты а подружка невесты потом заразила жениха -> делаете фейковую страницу с описанием этого абсурда для вашей целевой аудитории -> и там уже размещаете рекламу своего портала)
регулярные информационные бомбы по фотографам и их клиентам.
потом уже масштабируете и мотивируете подтягиваться другие группы пользователей, схожими методами.

Худший ответ:
Бумажки в почтовые ящики и Google Adwords)
Вопрос: Как вы организуете SEO в django?

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

Худший ответ:
Берется seo-шник, им пишется ТЗ на доработку сайта. В разных ситуациях оно сильно отличается.
Без конкретного сайта это вопрос о "сферическом коне...".
Вопрос: Как парсить большие(>25GB) файлы(логи активности) и ранжировать полученную информацию, какие технологии лучше использовать?

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

Худший ответ:
Если SQL-like разберете - то hadoop+hive.
Вопрос: Как сделать нестандартный цикл вывода постов Wordpress?

Лучший ответ:
$i = 0;
foreach( $posts as $post ) {
// в каждом 1-м посту каждой четверки открываем див
if ($i % 4 === 0) {
echo '<div class="content_one_fourth">';
}

// остальная логика

// в каждом 4-м посту каждой четверки закрываем див
if ($i % 4 === 3) {
echo '</div">';
}
$i++;
}
// если в последней четверке не 4 поста, то див не закрыт. закрываем его
if ($i % 4 !== 0) {
echo '</div">';
}

Худший ответ:
В ответе сверху есть опечатки (смотрите мой комментарий).

<?php
          $args = array(
            'posts_per_page' => -1,
            'orderby' => 'date',
            'post_type' => 'post',
          );

          $query = new WP_Query( $args );

          // Цикл
          if ( $query->have_posts() ) {
            $i = 0; 
            while ( $query->have_posts() ) {
              $query->the_post();
              // в каждом 1-м посту каждой четверки открываем див
              if (($i % 4) === 0) {
                echo '<div class="swiper-slide"><div class="community-slider__items__grid">';
              }
              // Остальная логика
              get_template_part('loop/loop','community');
              // в каждом 4-м посту каждой четверки закрываем див
              if ($i % 4 === 3) {
                echo '</div></div>';
              }
              $i++;
            }
            // если в последней четверке не 4 поста, то див не закрыт. закрываем его
            if ($i % 4 !== 0) {
              echo '</div></div>';
            }
          }
          wp_reset_postdata();
?>
Вопрос: Почему в данном случае не инклюдятся файлы?

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

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

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

Худший ответ:
Коротко
Полно
Однозначно
Иметь критерии завершения
Вопрос: Карту типа Visa Virual?

Лучший ответ:
Я не пользовался, но есть такая штука как Qiwi Visa Virtual.

Худший ответ:
Qiwi Visa или у Связного — быстро, просто и удобно.
Вопрос: Как вывести Биткоин с минимальной комиссией?

Лучший ответ:
Ладно, раз никто не ответил, скажу что вывел через upbit. 
Т.е. продал на ней и с неё же вывел на Киви за 0% (комиссия за обналичку 2% - пришлось карту Киви заказывать).

Худший ответ:
4.livejournal.com/57552.html?thread=2557392#t2557392 - другого способа сообщить не нашел, всё отрублено :-) Сорри за неудачную попытку публикации и пропажу Вашего комментария.
Вопрос: Порекомендуйте кросплатформенную среду OpenGL с 3D?

Лучший ответ:
Возможно, вам подойдет Cocos2D.
Либо jMonkey. Полностью кроссплатформенный, но разработка на Java.

Худший ответ:
OpenGL, никакого DirectXкак было двоекратно сказаноРазработка под
Воу-воу-воу полегче, грозный, перепугаешь всех. Возьми ru.wikipedia.org/wiki/Unreal_Engine, базарю, еще захочешь. И графон, и физон и платформы разные, базарю.
Вопрос: Где правильнее использовать ActiveRecord, в контроллере или модели?

Лучший ответ:
В модели.

Худший ответ:
В модели.
Вопрос: Почему после вызова t1 = std::move(t0) вызывается деструктор t0?

Лучший ответ:
Насколько я понял идею std::move, вызов в return move(t) должен осуществить перемещение данных класса t в t1 без вызова деструктора.
Насколько я понимаю идею std::move, вы получаете вызов конструктора T(T&&) вместо T(const T&), в котором вы сами должны переместить (или не перемещать) нужные поля в создаваемый объект. После перемещения оригиналы полей нужно подходящим способом "обнулить". Деструктор локального объекта, выходящего из области видимости будет вызван в любом случае.В реальной программе T содержит объект fstream, а в деструкторе осуществляется закрытие потока.
Насколько я вижу, std::fstream поддерживает конструирование из ссылки на rvalue.

Худший ответ:
А почему не должен? Конструируется новый объект, а старый при этом будет удалён, но move конструктор как бы намекает, что не нужно использовать глубокое копирование в конструкторе. Нужно просто скопировать указатели и всё, при этом да, в исходном объекте указатели нужно обнулить. А в вашем случае от move конструктора толку вообще нет и не будет. Ибо нет никакого смысла в move конструкторе для примитивных типов, которые при этом создаются на стеке.
Вопрос: Как в Java узнать о том, что поток (thread) закончил выполняться?

Лучший ответ:
Один объект Thread — один поток, даже если вы вызовете start несколько раз. В вашем случае разумно воспользоваться более высокоуровневой абстракцией типа ExecutorService.

ExecutorService executor = Executors.newFixedThreadPool(4);
List<Future<MyResult>> futures = new ArrayList<>();
for (File path: imgToProcPath) {
    executor.submit(new MyImageProcessingTask(path);
}
for (Future<MyResult> future: futures) {
   displayThumbnail(future.get());
}

Худший ответ:
for (int i = 0; i < 10; i++)
            {
                
                Thread thread = new Thread(new ThreadStart(ФУНКЦИЯ ВЫПОЛНЯЮЩАЯСЯ В ПОТОКЕ));
                thread.Name = Convert.ToString(i);
                thread.Start();
            }


И не забудь проверить imgToProcPath.length;
Вопрос: Какая CMS выдержит большую нагрузку?

Лучший ответ:
CMS - не предназначена для выдерживания нагрузок!
Архитектура и технологии - предназначены.
Single HTML5 Application + AJAX (REST-JSON) = Ваш выбор!

Худший ответ:
Битрикс используйте
Вопрос: Ресурсы по обучению iOS разработке?

Лучший ответ:
Книга iOS Programming: The Big Nerd Ranch Guide 4th Edition желательно читать в оригинале.
Курсы от стенфорда 
Дальше:Хорошие ресурсы для iOS разработчиков
+ raywenderlich.com
+ natashatherobot.com
+ appcoda
+ krakendev.io
Подписки:
MBLTdev Digest
Dave Verwer

Худший ответ:
Посмотрите специализации на курсере и udacity. Я интересуюсь темой анализа данных, машинного обучения и тд, и проходил там специалиализации по этим направлениям. Могу сказать что они вполне достойны. Возможно специализации по разработке под IOS тоже хорошего качества.
https://www.udacity.com/course/beginning-ios-app-d...
https://www.udacity.com/course/ios-developer-nanod...
https://www.coursera.org/specializations/app-devel...
Имейте в виду, на курсере обучение полностью бесплатное, нужно платить если хотите получить сертификаты об окончании курсов и получить доступ к "Дипломному проекту" - это некий практический проект, по итогам курса.
На udacity обучение платное, но обычно можно бесплатно получить доступ к материалам курса. Обратная связь от инструктора и итоговые проекты только для подписавшихся на курс.
Вопрос: Онлайн заказ такси на Wordpress?

Лучший ответ:
Woocommerce всё покроет. Просто Товары переименуете в Заказы.

Худший ответ:
Вот множество готовых плагинов.
Вопрос: Что учить после освоения азов HTML и CSS?

Лучший ответ:
Вам надо просто научиться пользоваться поиском. Я на самом деле не в настроении шутить и ругаться, так что воспринимайте всерьез. Например, Ваш вопрос задавался в разных интерпретациях сотню раз, и там были прекрасные ответы по тому, с чего стоит начинать. Присылались ссылки на деревья обучения, вроде этого (уже не вспомню, кто прислал).
Смотрите на дерево - если что непонятно - читайте, гуглите, ищите на тостере и хабре. Учитесь пользоваться поиском, без него никак.

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

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

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

Лучший ответ:
Однозначно Graphviz! 
В AsciiDoc, например, есть плагин. Тогда прямо в тексте достаточно написать:digraph {
    graph [rankdir=TD,ranksep=0.5,fontname=Arial]
    node [shape=box,fontname=Arial,fontsize=12,style="rounded"]
    edge [fontsize=8, fontname=Arial]

    user [shape=diamond, label="User", fillcolor=yellow, style="rounded,filled"]
    nginx [label="Nginx Web Server \n (http://ctxm.ornet.org)", style="bold,rounded"]
    jenkins [label="Jenkins"]
    nexus [label="Nexus"]
    sonar [label="Sonar"]
    postgres [label="PostgreSQL"]
    openldap [label="OpenLDAP"]
    volumes [label="volumes\n (data persisted here!)", constraint=false,color=gray, fillcolor=gray, style="rounded,filled"]

    user -> nginx[label="access", style=tapered, penwidth=3 ]

    nginx -> nexus[label="\/nexus"]
    nginx -> sonar[label="\/sonar"]
    nginx -> jenkins[label="\/jenkins"]
    nginx -> volumes [label="volumes-from",color=gray]
    openldap -> volumes [label="volumes-from",color=gray]
    postgres -> volumes [label="volumes-from",color=gray]
    jenkins -> openldap
    jenkins -> nexus
    jenkins -> volumes [label="volumes-from",color=gray]
    nexus -> openldap
    nexus -> volumes [label="volumes-from",color=gray]
    sonar -> postgres
    sonar -> openldap
    sonar -> volumes [label="volumes-from",color=gray]
}
А на выходе это даст картинку:

Худший ответ:
POV-Ray
программируешь
на основе кода рендерится картинка
пример картинки можно посмотреть тут