Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Какой способ передачи данных по http быстрее?

Лучший ответ:
Мне кажется можно вполне разбить задачу на куски. Как пример, не так давно, мы делали выбор страны и города. Первая ошибка была отдавать на фронтенд весь контент прегенеренный, получилась страница весом несколько мегабайт. Заменили на аякс запросы получение списка стран и городов, получилось лучше, но не идеально. Так как несколько десятков тысяч городов без фильтрации вешали фронт. И итоге решили очень просто. Пока человек не выбрал страны, не показывать города. Выбрал страну, на сервер ушел аякс с запросом городов по этой стране, запрос получили, показали на фронте. Город изменили - все снова. Кэш на стороне сервера результатов запроса решает многие проблемы на ура. Думаю вам стоит найти зависимости и нет необходимости провалить в браузер такое количество информации

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

Лучший ответ:
Посмотрит в свою таблицу и пульнёт куда написано.
Свитчу глубоуо фиолетово как вы "магически" строите свою сеть :)
Если свитч управляемый то есть варианты.

Худший ответ:
chupasaurus прав. Коммутатор не отправляет фрейм в тот же порт, откуда он пришел.
Так что он дропнет фрейм.
Более того,  у cisco примерно так работает  ethernet keepalive, то бишь loopdetect, там как раз mac src = mac dst интерфейса.
Очевидно, если кадр вернулся -- что-то в сети не в порядке. 
Wireshark, по-моему, показывает как LOOP такие фреймы.
Вопрос: Как удобнее всего переводить деньги в 2015-м году?

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

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

Лучший ответ:
Для VMware vSphere 5, 160 — это максимальное количество логических процессоров (сокеты*ядра*Hyper Threading) на одном хосте виртуализации. Максимальное кол-во vCPU (виртуальных процессоров) — 2048. Для рабочих станций приемлемым показателем консолидации является 7:1 или 8:1 (кол-во виртуальных процессоров к одному физическому ядру). Для сотни десктопов (1 vCPU, 512 MB памяти) будет достаточно пары 2-сокетных четырехядерных сервера с 32 ГБ в каждом. Если использовать серверы с большим кол-вом сокетов, ядер в процессоре, то может хватить и одного сервера (но все зависит от характера нагрузки внутри ВМ).

Но основным узким местом тут будет скорее не процессор и память, а дисковая подсистема (она должна обеспечить необходимые IOPS для работы виртуальных машин).

P.S. если машины нужны на непродолжительное время, то почему бы не воспользоваться услугами какого-нибудь «облачного» провайдера?

Худший ответ:
@mr_jok На реальном железе тестируем регрессивно перед непосредственным релизом. Хотелось бы виртуализировать для тестирования на более ранней стадии и возможности экспериментировать с конфигурациями более динамично. 

@omnimod Очень интересно, можно арендовать тучку на недельку для разворота пары сотень, тестирования и свернуть все до нового релиза? Детали?

@rPman Ага, все одновременно.
Вопрос: Прибавление предыдущего числа к следующему php?

Лучший ответ:
Я извиняюсь, но вчера один персонаж 3 раза задавал разные вопросы по рекурсии с правками кода функции nums_from. 1) Отправлю жалобу на задание, не обижайтесь. 2) Передайте вашему преподавателю что он дебил. Рекурсия - инструмент специфический. Если задача коротко и прозрачно решается итеративно - решать ее рекурсией будет только имбецил. Задачи решают рекурсией, если итеративно код выглядит как ночной кошмар (обход деревьев, xml, ханойская башня).

Худший ответ:
Проблема в том, что ты делаешь echo ($n).' ' вне функции. 
Правильнее было бы сделать так:function nums_from($n=1, $i=0) {
  if ($n > $i){
      echo ($n).' ' ;
      nums($n + $i);
  }
}
nums_from();
Но в таком варианте функция никогда не выйдет из рекурсии.
Возможный вариант решения:function nums_from($count =1, $n=1, $i=0) { // здесь $count это сколько раз должна выполнится функция
  if ($count--){ // проверяем на истинность(не 0), и сразу уменьшаем значение
      echo ($n).' ' ;
      nums($count, $n + $i);
  }
}
nums_from(10); // функция выполнится 10 раз
Вопрос: Как реализовать грамотную проверку авторизации?

