Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Многопользовательская CRM, или как организовать?

Лучший ответ:
Если она изначально не multi-tenancy, то никак.
Если бы была спроектирована под mutli-tenancy - просто в каждой таблице дополнительное поле и фильтровать ВСЕГДА по нему, чтобы не видеть чужих данных. Но чтобы сейчас, на готовой уже системе, так сделать - это глубоко лопатить код с риском, что увидят чужие данные, если вы ошибетесь.

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

Лучший ответ:
1. Первый запрос написан не полностью, может там limit 1?
2. Может у Вас существует только одна запись из всего списка айдишников?

Ну и хочется отметить что результат UPDATE — это количество изменённых записей. Если значение `field` у всех записей из списка перед запросом будет 0, то результат — 0 изменённых записей. Соответственно, если только у одной записи будет 1, то результат — 1 изменённая запись.

Худший ответ:
Ну у меня работает:

update tblx set x=0, y=0, z=0

обнуляет для всех. Может у вас где-то Limit затесался?
Вопрос: Как «прокачать» Trello?

Лучший ответ:
Быстрое знакомство и описание Trello
	• Философия Trello
		○ https://netology.ru/blog/trello
	• Как использовать Trello для планирования
		○ interesno.co/myself/3128a1df69ba
	• 12 советов для тех, кто пользуется Trello
		○ www.lookatme.ru/mag/live/things/214757-trello-tips...Расширения Сhrome для Trello
	• Полезные расширения и настройки
		○ https://lifehacker.ru/2016/04/12/10-dopolnenij-dly...
		○ betteri.ru/post/rukovodstvo-po-produktivnoy-rabote...
		○ Мои надстройки https://i.imgur.com/bHbdtiK.png
		○ Для управления расширениями Хром: SimpleExtManager
		○ Надстройки Google chrome (использую постоянно)
			§ Boards for Trello 
			§ Card Colors for Trello 
			§ Next Step for Trello 
			§ Plus for Trello (тайм-трекинг, отчёты, Scrum)
			§ Pro for Trello, FREE Trelo tweaks 
			§ Reports for Trello 
			§ Toggl Button: Productivity & Time Tracker
			§ Trellists: Trello Lists Master 
			§ Trello List Wizard 
			§ Multiselect for Trello (платный)
		○ Надстройки Google chrome (использую периодически)
			§ List Highlighter for Trello 
			§ Slim Lists for Trello 
			§ Trelabels for Trello 
			§ Trello List Filter 
			§ TrelloExport 
			§ Ultimella, the features pack for Trello • Система отчетов 
		○ https://reportsfortrello.com/
		○ https://www.toggl.com/ (надо поставить расширение toggl для хром) 
		○ www.plusfortrello.com• Диаграма Ганта
		○ https://elegantt.com/
		○ Gantt for Trello | by Placker.com• Для автозадач:
		○ https://echofortrello.com (попроще)  (прекратил существование)
		○ https://butlerfortrello.com (посложнее, но и функционал шире)
		○ https://ifttt.com/applets/299813p-schedule-daily-o...Список тайм-трекеров для Trello 
	• https://help.trello.com/article/941-time-trackingРасширения Хром для тайминга времени Trello на основе техники Pomodoro
	• Timeneye
		○ Плюсы
			§ Размытый фон при запуске таймера -> фокус на задаче
		○ Минусы
			§ Простой таймер, без помидорок
			§ Автоматом не заполняет поля "проект", "задача" и т.д. Хотя мог бы брать все это из Trello
		○ Итог
			§ Не понравился, неудобный
	• Pomello
		○ Плюсы
			§ Добавляет символ "помидорки" или "галочки" к каждой выполненной задаче, + число помидорок (даже дробных)
			§ Очень простой и удобный
			§ Плашка "овер всех окон" с обратным отсчетом
		○ Минусы
			§ Нет отчетов
		○ Итог
			§ Использую из-за символов "помидорки"
	• PomodoneApp
		○ Плюсы
			§ Обратный отсчёт в трее
		○ Есть отчеты
			§ Управляет задачами в Trello: можно закрыть любую, она автоматом переместиться в "done"
			§ Подцепляет теги и проект, это удобно, не надо самому ставить.
		○ Минусы
			§ Отчеты в Toggle удобнее
		○ Итог
			§ Использую, т.к. нравится обратный отсчет в трее, не так "давит", как Pomello
	• Toggl
		○ Плюсы
			§ Можно логгировать отдельно подзадачи из чеклистов Trello
			§ Очень крутые, подробные и красивые отчеты
		○ Минусы
			§ Автопауза не связана с Trello
			§ Все управление задачами — только через web-trello
			§ Не берет "теги" из Trello
		○ Итог
			§ Использую постоянно, т.к. нужны отчеты

