Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как сделать JOIN для таблиц из разных БД?

Лучший ответ:
Напрямую обращаться к другой БД нельзя. Но кто сказал, что вообще нельзя?
Натравливаете Foreign Data Wrappers: https://www.postgresql.org/docs/current/static/pos...
Получаете доступность обеих таблиц в одной БД. На актуальный версиях PG планировщик уже может проталкивать аггрегацию в fdw самостоятельно и считать там что можно, а обратно передавать только аггрегированные данные.
Более старый способ: берёте старый добрый dblink: https://www.postgresql.org/docs/current/static/dbl... дёргаете запрос с джойном таблиц из одной БД, к результату джойните таблицы второй базы.

Худший ответ:
Могу ошибаться но из разных БД такое не предусмотрено. Запускаете скрипт по cron он создаёт таблицу в какой-то БД, тянет из всех БД в неё нужные данные, делает нужный вам запрос из этой одной таблицы. Всё. По cron можете потом эту таблицу дропнуть если результат выборки куда-то сохраняется и она вам не нужна.
Вопрос: Где хранить собственные библиотеки?

Лучший ответ:
Я делаю так, создаю папку /app/Supports и там храню части проекта как пакеты. Например так:/app/Supports
    /Cart
        /Facades
            CartFacade.php
        Cart.php
        ServiceProvider.php
И регистрирую провайдеры и фасады (алиасы) в /config/app.php.

Худший ответ:
В сервисах
Вопрос: Что значит у string число в скобках?

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

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

Лучший ответ:
1) никаких, в российском айти только в Москве/Питере можно зарабатывать количество денюжек наиболее близкое(хотя и всё равно далёкое) от вознаграждений на международных фриланс-биржах. Фриланс бирже же кишат халявщиками, которые будут платить на порядок меньше чем вышеуказанные офисы, а учитывая все проблемы с кидалами и отсутствие средств защиты обеих сторон(клиент/исполнитель) на местных биржах - работа на них будет себе в минус
2) возможно, но не на снгшных биржах
3) на апворке многие общаются через гугл транслейт, но если вы хотите заниматься айти, вам всё равно нужен английский, так что начните с него. А он и для обучения и для фриланса уже пригодится. Тем более это не займет много времени, 1-2 месяца и вы готовы к покорению реддитов и апворка.
4) как-то странно вы выбираете сферу, то сишарп, то вордпресс. После изучения английского сядьте и выберите одну, которая вам нравится. Развивайтесь в ней и не будет у вас конкуренции. Только на вордпрессе потолок материальный будет пониже чем у многих других разработчиков. Раза в полтора ниже чем у верстальщика, например.

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

Лучший ответ:
Никакую. К big data указанные объемы отношения не имеют.
Подойдет любая СУБД, так что можно выибарть ту, которая больше знакома. 
Тем более, чтоСтроки могут повторяться между юзерами.
Т.е. в нормализованном виде это будет занимать еще меньше места.
Лично мне куда интереснее другой вопрос. Что будет делать система с миллионом строк после запроса "выбрать все строки, принадлежащие юзеру Х" .

Худший ответ:
10тыс пользователей * 1 млн строк по 200 байт = 2ТБ - максимальный размер базы - великовато для MySQL, но работать будет даже в лоб. 
Раз строки повторяются, то нужно сделать словарь строк, и оперировать уже id строки.
Раз таблица пользователь-строки может оказаться очень длинной и ее изменение будет приносить большие задержки. То есть смысл резделить таблицу с информацией о строках пользователей на несколько таблиц (партиционирование), разделив весь пул пользователей по конкретным таблицам, чем больше таблиц - тем легче будет проходить обновления.
итого имеем такую структуру:
таблица users, 
в которой id пользователя, некое внешнее описание пользователя, номер/имя таблицы с данными
таблица dict, 
в которой храним уникальные строки и их id
пачка таблиц usersdata1...N, 
в которых храним id пользователя и id строки, если у пользователя строки могут повторяться - то уникальный key id, чтобы хранить дубликаты строк и вытягивать их в порядке key id
чем больше N - тем веселее будут проходить изменения.
Выборка видится такой - ищем в users пользователя, берем его id и знание какую таблицу userdata надо опрашивать, затем выбрать из userdata список id строк, сразу подтягивая строки из dict.
Выбор таблицы можно делать, не храня данные о таблицах, например, по первым символам хеша "имени пользователя". Но такой принцип делает фиксированным количество таблиц userdata, это может оказаться не очень гибким способом для последующих изменений.
Потом такую базу можно перенести на raid из ssd, чтобы чтение происходило с минимальными задержками на чтение.
Если захочется еще повысить производительность, то userdataN можно размазать на разные хосты. При этом таблицы dict и users реплицировать между хостами средствами mysql.
Можно и миллионы пользователей так обслуживать, имя соответствующий парк серверов.
Вопрос: Возможно ли повлиять на сайт конкурента с плохими ссылками?

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

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