Лучший ответ:
Вы используете react-router? Если да, то тут все просто:
1) роуты создаются с помощью функции, таким образом вы можете прокинуть в роутинг store...
import configRoutes from '../../routes'
...
render() {
  return (
    <Provider store={store}>
      <Router history={routerHistory}>
        {configRoutes(store)}
      </Router>
    </Provider>
  )
}
2) Далее в роутинге, устанавливаете на "защищенные" компоненты onEnter hook:...
<Route path='/secret-area' component={SecretAreaContainer} onEnter={_ensureAuthenticated}>
...
3) сама функция, смотрит есть ли в store необходимые данные:export default function configRoutes(store) {
  function _ensureAuthenticated(nextState, replace, callback) {
    const { dispatch } = store
    const { session } = store.getState()
    const { currentUser } = session // данные по юзеру
    let nextUrl

    if (!currentUser && localStorage.getItem('token')) {
        dispatch(getCurrentAccount())
      }
    } else if (!localStorage.getItem('token')) {
      nextUrl = location.pathname + location.search.replace('?', '&')
      replace('/signin')
    }

    callback()
  }

  // здесь ваши роуты
Ок, по роутам готово.
Теперь, по переадресации:- на success в логине, делаете редирект куда угодно:export function signIn(email, password) {
  return (dispatch, getState) => {

    dispatch({
      type: USER_SIGN_IN_REQUEST,
    })

    const params = {
      email,
      password,
    }

    httpPost(`${API_ROOT_V1}/api/authenticate`, params)
      .then((data) => {
        saveParamsToLS(data) // здесь токен можно сохранить, например
        dispatch(push('/account')) // ваш РЕДИРЕКТ, используется push из react-router-redux (что необязательно)
      })
      .catch((error) => {
        console.warn(`Sign in error: ${JSON.stringify(error)}`) //eslint-disable-line no-console
        dispatch({
          type: USER_SIGN_IN_FAILURE,
          error: error,
        })
      })
  }
}
и остается кейс с прямым заходом:  вы должны разрулить это опять же в onEnter хуке в роутере. Так как у вас есть store, и вам доступны все данные из него, включая store.dispatch метод, добить пример не составит труда.

Худший ответ:
Можно использовать для этого HOC. Примерная реализация:export default function(ComposedComponent) {
  class Authenticate extends React.Component {

    componentWillMount() {
      if (!localStorage.jwtToken) {
        this.context.router.push('/auth');
      }

    }

    componentWillUpdate(nextProps, nextState) {
      if (!nextProps.isAuthenticated) {
        this.context.router.push('/auth');
      }
    }

    render() {
      return (
        <ComposedComponent {...this.props} />
      );
    }
  }

  Authenticate.propTypes = {
    isAuthenticated: React.PropTypes.bool.isRequired,
  };

  Authenticate.contextTypes = {
    router: React.PropTypes.object.isRequired,
  };

  function mapStateToProps(state) {
    return {
      isAuthenticated: state.auth.isAuthenticated,
    };
  };

  return connect(mapStateToProps, { })(Authenticate);

}
В роутере: <Route path="/main" component={requireAuth(MainPage)} />
Вопрос: Обеспечит ли этот с-подобный язык, используемый на платформе ST Nucleo полное использование всех возможностей МК?

Лучший ответ:
C как раз является тем языком, который позволяет эффективно использовать ресурсы микроконтроллера. Хотите ещё большего контроля - используйте ассемблер, но если проект большой - поддерживать программу на ассемблере очень сложно. Особенно спустя пару месяцев после её написания.

Худший ответ:
Борьба за "ресурсы" в МК была актуальна лет 15 назад, сейчас дешевый чип дуйни за 50 руб\шт. имеет на борту мягко говоря достаточно памяти и всего прочего для решения 99% существующих задач. Сам же "язык Ардуино" и есть самый обычный C, просто так же как и STM имеет кучу сахара в виде макросов и прочего. Эффективность расходования ресурсов напрямую зависит от кривизны рук программиста, который пишет прошивку.
Вопрос: Система автоматической рассылки писем

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

