Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Зачем нужны приложения?

Лучший ответ:
А что с главной страницей?создай апп с названием core || common || main || etc и сделай там вью со своей главнойТ.е. сама основа на которой хедер, футер и в нее уже контент этих приложений вставляется. основа верстки ложится в темплейт, основа контекста, может ложится в coreЕе что отдельным приложением сделать?если какая-то часть задачи сильно отличается от дргуих - ее можно вынести в апп
В общем случае, нужно стараться делать такие аппы, которые можно поместить в пакет и переиспользовать в другом проекте, но не проблема, если так не получается

Худший ответ:
Попробую привести немного по-другому пример: проект - это сайт, а приложения части сайта, тематически и главное логически разделенные. Например на сайте ведется блог, это приложение пусть называется "блог". На сайте есть гостевая книга - это другое приложение (по логике вещей гостевая книга же не относится к блогу, ведь так? Там будут свои урлы, шаблоны, свои модели, вью, методы и тд. для работы именно с гостевой). Есть магазин - это приложение "магазин" которое тоже в общем-то не имеет отношения к блогу. А вот статьи от блога, это скорее модель приложения "блог", чем отдельное приложение. Ведь статьи напрямую относятся к блогу, и никак не к гостевой книге или магазину, там же не пишутся статьи. Получить доступ из одного приложения к другому можно, НО. Не стоит делать приложения связанными. 
Идея в том чтобы ты мог взять свое приложение "блог", и использовать его в любом другом своем проекте Сделать startproject, скопировать туда приложение blog, и должно работать. Условно ничего не переписывая "as is" (как есть). В одном проекте несколько приложений в общем никак не взаимодействуют. Для Блога будет URL ведущий и работающий с блогом, для Магазина так же, и для Гостевой.  Главная страница может храниться в приложении Landing например или main. Еще на сайте/проекте может быть реализовано API это совершенно другая логика, поэтому это тоже отдельное приложение. Для понимания задай себе вопрос, например из мной приведенных примеров Products|Продукты это что и к чему из вышеописанного относится? Попробуй привести пример что еще на проекте/сайте можно выделить в приложение отдельное.
UPD.
Вопрос: Как сделать дополнительные мониторы по сети?

Лучший ответ:
Оказалось все просто)xrandr --addmode VIRTUAL1 1920x1080
xrandr --output VIRTUAL1 --mode 1920x1080
x11vnc -rfbport 25901 -clip 1920x1080+1920+0 -forever
А дальше уже на второй машине ставим VNC клиент и подключаемся.
По аналогии команд выше можно еще один дисплей добавить.

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

Лучший ответ:
Подключаете через @font-face
Но при этом учтите, что не для всех браузеров подходят все форматы!@font-face { 
    font-family: "WebFont";
    src: url(WebFont.eot?) format("eot"), /* IE8+, знак ? позволяет обойти баг в обработчике значения src */
         url(WebFont.woff) format("woff"), /* все современные браузеры, IE9+ */
         url(WebFont.ttf) format("truetype"); /* все современные браузеры */
}
Для этого конвертните ttf во все форматы. Напиример здесь https://onlinefontconverter.com/

Худший ответ:
Можно. Делается очень просто. Вы скачиваете шрифт на комп и потом этот же шрифт используете в вёрстке. Подключаете его через @font-face
Вопрос: Как перейти с utf8 на utf8mb4 в MySQL?

Лучший ответ:
При такой конфигурации[mysqld]
init_connect='SET collation_connection = utf8mb4_unicode_ci'
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

[client]
default-character-set = utf8mb4
имеем+--------------------------+--------------------+
| Variable_name                  | Value                       |
+------------------------------+------------------------+
| character_set_client          | utf8mb4                  |
| character_set_connection | utf8mb4                  |
| character_set_database    | utf8mb4                  |
| character_set_filesystem  | binary                      |
| character_set_results       | utf8mb4                   |
| character_set_server        | utf8mb4                   |
| character_set_system       | utf8                          |
| collation_connection        | utf8mb4_general_ci |
| collation_database          | utf8mb4_unicode_ci |
| collation_server               | utf8mb4_unicode_ci |
+-----------------------------+------------------------+
10 rows in set (0.01 sec)