Худший ответ:
Швейцарский нож для Трелло.
Для моих нужд оверкилл.
Вопрос: Каков принцип работы клавиши на клавиатуре?

Лучший ответ:
Клавиатура компьютера состоит из микроконтроллера и матрицы клавиш. Нажатия кнопок отрабатываются микроконтроллером, после этого вырабатываются скан-коды, которые и поступают на интерфейс ПК.
В википедии  про ее устройство достаточно много написано.
en.wikipedia.org/wiki/File:FunctionalCircuitDiagra...

Худший ответ:
Сама клавиатура не интересует! Именно механизм нажатия кнопки, я же писал. Там просто контакты замыкаются мембраной?
Вопрос: Существует ли сейчас на рынке дешевый (в плане заправки и цены отпечатка) надёжный ч/б лазерный принтер для SOHO?

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

Худший ответ:
Купил себе домой HP LJ1005. Напечатал пару страниц. Потом оказалось, что этот HP ничем от других принтеров этой дерьмовой фирмы не отличается: он работает только если ты включишь его до загрузки системы. После загрузки ни hplip, ни прошивка «руками» не помогают.
Тоже теряюсь: что купить домой? Samsung'и сдохли (у них очень быстро выходят из строя барабаны и механика), Canon/Epson всегда были говном, Зироксы пичкают чипы…
Вопрос: Можно ли Вконтакте сделать автоматическое вступление в группу? возможно есть какой-либо скрипт для этого?

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

Худший ответ:
VkBot была программа, много умела.
Вопрос: Сравнительные обзоры процессоров Haswell?

Лучший ответ:
Полагаю, для сервера лучше подойдет Core i7 — 4765T, т.к.
1) HyperThreading как правило дает прирост процентов на 20-30%, что больше 2,3/2,0 (15%);
2) TDP ниже, а значит можно получить эти самые 2,3ГГц путем разгона при меньшем тепловыделении. Обычно Core 7 значительно гонятся даже без подъема напряжения (хотя это же справедливо и для i5).
3) Больше кэш.

В рейтингах этих процессоров не нашел, к сожалению.

P.S. у меня есть сомнение в реальной разнице TDP между этими двумя процессорами. Скорее это просто формальность или маркетинг.

Худший ответ:
Приветствую
Все сведения о тепловыделении процессоров можно найти на сайте производителя.
Касательно охлаждения то лучше читать тесты не процессоров, а тесты систем охлаждения и там ясно какие кулеры справляются с задачей, бесшумного охлаждения.
Была даже статистика сколько градусов на единицу производительности и прочее.
Большой радиатор справиться с задачей охлаждения 45 ватт.
Однако в ваш корпус это не влезет по высоте, но поискать более редкие решения стоит, либо использовать корпус потолще. Высота толщина = мала.
Вопрос: Как найти причину утечки памяти в Windows Server 2008r2?

Лучший ответ:
support.microsoft.com/kb/979223/en-us
Пеняйте на трафик инспектор

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

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

Худший ответ:
Джинсы, рубашка, кроссовки - никто на собеседованиях не пинал, пару раз прямо на собеседовании задавал вопрос о дресс-коде, говорили, что всё ок :)
На бороду и усы, как и неналичие их, внимания никто не обращал.
Вопрос: Time tracking software?