Худший ответ:
www.interspire.com/emailmarketer/
на php но платная, пользуемся ей.
Вопрос: Какие есть преимущества Ubuntu перед другими популярными Linux дистрибутивами?

Лучший ответ:
Сообщество, наличие кучи готовых рецептов, Debian.

Худший ответ:
1) Популярность. Практически весь нужный софт есть под LTS релакции убунты. Большое комъюнити, хотя это спорное преимущество: средний уровень такого комьюнити закономерно падает. На форумах какого-нибудь Gentoo соотношение сигнал/шум выше, а дурацких вопросов в духе "мне лень искать в гугле и в чём-то разбираться, сделайте всё за меня" - меньше
2) Механизм ppa-репозиториев. Сильно упрощает вопрос добавления репозитория для нужной софтины
Вопрос: Как убрать отступ в сверху (Bootstrap)?

Лучший ответ:
это отступ не у div а у h1!

Худший ответ:
напиши 
h1{
    line-height: 54px;
}
так как font-size у h1 54px, а body задает отступ 1.6em, 54px*1.6=86,4px
вот откуда ваш отступ
Вопрос: Как вычислить максимальную производительность веб-разработчика?

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

Худший ответ:
Для начала неплохо бы определиться с терминологией. Что есть "вебмастер", а что есть "разработчик сайтов". Ибо например я всегда думал, что это две разные профессии, а вы уверены, что это одно и то же.
Опять же непонятно какой круг обязанностей входит в понятие "разработчик сайтов". Если у вас в производственном процессе используется CMS, то это одни обязанности, если вы верстаете сайты без использования CMS, то обязанности другие. Соответственно будет отличаться производительность.
Когда вы пишете "не программирование", то скорее всего вы лукавите или просто не понимаете процесс разработки сайта. Ибо сейчас сложно представить сайт без использования скриптов. Т.е. разработчик сайтов как минимум должен уметь программировать на JavaScript.
Опять же производительность верстальщика тесно связана с дизайнером ибо если дизайнер делает макет правильно и понятно, то экономия времени при вёрстке может составить до 80%. И наоборот, если дизайнер сделал плохой макет, то время вёрстки может сильно увеличиваться, иногда более чем вдвое.
Вопрос: Будет ли корректным перевести «resource exhaustion» как «атака отказа в обслуживании»?

Лучший ответ:
Это переводится как "израсходование" или "исчерпание" ресурсов

Худший ответ:
Можно, это общепринятый подвид DoS. Но нужен соответствующий контекст, конечно
Вопрос: Почему svchost.exe грузит систему?

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

Худший ответ:
В списке служб ищите по PID - скорее всего это  Центр обновления windows (wuauserv)
Вопрос: С моего домена рассылается спам?

Лучший ответ:
SPF-запись есть?
Это наверняка smtp-spoofing. SPF не спасет от спуфинга на 100%, но сделает задачу спамеров бессмысленной в большинстве случаев и они отстанут от твоего домена.

Худший ответ:
А примеры писем можете показать с заголовками?
Вопрос: Как создают программы, внедряющиеся в память другой программы/игры (чит)?

Лучший ответ:
Базово существует 3 подхода:
1) Путем чтения\записи памяти. Самый простой вариант это поиск нужного адреса памяти а далее воля фантазии в виде замены значения дав себе +1000 хп или просто чтение значения к примеру чтобы сделать wallhack. Самый простой вариант и делается очень легко.
2) Путем инжекции в игру\программу. Пример игра использует некую стороннюю библиотеку library.dll, в случае если она опенсурс то цепляются в ней к методу типа init() и дальше копаются в игре или на асме инжектятся в нужную функцию. Сложность в том что придется восстанавливать структуры данных, искать функции и т.д. а уже потом дергать нужные с нужными параметрами.
3) Типа MItM, пишут простенький прокси сервер который ловит весь трафик между игрой и сервером. Придется разбираться в пакетах и также восстанавливать структуры если они есть, быть очень быстрой и хранить очень много данных. Самый профитный среди всех и одновременно самый сложный. Не так давно подобным способом роняли ММ в КСГО, роняли сервера в ОВ, загубили пару онлайн ММО но давно(вечная память разрабу той  универсальной софтины).
Как правило 95% читов относятся к 1 категории public и private, оставшиеся 5% ко 2й и 3й personal и именно они самые дорогие и делаются под заказ ограниченному числу людей(часто ценник уходят за 1к бакс и выше).

