Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как подключить платёжные системы к сайту на Django?

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

Худший ответ:
Сначала выбираете платежную систему (причем не разработчик, а владелец бизнеса, так как там могут быть разные условия, которые бизнесу не подойдут).
Потом читаете инструкцию у этой платежной системы.
Инструкция может быть как открыто опубликованная, так и по запросу предоставляемая.
Там все разжевано.
Вопрос: Как бы вы реализовали этот блок именно через бутсрап 4 [фото]?

Лучший ответ:
Я бы сделал так:<div class="d-flex flex-wrap">
    <div class="block">1</div>
    <div class="block">2</div>
    <div class="block">3</div>
    <div class="block">4</div>
    <div class="block">5</div>
    <div class="block">6</div>
</div>.block{
    max-width: calc(100%/3 - 20px); 
    margin: 10px;
    border: 1px solid #000;
}

Худший ответ:
Мне кажется, что правильно будет сверстать на flexbox. И с адаптивностю не нужно париться. flex-wrap: wrap для родителя и дело в шляпе. Чесно говоря, мне в кайф делать такие сетки на flexbox, но они редко попадаются
Вопрос: Какой выбрать SSL сертификат для онлайн сервиса продажи электронных товаров за крипту?

Лучший ответ:
Бесплатный letsencrypt чем не устраивает?

Худший ответ:
LE :) Там выпуск сертификата - $0 :)
Да, LE обычно вызывает известные сомнения в масштабах компании, ее стабильности и отношениях с законом. Но Вам, я думаю, на это пофиг :)
Вопрос: Как передать значение переменной js php?

Лучший ответ:
XMLHttpRequest (AJAX) - отправка и обработка ответ...
в статье есть хорошие примеры.
вам нужно в функции updateQty через AJAX запрос вызвать php скрипт и либо методом GET, либо методом POST передать в него данные.

Худший ответ:
ajax запросом
Вопрос: Использовать foreach или все ещё for т.к многие браузеры не поддерживают?

Лучший ответ:
Есть такая штука

Худший ответ:
Если вам важно поддержка всеми браузерами, то лучше просто используйте jQuery. Он создан в том числе и для этого - чтобы ваш код работал везде, где это возможно. Потому, что если задаваться вопросами вроде вашего, то тогда надо и другие функции учитывать, а там тот еще зоопарк.
Вопрос: Как проверить номер телефона через отправку кода sms?

Лучший ответ:
каждый прогер должен знать  https://www.twilio.com/sms
наджо дешевле - ищи пострановые варианты

Худший ответ:
Можно использовать SMSAero — по цене вполне оптимальный вариант для РФ.
Вопрос: Как в Symfony загрузить DTO в Entity?

Лучший ответ:
Вообще это плохая практика — маппить  на сущность дто.

Почему:  сущность — некоторый бизнес-обьект, он контролирует переходы состояния и инкапсулирует саму логику. Но сущность находится в контексте... бизнес-процесса, который выражен некоторым др видом классов (интеракторы или use cases, если терминами Боба Мартина), например в CQRS таким родом классов являются хэндлеры команд.
Итог: с сущностями напрямую скорее не стоит работать, тем более в сущностях не должно быть сеттеров :) и методов превращения данных из дто в явном виде ака fromDto(), как указал Flying (при всем моем уважении), тк это не бизнес-логика, а некоторая транспортно-приложенческая... Статические конструкторы могут быть, но не для дто, а для определенных данных, отображающих бизнес-возможность.

Кроме того, ваше решение чревато высокой связанностью — ваши сущности конструируются под дто, дто под сущности...

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

Худший ответ:
Зря я написал EntityDtoLoader?
Кто знает, вероятно зря.

Или как лучше?
Сложно сказать, пока что я не совсем понимаю, зачем вам в принципе DTO?
У вас экшн знает какие данные из Request обрабатывать - вытягивайте их явно и проверяйте, да кода больше, но на лонг ране это очень упрощает жизнь, вы явно видите где и что есть.
Дальше, если нужно запихиваете куда нужно.