Лучший ответ:
хамстер апплет

Худший ответ:
в рамках одного человека сказать трудно, но в рамках фирмы используем трэкинговые системы типа redmine (http://www.redmine.org/), eventum (http://dev.mysql.com/downloads/other/eventum/)
Вопрос: Как на bash написать скрипт, поиска и копирования файлов?

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

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

Лучший ответ:
Что значит «фильтровать»? Если защита от SQL-инъекций — то, безусловно, фильтровать нужно до записи. Но фильтровать не вырезанием и экранированием, а с помощью placeholders в PDO. Подробнее: habrahabr.ru/post/148701/
При выводе нужно эскейпить то, что может исполнится внутри HTML, тут уже поможет обычная htmlspecialchars() или использование нормального шаблонизатора (Twig, например).

Худший ответ:
И то и то правильно, если вам нужно обрабатывать в дальнейшем данные неочищеные, то логично что хранить вы их будете сырыми и очищать лишь при выводе. А если вам нужно хранить лишь определенный формат (нельзя тэги например) то очищать перед записью все лишнее не помешает, мало ли где показываться будут данные.
А вот при выводе нужно данные фильтровать всегда. Это самая частая ошибка =) 
В базе храните что угодно, при выводе же что угодно показывать нельзя.
Вопрос: Две версии python (2.7 и 3.3) на Uuntu 12.04. Какие проблемы могут возникнуть?

Лучший ответ:
Что в virtualenv сложного? Так же устанавливаешь virtualenv на сервер той версии какой нужен python. Дальше все очень тривиально и просто. # Убедись что он 2ой версии
apt-cache show python-virtualenv
# Устанавливаешь virtualenv  
apt-get install python-virtualenv  
# Создаешь новый проект, установленные в системы либы не тянешь
virtualenv --no-site-packages project
# Активируешь виртуальное окружение
# Все. Теперь команда pip будет устанавливать все пакеты в твое окружение а не системное
. ./project/bin/activate
# Устанавливаешь Django   
pip install django
Если же по каким то причинам не хочешь виртуального окружения, то поставь версию pip-а в систему под питон нужный тебе:$ apt-cache search virtualenv
python-pip - alternative Python package installer
python3-pip - alternative Python package installer - Python 3 version of the package
И обращаться к нему уже будешь pip, pip3
Как дополнение: в Debian и Ubuntu есть механизм выбора приоритетов. Все что он делает - переключает ссылку на нужные версии софта. 
Делается это по средством команды update-alternatives

Худший ответ:
1)Смотря к какой в версии вы обращаетесь. Через команду просто:python
вы будете вызывать тот Python, которой у Вас в sourse определен.
Конфликты могут возникнуть, если у юзеров на вашей UBUNTe определены разные версии Python.
2) Тут также зависит от какого пользователя запускается(от пользователя у которого python27 или python33 ). Но всегда лучше, имхо, иметь virtualenv.
Вопрос: Что то с моей головой или с ssh?

Лучший ответ:
наверное что-то с головой)

Худший ответ:
Павел Падожников: Файл known_hosts. что он делает? 
known_hosts хранит слепки удаленных серверов, к которым вы уже подключались. Служит для того, чтобы удаленный сервер не могли подменить незаметно.
Для беспарольной работы вам нужно две вещи:
иметь приватный ключ на сервере откуда подключаетесь, например /home/user/.ssh/id_rsa
иметь публичный ключ на сервере куда подключаетесь, например в /home/user/.ssh/authorized_keys
Вопрос: Существуют ли функции для работы с массивами на C#?

Лучший ответ:
В шарпе их ТУЧА.
В вашем распоряжении класс Array и его методы. 
https://msdn.microsoft.com/ru-ru/library/System.Ar...(v=vs.110).aspx

Худший ответ:
Еще есть Linq. 
professorweb.ru/my/LINQ/base/level1/info_linq.php
В частности, Linq to objects.
Вопрос: Android SDK не видит JDK?