Худший ответ:
если с english дружишь можешь посмотреть вот этот стрим twitch.tv/Contempt00 , на все вопросы отвечает + есть репо на гитхабе с кодом
Вопрос: Какая разница между параллельным и многопоточным программированием?

Лучший ответ:
При многопоточном программировании имеется несколько потоков, которые выполняют разные "программы", взаимодействующие друг с другом. Например, поток пользовательского интерфейса, поток вычислений, поток обработки ввода/вывода. Многопоточное программирование позволяет упростить (при адекватном подходе) архитектуру программы, но требует отдельных навыков при проектировании и отладке.
Параллельное программирование применяется для численных расчетов, или, например, в компьютерной графике. В этом случае "программа" одна, данные разные. Использование конвейеризации и большого количества вычислительных ядер позволяет получить значительный прирост в скорости вычислений.

Худший ответ:
Параллельное программирование — расчёт чего-либо на нескольких вычислительных ядрах.
Многопоточное программирование — написание программ, работающих в несколько потоков.
Параллельное, но не многопоточное: SETI@Home и прочие распределённые системы.
Многопоточное, но не параллельное: шахматный ИИ работает независимо от интерфейса: пока человек думает, программа считает.
Вопрос: Очень долгая компиляция Gulp + gulp-sass. Что можно с этим сделать?

Лучший ответ:
Нашел решение данной проблемы, Почему gulp-sass прогрессивно увеличивает время исполнения таска?

Худший ответ:
Забыл указать, что пользуюсь Sublime Text 3. Судя по всему, виноват параметр "atomic_save": true, который был выставлен после прочтения этой темы. После того, как поставил false, отвалился файл app.scss, watch его тупо игнорировал — т.е. не срабатывала маска path.src + '/scss/**/*.scss'. Исправил так:было:gulp.watch(path.src + '/scss/**/*.scss').on('all', gulp.series(styles, browser.reload));стало:gulp.watch([path.src + '/scss/**/*.scss', path.src + '/scss/*.scss']).on('all', gulp.series(styles, browser.reload));
Вопрос: Создание счета на Upwork?

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

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

Лучший ответ:
Это вовсе не нужно делать, хотя бы потому, что не все браузеры дают доступ к прототипам dom-элементов. Подробнее здесь: stackoverflow.com/questions/1489738/how-to-inherit...

Худший ответ:
и спецификация только draft
Есть полифиллы для достаточно качественной поддержки.Что то нечеловеческие api делают эти разработчики спецификации. Хотелось бы наследоваться как от обычного объекта js, а они палки в колеса ставят... грусть-печалька...=(
Я присылал исправления в полифиллы, которые поддерживают разработчики из Google, так вот, там столько нюансов возникает при наследовании, что я бы на вашем месте был поосторожнее с такими высказываниями)
В целом - создавайте свой тэг с помощью WebComponents.js, IE10+ работает ОК, использую постоянно уже достаточно давно, по началу были баги, приходилось самому исправлять и отправлять патчи, сейчас всё достаточно стабильно и хорошо кроме случаев когда полифилл в принципе не может обеспечить имитацию функциональности (описано у них в документации, не критично на самом деле).
Вопрос: Стоит ли покупать PS3 не в России

