Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: 3G модем и vpn, как организовать совместную работу?

Лучший ответ:
не может он идти в обход впн. у впн соединения приоритет выше.

Худший ответ:
Путем проб и ошибок найдено: 
модем Huawei E171, заточен под МТС, в виртуалке пускается без проблем, виртуалка VM Ware 11...
пробовал разнообразные VPN, выставлял сам, качал клиенты.. наиболее адекватным оказался www.vpngate.net/en/download.aspx - просто скачал, установил, следовал инструкциям... небольшая проблема с серваками - часто падают и соединение естно рвется(( после перебора нашел относительно стабильные и всё стало ншт!:) - свой ip скрыл, ну и VPN канал пусть и халявный, но всё же польза!
Надеюсь сие может пригодиться кому  при организации впн"а через 3G модем - проблема решена, отдельное спасибо Сергей за борьбу с моей глупостью!
Вопрос: Как переустановить Ubuntu с флешки?

Лучший ответ:
Простая инструкция: help.ubuntu.ru/wiki/%D1%83%D1%81%D1%82%D0%B0%D0%BD...

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

Лучший ответ:
style.
  /* =include app/css/main.css */
Тоже работает.

Худший ответ:
Попробуйте <style>/* =include app/css/main.css */</style>
Или!= '<style>/* =include app/css/main.css */</style>'
Вопрос: Html. Как заставить браузер делать отступ от верхней границы при переходе по якорным ссылкам?

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

Худший ответ:
А вы не пробовали jquery.scrollTo? (http://archive.plugins.jquery.com/project/ScrollTo)
Вопрос: Почему при попытке отправить ajax запрос на сервер методом post выскакивает ошибка 500 Internal Server Error?

Лучший ответ:
Добавьте token<input type="hidden" name="_token" value="{{ csrf_token() }}" />
в запрос к серверу и все будет окей, либо смените тип с post на get,
Не принимает потому что стоит csrt защита, помогает она защититься от подмены запросов.
И новогодний подарок - ошибку можно посмотреть в консоли браузера, там все интуитивно понятно.

Худший ответ:
Дело не в ajax, дело в том, что на принимающей стороне. То ли htaccess неправильно настроен, то ли падает скрипт, а падение бэкэнда всегда 500
Вопрос: Как удалить объект через функцию?

Лучший ответ:
var kill = function(obj) { // delete the object - does not work
  delete obj;
}
вызов kill(obj); удаляет объект, который находится в контексте самой функции проще говоря происходит примерно такое:
есть var a = { ... };
kill(a) /* obj = a; delete obj */ другими словами удаляет клонаvar kill2 = function(obj) { // replace with an empty object - does not work
  obj = {};
}
здесь объект очищается а не удаляется
вопрос, чем встроенная функция не угодила? что должно происходить? просто delete a;
а если через функцию:function kill_obj (obj) {
detele window[obj];
}

kill_obj('str_name');

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

Лучший ответ:
Конфиги nginx позволяют делать include, поэтому можете все sensitivity данные выложить в отдельный файлик, и добавить его в .gitignore, а остальное можно и в гите хранить (но лучше не гитхаб, а свой).
Стандартный велосипедный способ для конфигов - перед тем как поменять config.cfg делаешь
cp config.cfg config.cfg-yymmdd
можно и им обойтись.

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

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

Худший ответ:
Раньше было модно называть фронт-енд специалиста технологом,  если не ошибаюсь это пошло с легкой руки бюро Горбунова.  Так как понятие фронт енд специалист еще не вошло в обиход.  А человека который и верстает и программист на is , а также немного разбирается в админстве и бекенде. Эдакий сногорукий многоног с упором на фронт.  А в вашем случае помошник технолога всего лишь верстальщик
Вопрос: Стоит ли сейчас писать свою социальную сеть?

Лучший ответ:
Если вам нечем себя занять и есть что кушать - стоит.
Это хорошая профессиональная практика.

Худший ответ:
Главное в сот-сетях не количество фич и багов, а количество людей. Вряд ли кому то будет интересна социальная сеть с пару сотнями юзеров. Так что лучше не тратьте на это время. Если уж очень хочется что-то сделать - сделайте аналог FaceApp с расизмом, и желательно веб версию. Народ толпой пойдет к вам
Вопрос: Два вопроса касательно iMac?

Лучший ответ:
Память должна быть PC3-10600 1333MHz DDR3 SDRAM. Производитель не принципиален.
Требования к памяти и процесс установки

Худший ответ:
2. Хоть и не по тему, но у меня себя Win7 себя так ведёт. Несколько раз включался самостоятельно, хотя реагирование на сетевую активность тоже отключено.
Вопрос: Как сгенерировать Private Public Key?

Лучший ответ:
Private key и public key это неразрывная пара, их генерирует первая команда. В файле privkey.pem будут оба ключа, и закрытый, и открытый. 
Про опции - почитайте openssl --help или просто уберите "privkey.pem" из строки, вроде как для запуска достаточно только -key и -out, а данные для запроса в ЦС потом введете руками.

Худший ответ:
Private key и public key это неразрывная пара, их генерирует первая команда. В файле privkey.pem будут оба ключа, и закрытый, и открытый. 
Про опции - почитайте openssl --help или просто уберите "privkey.pem" из строки, вроде как для запуска достаточно только -key и -out, а данные для запроса в ЦС потом введете руками.
Вопрос: Конденсаторы в БП?

Лучший ответ:
По поводу напряжений: по спецификации допуски +5 и +12 В ±5%, то есть максимум — 5.25 и 12.6 В, у вас всё в порядке.

Худший ответ:
У каждой микросхемы есть определенный «запас прочности», иными словами- разность показателей, в пределах которых все составляющие схемы работают нормально (простой пример- лампочка «Ильича», расчитанная на 220-240В.). Сейчас вы подвергаете их определенному воздействию, которое немного выше номинальных показателей (12.28 вместо 12 и 5.13 вместо 5, хотя разумеется, что блок питания не выдает ровно 5 и ровно 12в). 
Основная характеристика конденсатора- это емкость. В Вашем случае она не изменилась. По идее, все должно работать и так, но я бы перестраховался и сходил в магазин радиодеталей…
Вопрос: Какие базы данных используют в крупных веб приложених?

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

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

Лучший ответ:
Делайте на том что знаете лучше. На мой взгляд и то и то будет хорошо, если правильно сделать.
Node или php - старая песня. Много споров, кроме гнева и невежества в них ничего нет. И та и та технология по своему хороша. Скорее дело вкуса. У меня аллергия на node, но есть куча людей с теме же симптомами к php.как связывать клиент и сервер http (1.1/2) или websocket Я думаю стоит связывать по http и местами websocket где это необходимо.

Худший ответ:
Вы, ИМХО, не с того начинаете... Я бы начал с минимального проектирования архитектуры, потому что на вопрос КАК РЕАЛИЗОВАТЬ? отвечают все описанные вами инструменты и технологии, а вот на вопрос ЧТО РЕАЛИЗОВАТЬ? должны для начала ответить Вы. И вот тогда уже можно выбирать на каком стеке технологий это реализовывать.
Вопрос: Получится ли запитать MikroTik от блока питания ATX?

Лучший ответ:
Главное полярность не перепутайте. Теоретически проблем не будет
Нашел еще такое: 8-28V DC Jack или 8-28V DC PoE в порт Ether1
Обязательно перепроверьте по коробке или наклейке на корпусе

Худший ответ:
От ATX че тока не подключали, главное условие чтобы железка нормально работала от 12 или 5В, ну и не путать полярность.
У самого в одно время на ATX висели: колонки sven - какраз из-за недостатка дырок в удлиннителе, монитор LG - сгорела шимка, некогда было ехать в другой город покупать, usb-хаб и чего-то еще
А роутерборд питается 5ю вольтами, по входу стоит DC-DC поэтому ему напряжение не критично
Вопрос: Научиться парсингу — с чего начать?

Лучший ответ:
1) Нужно иметь представление, как загружаются и работают сайты. Тут необходимо иметь представление и о том, что полезный контент может появится на сайте и после загрузки через определенное время. 
2) Нужно иметь представление, как работает самый обычный способ получения контента - Curl. Попробуйте скопировать что то, поработать, представить в xml документ и тд. Тут вы определитесь с принципом работы парсера. 
 - парсер получает вводую информацию -> с учетом программы и вводных данных, парсер запрашивает определенные данные ->  парсер обрабатывает данные для пользователя -> при необходимости, парсер повторяет запрос (инициированный пользователем или рекурсий) -> конец