Лучший ответ:
Снёс JRE и JDK x64 и поставил для x86 — заработало.

Худший ответ:
Очень просто
идете в windows/system32
берете java.exe с ним еще два javaXX.exe
и кидаете в windows/syswow64
Вопрос: Пароль на папку?

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

Худший ответ:
Когда то использовал Folder Security Personal, а так же можете попробовать File & Folder Protector
Вопрос: По каким причинам тег details summary до сих пор не поддерживается IE и FireFox?

Лучший ответ:
Отвечу сначала на основной вопрос: не поддерживаются, поскольку входят в working draft W3C - не утверждённый пока в качестве стандарта.
По поводу кроссбраузерности, ну вот тут собраны полифиллы: https://github.com/Modernizr/Modernizr/wiki/HTML5-...
Сам я их не тестировал, но что-то, возможно, подойдёт.

Худший ответ:
А зачем он? Он  совсем не поддается стилизации. Спойлер на jquery занимает 5 строчек кода и полностью подстраивается под дизайн.
Вопрос: Кто изобрёл колесо прокрутки у мыши? Кто начал производство первым?

Лучший ответ:
Microsoft.
IntelliMouse — «Мышь Microsoft IntelliMouse (tm) с колесом» (с) Windows 95.



Чуть позже вышла MS IntelliMouse Explorer 3.0 — великая мышь. В своё время стоила чуть больше 100$. Оптика, дополнительные кнопки и колесо… Это был шик. Вспоминается фраза из книги Виталия Леонтьева 

«Новейшая энциклопедия персонального компьютера» (издания 2001-2002 г. ) — «И ещё подумаешь не раз, стОит ли доверять такую мышь за 100$ рвущемуся поиграть в Quake чаду».
Оптика даже того всё ещё была редкостью…

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

Лучший ответ:
Мне пригождался algolist.manual.ru/ от Ильи Кантора

Худший ответ:
Больше для тренировки в решении задач:
 acmp.ru
www.topcoder.com
Вопрос: Прототипы или Классы?

Лучший ответ:
tl;dr
В JS нет классов, это просто синтаксический сахар.
Отличительная особенность классов - это самостоятельная сущность, которая существует в единственном экземпляре и доступен глобально. В JS "класс" это именованный конструктор + надстройка, которая расширяет прототип и добавляет к инстансу поля с анонимными функциями (то что записывается как static методы). Вы спокойно можете где-то в проекте поменять прототип объекта. Или еще чего.... То есть по сутиclass Foo {
    constructor() {}
}
это полный эквивалентfunction Foo() {
}
и только. Все остальное - сахар над Object.create. То есть как это работает вы знать обязаны, вы должны понимать разницу между объектной моделью в какой-нибудь джаве и javascript.

Худший ответ:
Как и писали выше, классы  - это всего лишь синтаксический сахар, с некоторыми дополнительными возможностями. По сути, все возможности предоставляемые классами, были доступны и ранее, только в другой форме,  но в любом случаи, плюсов от их использования больше, чем минусов:наглядность и простота - это особенно актуально для программистов, пришедших с ОО языков программированиястандартизация реализации и синтаксиса. Все больше фреймворков, библиотек и даже языков программирование переходят на использование нативного синтаксиса классов и модулей ES2015, например, React, Ember.js или Typescript 
Но добавили многое - это и конструкторы, использование super-методов, статические методы, наследование классов.
Вопрос: Как сделать прелоадер сайта из логотипа?

Лучший ответ:
как вариант перекрытие одного лого другим
https://jsfiddle.net/c5o5qm7o/

Худший ответ:
Недавно решал точно такую же задачу. 
Сделал загрузку логотипа в зависимости от веса файлов страницы, т.е. пока все картинки не загрузились - логотип заливается цветом. Упор сделал именно на картинки, т.к. текстовые файлы не сильно влияют на загрузку.
Суть в том, что нужно использовать svg (для масок) и как писали выше - javascript код для определения загрузились картинки или нет.
Вопрос: Можно ли написать сайт только на Python?

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

