Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как вывести шаблон в php?

Лучший ответ:
www.smarty.net/docs/en/language.function.function.... например
Но вообще надо понимать, что в реальной жизни шаблоны не такие красивые и причесанные как в специально нарисованных примерах.
И рекурсивный вывод никогда не будет выглядеть конфеткой.
Еще один вариант - дерево всегда можно развернуть в линейный массив, и выводить в цикле вместо рекурсии. 
Я одно время заморочился таким. В итоге код подготовки распух, а код шаблона уменьшился. Но я бы не сказал, что он стал сильно красивее:<? foreach ($TREE as $row): ?> 
<?     if($row['li']=="open"): ?><ul><?endif?> 
<?     if($row['li']=="close"): ?></ul><?endif?> 
<?     if($row['id']!=0): ?> 
<?          if($id==$row['id']): ?> 
<li><?=$row['title']?></li> 
<?          else: ?> 
<li><a href="?id=<?=$row['id']?>"><?=$row['title']?></a></li> 
<?          endif ?> 
<?     endif ?> 
<? endforeach ?> 
</ul>

Худший ответ:
www.smarty.net/docs/en/language.function.function.... например
Но вообще надо понимать, что в реальной жизни шаблоны не такие красивые и причесанные как в специально нарисованных примерах.
И рекурсивный вывод никогда не будет выглядеть конфеткой.
Еще один вариант - дерево всегда можно развернуть в линейный массив, и выводить в цикле вместо рекурсии. 
Я одно время заморочился таким. В итоге код подготовки распух, а код шаблона уменьшился. Но я бы не сказал, что он стал сильно красивее:<? foreach ($TREE as $row): ?> 
<?     if($row['li']=="open"): ?><ul><?endif?> 
<?     if($row['li']=="close"): ?></ul><?endif?> 
<?     if($row['id']!=0): ?> 
<?          if($id==$row['id']): ?> 
<li><?=$row['title']?></li> 
<?          else: ?> 
<li><a href="?id=<?=$row['id']?>"><?=$row['title']?></a></li> 
<?          endif ?> 
<?     endif ?> 
<? endforeach ?> 
</ul>
Вопрос: Nodejs или php(yii2) для новичка?

Лучший ответ:
Ни то ни то, вам нужен просто php, голый php )) А уж потом подумаете о фреймворках

Худший ответ:
Ребята, спасибо за ответы. В целом, вопрос уже решен. Решил написать вначале на php (чистом), чтобы в полной мере изучить все фичи, потом со временем написать его же на node.js, сравнив производительность и геморность написания. Каждый ищет что-то свое. Спасибо.
Вопрос: Cтоит ли использовать старый компьютер в роли домашнего сервера?

Лучший ответ:
Не рекомендую.
1)Шум.
2)Потребление электроэнергии.
3)Габариты.
4)Внешний вид.
5)Пожароопасностью
Если нужен сервер, купите плату с интегрированным процессором atom или celeron,  и сделайте сервер на ее базе. Или возьмите неттоп.
Это будет дороже, но со временем окупиться на электроэнергии.
Так же можно добиться практически безшумной работы.
Современные платы очень компактные, и можно подобрать корпус который прилично выглядит.
Ну и в плане пожароопасности старый комп, более опасен.
По поводу электроэнергии - сервер собранный на современном железе при лучших характеристиках производительности, будет потреблять 10-50ватт в зависимости от нагрузки. Это примерно 300-1800рублей в год.
А сервер собранный на старом железе такого уровня будет менее производительным и будет кушать 70-120ватт. Это 2500-4000рублей в год.
В общем домашний сервер штука нужная, и во многих случаях без нее не обойтись, но лучше сразу задуматься о потреблении электроэнергии,габаритах, внешнем виде, и уровне шума.

Худший ответ:
Да, есть хостинг.
Так вот по электричеству я и не подумал, что там оч большое потребление?
Вопрос: Что за параметры функции &$var?

Лучший ответ:
это ссылки

Худший ответ:
Ссылки. То есть передавая туда таким образом переменную, она будет меняться, когда вы будете ее менять внутри функции.
Вопрос: Apache2: перенос /server-status на поддомен