Худший ответ:
По минимуму достаточно сменить charset одного поля в таблицеALTER TABLE `table` 
  MODIFY `description` VARCHAR(xxx) CHARACTER SET utf8mb4;
Ну или сразу у всех текстовых полей в таблицеALTER TABLE `table` CONVERT TO CHARACTER SET utf8mb4;
Вопрос: Плюсы и минусы двух связок для php7 — nginx/apache/mod_php vs nginx/php-fpm?

Лучший ответ:
Основной недостаток  php-fpm что не будет отрабатывать htaccess, если хватит знаний переделать htaccess под реврайты nginx то php-fpm, если лень то апач

Худший ответ:
Why is mod_php faster than php-fpm?The results:Apache + mod_php: 10885 req/s, 9 ms per req.
    Apache + php-fpm: 5694 req/s, 17 ms per req.Nginx + php-fpm: 8193 req/s, 12 ms per req.
According to many benchmarks performed by others, Nginx + PHP-FPM should be much faster than Apache + mod_php, but I am seeing the opposite. What am I doing wrong?
В целом, разница небольшая. Но, как говорится, your mileage may vary.
Возможно, несмотря на результаты стоит всё равно использовать Nginx + php-fpm.
Вопрос: Как объяснить бекенд-разработчику почему я не могу сделать то, что он хочет?

Лучший ответ:
Учите методы запросов. При помощи GET вы отсылаете строку, чтобы отослать объект вам нужно пользоваться одним из POST, PUT, PATCH и объект отсылать параметром
https://developer.mozilla.org/uk/docs/Web/HTTP/Methods
https://learn.javascript.ru/ajax-xmlhttprequest
https://developer.mozilla.org/en-US/docs/Web/API/F...
Товй кусок кода axios.get('../../../json/v1/form/kasko/dependencies', {
            params: payload
        }).then(response => {
Кусок кода из документацииPerforming a POST requestaxios.post('/user', {
    firstName: 'Fred',
    lastName: 'Flintstone'
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });
Научите бекенд писать API контракт в https://swagger.io/ тода будет меньше недопонимания

Худший ответ:
Вы можете сделать так, как хочет бекэндер.
Проблема в Axios. GET-параметры, если они содержат многомерные массивы/объекты он преобразовывает в json представление, оставляя лишь линей массив верхнего уровня. В общем-то правильно (это уже отметил Владимир ), GET для запроса данных, и параметры запроса обычно идут списком.
Но всё же протокол позволяет представлять и массивы, как линейные, так и многомерные. jQuery, кстати, в этом смысле так и делает.
В общем к сути. Вы можете использовать штатные возможности Axios для трансформации параметров запроса:let arr = [1,2,3];
let val = 'BMW';
let payload = {
    names : arr,
    values: {
        brand: val,
    },
};

axios.get('http://site.ru?id=1', {
    params: payload,
    paramsSerializer: function(params) {
        let tmp = [];
        params.names.forEach(item => {tmp.push(`names[]=${item}`)});
        for (let name in params.values) {
            if (!params.values.hasOwnProperty(name)) continue;
            tmp.push(`values[${name}]=${params.values[name]}`);
        }
        return tmp.join('&');
    },
}).then( ...
В результате запроса программист получит данные в массиве &_GET примерно в таком виде:Array
(
    [id] => 1
    [names] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )
    [values] => Array
        (
            [brand] => BMW
        )
)
Сериализатор придется писать под формат данных, или попробовать сообразить что-то универсальное.
Вопрос: Как выявить слабое звено тормозящего ПК?

Лучший ответ:
Апапратные проблемы:
1) Скачать Hirren boot cd и записать на болванку\флешку\PXE
2) Проверить программами MHDD(HDD TEST), memtest(MEMORY TEST), Wmtesting(VIDEOTEST)
Программные проблемы:
1) Сравнить расход ресурсов, может компьютер загружен по полной. Например, менее 2 гб озу для Win7+ x64\Office 2007+\1c\AD+GPO+ может приводить к проблемам. Так же смотрите на частоту процессора и кэш. Возможно стоит поставить систему более простую.
2) Чистка от вирусов
3) Чистка от malware (ADWCleaner - отличная программа)
4) открывать опять диспетчер задач и смотреть, что не так.

