Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Какие бывают библиотеки для лицензирования, и бывают ли?

Лучший ответ:
Я бы посоветовал посмотреть открытые части VmProtect (там и на PHP версия есть, и на C++). Они связаны именно с лицензированием.
А также поискать где-то структуру VmProtect’овского hardware ID.
Закрытые части, связанные с защитой лицензий от взлома и собственно виртуальной машиной, которая и дала название защите VmProtect, вы вряд ли найдёте. Да и вообще защита от копирования не может быть опенсорсной.

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

Лучший ответ:
Если правда интересно,  посмотри исходники  Putty
https://github.com/github/putty

Худший ответ:
Если правда интересно,  посмотри исходники  Putty
https://github.com/github/putty
Вопрос: Как вывести метатеги с БД?

Лучший ответ:
Во первых, как вам и указали, 'SELECT * FROM `cities` WHERE `id` ' не имеет полноценного условия
во вторых: echo " 
";
}
?>
Гммм.. в пустом месте должно быть<meta name="Keywords" content="'.$row['keywords'].'">
<meta name="Description" content="'.$row['description'].'">
код приведите как есть. У вас там хрень с кавычками 100%.
UPD: echo " 	   
    <title>".$row['title']."</title>
<meta name="Keywords" content="'.$row['keywords'].'">
<meta name="Description" content="'.$row['description'].'">";там где у вас в кавычках "Keywords" кавычки от ечо условно закрываются, потом идет Keywords которое к коду никак теперь не относится, затем кавычки открываются... Короче следите за кавычками.

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

Лучший ответ:
Например вот, а так можно поискать по официальному сайту: https://wordpress.org/plugins/search/Users+online/

Худший ответ:
Сколько было за день показывают счетчики ПС. Например яндекс. Посмотри в подвале wp-kama - кликни на счетчик
Без плагинов. Ты так и так ставишь эти счетчики поисковых систем - так используй их на всю мощь
Вопрос: Как сделать, такую неравномерную фигуру?

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

Худший ответ:
clip path например
Вопрос: Что такое ROOT в php?

Лучший ответ:
пхп тут вообще не при делах.
это название констант, которые создает писатель этого кода.define("ROOT", dirname(__DIR__));
define("PATH", $app_path); https://www.php.net/manual/ru/function.define.php

Худший ответ:
define - константа
ROOT - имя константы(в IT обычно означает главный)__DIR__ - Директория файла. Если используется внутри подключаемого файла, то возвращается директория этого файла. Это эквивалентно вызову dirname(__FILE__). Возвращаемое имя директории не оканчивается на слеш, за исключением корневой директории.
PATH - путь с английского, т.е. http://{$_SERVER['HTTP_HOST']}{$_SERVER['PHP_SELF']}
Что не ясно то?
Вопрос: Как мутировать асинхронно vue store?

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

Худший ответ:
Надо использовать не мутацию, а action.
export const actions = {
  set_text: ({ commit }, payload) => { commit('set_text', payload) }
}
Вопрос: Где ошибка в подключении LED панели?

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

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

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

Худший ответ:
Ростелеком? Никак, если роутер их.
Вопрос: Как правильно составить запрос SQL?

Лучший ответ:
Хоть и не очень элегантно, но благодаря удобству ПДО всё же и не очень громоздко, 
$params = [];
$sql = "SELECT * FROM `brands` ";
if (!empty($_GET['district'])) {
    $sql .= "WHERE `district` = ?";
    $params[] = $_GET['district'];
}
$stmt = $pdo->prepare($sql);
$stmt->execute($params);

Таким же образом можно добавлять и другие условия.

Худший ответ:
SELECT * FROM `brands` WHERE `district` = :district or :district = 'Не выбрано';
Вопрос: Has been blocked by CORS policy на всех сайтах, в новой версии chrome как решить?

Лучший ответ:
Отключил FriGate и AdBlock, все заработало.

Худший ответ:
ох я и намучился с эти багом. оказалось надо плагин friGate снести
Вопрос: Что спрашивать у работодателя на собеседовании DevOps?