Лучший ответ:
<VirtualHost *:80>
ServerName status.domain
DocumentRoot /var/www # что угодно
<Location />
SetHandler server-status
# allow, deny, ...
</Location>
</VirtualHost>

Худший ответ:
Обычный виртуалхост, в чем проблема-то возникает?
Вопрос: Для каких задач Java лучше подходит, чем С++?

Лучший ответ:
Стоит ли смотреть в любую сторону - зависит от того, чем вы хотите заниматься. Перейти можно с любого языка на любой, и С++ тут ничем особым не выделяется. У меня есть даже пример, когда команде переход с С++ на Java дался очень плохо.
Да, в С++ вы должны управлять памятью, это отличный способ выстрелить себе в ногу, и поэтому сейчас советуют отходить от сырых указателей к shared/unique/etc_ptr.
В Java сборщик мусора, да, но это давно не проблема в обычных приложениях. Управлять памятью в С++ - сложно.
 Методы из java-байткода в рантайме компилируются в платформенный код, это ускоряет очень сильно.

Худший ответ:
Для задач, разрабатываемых на одной платформе, а работающих на других. В частности, писал модули (без графики, естественно) для сервера ФМС РФ на винде (JIdea), а работали они, без малейших нареканий, на IBM'овском сервере по Юниксом. Java была 4-й версии)))
Вообще для кросс-платформенных приложений Java - пока лучший язык, вернее, среда исполнения. Да, С или С++, если не использовать разные ненужные хитрости и прибамбасы, можно без особых усилий компилировать на той или иной платформе. Но чтобы программа шла просто переносом бинарных файлов - это к Java.
Вопрос: Что проверить для безопасной настройки VPS?

Лучший ответ:
DigitalOcean как замена хостингу. Как всё грамотно настроить?
По ссылке мой старый ответ на аналогичный вопрос.
Добавить можно только, что вам стоит довериться разработчикам дистрибутива и не налегать на изменение конфигурационных файлов. Точно НЕ стоит бездумно копировать целые конфиги из блогопостов, т. к. там частенько попадается откровенный бред и большая часть их этого бреда давно устарела.

Худший ответ:
Что проверять не знаю, но мой HYIP ломали пока не перешел на abusehoster.ru, на нем работает без ошибок и взломов.
Вопрос: Где брать не сложные веб проекты?

Лучший ответ:
У друзей все хотят сайт

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

Лучший ответ:
как-то такINSERT INTO [dbo].[Main] ([ID_CHANNEL] ,[ID_RECDATE] ,[MESVALUE])
 VALUES (1 ,@d ,Item(ELIMS.ELIMSQUE.tVAL1)), (2 ,@d ,Item(ELIMS.ELIMSQUE.tVAL2))

Худший ответ:
Основное время обработки DML - это работа с транзакцией: старт, создания версии записей, соммит/роллбэк.
Пакетная обработка - это значит обработка пакетом нескольких команд.
Чаще всего основана на том, что для такой группы команд( допустим на 500 инсертов) используется одна транзакция.
В некоторых СУБД (обычно блокировочник) )такой способ может достигаться и через использование execute statement - когда группа команд исполняется как одна операция.
В других - это возможное отключение логгирования операций (bulk loading), что может послужить невозможностью откатить изменения.
ПС: SQL Server - это общее понятие. Лучше указывать какой именно: MySQL SQL Server, MS SQL, Firebird, Sybase ASA/ASE, ....и т.д.  Все они SQL Servera.
Вопрос: Как быть с отображением Windows шрифтов в linux

Лучший ответ:
Нужно прописывать в css не один шрифт, а шрифтовый стак
Кирилица
font-family: Tahoma, "Geneva CY", sans-serif;
НЕ кирилица
font-family: Tahoma, Geneva, Kalimati, sans-serif;
ps погуглите не тему save css fonts stack

Худший ответ:
веб шрифты
Вопрос: Качественный планшет 7 дюймов

Лучший ответ:
Уж лучше поднакопите и возьмите Nexus 7 .

Худший ответ:
Качественный планшет 8 дюймов ;) Я не про огрызок. Были у меня 7ки, 8 самое то, при условии HD Ready.
Вопрос: Подскажите расширение для блокировки URL