Есть еще вариант - под каждый экшн сделать отдельный класс *Form / *Message, который на вход получает Request, прям в конструкторе вытягивает данные, валидирует их и запихивает к себе в приватные свойства, преобразовав типы. Наружу предоставляются геттеры.
Вопрос: Как защитить свои данные используя общий wifi?

Лучший ответ:
А какие такие "свои данные" могут быть на корпоративном wifi?

Худший ответ:
А какие такие "свои данные" могут быть на корпоративном wifi?
Вопрос: Как преобразовать ip адрес из одной подсети в другую с помощью микротик?

Лучший ответ:
Нат снизит производительность сети.
Может быть стоит настроить firewalls на клиентах?

Худший ответ:
Не стоит разворачивать NAT - так вы зарежете другие возможности, например доступ к сетевым шарам в соседней сети станет не тривиальной задачей. 
Виндовый фаервол относительно легко рулится удаленно даже без АД и т.п. - консольная команда netsh умеет удаленно управлять фаерволом. Естественно ее нужно запускать с админскими правами на удаленном ПК.
Надеюсь хоть логин/пароль админа у вас на компах один и тот же?
Вопрос: Радиомост на производстве?

Лучший ответ:
Посмотрите и вот в эту сторону
www.ubnt.su/ubiquiti/nanostation-m5.htm

Худший ответ:
Можно ubiquinty nanostation
Вопрос: Как обновить один файл формата .php на 10 сайтах?

Лучший ответ:
SFTP скриптом, самое простое.

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

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

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

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

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

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

Худший ответ:
В хозяйстве все пригодиться. Задел на будущее будет в случае чего податься в C# разработку. Если учат - надо учиться.
Вопрос: Что делать если youtube занимает слишком много времени?

Лучший ответ:
Тут речь о мягких навыках, в частности про управление собой и концентрацию.
Как вариант, использовать эту привычку во благо. Посещать ютуб стало привычкой, теперь нужно культивировать просмотр нужного контента.
Начать стоит с коротких полезных видео по тематике профессии или что-нибудь про софт-скилы. Уверен, что никаких резких изменений не последует, но, культ полезного контента даст плоды.
Вот например, чтобы изучить что-то основательно, нужно курить 3-4 часовые видео + практика, но в реалиях такого энтузиазма мало у кого есть, поэтому, как вариант начать с 5-15 минутных видео. Просто начать.
У меня была точно такая же история, только вместо ютуба я читал тостер)))) Понимая, что не могу с собой ничего поделать, я начал просматривать по 300-400 советов из разных тематик ежедневно в том числе рубрики в которых я полный ноль. А позже я культивировал полезный поиск + сбор полезных материалов, в том числе из комментариев.
Я купил ежедневник, где что-то зарисовываю или записываю о том, что я смотрю и читаю, подстегивая себя к новым знаниям. Это своеобразная медитация. Скептически всегда относился к ежедневникам, но оказалось забавно, как такая штука может якорить и напоминать: не останавливайся, чувак!
В один момент, я понял, что хочу углубляться по вопросам и перескочил с тостера на видео, книги и практику. Начинал так же, с банальных вещей, которые культивировал. Например, что такое цвет? И по 15-20 мин ежедневно что-то читал, смотрел изучал, пока не захотелось это делать по 30 мин в день. некоторые вещи я хочу делать теперь по 3-4 часа в день.
Мой посыл в том, что резкой перемены не произойдет. А чтобы произошла перемена ты сам должен сказать себе: так, мне пора на следующий уровень. Чтобы попасть на следующий уровень окружи себя инфополем текущего, пока эта информация не покажется усвоенной.
Повторюсь, если ты чувствуешь что жизнь идёт как у овоща, начни с примитивнейших вещей и самых простых ежедневных задач. Например, завтра делай всё тоже самое, только посмотри 10 минут видео, которое полезно, например про софт скилы. Завтра снова страдай херней, но снова посмотри 10 минут и так далее. Через месяц-полтора доза увеличиться, а свою привычку ты сможешь использовать во благо.Мягкие навыки 1мягкие навыки 240 правил философии ответственности обрати внимание на 2 правилотеория психикирекомендую его заметки
Давай ещё разок: тебе не сжигать мосты нужно, а выжать полезное действие из привычки. 
0. Никаких резких перемен не будет.
1. Почитать про софт скилы и что формирует их.
2. Продолжить смотреть ютуб, разбавив ежедневной рубрикой "полезные 15 минут"
3. Окружить себя инфополем текущего уровня, пока не захочется на следующий. А захочется, так как эти 15 минут превратятся рано или поздно в 20, а потом в 30. Культивация полезного действия.
4. Попав на новый уровень, проделать тоже самое.
Культ полезного действия применим к любым жизненным ситуациям. Учиться учиться, учиться правильно читать, искать, серфить, смотреть и слушать. Это тоже навык.