Лучший ответ:
- Уточните методологию;
- Уточните каким образом происходит расчет ЗП по часам или по раб. дням.;
- Кол-во митапов в неделю;
- Отчетность;
- Сколько лет компании, да и про достижения компании можете спросить, почему бы и нет?
- Отзывы о компании от клиентов (стабильность компании) и сотрудников (только не смотрите на отзывы менеджеров и т.п.);
Деятельность компании по ИНН - если не совпадает с настоящей опять же индикатор.
Должность в трудовом договоре - должна иметь отношения к Вашей деятельности или быть руководящей;Есть ли у компании долги, суды - всё это нужно проверять, чтобы исключить банкротство;
PS 1 Vitaly Karasik - добавил то-же один важный пункт про текучку и её причину.
PS 2 На HH.ru - можете посмотреть в разделе резюме людей с опытом в этой компании - посмотрите сколько времени в среднем люди в ней работают (к вопросу о текучке).

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

Лучший ответ:
В контексте фразы Могу ли я брать фотографии, грубо говоря, из Гугла для наполнения макета?
вопрос о коммерческом использовании неприменим, потому что вы должны беспокоиться о возможности использования вообще. Просто из-за того, что "фото из гугла" могут иметь лицензию, которая вообще никакое использование без разрешения автора не предполагает.
У Google Images, между прочим, есть фильтр по лицензии. Как и, например, у Flickr (где фотографий - миллиарды).

Худший ответ:
Не считается. Но формально вы не имеете права даже на некоммерческое использование, если не вы автор фото. Реально, конечно, вы вряд ли кому нужны)
Вопрос: Как объяснить работу метода indexOf( ) в данном случае?

Лучший ответ:
Widget содержит подстроку id. Что не ясно?
А насчёт and. Так вы не там добавили символ.

Рекомендую поспать ))

Худший ответ:
console.log('Widget with id and'.indexOf('id'));
Widget with id and
Хотите искать слова, тогда так
const sentence = 'Widget with id and';
const words = sentence.match(/\w+/g); // ['Widget', 'with', 'id', 'and']
console.log(words.indexOf('id'));
Вопрос: Один аккаунт для авторизации на всех сервисах компании?

Лучший ответ:
Интеграция с Windows domain или его аналогом FreeIPA позволит всем сервисам использовать одну базу пользователей.
(Для настоящих гиков можно все ставить и конфигурировать руками - LDAP, Kerberos,  и т.д.)

Худший ответ:
Такой вариант не для маленьких компаний, но он есть - hashicorp vault
Вопрос: Как получать первые буквы Фамилии Имени и Отчества?

Лучший ответ:
sandbox.onlinephpfunctions.com/code/dd6e7ff05aeeb8...spoiler<?php
$fullName = 'Иванов Алексей Сергеевич';

$arName = explode(' ',$fullName);

$arFirstLetters = array_map(function ($item){
    return mb_substr($item, 0, 1);
}, $arName);

$strFirstLetter = implode('', $arFirstLetters);

echo $strFirstLetter;

Худший ответ:
Пример
Вопрос: Чем отличается короткая запись if со скобками и без?

Лучший ответ:
Ничем.

Скобки нужны для группировки и изменения приоритета операций. В данном случае внутри скобок вырожденное выражение из одной переменной.

Худший ответ:
Для того, чтобы, например, указать так: if (20 - 1) > 20 ? alert('гг') : alert('не гг')
Вопрос: Какая файловая система в RAM?

Лучший ответ:
никакая.

Худший ответ:
Файловая система в ОЗУ?
Вопрос: Как быть медлительному разработчику?

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