Лучший ответ:
Попробуйте DynDNS, у них была фильтрация по ключевым словам (игрушки, порно, наркотики) — я как-то раз «баловался», на одноклассниках у моих подопытных точно отрубало игрушки, помню, жаловались. Или свой фильтр какой-нибудь поставьте (днс/прокси/фаервол).

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

Лучший ответ:
Попробуйте поставить панель Vesta. Она уже сама всё подтянет и поставит.

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

Лучший ответ:
Забейте на оптимизацию «под яндекс». Главное — интересы пользователей, а уже затем все остальное. 
Пользователю же удобно, чтобы сайт сам определял подходящий регион и автоматом открывал информацию, актуальную для этого региона, но при этом позволял этот регион сменить вручную. Ну, мало ли, ошибка определения, или например, человек в командировке. 

Дальше вопрос в том, насколько самостоятельны ваши региональные отделения. Если им требуется только разместить их телефон на общем сайте — так и сделайте. Пусть при входе на сайт из Самары будет видно «телефон в Самаре: (1234) 55-66-77». С картой проезда и формой обратной связи аналогично.
Если им нужны свои региональные новости — ну, разделите новости на общем сайте по региональным категориям. 

Иногда, конечно, нужен свой полноценный сайт для каждого региона. Например, сеть магазинов в регионах с возможностью заказа по интернету (в пределах городов, в которых есть физические магазины). То есть ассортимент по компании общий, но наличие, цены и условия доставки в каждой области свои. Вот здесь уже надо чесать репу программистам, разворачивать ли N копий одного магазина с частичной репликацией данных или же вести учет по N разным торговым точкам в едином магазине. Универсального решения тут уже нет.
Разделять сайты по доменам стоит, когда появляются копии на разных языках. хотя это тоже далеко не аксиома. 

Возвращаясь к СЕО: во-первых, если мне не изменяет склероз, в платном я-каталоге можно указать несколько регионов для своего сайта; но в каком-то будущем обещают такое счастье всем через панель вебмастера. 
Во-вторых, не в обиду регионам, но конкуренция там на порядки ниже столичной, и чтобы попасть в топ по слову «утюги в самаре» достаточно просто написать на странице слово «утюг» и слово «Самара». Утюг пролезет на нужные страницы сам, а Самару можно упомянуть где-нибудь внизу в блоке «наши телефоны:… в Самаре (1234) 56-78-99, в Тюмени....». И еще нужно установить я.метрику, чтобы яндекс мог шпионить за аудиторией. Тогда точно все будет норм. 
В-третьих, современные поисковики устроены так, что рулят крупные сайты с большим авторитетом и прочими пузомерками. Посмотрите на википедию. А мелкие сайтики, заточенные под точно определенную категорию посетителей, обычно болтаются в хвосте.

Худший ответ:
омг, мне тоже интересно, ато когда я сказал «да» на такой вопрос, ушел в глубокие минуса =)
Вопрос: Как делают презентацию адаптивного сайта?

Лучший ответ:
Расширение для Chrome "Full page screen capture" -> Mockup -> Photoshop

Худший ответ:
Расширение для Chrome "Full page screen capture" -> Mockup -> Photoshop
Вопрос: Разделены ли учётки тостера и Хабра?

Лучший ответ:
Проверим?

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

Лучший ответ:
1) Вы создали триггер только для разворота, поэтому и сворачиваеться без анимации.

Создайте триггер и для
 и будет вам счастье

2) у «стрелочки» создайте пустую трансформацию (те без значений) и все заработает
<Стрелочка RenderTransformOrigin=«0.5,0.5»>
 <Стрелочка .RenderTransform>








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