Худший ответ:
установи coldturkey, в блокируй ютуб (и другие ненужные сайты).
Вопрос: Для чего устанавливается Apache??

Лучший ответ:
php5.6 мне кажется устарел...
apache  и nginx  - все это веб-сервера. Иногда используются в связке. apache основной, nginx  - для кэша, например, для ускорения выдачи страниц.
Если не нужен apache  установите php-fpm: apt-get install php-fpm ("fastCGI process manager"). 
apt-get когда устанавливает php5.6 смотрит на зависимости и добавляет apache.

Худший ответ:
php5.6 мне кажется устарел...
apache  и nginx  - все это веб-сервера. Иногда используются в связке. apache основной, nginx  - для кэша, например, для ускорения выдачи страниц.
Если не нужен apache  установите php-fpm: apt-get install php-fpm ("fastCGI process manager"). 
apt-get когда устанавливает php5.6 смотрит на зависимости и добавляет apache.
Вопрос: Лучший ресурс(ресурсы) для изучения React.js для новичков?

Лучший ответ:
Официальная документация React

Худший ответ:
Если не шарите в вебе, начните не с реакта, а более основных технологий, которые там используются.
В первую очередь, это нативный JS + HTML\CSS.

Ресурсы:
HTML\CSS: 
HTML Academy
JS: 
Learn Javascript
MDN
You don't know JS
EggHead : JS 

И вот пройдя вот это все, переходить уже к реакту:
Офф. дока
 EggHead: React
Вопрос: Какой ЯП лучше изучать для автоматизации тестирования?

Лучший ответ:
Как отметили выше автоматизация разная: 
Если хотите автоматизировать мобилки то там swift и kotlin
Для браузерной автоматизации: лучше js и какой-нибудь cypress - что бы по максимуму и однородно закрыть автоматизацию как с моками так и без них
Если там апи автоматизация - то я бы взял Python - инструменты позволяют делать много и достаточно дешево по времени разработки, так же на нем и браузерную автоматизацию можно
Для перфоманс тестинга: я использую scala и gatling - ну тут можно в разные стороны смотреть.

Худший ответ:
Выбирайте Java, она, конечно, не в разы востребованнее, но вакансии встречаются чаще именно на ней
Вопрос: В чём проблема при установке Windows на жёсткий диск?

Лучший ответ:
Сделайте загрузочную флешку через стороннюю программу, например WinSetupFromUSB (никогда меня не подводила). Если через F9 результат останется прежний, то выставите приоритет флешки в bios/uefi
Если и это не поможет - проверьте хард на исправность

Худший ответ:
Если вы можете вытащить жесткий диск, очистите его, удалив разделы, тогда загрузчик UEFI BIOS не будет пытаться с него загрузиться.
p.s. есть ли в вашем биосе legacy boot? возможность загрузиться со внешнего устройства не имеющего раздела efi по старинке через mbr. Загрузочные диски установщика windows могут и legacy и efi. Так же вы можете сделать себе live usb ubuntu скачав ее с офф сайта или торент и запустить ее, почистить диск прямо в ноутбуке, проверить его на ошибки и прочее.
Вопрос: Не работает скрипт движения персонажа. Что делать?