Худший ответ:
Давно сделали инструмент Total 360 и чистит и на вирусы проверяет и вообще лапочка. Работает и со смартфонами. Последний раз чистил смартфон - стало летать как с нуля.
Для windows тоже незаменимая весчь.
А то, что вы вурусы переносите с места на место - толку маловато. Но хозяин-барин, Однако
Вопрос: Как добавить тень в HTML письмо?

Лучший ответ:
Я помнится делал кучу вложенных таблиц, у каждой постепенно уменьшая интенсивность цвета рамки =)
Вполне себе тень. Главное - железобетонная. Везде отобразится.

Худший ответ:
"Можно ли как-то через тег img вывести тень вокруг тела письма?" - нет.
Тень делаем либо картинкой, либо box-shadow.
Вопрос: Как передать данные из COM порта в JS?

Лучший ответ:
Среда выполнения JS в браузере изолирована от железа, поэтому тут нужна полноценная реализация клиент-серверного приложения.
Компьютер с COM-портом будет выступать в качестве веб-сервера.
На этом сервере необходимо реализовать серверный скрипт, который подключится к COM и будет осуществлять транзит по HTTP с клиентом - браузером.
А уже на стороне клиента API будет реализовано посредством JS, а получение данных - AJAX-ом.Вот пример как сделать серверную часть на NodeJS.

Худший ответ:
Такой вариант есть. Создай сервер на python'e там принимай данные с COM порта, страница аяксом будет их забирать....ну тут как бы все варианты не очень realtime будут. Можно еще ESP8266 прикрутить к stm, на ней веб сервер с данными от акселерометра, страница в браузере будет уже аяксом хавать это все
Вопрос: Есть ли в Python понятие структуры по аналогии с С++?

Лучший ответ:
Структуры крайне редко полезная вещь и я затрудняюсь придумать ситуацию, где именно они понадобятся в python.
Ближйший аналог - __slots__ в классе.class edgeStruct():
  __slots__ = "u", "v", "weight"

my_edge = edgeStruct()
my_edge.weight = 5
print(my_edge.weight)
А еще такой вариант нашёл https://stackoverflow.com/questions/35988/c-like-s...
А так - можно обойтись и обычным dict

Худший ответ:
Структуры крайне редко полезная вещь и я затрудняюсь придумать ситуацию, где именно они понадобятся в python.
Ближйший аналог - __slots__ в классе.class edgeStruct():
  __slots__ = "u", "v", "weight"

my_edge = edgeStruct()
my_edge.weight = 5
print(my_edge.weight)
А еще такой вариант нашёл https://stackoverflow.com/questions/35988/c-like-s...
А так - можно обойтись и обычным dict
Вопрос: Массовое обновление Description портов на коммутаторах?

Лучший ответ:
Задача сугубо узкоспециализированная а значит серебренной пули не будет.
Принцип настройки каждому коммутатора может быть уникальный.
Если таких задач много и часто то проще написать(или заказать чтобы написали) утилитку, по сути в ней не будет ничего сложного принцип будет примерно следующий:
1) Список коммутаторов с парами логин\пасс. Необходимые команды для конкретной модели\производителя коммутатора.
2) Утилитка запускается, цепляется последовательно к каждому коммутатору по telnet\ssh, вписывает необходимые команды для конкретного производителя коммутатора или модели.
Другой вариант что можно подобное сделать и через SNMP, понадобятся MIBы коммутаторов, чтобы они поддерживали SNMP и возможность изменения параметров через него. Дальше дело техники и реализовывать функционал в каком нибудь забиксе или простой скриптик который опять же возьмет список IP коммутаторов и консольными утилитами snmp по конкретным OID'ам сделает изменения.