Худший ответ:
У товарища какое-то непонимание в том, что такое "сайт". То, что отображается в браузере в простейшем виде - текст в определенном форматировании. Python же просто "генерирует" этот текст. А веб сервер отдает его браузеру. 
Соответственно, на python можно сколь угодно генерировать текст, настроив веб-сервер вы увидите этот текст в браузере. Но чтобы он был нормально форматирован, все же придется применять стили.
Вопрос: Как изменить цвет NavigationBar?

Лучший ответ:
Для всего приложения (в AppDelegate):[[UINavigationBar appearance] setBackgroundColor:[UIColor blueColor]];
Для отдельного контроллера:[self.navigationController.navigationBar setBackgroundColor:[UIColor redColor]];

Худший ответ:
setTintColor: приведенный выше не меняет цвет бара, а цвет его элементов, например, UIBarButtonItem-ов расположенных в нем. Если вам надо поменять цвет самого бара, используйте setBarTintColor:.
Вопрос: Домен и прокси. Нужны ли они???

Лучший ответ:
Судя по вопросам, вы на месте специалиста по компьютерам недавно и имеете острое желание всё испробовать.
Если хотите на нем и дальше работать, соблюдайте главное правило: работает - не трогай.
1. От специфики деятельности зависит. Если экономия(денег организации и рабочего времени)  от покупки Windows Server(и сопутствующих лицензий) будет заметна, то да - домен нужен. Кстати, для домена не всякая редакция Windows подойдет.
2. Вы там специалист - вам видней: какие у сотрудников на местах плюсы и минусы возникнут.
3. Если интернетом не злоупотребляют, то обычного NAT вполне достаточно будет.
Да и не стоит забывать про бюджет мероприятий, он тоже нужен для обоснования.