Лучший ответ:
слушать клик по всему дому на протяжении работы всей страницы? классное решение. по-хорошему при открытии меню надо биндить клик на "не меню", а при закрытии бинд этот удалять. да и со стилями тоже не самая лучшая практика. правильнее будет всё таки контролировать это из цсски, классами типа 'active' родителя и по наличию этого класса уже играться со стилями. ах да, на счет хаотичности. '*' это все элементы. включая родителей того по кому ты кликнул. кликаются ВСЕ СРАЗУ. поэтому - если в дереве четное количество родителей - то срабатывает, если не четное - то нет.
Я использую что-то такое$(".sidebar-toggle").on('click', function(){ // клик по кноке открытия
    var h = $("aside.sidebar") //блок который должен открываться
    if($(this).is('.active')) { // если кликнутое меню уже открыто - закрываем
      $(this).removeClass("active"); //удаляем подсвечивание открытого меню
      h.removeClass("active"); //закрываем
      $(document).unbind('.closeMobileMenu'); // удаляем бинд закрытия меню
    } else {
      $(this).addClass("active"); //подсвечиваем открытое
      h.addClass("active"); //открываем
      $(document).bind('touchend.closeMobileMenu click.closeMobileMenu', function(e) { //событие клик по документу
        if (!h.is(e.target) && $(e.target).closest(h).length === 0 && !$(".sidebar-toggle").is(e.target)) { //если это не тот блок, что показывается
          $(".sidebar-toggle").click(); //кликаем второй раз что бы закрылось (тут вообще должно быть полноценное закрытие а не второй клик)
        }
      });
    }
    return false;
  });

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

Лучший ответ:
Советую посмотрет тут и тут и прежде чем отправлять в продажу крайне советую проверить его на windows 8.1-10, если драйвер не имеет сертификата будет сюрприз, а именно его вообще нельзя будет поставить:) (без манипуляций)

Худший ответ:
Драйвера разными бывают, поэтому универсального рецепта нет.
Ставите драйвер руками, смотрите где происходят изменения - какие файлы куда копируются, какие записи в реестр вносятся, нужно ли какие то библиотеки регистрировать.
Потом пишите инсталлятор который будет делать те же действия самостоятельно.
Проверяете на десятке потенциально возможных ОС, если надо корректируете логику в зависимости от модели ОС.
Ну и как вам уже сказал Виталий Пухов, вам придется озаботится покупкой сертификата, чтобы подписать драйвер.
Вопрос: PhpStorm настройка авто-пробелов

Лучший ответ:
Возможно у автора было включено что-то типа:



И при переходе на новую строку он нажимал сочетание клавиш для реформата кода (у меня это Ctrl+Alt+L)

Худший ответ:
В общем, есть жуткий способ.

1) Edit -> Macro -> Start macro recording
2) Жмем `enter`
3) Code -> Reformat Code -> OK
4) Жмем `end` (чтобы поставить курсор куда надо)
5) Edit -> Macro -> Finish recording, сохраняем под любым именем
6) File -> Settings -> IDE Settings -> Keymap
6.1) Editor -> Enter -> убираем назваченную кнопку `enter`
6.2) Macros -> только что сохраненный -> назначаем Enter
6.3) Конфликты игнорируем, жмем кнопку Leave в диалоге (не затираем `enter` ваще отовсюду)
7) ???
8) Не профит

Это будет работать только если писать код супер-линейненько. При попытках разбивать строки посередине или делать что-то в этом духе будет себя вести непредсказуемо, особенно ужасно будет прыгать каретка. Но если очень хочется, можно в пункте (6.1) подвесить какое-нибудь сочетание и пользоваться им, когда нужно что-то править посреди кода.
В общем, не стоит этого делать, да.
Вопрос: Как в 1С-Битрикс реализован режим правки?

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

Худший ответ:
В качестве основы можно использовать jqueryui.com/sortable/#portlets, вариант битрикса мне не особо нравиться, - я делал редактор только в админке и редактируемые страницы выводил через  iframe. При сохранении виджеты\блоки заменяются на псевдокод аля {widget name="news" id="2" items="5" class="widget-news"}
Вопрос: Как создат вот такой AUTO RATING в PHP?

Лучший ответ:
SELECT *, 
5*`downloaded`/(SELECT MAX(`downloaded`) FROM `table`) as auto_rating 
FROM `table`
Вместо `table` - имя таблицы