3) Далее вы дойдете до механизмов защиты от парсинга:
- ограничение запросов на 1 ip, на один клиент и тд
- подгузка информации после загрузки контента 
- дополнительный запрос на подгрузку контента с CSRF и другими способами
- блокирование ip 
Это откроет вам парсеры типа PhantomJs,  Научит пользоваться прокси, мимикрировать под популярные браузеры и тд. 
Так же вы дойдете до многопоточности работы парсера, и подумаете о переходе на C и подобный язык программирования. Общаясь с сайтом уже посредством api. 
А дальше, сталкиваяь с новыми проблемами, будете их решать.

Худший ответ:
(2) теоретически парсинг _любых_ текстовых форматов в самом общем смысле можно делать связкой flex/bison/C++:
1) прописывая регулярки для элементов языка входных данных (строки, числа, тэги,...), затем
2) на bison описываете грамматику входного языка (вложенные тэги, правила расстановки атрибутов, вложенные скобочные выражения и т.п.),
flex/bison генерит пару сишных/С++ файлов, выполняющих всю грязную работу по синтаксическому разбору формата, дергая для каждого определенного элемента _ваш_ кусок сишного кода. Что потом делать с этими данными (пихать с СУБД, генерировать AST для компилятора, просто вычленять нужные единичные данные,..) описываете сами на С++.
У этого подхода соотношение низкоуровневость*гемор/универсальность стремиться к бесконечности, но по мере наработки библиотеки С++ кода для ваших узких задач для каждой N+1 задачи все сводится к генерации типовых высокоуровневых объектов (символов, списков, деревьев и т.п.), и пары десятков строк кода именно для этой задачи.
Вопрос: В чем ошибка вывода данных используя fetchObject(__CLASS__) и fetchAll(\PDO::FETCH_CLASS, __CLASS__)?