Лучший ответ:
GoldenDict, например, выдает статью по выделенному слову при двойном нажатии Ctrl-C. Сама программа бесплатна, словари найти при желании несложно. Windows / Linux.

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

Лучший ответ:
Возможно, но это извращение (никогда так не делайте!):eval(JSON.stringify(array).replace(/[^\d]+/g, '+') + '0') // 31
Перевести массив в JSON-строку, все не-цифры заменить на знаки «+» и выполнить полученное выражение.
Например: const a = [1, 2, [3, 4, [[5, 6], 7], 8]];
// Вжух! и получится строка:
"+1+2+3+4+5+6+7+8+"

Худший ответ:
Если превратить его в строку и удалить все скобочки - убрав вложенность, а потом заменить запятые на знаки + то можно сделать eval() и получить результат.eval(JSON.stringify(array).replace(/\[/g,"").replace(/\]/g,"").replace(/,/g,"+"))
Вопрос: Блокировка доступа к серверу из разных стран?

Лучший ответ:
FireHOL кажется может. Либо можно написать скрипт подобный этому (в ISO указать страны, либо изменить так, чтобы они принимались параметром) и потом его просто запускать. Также можно поставить iptables geoip patch и потом кому-то полутехническому достаточно будет одной строчкой банить по коду страны.

Худший ответ:
Установи csf и не парься, будет намного проще блокировать и IP и целые подсети.
Вопрос: Какие преимущества у C# и недостатки перед JS (Electron, NW.JS) для дескстопных приложений?

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

Худший ответ:
JS код всегда запускается в какой-то обёртке, которая позволяет выполняться этому коду на платформе. По сути, этот код может работать только с теми методами, которые отдаёт обёртка, то есть, с каким-то функционалом js код в принципе не сможет работать. Второе, так как вызовы идут через эту прослойку, всё работает медленнее. И может выдавать иногда неожиданные результаты.
Когда вы пишете на компилируемых языках (например, c#), то вы обращаетесь напрямую к используемой системе, можете работать без ограничений и без неожиданных результатов (и быстрее)
Вопрос: Скорость интернета 100мбит и тормозит онлайн видео. Почему?

Лучший ответ:
1)Подключили оптику со скоростью в 100мбит/сЭто означает что вам подключили интернет по оптике со скоростью не более 100мбит/с. 
Провайдер вам не гарантирует что будет 100мбит/с, он вам гарантирует что скорость будет не больше этой цифры.
Т.е равна или меньше.2)При просмотре hd видео в формате 720 и 1080 тормоза.Причин тут может быть много - например небольшая скорость интернета у того, кто раздает вам это видео. Или перегруженный канал у него, или перегруженный канал у вас. Или просто сервер у хостера видео не справляется с нагрузкой.
Т.е скорость вашего интернета тут лишь  одна из возможных причин.

Худший ответ:
такая же беда: 100мб, ноут i5, видюха 1Гб, все дела, но вот видео онлайн тормозит, причем не на всех сайтах, попробуйте потестировать на разных сайтах и с разными браузерами, как понял очень тяжко даются файлы 720 и 1080. Пока руки не дошли до конца разобрать проблему
Вопрос: Как раздать интернет в локальную сеть без прокси?

Лучший ответ:
Как раздать интернет в локальную сеть без прокси?
1)Поднять DHCP сервер.
2)Раздать по DHCP адреса, шлюз, и DNS.
Все.

Худший ответ:
Если вам провайдер отдаёт интернет через прокси, и больше никаких вариантов -- то забудьте про любые другие схемы раздачи интернета пользователям в локалке. Убрать запрос аутентификации можно -- поставьте прокси на своей стороне, настройте его каскадом для провайдерского прокси и сделайте аутентификацию по NTLM. Тогда пользователи будут логиниться на ваш прокси с помощью тех кредсов, с которыми они в систему зашли. Например, вот методичка: wiki.525.su/doku.php?id=squid_ad Каскадов прокси там нет, но есть про настройку в связке с AD. А каскады особой проблемой не являются.
Вопрос: Как и где можно подрабатывать pl/sql девелоперу?