Худший ответ:
bash + expect - вам в помощь
В баше запускаете цикл с ip передваяя их скрипту на expecte
На expecte подключаетесь отлавливайте приглашение коммутатора, вводите им лого/пасс, а далее им же меняете то что нужно
Вопрос: На какой MacBook стоит заменить MacBook Air '13 Mid 2014?

Лучший ответ:
Новый MacBook Air(2014) или б.у. MacBookPro(2014)?
MacBook Air или Pro?
Стоит ли покупать macbook?
Есть ли разница в производительности Macbook Pro между моделями 2014 и 2015?
Выбор MacBook Pro, 13" 2015 или 15" 2014?
Стоит ли в моем случае покупать Macbook?
Ноутбук для дизайнера: стоит ли брать Macbook Pro?
Покупка MacBook Air 13'
MacBook Air 13" vs MacBook Pro retina 13" ?
Стоит ли покупать macbook pro retina 2014 (mgx72) ?
Как не ошибиться, покупая бу macbook ??
MacBook Pro Retina 13" или MacBook Air 13"?
Ноутбук для студента. MacBook или не MacBook
MacBook Pro late 2013 (ME864) vs 2014 (MGX72) ?
Какой macbook мне выбрать?
Стоит ли брать MacBook air 13 для верстки?
Хорош ли Macbook Pro версии Retina 13.3" 256 ГБ?
Какой macbook выбрать для разработки под android и ios?
Нормик ли MacBook Pro 13 retina дизайнеру?
Macbook Pro 13 retina vs non-retina
Что выбрать для разработки: MacBook Air или MacBook Pro Retina?
Есть ли разница в производительности Macbook Pro между моделями 2014 и 2015?
Покупаем macbook air на ebay, какие подводные камни?
Подойдет ли macbook pro 13 core2duo 2.66 для frontend разработки?
Подойдет ли новый Macbook Pro Retina для веб-дизайнера?
Покупка MacBook за 30 тысяч, для программиста
Macbook air 13` — различия между моделями
Стоит ли покупать macbook?
Подойдет ли Macbook pro Retina 13' для видеомонтажа?
Macbook Pro 13' или Macbook Air 13'
Macbook air 13" 4gb  для верстальщика?
Насколько удобно верстать html на MacBook Retina 13?
Есть ли смысл покупать MacBook Air для веб-разработки?
Mac mini or MacBook 13.3
Какой MacBook выбрать для веб-разработки?
Какой Macbook взять для front-end разработчика?
Какой ноутбук Apple выбрать?
MacBook Air md760 для программирования?
Вот me116ll/a mac book стоит ли покупать?
Какой макубук купить для работы с PS,AI и программирования?
Достаточно ли мощности в macbook air i7 8Гб для разработки под android?
Macbook Air vs Macbook Pro vs Mac mini?
Какой mac mini 2014 выбрать для дома?
Какой MacBook Pro выбрать?
Стоит ли брать старенький Mac Book PRO?
Какой посоветуете приобрести MAC для дизайнера?
Стоит ли сейчас брать mac mini(в 2016-17 году)?
Macbook air13 2013 на сегодня ещё будет актуальным, i5 1.3 4Gb? Стоит ли брать для web разработкиф (фотошоп + sublime + браузер)?
Макбук 13, 2016 для верстки. Хватит ли экрана?
Стоит ли студенту-программисту брать MacBook Air?
Какой MacBook выбрать в 2017 году?
MacBook air 13 стоит приобретать в 2018 году?
На какой MacBook стоит заменить MacBook Air '13 Mid 2014?

Худший ответ:
На мой взгляд, ретина вообще не подходит для дизайна, поскольку придется либо макеты делать в @2x и пристально следить, чтобы все делилось на два (что геморрой), либо в два раза меньше (глаза сломаешь). И это показатель не качества экрана, а разрешения. А качество — это IPS матрица (у air действительно экран г, но не из-за отсутствия ретины).
Вопрос: Почему HTML-письмо некорректно отображается на iOS?

Лучший ответ:
Разобрался с проблемой вставкой тега<meta name=”x-apple-disable-message-reformatting”>
Вся проблема в Apple Mail в iOS 10. Если кому интересно, пункт 3

Худший ответ:
<meta name="HandheldFriendly" content="True">
	<meta name="MobileOptimized" content="width">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta name="apple-mobile-web-app-capable" content="yes">
	<meta name="format-detection" content="telephone=no" />
	<meta http-equiv="cleartype" content="on">
по идее должно помочь
Начало переверстайте<body style="margin:0; padding:0;">
<table align="center" width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="5f7f93" class="pad_null">
	<tr>
		<td>
			<table align="center" width="736" border="0" cellpadding="0" cellspacing="0" bgcolor="white">

и далее...
Первой таблицей задает ширину 100%, второй даем размер 736 и позиционируем по центру
Вопрос: Как добавить изменения ветки master в свою ветку, не потеряв изменения в последней?

Лучший ответ:
Опционально делаете fetch:git fetch
Затем выполняете слияние:git merge origin/feature-branch-name
Если есть конфликты резолвите удобным способом и коммитите:git commit -a
Затем отправляете изменения в свою удаленную ветку:git push

Худший ответ:
Фичей как правило называют отдельную ветку, которая по методике GitFlow размещается в "папке" с названием "feature/*". Но в вашем случае это может быть что угодно :)
Сливаете обыкновенно, ветку фичи в свою ветку, разруливаете конфликты, если они есть, и делаете коммит.
Если даже вы испортили слиянием что-то в своей ветке, вы сможете срезать этот коммит.
Сделайте копию своей ветки и в ней пробуйте, чтобы не испортить. Вы всегда точно должны понимать, что вы делаете и зачем.
Вопрос: Можете подсказать идеи для проекта?

Лучший ответ:
Отвечал уже тут, но повотрюсь...
Парсер свежего порно!

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

Лучший ответ:
Нельзя. Диск там наверняка бытовой-офисный, а он работает от +5.
Диску вредит не сколько холод, сколько конденсация воды.

Худший ответ:
1. формально надо смотреть на допустимые диапазоны температур и влажностей по паспорту дисков и регистратора
2. по-жизни конденсат для электроники - штука поганая, тем более для работающей.
Можно себе представить картину выпадения конденсата на блинах и последующего "катания на лыжах" головок по этому конденсату...
Вопрос: Путь к ИТ архитектору?

Лучший ответ:
Доброго времени суток. Я junior web developer. В данный момент пишу на php. Хочу спросить совета у опытных людей, как начинать двигаться в сторону ИТ архитектор
Рановато двигаться в сторону архитектора, Вы лучше двигайтесь в сторону Senior Developer и задавайтесь вопросом как Вам дойти до уровня Senior, а уже после достижения этой планки Вы сами поймете как развиться в архитектора.

Худший ответ:
Это просто опыт. Джуну до архитектора как до луны
Развиваться, читать, экспериментировать, читать, работать над разнообразными (а не над одинаковыми) проектами, читать.
Вопрос: Уязвимость что делать???

Лучший ответ:
Не раскрывайте себя (анонимное письмо) и в суд подать будет не на кого.

Худший ответ:
Если речь про РФ, то ""1. Неправомерный доступ к охраняемой законом компьютерной информации, если это деяние повлекло уничтожение, блокирование, модификацию либо копирование компьютерной информации, -
наказывается штрафом в размере до двухсот тысяч рублей или в размере заработной платы или иного дохода осужденного за период до восемнадцати месяцев, либо исправительными работами на срок до одного года, либо ограничением свободы на срок до двух лет, либо принудительными работами на срок до двух лет, либо лишением свободы на тот же срок.
www.consultant.ru/document/cons_doc_LAW_10699/5c33...
Т.е. если это посчитают неправомерным доступом(хз, как это будут определять) и ты удалил или скомпировал себе что-то, то да, сядешь
Вопрос: Какой движок выбрать для разработки игры на javascript?

Лучший ответ:
Самый подробно освещенный движок — phaser.io

Худший ответ:
В JS выбора по сути немного: pixi.js для более низкоуровневой разработки, и phaser для менее.
Вопрос: NET::ERR_CERT_AUTHORITY_INVALID на большинстве сайтов?

Лучший ответ:
Антивирусы с включенной проверкой SSL-соединений стоят?

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

Лучший ответ:
Еще один почувствовал, что его на@бали, тостер превращается в ebanoe.itЧувствую что что-то я делаю не так.  ты "не так" что-то сделал, когда выбрал айти. Гонка за знаниями, постоянная усидчивость постоянн.... Какое тут здоровье и время, о чем ты, дружок? Здоровье и время есть у барыг с рынка, у работников на заводе, да и вообще у 90% всех работяг. А твой удел - работать 8 часов, потом приходить домой и заниматься "САМОРАЗВИТИЕМ". Ты же наверняка хотел стать Джопсом или Цукербергом. Я джун, это моя первая работа.
Имею довольно слабое здоровье через 10 лет ты вообще в живой труп превратишься. выгоришь и индустрия и работадатели высосут из тебя все силы. Потом тебя спишут и найдут другого такого же, а ты пойдешь на свалку истории, как все айтишнички. 
Все.

Худший ответ:
Спортом занимайся.
Хорошо питайся.
Если полная апатия - сменяй профессию.
Вопрос: Какой плагин установить для редактирования старниц WordPress?

Лучший ответ:
Попробуйте Shortcodes Ultimate
Это набор из 50 шорткодов:
Находиться будет почти там где вы и хотели)

Худший ответ:
Желтым выделил область в которой хотелось бы видеть новые функции
Установить тот плагин, который реализует известные только тебе "функции" и добавит в редактор кнопки для их работы.
Вопрос: Отвалились smd компоненты на i3-6100, как определить что именно?

Лучший ответ:
но я так и не понял резистор это или сопротивлениеБез этого понимания дальнейший ремонт невозможен.

Худший ответ:
Вариант - найти похожий дохлый процессор . С него снять. Это кондёры. Либо при покупке в радимагазе - дать проц как пример.
Вопрос: Поможет ли SSD в производительности VMware?

Лучший ответ:
Ответ простой, конечно поможет.
Но особенно поможет установка максимального объема RAM с максимальной частотой при минимальном CL☝️.  И все эти три параметра, а именно их верхний порог, зависят от процессора, материнки –– нужно изучать страничку тех.характеристик на сайте производителя процессора и материнки.
А SSD –– уже чтоб совсем красиво было)

Худший ответ:
Попробуй parallels - он все-таки попроизводительнее VMWare.
Вопрос: Почему в браузерах не срабатывает скрипт JS?

Лучший ответ:
Потому что на момент выполнения строки $('.timeline').each(function(){
элемент <div class="timeline"></div> не существует.и вообще, это жесть

Худший ответ:
Простой jQuery плагин.snippet
Инициализация:$('.timer').timer({
	date: '12/25/2018',
	language: 'RU',
	template: function(time) {
		return `
			<span>
				Осталось
				${time.hours.value} ${time.hours.text},
				${time.minutes.value} ${time.minutes.text} и 
				<span v-if="${time.seconds.value > 5}">
					${time.seconds.value} ${time.seconds.text}
				</span>
				<span v-else style="color:red;">
					${time.seconds.value} ${time.seconds.text}
				</span>
			</span>
		`;
	}
});
P.S тема для которой был сделан плагин: перейти.
Вопрос: Как скрыть определённую строчку кода в Wordpress?

Лучший ответ:
Например с помощю условного тега <?php if( ! wp_is_mobile() ) {  
// тут код который не надо отображать на мобильных
} ?>
Для более тонкой настройки можете подключить внешний скрипт и пользовать его, например https://github.com/serbanghita/Mobile-Detect

Худший ответ:
Использовать media  в CSS
Вопрос: Как создать скрипт работающий без участия пользователя?

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

Худший ответ:
Почитайте о Cron. На сервере пишете скрипт который проверяет информацию об эффектах и бонусы, и сверяет время. Если время прошло - удаляет запись из БД. В крон добавляете задачу запускать скрипт каждые 2 минуты (или как вам надо) и все