Худший ответ:
oooportal.ru/?cat=article&id=1230
oooportal.ru/?cat=article&id=1231
затем между парами Min - avg и max - avg посчитаешь средние значения. Если количество загрузок равно min, то одна звезда, если больше min, но меньше или равно (min + avg) /2 - две звезды и так далее.
Вопрос: Выбрать смартфон: Highscreen Cosmo vs LG Optimus One?

Лучший ответ:
Смартфоны продают нормальным людям, которым нужно просто пользоваться. Танцы с бубнами, прошивки, и прочие таск киллеры — удел немногих фанатов. Просто вы засиделись на их форумах, и вам кажется, что все только и делают, что получают рут-доступ, меняют прошивку три раза на день, и разгоняют процессор чтобы получить два лишних fps в любимой игре. За два месяца было продано два миллиона LG Optimus One — думаете, все два миллиона людей достаточно квалифицированы, чтобы заниматься шаманством? 

«Слежение за багами» — это вообще что-то парадоксальное. Нормальный баг проявляется сам; если же его не видно ничего не сломалось — зачем чинить? 

У меня есть Optimus One, сделанный в ноябре 2010. Со стандартной прошивкой и без адвансед таск киллеров. Если верить форумам, у него должны быть тонны пыли под экраном, тормоза при нажатиях, и время жизни едва ли полдня. А у меня всё в порядке — наверное, что-то не так делаю…

Худший ответ:
Вопрос в тему.
Ни где не могу найти достоверную информацию по экрану Cosmo. Где-то пишут, что едва ли не 65т.цветов, где-то 262т.цветов. А на оф. сайте и на прочих, скопировавших конфигурацию с официального, этого не указано.
Вопрос: Отвязать MacBook от AppleID?

Лучший ответ:
Существует некая привязка купленных устройств к AppleID.
Если ноут действительно привязан к профайлу вашего продавца, пусть он зайдет на supportprofile.apple.com
После авторизации там он увидит список всех устройств, привязанных к его AppleID. Там он должен разрегистрировать этот ноут.
После этого вы так же зайдете по этой же ссылке, авторизуетесь со своим AppleID и привяжете этот ноут к своему профилю, введя его серийник.

Однако я не очень уверен, что это поможет, но попробовать стоит.
Я тестю в Москве покупал пару лет назад новый Mac Mini, он был привязан к профилю того человека, что покупал его «там» в Apple Store и этого человека не удалось найти для отвязки(покупал у барыг уже здесь). При этом на этот комп все операционки ставились без проблем.

Поддержка Apple не будет отвязывать для вас этот ноут от другого профиля по соображениям безопасности. Однако они же говорят, что такая привязка ни на что в принципе не влияет при использовании. Не знаю, может быть в последнее время что-то изменилось в этой политике. Либо причина ваших проблем не в этой привязке, а в какой-то другой. Возможно где-то в iCloud ваш продавец должен отвязать ноут, или еще где.

Худший ответ:
rutracker.org/forum/viewtopic.php?p=53058079#53058079 вот как развернуть на флешку, этой же утилитой можно и записать на диск – третья кнопка слева.
Вопрос: Как настроить BIND, FreeBSD 10.1?