Лучший ответ:
А почему $$? Мне кажется там должно быть &&
if (isGrounded && Input.getButtonDown("Jump"))
            Jump();

Худший ответ:
Надеюсь это не рофл пост. 
Так будет работать.

[SerializeField] private LayerMask _ground;
    [SerializeField] private Transform _groundCheckPoint;
    [SerializeField] private float _groundCheckRadius;
    
    [SerializeField] private float speed =3f;
    [SerializeField] private int lives = 5;
    [SerializeField] private float jumpForce = 15f;
    private float _horizontalInput;
    private bool isGrounded;
    


    private Rigidbody2D rb;
    private SpriteRenderer sprite;


    private void Awake()
    {
        rb = GetComponent<Rigidbody2D>();
        sprite = GetComponentInChildren<SpriteRenderer>();
    }

    private void Update()
    {
        //Input получать лучше в Update
        ProcessedInput();
        
        //Ты сначала выучи c#, потом на unity пиши, правильно не $$, а &&. Это же основы лол.
        //GetAxisRaw возращает float, а не bool
        if (CheckGround() && Input.GetButtonDown("Jump"))
            Jump();
    }

    private void FixedUpdate()
    {
        Run();
    }

    private void ProcessedInput()
    {
        //Лучше использовать GetAxisRaw, а не просто GetAxis, т.к. Raw возвращает числа -1 0 1, в отличие от GetAxis где числа не целые.
        _horizontalInput = Input.GetAxisRaw("Horizontal");
    }
    
    private void Run()
    {
        Vector3 dir = transform.right * _horizontalInput;
        
        //Не MoveTovard, а MoveTowards
        transform.position = Vector3.MoveTowards(transform.position, transform.position + dir, speed * Time.deltaTime);

        sprite.flipX = dir.x < 0.0f;
    }

    private void Jump()
    {
        //Ты где код пишешь? В блокноте? Почему столько ошибок???
        rb.AddForce(transform.up * jumpForce, ForceMode2D.Impulse);
    }

    //И как ты вообще получаешь isGrounded, если ты функцию нигде не вызываешь???
    private bool CheckGround()
    {
        //Используй LayerMask и на то, что у тебя ground поставь нужный LayerMask
        var collider = Physics2D.OverlapCircleAll(_groundCheckPoint.position, _groundCheckRadius, _ground);
       return isGrounded = collider.Length >= 1;
    }
    
    //Чтобы было легче настроить CheckGround
    private void OnDrawGizmosSelected()
    {
        if(_groundCheckPoint == null)
            return;
      
        Gizmos.DrawWireSphere(_groundCheckPoint.position, _groundCheckRadius);
    }
Вопрос: Почему вылезает части php кода на странице с HTML?

Лучший ответ:
Если у вас не включен: short_open_tag = On, и версия php не ниже 5, то начало php скрипта должно с <?php у вас <? Из-за этого и скрипт показан скорее всего

Худший ответ:
Если у вас не включен: short_open_tag = On, и версия php не ниже 5, то начало php скрипта должно с <?php у вас <? Из-за этого и скрипт показан скорее всего
Вопрос: Как отправлять смс через php?

Лучший ответ:
У вас вопрос неверный.
Вы спрашиваете про отправку через php, а по сути ищете наименее затратный способ.
--
Я себе сделал бесплатный от слова совсем, даже 600 смс и за те не плачу)
правда, железо у меня уже было (домашнее).
---
Нужно:
1. Модем e3372
2. Роутер Кинетик с usb
3. Сим-карта Дэником, которая на тарифе за 0 рублей дает 600 смс просто так, либо мегафон или Yota дают условный безлимит на смс за 50 рублей. По сути блокируют отправку, если превышаешь лимит в час.
4. Белые ip не нужны. Интернет на Сим карте тоже не нужен