Худший ответ:
1. Даже опытные разрабы часто ошибаются в оценках и делают дольше - именно поэтому опытные ПМы наши оценки всегда умножают на коэфициент. У хорошего ПМа даже есть матрица коэфициентов - благодаря магии статистики можно посчитать на сколько в среднем ошибается тот или иной разраб в команде. Jira вообще умеет это считать сама.
2. Чем детальнее задача прописана/поставлена, тем проще и быстрее ее делать. Если задачи не идеальны (а они всегда не идеальны), часто будет всплывать что-то непредусмотренное, что сдвинет сроки. Это нормально.
3. Очень полезный совет Strannyk - лимит на тупление. Именно это один из главных скилов джуна, который надо развивать. Максимум час времени на самостоятельный разбор, если гугл и документация не помогли за это время - идем к более опытным товарищам за советом. Лиды для этого и существуют, а не для получения более высоких зарплат (как некоторым из них кажется).
4. Определите ВСЕ нюансы, которые влияют на вашу скорость. Что именно вас тормозит. И устраните то, что можно, а с остальным учитесь жить, возможно даже использовать в свою пользу. Мне известны очень крутые разрабы, которые достаточно медленные в классическом понимании из-за их "задротства" - у них всегда вместе с кодом идут тесты, документация и тд, в том числе грамматика в документации в порядке. Какой-то команде такой стиль работы не подойдет и там такой разраб не продержится, а в какой-то наоброт, именно такие и нужны. Где-то нужно "*уяк-*уяк и в продакшн", а где-то важно качество/стабильность/надежность/безопасность, а сроки вторичны.
5. Набираться опыта. Больше опыта - точнее оценки и быстрее все делается.
Вопрос: Как в статических функциях абстрактного класса получить доступ к переменным дочернего класса?

Лучший ответ:
Статичные методы это хреновый подход. Наследование тоже.

Худший ответ:
self:: заменяем на static::
https://www.php.net/manual/ru/language.oop5.late-s...
Вопрос: Как создать свою игру на JS?

Лучший ответ:
Дефакто стандарт разработки 3d игр на JS библиотека - threeJS https://threejs.org/ Она упрощает работу с webgl и имеет только самое необходимое для создания мира - scenegraph, камеры, источники света, растяжку текстур на 3d модели. У библиотеки большое сообщество и много учебников в сети. Чтобы персонаж не проходил сквозь текстуры называется collision detection. В threeJS реализован только самый базовый инструмент для этого - класс Raycaster.построенный на тех же рутинах что и raytracer А чтобы не роверять пересечения каждого с каждым вам нужно будет узнать например про структуру данных quadtree. Встроенного движка физики в библиотеке нет, предполагается что вы будете использовать по своему выбору. Что бы писать на этой библиотеке вам нужно будет подкачать скилл игроделания, но она быстрая.
Если хотите побольше изкоробки берите фреймворк. Например заслуженно популярен Babylon.js www.babylonjs.com Кривая вхождения пониже, встроенного инструментария побольше(например движок физики и скелетная анимация), но работает помедленнее и жрет больше вычислительного ресурса. Tutorials в сети тоже достаточно.

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

Лучший ответ:
Установка класса будет менее затратной. И устанавливать его нужно не setAttribute(), а classList.add()

Худший ответ:
1) что считается лучшей практикой? Прописывать стили в объекте в скрипте (как в коде этого примера), или же всё таки назначать объекту класс (опять же через setAttribute()) и уже в файле style.css прописывать заранее эти стили?

Проставляя стили по одному вы увеличиваете количество перерисовок. Не стоит так делать. Если нужно за один раз изменить несколько свойств то лучше использовать style.cssText. Но там есть свои особенности. 

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

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

И как написали ранее, для управления классами есть специальный api

2) Есть ли положительные моменты у того или иного способа , если к примеру использовать пример выше для создания формы, или к примеру создать форму в html заранее, просто с visibility: hidden, ну и собственно чтобы она появлялся по клику?

Тут вы должны опираться на шаблон поведения пользователя на вашем сайте.  Форма обязательна? Какова вероятность что пользователю она понадобится? Если форма не загрузится или не отобразится, сможет ли пользователь достичь своей цели на сайте?