Лучший ответ:
Оракл есть деньги закупать только у крупных компаний, которым фрилансеры не нужны. Так что в этой сфере всё сложно с подработкой. 
Чтобы, например, оптимизировать чужие запросы, нужно знать предметную область, в которой заказчик работает, и без этих знаний, как правило, не подпускают людей к базе данных.

Худший ответ:
PL/SQL в основном распространен в финансовой среде, биржи, банки итд...
Вопрос: Стоит ли продолжать учить android Разработку в 2018?

Лучший ответ:
Странный вопрос.
До 2022 года как до Пекина. За 4 года можно выучить Андроид и успешно его забыть.
Вопрос сначала нужно задать самому себе - для чего тебе нужен вообще андроид?
Второе. Fuchsia OS будет поддерживать все приложения, написанные для Андроида.
Возможно, что Java вымрет, а возможно и нет (не зря ведь он уже 30 лет существует). Будет Котлин, потом и он вымрет. Ну и что? Ему на смену придёт другой язык. Так и будем сидеть и смотреть как один язык приходит на смену другому? В ожидании чего?
И третье. Вопрос задан так, будто выбирается только один язык или платформа один раз и на всю жизнь. Смешно.

Худший ответ:
Во-первых, прочтите эту новость.
Цитата из статьи:В Google подчеркнули, что Kotlin будет дополнительным языком и ни в коем случае не заменит Java и C++ (на сегодняшний день языком первого класса для Android является именно Java). Планируется, что инструменты Kotlin, основанные на JetBrains IDE, будут по стандарту включены в Android Studio 3.0 — официальный инструмент разработки для ОС Android.
Подробнее: www.cnews.ru/news/top/2017-05-18_google_perevodit_...
Во-вторых, Java останется с Android навсегда - как минимум из-за Java Machine, которую использует ОС.
В-третьих, Google не смысла заменять Android другой операционкой. Это будет крайне сложно и затратно сделать. Если Google разрабатывает новую ОС, то лишь для определённых устройств.
Как говорится, волков бояться - в лес не ходить) Технологии развиваются, какие-то языки программирования умирают, какие-то появляются. А по вашей логике, разработкой вообще не стоит заниматься.
Вопрос: Модули для доступа к разным функция компьютера?

Лучший ответ:
Конкретно для открытия браузера существует стандартный модуль webbrowser.
В простейшем случае вызывает браузер, установленный по умолчанию. Можно задать конкретный браузер, попросить открыть сайт или файл в новом окне.Честно скопировано со второй ссылки в гугле - клик

Худший ответ:
Конкретно для открытия браузера существует стандартный модуль webbrowser.
В простейшем случае вызывает браузер, установленный по умолчанию. Можно задать конкретный браузер, попросить открыть сайт или файл в новом окне.Честно скопировано со второй ссылки в гугле - клик
Вопрос: Можно ли использовать домен live в современной веб разработке?

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

Худший ответ:
Цены на домены в generic-зонах скачут вместе с долларом и настроением координатора доменной зоны. Поэтому рекомендую рассматривать их лишь в следующих случаях: подходящие для вашего проекта красивые адреса в зоне ru уже заняты;название зоны входит в семантическое ядро вашего проекта (centr.expert, создать.сайт, katalog.online).
Вопрос: Как и где собрать команду для стартапа?

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

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

Лучший ответ:
Отбросьте все seo-предрассудки и взгляните на заголовки как на элементы разбиения текста на осмысленные части. Это и есть семантека HTML5. Заголовок H1...H6 - это заголовок блока: main, article, secrion и т.д. Это структурный элемент текста. ТЕКСТА!

Худший ответ:
seo-ng.net/seo-statiy/more/pravila-ispolzovanija-z...
www.internet-technologies.ru/articles/article_2647.html
webmastersam.ru/seo-zagolovki-h1-h3.html
stimylrosta.com.ua/optimizatsiya-i-prodvizhenie/48...
shpargalkablog.ru/2015/02/h1-seo.html
В гугле забанили что ли?
Вопрос: Хотелось бы заниматься разработкой суперкомпьютеров, чтобы разрабатывать под них нейросети, какую специальность выбрать для обучения?

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

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

Лучший ответ:
там и не могут учитываться переводы часов, потому что сервер времени отдаёт вам время по гринвичу. часовые пояса и переводы часов - задача ОС, к ней и вопросы.

Худший ответ:
Обновить Windows на последнюю Windows 10 и регулярно обновлять её.
Хватит уже на Windows XP сидеть - она с поддержки давно снята.
Вопрос: Зачем забывать о var?