Лучший ответ:
учимся читать и понимать ошибки.Too few arguments to function Modules\User1::__construct(), 0 passed and exactly 1 expectedв конструкторе User1 ожидается 1 параметр, передано 0 параметров.
смотрим код - так и есть, конструктор принимает один параметр.
смотрим код дальше:return $this->_db->run($sql, [$id])->fetchObject(__CLASS__);создает инстанс User1, но аргумент в конструктор то не передает. отсюда и ошибка.
поэтому передаем его явно:return $this->_db->run($sql, [$id])->fetchObject(__CLASS__, [$this->_db]);
a вообще: чтение документации и логика - лучшие помощники в таких ситуациях.

Худший ответ:
А мой предыдущий ответ не помог, видимо?
Как решить ошибку при получении результата к бд?
Вопрос: Отключается монитор в Google Chrome, что делать?

Лучший ответ:
Так флеш-плеер же первым делом переставить

Худший ответ:
Проверьте не включено?
chrome://flags/ -> Ускорение работы фильтров SVG и CSS с помощью графического процессора.
Вопрос: Почему так страдает разрешение?

Лучший ответ:
Судя по скриншоту, вы используете WinForms, который не умеет работать, отличный от стандартного DPI 96. Если вы хотите, чтобы всё корректно отображалось, то нужно переходить на WPF/UWP.