Модем прошиваем в hilink, на роутере включаем keendns, добавляем модем к этой службе, при включении будет выдан адрес в сети интернет и ssl, там же в роутере закрываем модем паролем.

Далее к модему можно обращаться не только по локальной сети 192.168.8.1, но и из интернета (спасибо кинетик)

Пишем php код, нужно написать несколько функций (отправка, получение, удаление, получение токена)
Вот пример:
//функция Отправки СМС
function send($sms_phone, $sms_message){
  $xml = auth();
  $options = array(
    CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
    CURLOPT_USERPWD => 'admin:34543sdd4!@0',
    CURLOPT_URL => 'https://modem.ВАШЕ_ИМЯ.keenetic.link/api/sms/send-sms',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_USERAGENT => 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
    CURLOPT_HTTPHEADER => array("X-Requested-With: XMLHttpRequest",'Cookie:'. $xml->SesInfo,'__RequestVerificationToken:'. $xml->TokInfo,'"Content-Type:application/x-www-form-urlencoded; charset=UTF-8"'),
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => "<request><Index>-1</Index><Phones><Phone>".$sms_phone."</Phone></Phones><Sca/><Content>".$sms_message."</Content><Length>5</Length><Reserved>1</Reserved><Date>".date("Y-m-d H:i:s")."</Date></request>"
  );
  $curl = curl_init();
  curl_setopt_array($curl, $options);
  curl_exec($curl);
  curl_close($curl);
};

И сама отправка:
send($sms_phone, $sms_message);
На сервере нужно делать проверку номера и спам-защиту:
Проверка можно делать тут, включая ограничения по региону:
rosreestr.subnets.ru/?get=num&num=79152000200
--
Тем самым ваш сайт может слать смс. 

Вы можете отправлять и получать СМС в телеграм/из телеграм.
Ничего не платите, если не беспределите, не рассылаете рекламу и не превышаете лимиты

Для клиентов, когда важно передать именное смс, а не циферное, использую www.smsimple.ru
В среднем отправка 2,30 рубля

Худший ответ:
Чтобы отправить SMS на номер +79040601199 из php выполните код:
<?php

header('Content-Type: text/html; charset=utf-8');

$url = 'https://sms.ru/sms/send?api_id=0165484B-5891-4EA8-FD86-D4BB4A0A7CCA&to=79040601199&msg=Prvet+vsem&json=1';

echo file_get_contents($url);

Где api_id это уникальный ключ полученный из личного кабинета на сайте sms.ru,
to - номер получателя,
msg - текст сообщения.
Вопрос: Как посмотреть письмо перед отправкой в Bitrix?

Лучший ответ:
boris tyrepharm, к сожалению вы не можете посмотреть "будущие" письма, так как такая генерация очень сложна.
Но вы можете посмотреть существующее письмо в новом дизайне. К тому же - вы можете увидеть только как будет выглядеть ваше письмо, если его вывести в браузере, но это не одно и то же, как если оно пройдет через MTA и будет отображаться в Outlook/Thundebird/OWA и т.п.

Например я хочу посмотреть как приблизительно(*) будет выглядеть сообщение с ID 336020 (в таблице b_event), после изменения дизайна в существующем шаблоне.
use Bitrix\Main\Mail;

/**
 * Get from b_event table
 * @var integer Existed event id
 */
$displayedEventId = 336020;

/**
 * List of site ids, for event theme generation
 * must be replaced by current site id in public
 * @var array
 */
$arSites = [
	's1'
];