Лучший ответ:
Отказ от var современном модульном коде обусловлен тем, что использование только const и let, const для переменных которые не переопределяются и let для переменных которые переопределяются повышает читаемость кода и снижает когнитивную нагрузку с программиста, читающего код.
Такой код воспринимается легче и быстрей.
Так же в современном модульном коде нет ни одного объективного кейса для предпочтения var вместо const/let. Гайдлайн AirBnb.ESLint no-var

Худший ответ:
Это тенденция. Берем самобытный язык и делаем из него java. Это позволяет программистам мигрировать из языка в язык без особых глюков в мозгах. Расчищается дорога индусам...
Вопрос: Как реализовать ожидание готовности выполнения метода без использования цикла while?

Лучший ответ:
Если я правильно понимаю, обработчик сообщений от websocket'а у вас крутится где-то в другом месте. Вы можете создать общий TaskCompletionSource и в методе Run вызвать await tcs.Task;, а при приходе сообщения по сокету вызывать tcs.SetResult();.

Худший ответ:
Websocket может послать ваше сообщение частями и в любом случае вам придется делать while до получения состояния EndOfMessage == true.
Вопрос: С JQuery на чистый Javascript код?

Лучший ответ:
Советую приглядываться к youmightnotneedjqueryvar cart = {};

function addToCart() {
    var articul = this.dataset.id;
    cart[articul] = 1;
    console.log(cart);
}

document.getElementById('addToCart').addEventListener('click', addToCart);

Худший ответ:
JQuery это не js для нубов, это инструмент позволяющий не думать о кроссбраузерности. Даже зная как всё устроено, все равно лучше юзайте готовые либы, в общем случае $(document).on() работает предсказуемие чем addEventListener
Вопрос: Исходники каких PHP-проектов лучше поизучать для примера отличного PHP-кода?

Лучший ответ:
Symphony копайте, вам на год хватит.
UPD:ответ вас позлил наверное но я Объясню. Yii хорош, но symphony лучше. Копайте его, залейте клона с официального гита себе и разберитесь что и как работает. Не узнайте как с ним работать, а именно нарежьте его нано скальпелем до переменных, и посмотрите как он устроен. На том же гите поищите проекты на нем и разберитесь как и почему. Если уверены в своих силах закомитьте что нибудь, мелкую фичу. Почему symphony а не что-то ещё?  Разберёшся с ним - с остальными проблем не будет. Конечно можно с дуру взять и смотреть Zend, но пожалейте свои мозги и время,года 3-4 на понимание уйдёт. Почему фреймворк а не книги или что-то ещё?  Ну как вам сказать, книги это хорошо и читать их нужно, но фреймворки и примеры работ это здесь и сейчас, это то что востребовано то что вас прокормит, а книги можно почитать для общего развития авось где-то пригодится. Но это я именно об php и структуризации кода. Алгоритмы, архитектуры бд и т.д. закидывать не лзя, это читайте.

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

Лучший ответ:
в MIUI такое из коробки. Можно создать несколько профилей, и каждый профиль открывается своим ключом/отпечатком. Намеков нет, если не лезть в настройки пользователей.

Худший ответ:
По сути, такая штука есть на самсунгах (идк на каких точно, лично у меня s21), папка knox. Это не полноценный рабочий стол, но копировать приложения туда, переносить и копировать файлы, скачивать туда отдельно, ставить блокировку, пароль, по желанию скрывать с рабочего стола и скрывать содержимое уведомлений можно. Работает как папка, внешний вид котррый можно подстроить под обычное приложение самсунг.
Вопрос: Есть ли скрипт «тестирования» на основе вопросов и ответов?

Лучший ответ:
Нет. Такие вещи за пол часа - час под себя пишутся.

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

Лучший ответ:
например unique_ptr , на текущий момент возможно есть лучше альтернатива

Худший ответ:
Реализуйте оператор присваивания:// Так, если хотите, чтоб они указывали на одну область:
Number& operator = (const Number& other)
{
    delete val;
    this->val = other.val;
    return *this;
}

// Так, если должна создаваться копия значения:
Number& operator = (const Number& other)
{
    delete val;
    this->val = new float(*(other.val));
    return *this;
}P. S. operator= должен возвращать ссылку на левый операнд.
Вопрос: Как распаковать gz файл в Delphi?

Лучший ответ:
Зачем во временную папку? Надо просто использовать поток TZDecompressionStream из юнита ZLib (System.ZLib в новых версиях Delphi, просто ZLib в старых).  Вот тут всё подробно объяснено самим Embarcadero.

Худший ответ:
1. ShellExecute (Например, 7-zip)
2.Lines.LoadFromFile
Вопрос: Как сравнить и заменить данные в таблице excel?