Худший ответ:
Что это за вопрос? Похоже Вы не только программы писать не умеете, но ещё и html-тегами не владеете. Сделали бы хоть картинку кликабельной, хоть как-то. У Вас не только разрешение не видно, но ещё и записи.
Вопрос: Composer autoload как работает?

Лучший ответ:
он подгружает только то что требуется в коде
там загрузчик добавляется через php.net/manual/ru/function.spl-autoload-register.php

Худший ответ:
Ох :) 
Композер просто скачивает библиотеки к вам в проект и прописывается в autoload.
Autoload не работает как "загрузи все в меня прямо сейчас а ну быстрее!!!". Он работает только при обращении к классу, которого нет в текущем файле.
Вопрос: Как узнать кол-во процессов и кодировку файловой системы c помощью python?

Лучший ответ:
sys.getdefaultencoding() - возвращает используемую кодировку
sys.getfilesystemencoding() - возвращает кодировку файловой системы

Худший ответ:
Воспользоваться psutilimport psutil

for proc in psutil.process_iter():
    try:
        pinfo = proc.as_dict(attrs=['pid', 'name'])
    except psutil.NoSuchProcess:
        pass
    else:
        print(pinfo)
Вопрос: Почему во многих галереях присутсвует сетка на фоне?

Лучший ответ:
Разрешение мониторов варьируется очень сильно, и если сервер отдает только 1 картинку определенного размера это простой способ скрыть недостатки маленькой картинки на большой разрешении читай экране. К примеру дома у меня стоит монитор с разрешением 1024х768 а на работе 1920х1080, берем нечто среднее пусть это будет 1440х900 накладываем поверх слой с точками, если же теперь я буду смотреть эту картинку с работы то она увеличится на 60% и чтобы скрыть артефакты такого увеличения делают слой с точками.

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

Лучший ответ:
Если кто-то столкнулся с данной проблемой, как вариант, можно поменять npm на yarn. Мне помогло

Худший ответ:
Решил проблему,  дело было в прокси сервере, не знаю откуда он взялся...
Решение описано здесь
stackoverflow.com/questions/20934343/how-to-restor...
Вопрос: Кроссплатформенность приложений на Qt. Как справится с большим размером статически линкованных библиотек?

Лучший ответ:
У вас проблема в терминологии - при статической линковке вы на выходе должны получить ровно один файл, который зависит только от стандартных библиотек Windows. При этом вы можете так собрать статические библиотеки Qt, что в них не будет "лишнего" (функционала Qt, который в вашей программе не задействован). 
Здесь у вас будут три проблемы:под форточками собирать qt - удовольствие ниже среднего (вы не сможете слету открыть терминал и вбить туда make)параметры сборки под ваше приложение придется долго подбирать, а если у вас нет кластера для сборки, вы можете собирать каждую новую версию qt по полдняесли у вас коммерческий продукт, изучите внимательно, как LGPL относится к статической компоновке
После этого, на полученный файл можно будет натравить упаковщик типа UPX, что позволит выиграть еще процентов 30.

Худший ответ:
На маке-то зачем статическая линковка? Там все равно будет все одним .app файлом, все нужные динамические библиотеки заливаются через macdeployqt.
Вопрос: Какие реализации могут быстро искать пересечение множеств (система тегов)?

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

Худший ответ:
Оставлю как ремарку для истории. На данный момент схема в sphinx получается самой быстрой. Вопрос с дельта индексом решился просто более частым его пересчетом. Теперь приложение следит за его размеров и как только в нем больше 20к документов, запускается ротирование. Получается требуемая быстрота выборки даже на сложных запросах.
Вопрос: Как верстать на мониторе 1024 px макеты?

Лучший ответ:
Браузер хром в помощь - в панели разработчиков через ctrl+shift+m включаешь device toolbar и там выставляешь нужное разрешение. Да, результат будет в масштабе или не целиком, будет не удобно, но хоть как-то... 
Еще может помочь смотреть, как будет выглядеть на больших разрешениях сервис quirktools.com/screenfly (ссылки типа localhost ест)