Лучший ответ:
Потому что в FreeBSD (9+ вроде) конфиги хранятся в /usr/local/etc/*

Худший ответ:
DNS сервер во FreeBSD 10 заменили на  Unbound.
Если Вы не знаете BIND, и его надо изучать, то предлагаю забить на него и пользовать Unbound.
И да, сейчас у Вас два демона, которые слушаю 53 порты, имейте это ввиду.
Вопрос: Вы бы назвали этот алгоритм пузырьковой сортировкой?

Лучший ответ:
основной принцип пузырьковой сортировки это обмен двух близлежащих элементов массива проходя по всем элементам. 
А вы сами как думаете ?
UPD1:const
    maxn = 100;
var
    a: array[1..maxn] of longint;
    i, j, r, n: longint;
begin
    readln(n);
    for i:= 1 to n do
        read(a[i]);
    for i:= 1 to n-1 do
        for j:= i+1 to n do
            if a[j] > a[j-1] then
            begin
                r:= a[j]; a[j]:= a[j-1]; a[j-1]:= r;
            end;
    for i:= 1 to n do
        write(a[i], ' ');
    writeln;

end.
UPD2: но вот так правильнее:const
    maxn = 100;
var
    a: array[1..maxn] of longint ;
    i, j, r,n : longint;
begin
    readln(n);
    for i:= 1 to n do
        read(a[i]);
    for i:= 1 to n do
        for j:= 1 to n-i do
            if a[j] > a[j+1] then
            begin
                r:= a[j]; a[j]:= a[j+1]; a[j+1]:= r;
            end;
    for i:= 1 to n do
        write(a[i], ' ');
    writeln;

end.

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

Лучший ответ:
Используйте source-based дистрибутивы и будет так, как вы хотите. ".deb" для того и придуман, чтоб самому из исходников не собирать.

Худший ответ:
существуют специальные сорцевые (т. е. с исходными текстами) пакеты debian. это просто архивы .tar.xz, .tar.gz и т. д., например: mirror.yandex.ru/debian/pool/main/d/dpkg/dpkg_1.16... . Или, скажем, другой пример: mirror.yandex.ru/debian/pool/main/b/binutils/binut... + mirror.yandex.ru/debian/pool/main/b/binutils/binut... . в последнем примере нужно сперва скачать .orig.tar.gz, распаковать, затем распаковать diff.gz и применить этот diff к этому архиву.
так вот, в любом случае вы получите сорцевой пакет дебиан. это специальные такие сорцы (исходники), в которых лежит папка debian специального формата. командой debian/rules с какими-то там аргументами этот пакет можно собрать. пишите комменты к этому ответу, если есть вопросы
Вопрос: Программа для &quot;многоклиентского&quot; просмотра рабочего стола

Лучший ответ:
на курсах, весь зал смотрел что делает преподаватель через UltraVNC

Худший ответ:
первое, что приходит в голову — skype
Вопрос: Ноутбук как рабочее место для тех.поддержки?

Лучший ответ:
Книги, курсы и огромное количество времени. 
Ноутбук тут вообще не роляети ОС также не имеет значения, виртуалки этот вопрос решают на раз.
Так что знания + желание.

Худший ответ:
Пополезное по на ноуте.
wavemon
tcpdump
arping
mtr
netcat
hping
dig
Учтите ПО это не волшебная палочка а просто инструменты которые помогут детальнее изучить что либо, если вы не знаете куда смотреть, что искать, как должно работать то что сломалось - то никакое ПО не поможет.
Вопрос: Как можно вынуть данные из игры?

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

Худший ответ:
1, 2, 3) Можно, но возможно оно того не стоит.
Легче всего будет поискать исходники или апи к играм, но если их нет - вам сюда.
Обычно используют OllyDbg или, более веселый вариант - CheatEngine
Вопрос: Что должен знать и делать ведущий разработчик?

Лучший ответ:
Могу поделиться своим американским опытом, я тимлид, у нас в компании 5 команд. Каждый тимлид, в том числе и я должны:

Работать с менеджерами по проектам (которые формулируют задачи в целом)
Распределять работу внутри команды
Следить за своевременным исполнением работы
Проверять качество кода младших разработчиков
Нести ответственность за свою команду (спрашивать будут именно с тимлида)
Составлять тонны всяких отчетов
Тимлид отчитывается перед менеджером по разработке.

Кстати, у нас в компании тимлиды программируют не меньше остальных, а спрос с тимлида больше.
Тимлид не обязан знать больше чем члены его команды, однако он как правило спец в своей области.
Тимлид во многом администратор. Однако, он и программист. Тимлид принимает решения по поводу
тех или иных подходов к решению поставленных задач. Я бы сказал что тимлид это самая первая
ступень на менеджерском пути.

Худший ответ:
Я называюсь «архитектор», по сути — тоже самое.

Знать технологии и следить за технологиями. Регулярно читать профильные сайты и блоги.
Иметь опыт в выборе технологий, архитектуры, в решениях дизайна высокого и низкого уровня.
Быть достаточно доброжелательным, чтобы люди тянулись к нему с вопросами.
Иметь опыт руководства или просто быть додстаточно дальновидным, чтобы смотреть на вещи не только с точки зрения разработчика, но и маркетинга.