Проанализируйте эти вопросы. Изучите поведение пользователей. Определите приоритет этой формы. Чем он выше — тем раньше нужно её инициализировать:

Если пользователь 100% будет заполнять форму и не заполнив её он не сможет продолжить работу с сайтом, тогда форму стоит загрузить и инициализировать как можно раньше. Чтобы она была полностью готова когда она понадобится пользователю.
Если необходимость в форме мала, а не заполнив её сайт продолжит выполнять свою основную функцию — тогда загружать стили и скрипты, которые инициализируют форму можно только в момент когда форма понадобилась и не раньше. 


UPD.
И на последок. Сперва нужно проставить все атрибуты, стили и тп, а уже в самом конце вставлять элемент в DOM. Иначе браузер будет выполнять перерисовку и перекомпоновку на каждый чих. Вместо того, чтобы сделать это один раз при вставке элемента.
Вопрос: Что бы вы сделали с недобросовестным заказчиком?

Лучший ответ:
Жадность она такая. Сколько же много таких и подобных. Напишите не будет денег не будет группы. Мало вероятно что он вам заплатит, но вы себя очистите. Не заплатит поступите так. Сделать владельцем группы другого человека можно только через 14 дней. Запустите процесс перевода группы на него. Пусть радуется, наполняет ее, развивает. А если все таки не заплатит за день-два до конца перевода отмените его!
Наткнулся на один теперь обожаемый мной отзыв, который полностью характеризует текущий мир жажды халявыКорректный разработчик, не тянет по срокам как многие! Выполнил быстро, качественно, без лишних вопросов. Реализовал мои хотелки, которые не были оговорены в т.з. включенно в оговоренную цену! Вообщем советую этого разработчика! 5+!Пруф 

Худший ответ:
тут все просто - или он хочет получить результат, тогда платит, или не хочет и не платит.
вариант "хочет но не платит" выходит за рамки здоровых бизнес-отношений.
Если работа не оплачена, то результат её - ваша собственность, если у вас в договоре не указано иное (надеюсь такого у вас нет :))
Можете к вышеуказанным советам еще добавить "Если вас не устраивают результаты моего труда и вы не хотите их покупать, нет проблем. Тогда, чтобы их не потерять я буду вынуждена продать их другим лицам, которые могут быть заинтересованы и группе/сайте подобной тематики и приведенных пользователях." Получила в ответ классическое - "Жаль, впереди ещё много проектов".
(За которые я вам тоже планировал ничего не платить) Конечно ему жаль.
Вопрос: Как подключиться к Интернет через удаленный сервер?

Лучший ответ:
Например SSH Tunnel.

Худший ответ:
1. Настроить любой VPN между ними - openvpn, wireguard.
2. Установить любой прокси сервер (squid например) на удаленном сервере и настроить его в браузере.
Вопрос: Какие знания нужны для грамотной разработки на Wordpress/Bitrix?

Лучший ответ:
Нужно знание PHP и WP, как минимум.

P.S. Bitrix и "нормальный подход" - слова не сочетаемые.

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

Лучший ответ:
То есть реально найти на каком-нибудь hh и тд работу удаленную из другого города?
a9105051396, естественно. 
Советую так же посетить https://career.habr.com
У нас к примеру все разработчики работают удаленно. 
За 8 лет удаленной работы, сменил 4 конторы. Везде команды 5+ человек на удаленке.
Ребята зачастую не то что из др. города, а живут в др. странах. Сейчас коллега живет в Тайланде. Оформление по трудовой, заказным письмом.

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

Лучший ответ:
October CMS + Shopaholic
Получится очень гибкое и шустрое решение.
1. Условно-бесплатно
2. Хорошая документация и помощь разработчиков онлайн
3. База движка - Laravel, работает достаточно шустро. Можно применить любые решения длля увеличения производительности, годные для Laravel.
4. +

Худший ответ:
Для такого кол-ва номенклатуры нужен нормальный обмен с источником. 
Я бы выбрал CS Cart. Это максимально готовое решение под наши реалии.
Что Woocommerce, что Magento обойдутся вам еще дороже.
Вопрос: Отправляет ли мой провайдер запросы к Телеграм в офлайне?