Лучший ответ:
1. Большинство игр не переводится на русский язык. Есть игры, которые переведены, но позволяют играть с оригинальной озвучкой. Но есть и те, где только русский язык.
Купить игры на английском можно. В большинстве случаев они доставляются раньше официальной даты релиза из Европы (чаще всего из Великобритании). Могу дать адрес отличного интернет-магазина, который этим (в том числе) промышляет.
2. Только те игры, которые находятся в том же регионе, что и российские аналоги. То есть игры из Европы у вас запустятся.
3. В любом. Я зарегестрирован в американском, японском, русском и немецком PSN.
4. Язык интерфейса можно сменить на любой поддерживаемый. В том числе и на английский.

Худший ответ:
На английском можно почитать тут:
community.us.playstation.com/thread/4675113?start=0&tstart=0

В двух словах — в игры можно поиграть любые, но есть ограничения в зависимости от региона. Например, в некоторых странах могут быть отключены/заменены кровавые брызги или вид оголённых костей. Сам по себе регион важен только при просмотре лицензионных видео-дисков.
Вопрос: Вопрос про ajenti

Лучший ответ:
ISPmanager уделывает Plesk и CPanel и уже давно. Поддержка вполне адекватная (хоть и не очень расторопная), если куплена версия с поддержкой. В совсем унылых случаях могут и на сервер сходить, посмотреть что там творится. 

У ajenti идеология не сильно подходит для хостинга.

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

Лучший ответ:
Сначала обозначаются и утверждаются задачи продукта. Какие кейсы он должен решать. Как вы сами лично видите его (продукт). Чем подробнее, тем лучше. После этого можно начинать работу.
Проектировать интерфейс должен человек имеющий опыт работы в UX. Эта часть даже более важна, чем визуальная, так как отвечает за то, что будет чувствовать человек, когда будет работать с приложением и как будет себя вести. Он должен иметь опыт в юзабилити, понимать особенности платформ, хорошо представлять, как происходит разработка под конкретную платформу, быть знакомым с различными практиками решений конкретных задач, знать, что в системе сделать просто, что сложно. Также очень важно уметь делать интерактивные прототипы, чтобы быстро тестировать какие-то решения (или демонстрировать их клиенту / раработчику).
Дизайнер также должен иметь опыт создания интерфейсов под конкретную платформу.
Хорошо, когда и UX и UI делает один человек (или одна команда) имеющая опыт в обеих областях. Супер хорошо, если они еще и отлично знают кухню непосредственно разработки.
Также на протяжении всего проекта важно быть уверенным, что и клиент, и дизайнер, и разработчик говорят об одном продукте и видят его одинаково. Еще важно четко определить конкретную цель к которой вы все вместе идете, конкретно то, что вы хотите создать, так как во время разработки будет большой соблазн наворотить продукт дополнительными фишками. Это лучше оставить на будущие и вообще хорошо спланировать.
Для демонстрации и обсуждения дизайна или прототипов с клиентом или командой есть множество готовых сервисов. Все заточены под конкретные задачи. Как пример для удаленного обсуждения макетов мы часто используем сервис www.invisionapp.com Можно прямо там указывать на конкретные места и обсуждать их или связывать макеты в кликабельный прототип.
Получилось немного сумбурно, надеюсь, что помог.

Худший ответ:
Допустим если опустить менеджерские задачи и рассмотреть техническую сторону. Мне как дизайнеру интерфейсов это интересно, но думаю и разработчикам тоже. Я обычно, передаю макеты разработчику в ai, psd, jpg или gif, на котором сложная анимация интерфейса показана, т.к. словами объяснить бывает непросто.
А может у вас есть какие-то отлаженные схемы, которые упрощают и ускоряют весь процесс взаимодействия дизайнера и разработчика ?
Вопрос: Автодополнение строк из очень большой базы. Поиск по строке?

Лучший ответ:
Делал подобное на Sphinx, да, очень быстро, его и советую.

Худший ответ:
А что непроизводительного в LIKE something%? Индекс же используется.
Вопрос: Как вы решаетесь на закрытие слабых проектов?

Лучший ответ:
Этот проект нужно продавать или отдавать в хорошие руки (делегировать задачи по нему).