Худший ответ:
Ctrl +, Ctrl -, Ctrl 0 - масштаб
Ctrl+Shift+M (firefox) - мобильный просмотр на бОльших разрешениях
Вопрос: Правильно ли я использую PHP-DI?

Лучший ответ:
нет, вы не правильно уловили идею. Передавать весь контейнер в качестве зависимости это нарушение этого самого паттерна и принципа инверсии зависимостей. Так можно делать только в случае циклических зависимостей либо же просто как альтернатива ленивой инициализации сервисов (хотя альтернатива так себе, а циклических зависимостей надо избегать).
1) читаем про принцип инверсии зависимостей
2) читаем про внедрение зависимостей
3) если уж используете безымянные классы то они должны имплементить какой-то интерфейс или же экстендиться от какого-то класса.
Вместо того что вы хотите должно быть:class Foo {
     private $db;

     public function __construct(Connection $connection) {
           $this->db = $connection;
     }

     public function makeFoo() {
          return $this->db->getRows(); // как вы и хотели
     }
}

// а это уже дергаем в конструкторе
$foo = $di->get(Foo::class);
$foo->makeFoo();
то есть в контроллерах мы дожны дернуть сервис который вернет нам готовые данные.

Худший ответ:
в Falcon успешно используется такой подход docs.phalconphp.ru/ru/latest/reference/di.html
Вопрос: Как разрабатывать при помощи bem-core и bem-tools?

Лучший ответ:
Как по мне, дак для личного проекта или проекта где вы единственный фронтендер, юзать интструменты для БЭМА это извращение. Просто пишите классы по методологии, адаптировав её немного под себя, и не издевайтесь над собой.

Худший ответ:
А разве оф.документация  не дает исчерпывающих ответов ?
Вопрос: Книга по php/mysql

Лучший ответ:
Возможно, эта книга будет вам интересна:
Джордж Шлосснейгл — Профессиональное программирование на PHP

Худший ответ:
Как всегда в таких случаях, рекомендую php.net/manual
Вопрос: Как правильно выбрать ноутбук?

Лучший ответ:
На olx количество мошенников зашкаливает. Рейтинг продавца или история сделок - отсутствуют как явление. Максимум что можно посмотреть - какие у автора объявления в текущий момент.
Берите лучше в нормальных магазинах. Цены можно сравнить через hotline или price.ua.
В некоторых случаях выгоднее заказать из-за рубежа, может выйти заметно дешевле даже с учетом доставки. гарантия при этом только от производителя, естественно.

Худший ответ:
Берите Этот или тот который вы предложили. Какой из этих двух выбирать вам, но я бы взял 2, правда он чутка дороже, но сейчас там хэллуин и New Year скоро и может под скидку и попадете.
Вопрос: Что означает 't' в запросе?

Лучший ответ:
Это псевдоним таблицы.SELECT t.* FROM eps_gallery t WHERE t.type = 1 ORDER BY t.id DESC

Худший ответ:
t- может быть псевдоним какой то для таблицы, тогда не понятно зачем кавычки
проверьте может так получиться  SELECT * FROM eps_gallery WHERE type = 1 ORDER BY id DESC
Вопрос: Как сделать динамическую смену обложки Вк?

Лучший ответ:
https://vk.com/dev/photos.getOwnerCoverPhotoUpload... 
https://vk.com/dev/photos.saveOwnerCoverPhoto
Контакт родил API для этого)

Худший ответ:
в апи не было методов для смены обложки. (по крайней мере месяц назад).
Вопрос: Так ли нужен SSl-сертификат для информационного сайта?

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

Худший ответ:
https://toster.ru
https
Да
Нужен
Вопрос: Django: Как добавить данные из бд на каждую страницу (а-ля @inject in Laravel)?

Лучший ответ:
В случае fbv - functional based views - делаем функцию, которая возвращает контекст и исполняем ее в каждом вью
CBV - ContextMixin
Менее желательно, использовать context processor
Cовсем плохо - tags