Лучший ответ:
Он связывается каждые 5 секунд (или даже чаще, ну или чуть реже), если запущен. Но точно ни о каких минутах речи нет.

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

Лучший ответ:
Самая простая sqlite3 https://python-scripts.com/sqlite
возможно ещё postgreSQL, mysql https://dev-gang.ru/article/rabota-s-postgresql-v-... 
https://postgrespro.ru/docs/postgresql/11/intro-whatis

Худший ответ:
Всё зависит от того, какие задачи будут у вашего бота, какая будет у него архитектура, насколько сложные модели данных, собираетесь ли использовать ORM и какой именно.
А может быть вам реляционная структура БД и вовсе не нужна и больше подойдёт NoSQL база данных.
там их великое множество с разными возможностями и ограничениями от простых хранилищ ключ-значение, до развесистых и навороченных.
Я бы порекомендовал MongoDB.
Для питона есть огромное количество примеров и тьюториалов типа такого. Куда уж понятнее.
С Монгой вы избежите необходимости возиться со схемой БД, можно избежать специфического процесса инициализации базы, создания ее структуры.
Если данные, которыми будет оперировать ваш бот разнообразны, то неплохая идея написать модели в виде обычных питоновских классов, сделать методы сериализации (сохранения) в БД и десериалиации (загрузки) и забыть о базе как о какой-то отдельной сущности. Можно сконцентрироваться на логике работы.
Вообще не очень понятна мотивация вашего вопроса. Сейчас полно простых доступных материалов по этой теме, в том числе на русском языке. А как выбрать какую БД использовать я вам уже описал. Для более детального совета не хватает информации о то, чем будет заниматься ваш бот.
P.S.
Прошу прощения за капитанские ссылки в тексте, но каков вопрос, таков и ответ.
P.P.S.
Должен признать, что я довольно предвзят в пользу монги. Скорее всего вам подойдёт всё что угодно.
Меньше всего потребует настройки и знания, видимо, sqlite. Это embedded база данных, она заточена для простого использования. Однако если вам вдруг понадобится запускать несколько инстансов вашего бота, которые будут работать с одной БД, то посмотрите всё же в сторону MongoDB или Postgres. Mysql стал сдавать позиции и нет особых причин не использовать postgres, если вам нужна именно реляционная БД.
Вопрос: Генерируется непонятный контент в конце страницы, в WP?

Лучший ответ:
Здравствуйте!
Судя по скрину это область виджетов и он не стилизован.
Посмотрите в Внешний вид - Виджеты и уберите лишние виджеты

Худший ответ:

Я натягиваю лендинг, посмотрел в ютюбе там просто вставляли текст в редактор страници, я сделал тоже но wordpress много чего меняет например: есть код
как исправить?
Вопрос: Периодическая нагрузка на сервер, как отследить и заблокировать при необходимости?

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

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

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

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

Лучший ответ:
Потому что по умолчанию длинные слова не переносятся.
Используйте мягкие переносы &shy;, hyphens, word-break

Худший ответ:
Потому что по умолчанию длинные слова не переносятся.
Используйте мягкие переносы &shy;, hyphens, word-break
Вопрос: Как работает логика сортировки писем (Вся почта — Входящие)?

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

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

Лучший ответ:

берём 5k дерева
идем на фриланс
выбираем начинающего исполнителя по Laravel

За пару дней будут вам и пользователи и статьи с комментариями.
И вам недорого и ему для старта нормально.
Потом уже пилите, как вам надо.

Худший ответ:
Всем спасибо за участие в обсуждении и советы!
Решение нашел с помощью CMS (малоизвестной CMS) - "ReloadCMS" /n
возможно кому-нибудь поможет.
Вопрос: Бот для Телеграм — на каком языке писать?

Лучший ответ:
Который знаете. Python

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

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

Худший ответ:
Вас интересует css свойство padding.