try
{
	/**
	 * First, try to find event
	 */
	$arEvent = Mail\Internal\EventTable::getRow([
		'filter' => [
			'=ID' => $displayedEventId,
		]
	]);

	if ( !$arEvent )
	{
		throw new \Exception('Event not found');
	}

	$arEvent['FIELDS'] = $arEvent['C_FIELDS'];

	/**
	 * Try to find all message templates for 
	 * sites. In event handler we send for one letter
	 * per site.
	 */
	$arEventMessageFilter = [
		'=ACTIVE' => 'Y',
		'=EVENT_NAME' => $arEvent["EVENT_NAME"],
		'=EVENT_MESSAGE_SITE.SITE_ID' => $arSites,
	];

	$messageDb = Mail\Internal\EventMessageTable::getList([
		'select' => ['ID'],
		'filter' => $arEventMessageFilter,
		'group' => ['ID']
	]);

	foreach ($messageDb as $arMessage)
	{
		$eventMessage = Mail\Internal\EventMessageTable::getRowById($arMessage['ID']);

		$eventMessage['FILES'] = array();
		$attachmentDb = Mail\Internal\EventMessageAttachmentTable::getList(array(
			'select' => array('FILE_ID'),
			'filter' => array('=EVENT_MESSAGE_ID' => $arMessage['ID']),
		));
		while($arAttachmentDb = $attachmentDb->fetch())
		{
			$eventMessage['FILE'][] = $arAttachmentDb['FILE_ID'];
		}

		$arFields = $arEvent['FIELDS'];

		// get message object for send mail
		$arMessageParams = array(
			'EVENT' => $arEvent,
			'FIELDS' => $arFields,
			'MESSAGE' => $eventMessage,
			'SITE' => $arSites,
			'CHARSET' => $charset,
		);
		$message = Mail\EventMessageCompiler::createInstance($arMessageParams);
		$message->compile();
		echo $message->getMailBody();
	}
}
catch( \Exception $e )
{
	var_dump($e);
}

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

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

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

Лучший ответ:
Самый удобный и правильный способ при использовании шаблонов страниц использовать is_page_template

Худший ответ:
Может кто заюзает, сделал в итоге так: if(is_page_template('template.php')){
		wp_enqueue_style ( 'template-main-css', get_template_directory_uri() . '/assets/template/css/main.css', array(), '1.0' );
		wp_enqueue_script ( 'template-main-js', get_template_directory_uri() . '/assets/template/js/main.js', array(), '1.0', true ); //если true то скрипт подгружается перед </body>, если false то в head
	}
Вопрос: Как менять текст чекбокса при клике?

Лучший ответ:
У чекбокса нет своего текста, оберни input в label и вставляй в него текст<label><input onClick={this.changeTitle} type='checkbox' value={!this.state.clicked ? 'lf' : 'ytn'} />{!this.state.clicked ? 'lf' : 'ytn'} </label>

Худший ответ:
У чекбокса нет текста, есть только value значение

render() {
        return(
          <div>  
            <input onClick={this.changeTitle} type='checkbox' value={this.state.clicked} />
            {!this.state.clicked ? 'lf' : 'ytn'}
          </div>
        )
    }
Вопрос: Где пригодятся побитовые операции в PHP?

Лучший ответ:
Использую при работе с IP. Если ipv4 представлен в виде int ip2long легко работать с масками, определять, принадлежит ли ip определённой сети и т.п.
Также РЕДКО использую для описания состояния некоторых свойств классов/сущностей. Например у некоторой сущности есть статус, который может принимать значения: новый, в работе, остановлен, скоро запустится, скоро будет остановлен. Естественно свойство может принимать комбинации статусов - остановлен и скоро запустится или в работе и скоро будет остановлен. На пальцах:
новый 00001
в работе 00010
остановлен 00100
скоро запустится 01000
скоро будет остановлен 10000
Тогда комбинация остановлен и запустится 01100 
Вот для проверки каким статусам соответствует поле используются битовые операции

Худший ответ:
например выставлять/сбрасывать/сравнивать состояния каких либо "флагов" и хранить их в одной переменной
один флаг - один бит
0 - сброшен
1 - установлен
как-то так.
PS: и такой вопрос уже был, см. - Для чего нужны побитовые операции?
Вопрос: Как обновлять контент в реальном времени?

Лучший ответ:
гугли websocket

Худший ответ:
зависит от конкретики конечно, но скорее всего тебе нужно освоить ajax запросы, ну или commet :) хз что там у тебя