Худший ответ:
А что за проект то? В чем его суть и почему продать его не хотите?
Вопрос: Можно ли использовать wmode = direct для добавления 3d во flash игре на одноклассниках?

Лучший ответ:
Можно. Сейчас развиваем проект на Starling в том числе и для OK

Худший ответ:
Из API :
"Приведенные ниже параметры передаются приложению:
как параметры запроса для HTML-приложений
как flashvars для Flash-приложений"
При добавлении ставишь галочку html/swf. Как можно было понять по вопросу в этой теме для wmode = direct придется использовать html а параметры передать через JS.
Вопрос: Как поделиться с Яндекс.Картами панорамами с воздуха?

Лучший ответ:
А поделись ими так же с www.mapillary.com

Худший ответ:
куда писать, звонить или с кем общаться?Может, внезапно, в Яндекс?
Вопрос: Как и где купить биткоин в Украине?

Лучший ответ:
На Привозе же )

Худший ответ:
Нашел самый выгодный способ, покупка на через bestchange (смотрим выгодный курс) Privat24 ---> Payeer USD ----> заливаем фиат на биржу ёбит, откуда напрямую покупаем Биткоин. Если брать сразу напрямую, например, Privat24\visa USD ---> BTC, курс неадекватный
Вопрос: Phpstorm конфликты классов как быть?

Лучший ответ:
Используйте namespace

Худший ответ:
PHPStorm не инклудит, а телает typehint
Ну и пусть жалуется, раз они у тебя дублируются.
А отсутствующий класс надо исправить - либо создать класс, либо удалить упоминания про него
Вопрос: Почему может не работать модальное окно bootstrap когда сделано все по инструкции?

Лучший ответ:
Как минимум нужно отключить дублирующий js. У вас 2 раза подключается bootstrap.

Худший ответ:
замените$('#modal').modal();
   на$('#myModal').modal();
Вопрос: Показать все даты, в интервале, как сделать?

Лучший ответ:
Как 1 из вариантов: сначала привести к числовому виду, а потом в цикле все вывести, преобразовав обратно.for(
     $i=strtotime("01.01.2015");
     $i<strtotime("30.01.2015");
     $i+=86400
){
      echo date("d.m.Y", $i); 
}

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

Лучший ответ:
Всё просто.Иметь хорошее портфолио и следить за появлением инвайтов у пользователей (самостоятельно на сайте Дриббла, в Твиттере по хэштэгам или на специальных сайтах или группа в соцсетях - Гугл в помощь).Написать знакомым дизайнерам с просьбой помочь (личные обращения, а также кличи в соцсетях).
Платить за подобное вообще идиотизм, тем более озвученные Алексеем 70-90 баксов. За что?)))
Даже на Тостере этот вопрос уже поднимался, поищите.

Худший ответ:
Сомневаюсь, что кто-то бесплатно отдаст.
Цена 70-90$
Вопрос: Плагины для Photoshop

Лучший ответ:
Knoll Light Factory (Гораздо более качественный Lens Flare эффект)

Худший ответ:
Стоит в триале Nik Software Color Efex Pro 4 подумываю взять — $99.95 Хорош для рутинной работы, умеет делать «рецепты» те собирать несколько фильтров в 1-н
Вопрос: Я не понял в чём суть коммутатора(switch)!Как он работает?

Лучший ответ:
Все достаточно просто:
Коммутатор  - коммутирует/соединяет.
Маршрутизатор - маршрутизирует/направляет.

Худший ответ:
Коммутатор - позволяет соединить множество устройств (зависит от количество портов), соединить физически, т.е. просто воткнув кабеля от N количество устройств вы не получите полноценную сеть, требуются дополнительные настройки. 
Но если к коммутатору подключен роутер(маршрутизатор) или ПК с сервером DHCP все включенные устройства получат свои IP адреса. У роутеров данная функция включена по умолчанию.
В него можно включить кабель от провайдера который выдает IP на основании зарегистрированных MAC адресов, все ваши устройства получат свои IP  адреса автоматически.
По факту Свич просто железка что-то на подобии тройника или удлинителя но немного сложней.