Худший ответ:
TemplateTags https://docs.djangoproject.com/en/1.11/howto/custo...
Если коротко создаете кастомный тег, используете его в шаблоне и PROFIT
Вопрос: Какие существуют метода и процедуры обеспечения безопасности командировочных ноутбуков в домене?

Лучший ответ:
1) Первый метод это шифровать буки, перекрывает риски потери\кражи и т.п. Например diskcryptor или виндовое что-то - на любителя
2) Бэкдорчик для возможности удаления инфо\отвлеживание бука а-ля ptraffer.ru/analiz-trafika/70-control-monitor
Остальные вопросы или первый пункт продолжают или второй, так сказать

Худший ответ:
Первое.
Поддержываю предыдущие коментарии об защите HDD путем шифрования. 
Рекомендую продукт SafeGuard Encryption от Sophos. Блок после х попыток, вход только для заранее авторизированных пользователей и тп. 
Второе.
Это политики ИБ для сотрудников, в которых описанны правила поведения вне офиса (командировка, дом) и тп.
Вопрос: Как можно извлечь код из codepen?

Лучший ответ:
Так подойдет?

Худший ответ:
скинь кодопен
Вопрос: Какой игровой/физический 2d движок на javascript выбрать?

Лучший ответ:
В pixi нет физики, надо брать отдельный движок — Box2D или Bullet. В phaser физика встроена.
phaser более высокоуровневой, и если вы не делаете что-то совсем невероятное и доселе небывалое, он быстрее приведет вас к цели. Туториалов на него едва ли не больше, чем ангуляр.

Худший ответ:
Самого интересует такой вопрос :) Написал анимацию исключительно на Pixi.js, но сейчас хочу добавить реакцию на столкновения и приходится писать свои методы и функции... 
Нашел Panda.js, очень понятен код и много полезных функций для меня...
Вопрос: Как ограничить доступ к серверу по ssh для всех, кроме нескольких адресов?

Лучший ответ:
Добавить в /etc/ssh/sshd_configAllowUsers      <логин>
и пусть хоть треснут, пытаясь подобрать пароль. Пароль для <логин> ессно должен быть хорошим. А лучше всего - аутентификация по ключу.

Худший ответ:
- используйте fail2ban
- настройте iptables/ufw для разрешения подключения только с доверенных подсетей/хостов.
- используйте авторизацию по ключам
- опционально можно использовать параметр AllowUsers в конфиге ssh (/etc/ssh/sshd_config):AllowUsers username@14.88.10.0/24 - разрешение подключаться пользователю username с адресов, входящих в подсеть 14.88.10.0/24
Вопрос: Почему не срабатывает php код с else?

Лучший ответ:
<?php if ( is_front_page() ) : ?>
         <div class="header-page clearfix">
              <h2 class="name-page">Акции</h2><a href="#" class="cart-btn">
              <div class="cart-btn__img"><img src=" <?php echo esc_url( get_template_directory_uri() );?>/img/shopping-bag.svg" alt=""></div>
              <div class="cart-btn__text">Ваша корзина</div></a>
         </div>
<?php else: ?>
        <div>AAAAAAAAAAAAAAAA</div>
<?php endif; ?>

Худший ответ:
Не рассчитываю на правильность и безопасность кода, но я бы реализовал так, если код будет небольшой.
Надеюсь знающие люди объяснят, если данный код не правильный.<?php 
    if( is_front_page () ) {
        echo ('<div class="header-page clearfix">
                    <h2 class="name-page">Акции</h2>
                    <a href="#" class="cart-btn"><div class="cart-btn__img"><img src="'.get_template_directory_uri().'"/img/shopping-bag.svg" alt=""></div>
                    <div class="cart-btn__text">Ваша корзина</div></a>
               </div>');
}   else {
        echo ('<div>AAAAAAAAAAAAAAAA</div>');
}
?>