Худший ответ:
Какие вижу пока минусы без домена.
1. Расшаренные принтеры иногда просят ввести пароль. Юзер в тупике, звонит мне.
2. Иногда не видно имени по ip. Dns внутри сети нет. Используется провайдерский+от гугла. Может что не так делаю(
3. У всех одинаковые локальные учетки. Небезопасно. Ставить разные - гемор.
4. Нет возможности порезать права групповыми политиками. И отсутствие перемещаемых профилей.
Без прокси: 
Нет логов кто где сидел. Иногда хочется ткнуть носом, что низя туда.
От части "плохие" сайты режет Каспер. Но в его предустанрвленные группы часто попадают и нормальные. Приходится добавлять ручками в исключения. Думал через прокси там дела обстоят лучше.
Вопрос: Что вы думаете о мейнстримных шаблонных лендингах?

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

Худший ответ:
Однозначно можно сказать то, что качественный лендинг - это плюс к продажам. Ориентироваться необходимо на целевую аудиторию, проблемы должен решать конкретного бизнеса/компании, а смотреть желательно вокруг, особенно на конкурентов. Счетчиками уже искушенного покупателя не удивишь, а продуманный триггер должен быть, но это не значит, что он должен надоедливо выпячивать, мешая пользователю в поисках того, за чем он собственно попал на этот лендинг.
Сейчас, конечно, все эти шаблонные лендинги подрывают не только доверие потребителей, но и замыливают глаза заказчику, так как создается впечатление, что за 5т.р., за 10т.р., за 20т.р дизайнер смастерит небывалое волшебство за считанные часы, или того хуже сразу пойдет генерировать шаблонный дизайн на сторонний ресурс, и в результате произойдет тотальный переворот, в следствие чего оборот продаж неслыханно увеличится. Такие лендинги не нужны никому, и под никем в первую очередь подразумевается потенциальный покупатель.
Вопрос: Система управления проектами на PHP+MySQL

Лучший ответ:
используем qdPM — для небольшой фирмы — самое то!
совсем не монстр, удобная, лёгкая к восприятию.
и очень адекватный разработчик (были вопросы по специфичной конфигурации).
рекомендуюю.

Худший ответ:
Я бы посоветовал Redmine (правда он на Ruby).
Вопрос: Hello world на ATmega8A собран. Куда двигаться дальше?

Лучший ответ:
Купите машинку на радиоуправлении, выдерните радиоуправление и соберите свою схему на L298D + ATMega8. Сделаете своего робота с блекджеком.... Ну и идите на EasyElectronics.ru. Там много интересного.

Худший ответ:
У DiHalt есть замечательный курс по AVR. Там всего полно.
Вопрос: Использует ли Win Phone 8 интернет для распознавания речи?

Лучший ответ:
В официальной документации написано, что вы можете дополнительно согласиться на отправку данных в интернет: When you first start Speech, we ask you if you want to enable the speech recognition service. If you accept, the words you speak and supporting data, including recent contact names, will be sent to Microsoft to provide and improve the service.
Я согласился, и, субъективно, точность распознавания стала потрясающей.

Худший ответ:
Только что проверил на эмуляторе, команду Note без интернета выполнил Call и русский язык не могу проверить, хотя недавно держал wp8, вызывал абонента. 3G на девайсе точно не было, а за Wi-Fi не уверен
Вопрос: Можно ли разрабатывать приложения для windows phone 8 на windows 7?

Лучший ответ:
Официально - нет.Вот тут можно посмотреть как ставить sdk 8 на windows 7, но получится ли после этого нормально разрабатывать - не знаю.

Худший ответ:
Можно разработать на WPF,но сам не пробовал установить WPF аппликацию на Win Phone
Вопрос: В чем принципиальное отличие L3 коммутатора от маршрутизатора?

Лучший ответ:
В предназначении и внутреннем устройстве)
L3-свич хорошо "гоняет" (пропускает без значимого изменения) трафик, делает обычный forwarding между сетями, умеет динамическую маршрутизацию. Из начального пакета он меняет в основном source и destination MAC-адреса, QoS да CRC. Конечно, навороченные коммутаторы умеют делать GRE, некоторые даже IPSec, но вы не получите большой производительности от этого.
Маршрутизатор именно "молотит" пакетики с данными - активно вносит изменения в заголовки, инкапсулирует в туннели, натит, терминирует ppp-сети. Он, как видите, активно меняет содержимое пакетов, залазя глубже уровня ethernet.
Отсюда отличие во внутреннем устройстве - внутри коммутатора ASICи и QoS-процессоры, внутри маршрутизатора - умные процессоры и другие различные приблуды для своих целей (аппаратная поддержка шифрования)
Если вы посмотрите router perfomance и switch perfomance таблицы, вы увидите, что у коммутаторов производительность измеряется в количестве пропущенного трафика, а у маршрутизатора - в количестве обработанных пакетов.
Ну и да, отличие, конечно же в наборе функций) Понятно, что тот же isis в большинстве случаев умеет и коммутатор, и маршрутизатор. Но если сравнивать по feature navigator например, вы увидите, что на самом деле коммутаторы умеют меньше.

Худший ответ:
В качестве дополнения к ответу @throughtheether добавлю.
В одной из книг Cisco давалось примерно следущее объяснение: Cisco изобрела маршрутизатор, поэтому советует в большей степени использовать маршрутизацию, нежели коммутацию, т.е. на уровне распределения создавать локальные VLAN и как можно меньше использовать end-to-end VLAN (которые простираются на всю сеть). А для того, чтобы была связность между локальными VLAN, и для того, чтобы из них можно было выйти, например, в Интернет, необходима маршрутизация. Вот её-то как раз и добавили на коммутаторы распределения - так они стали L3-коммутаторами. Постепенно они стали обрастать всё большим функционалом и грань между маршрутизатором и L3-коммутатором становилась всё меньше и меньше.
Поэтому, можно условно сказать, что L3-коммутаторы обеспечивают маршрутизацию внутри компании, а на границе стоит уже полноценный маршрутизатор, который обеспечивает выход во внешнюю сеть.