Лучший ответ:
Задача вполне решаема с помощью PHPExcel

Худший ответ:
Задача вполне решается через ВПР или ПОИСКПОЗ, достаточно открыть оба документа и при составлении формул данные будут передавать друг другу ссылки при клике по ячейкам/выборе таблицы. 
Можно и средствами PHP, но зачем заколачивать гвоздь отвёрткой?
Вопрос: Почему цикл не выводи столбик?

Лучший ответ:
Даже если исправить все синтаксические ошибки в коде, то всё равно выражениеarr[num - '0'] адресует область памяти перед массивом, а не сам массив, т.к. символ '0' имеет код 48.

Худший ответ:
int main() {
  int num, i, ar;
  int arr[10] = {0}; // читайте как правильно инициализировать массив
  for(num = 0; num < 10; ++num) {
    for(i = 0; i <= num; ++i) {
      // ++arr[num - '0'];  WTF?? - '0'
      ++arr[num];
    }
  }
  // for(ar = 0; ar < num: ++ar) опечатка? Как оно хоть что-то выдает, с такими ошибками?
  for(ar = 0; ar < num; ++ar)
    printf("%d\n", arr[ar]);
  return 0;
}
Если коротко - вы выделили память под массив но не задали начальные значения, и там оказались какие-то данные от предыдущей работы компьютера.
cppstudio.com/post/389
Вопрос: Как добавить свой слайдер в Wordpress + возможность менять контент?

Лучший ответ:
custom post type жеж
и выводим циклом

Худший ответ:
Почти на любом можно сделать. Я бы разработал шаблон на SliderRevolution и просто бы показал клиентку как дублировать слайды - затем уже поменять текст и картинку.
Вопрос: Чем SIM-карта с поддержкой 4G LTE отличается от обычной?

Лучший ответ:
Чем SIM-карта с поддержкой 4G LTE отличается от обычной?
На ней есть надпись LTE.
Вообще, в википедии толково разжевано.
По идее, программно там может быть что угодно, хоть Linux. Чаще всего размещают мидлет, т.к. самый дешевый вариант.

Худший ответ:
Алгоритмы шифрования сильнее.
Ключи шифрования длиннее.
Это минимально необходимый набор.
Это если без VoLTE )
Вопрос: Как правиль оформлять указатели в С++?

Лучший ответ:
я один пишу ?int * name;
(звёздочка отдельно)

Худший ответ:
Когда пишешь на C:char *s, *p, *q, ch, *func(void), arr[10];
Когда пишешь на C++:char* s;
char* p;
char* q;
char ch;
char* func();
char arr[10];
То есть ты просто должен по-разному думать: в C принято объявлять их в одну строку или в несколько строк (язык так и спроектирован, чтобы можно было делать, как удобно); в C++ не принято объявлять их в одну строку (делай, как получится).
Вопрос: Есть ли у гугл, касперского, и других собственные службы безопасности?

Лучший ответ:
Есть мнение, что не у Касперского есть служба безопасности, а наоборот.

Худший ответ:
Конечно есть :) И наверное даже тостер читают :) Чтобы поржать на тему того, что про них пишут :D
Вопрос: Курсы по QA для нуба?

Лучший ответ:
У software-testing.ru отличные курсы. Если планируете проходить обучение, советую обратить внимание именно на них. Курсы на порядок дешевле, чем у других крупных порталов. Плюс, они ориентированы только на тестировщиков и там отличные преподаватели. И самое главное - основатель портала Алексей Баранцев - это создатель Selenium и что касается автоматизации никто лучше него вам не расскажет о ней.

Из бесплатных советую обратить внимание на курс от преподавателей software-testing.ru - он находится на learnqa.ru/stageone

На нем рассматривается самая база для тестировщика, чтобы узнать и структурировать самые основы. Плюс, дадут поиграться с Jira, SQL, Bash и другими полезными тулзами.

Худший ответ:
У Портнова неплохие видеоуроки. Например, https://www.youtube.com/watch?v=wYnayqdP9Ck
Вопрос: Одинаковая версия пакетов на всех Debian серверах?

Лучший ответ:
Если я правильно понял суть вашей проблемы, то можете посмотреть в сторону apt-cacher (статейка в тему) или apt-cacher-ng.
В вашем случае они вероятно будут экономичнее apt-mirror по трафику и занимаемому месту.

Худший ответ:
Всё куда проще. Есть snapshot.debian.org
Выбираете нужный снэпшот, устанавливаете репу и раскатываете все сервера из неё через Expert Install.
Если машин много, смотрите в сторону chef/puppet/ansible.