Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Почему в React такая схема?

Лучший ответ:
Рендерится то что вернётся из функционального компонента App().
App() рендерит div внутри которого 3 раза рендерится то, что вернёт компонент Welcome(), который, в свою очередь, возвращает заголовок с приветствием.
Вот такой порядок. В чем проблема?
Если через ReactDOM отрендерить тег Welcome мы получим один заголовок с приветствием вместо трёх

Худший ответ:
Два функциональных компонента первый - App выводит пачку вторых компонентов Welcome
Открой песочницу и сам попробуй написать https://codesandbox.io/s/
Вопрос: Как увеличить видеопамять на virtual box?

Лучший ответ:
Дам дурацкий совет: переходите на VMware Workstation. Я в свое время упирался, колебался, но сейчас только ее и пользую. Там размер VRAM выделяемый из оперативной памяти можно любой ставить.

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

Лучший ответ:
Джунов на удалёнку не берёт никто в здравом уме.

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

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

Худший ответ:
Как уже написали — важнее возраст домена, чем его зона. Региональность вы сможете настроить сами в панели вебмастера. 
В дальнейшем домен сменить сможете, но возможна просадка по сео. Естественно, нужно будет настроить редиректы и пр, чтобы ПС корректно склеила домены, но всё равно может повлиять рейтинг нового домена и т.д. В общем и целом нет проблем с тем, чтобы работать с не .ru доменом.
Важнее наличие ключа в названии самого домена: bulochi-v-pitere.ru или abstract-name.ru — первый домен по запросу «булочки» с большей вероятностью попадёт в топ, если оба сайта про булочки. Но это, конечно же, не ключевой фактор совсем, а просто небольшая полезняшка для общего сео.
Вопрос: Node.js, promise, mysql как выдать результат?

Лучший ответ:
Что-то вы совсем намудрили, всё гораздо проще.getEmail() {
	return new Promise((resolve, reject) => {
		this.start();

		this.db.query('SELECT * FROM contacts', (err, contacts) => {
			if (err) {
				reject(err);

				return;
			}

			const emails = contacts
				.map(contact => contact.email)
				.filter(Boolean);

			this.end();

			resolve(emails);
		});
	});
}_db.getEmail()
	.then((emails) => {
		console.log(emails)
	})
	.catch((error) => {
		console.log('Error in the Query', error);
	});
По хорошему бы сделать что бы запросы к БД сразу возвращали Promise тогда это станет гораздо удобней.

Худший ответ:
Что-то вы совсем намудрили, всё гораздо проще.getEmail() {
	return new Promise((resolve, reject) => {
		this.start();

		this.db.query('SELECT * FROM contacts', (err, contacts) => {
			if (err) {
				reject(err);

				return;
			}

			const emails = contacts
				.map(contact => contact.email)
				.filter(Boolean);

			this.end();

			resolve(emails);
		});
	});
}_db.getEmail()
	.then((emails) => {
		console.log(emails)
	})
	.catch((error) => {
		console.log('Error in the Query', error);
	});
По хорошему бы сделать что бы запросы к БД сразу возвращали Promise тогда это станет гораздо удобней.
Вопрос: Как в PyQt запускать метод при нажатии на клавишу клавиатуры?

Лучший ответ:
Ха, только что по этим граблям прошел:
Добавьте метод:def keyPressEvent(self, e):

            if e.key() in [QtCore.Qt.Key_Enter, QtCore.Qt.Key_Return]:
                self.WikiGo()
            else:
                super(MyWindow, self).keyPressEvent(e)
Вот только у меня класс от Ui_MainWindow наследуется, поэтому возможны варианты...

Худший ответ:
Попробуйте в класс MyWin добавить метод:def keyPressEvent(self, e):
    if e.key() == QtCore.Qt.Key_Q:
        self.run_me()
Написано для клавиши Q. Поищите для Ё (~), хотя в этом не уверен.
Вопрос: Где подтянуть JS пхписту?

Лучший ответ:
ru.hexlet.io однозначно. Лучшие курсы, в которых достаточно подробно объясняют.

Худший ответ:
Если документация то однозначно MDN
Также туториалы на w3 школе
Вопрос: Есть ли удобная программа для сканирования документов под Linux?

Лучший ответ:
Забыл про существование gscan2pdf.
Умеет делать многостраничные документы, производить базовые операции редактирования (вращение / обрезка), выборочное сохранение, OCR и т.д.

Худший ответ:
У меня на убунте есть еще Document Scanner, его вроде не было в списке. Не пользовался, поэтому ничего плохого сказать не могую
Вопрос: Как составить план обучения и практики Python?

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

Худший ответ:
Используйте cheatsheet и переходите сразу к практике.
Так будет проще и быстрее освоиться в базовом синтаксисе Python'а.1 неделя:
то-то то-то
2 неделя:
то-то то-то
и т.п.По временному плану - учатся (работают) только те, у кого цель - просто закрыть план вовремя, а не обучиться (или сделать что-то качественно).
Все остальные (коих крайне мало) - стараются учить - чтобы понять и запомнить, и сделать всё предельно правильно (чтобы уже нельзя было улучшить).
Вопрос: Зависает компьютер под нагрузкой. Ошибка Kernel-power 41(63) Что делать?

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

Худший ответ:
Также обратите внимание на видео карту: температура 83 гр. и вентилятор на полную (не видно приложений её использующих).
Вопрос: Как создать поддомен для сайта на GitHub Pages?

Лучший ответ:
Это должна поддерживать хост-площадка.
Т.е. с GitHub Pages - так не получится.

Худший ответ:
Вероятно, создать отдельные сайты на GitHub Pages (example1.github.io, example2.github.io) и привязать к ним поддомены одного и того же домена.
Вопрос: Как разобраться в архитектуре локальной сети организации?

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

Худший ответ:
Карандаш в руку и ходить и зарисовать схему от руки. А потом красиво нарисовать а visio или LO Draw. Это для начала..
Вопрос: Какую нейросеть выбрать для определения машин на парковке?

Лучший ответ:
А нужны ли нейросети? Берете картинку с пустым двором (можно составить из нескольких, так как абсолютно пустой двор вряд ли будет когда-то, 
затем с помощью openCV найти разницу (области) с кадром с камеры - их количество и будет количеством машин. Маленькие области (люди, собаки) - исключить с помощью размеров, например по ширине.
P.S.
Перечитал вопрос - мда, вот со временами суток и погодой облом тогда.

Худший ответ:
Тебе нужно использовать Faster R-CNN. Есть готовые реализации для популярных фреймворков.
Посмотри доклад Владимира Игловикова https://youtu.be/NV9LSUIVkWA ; или статью на хабре https://habr.com/ru/company/yandex/blog/335002/
Зарегайся на ODs.ai это русскоговорящее сообщество по машин лернинг. Там много хороших спецов по этим вопросам.
Вопрос: Лучший фреймворк для автопортала?

Лучший ответ:
На самом деле фреймворк — любой. Только бы вы умели с ним работать. А дальше всё зависит от вас — как вы реализуете архитектуру, насколько она будет масштабируемая, на каком железе будет работать.

Худший ответ:
Держите  чат с пользователями
https://github.com/vkorotenko/ChatApplication/
Вопрос: Как нормализовать базу Ф.И.О.: телефон в notepad++?

Лучший ответ:
Я бы сделал так:
1) Вставить перед каждой записью \t (табуляция)
2) заменить ":+7" на "\t+7"
3) Что получится - скопировать в Excel
4) Первый столбец скопировать и импортировать на новый лист, разделив на столбцы по пробелу
5) Применить к трем первым столбцам формулу, которая делает первую букву прописной, или вставить "нет", где нет ничего, четвертый - без изменений
6) Скопировать все четыре столбца обратно в Notepad++
7) Заменить \t на ничего
8) ?????
9) PROFIT!!!

Худший ответ:
я бы, прямо в экселе,  поменял местами колонки, а потом пустые места заполнил словом Нет.
Вопрос: Насколько важен PHP в системном администрировании?

Лучший ответ:
Есть ли связь между PHP и системным администрированием?нетps разве что если админу надо сопровождать сайт на php. с таким же успехом можно говорить о связи админства с 1С, к примеру, и это будет, возможно, даже чаще востребованоpps теоретический хороший админ, знает много операционных систем, умеет создавать кластера, умеет обслуживать разные СУБД, возможно очень много разных СУБД.. и очень много разного ПО, как серверного, так и десктопногоppps но самое главное - умеет во время делать бекапы. мало того - такие, из которых можно быстро запустить систему после большой аварии

Худший ответ:
Нету, все из разной оперы. Систему администратору надо будет только поднять и настроить php на сервере вот и вся связь))
Вопрос: Как проверить элемент массива на существование?

Лучший ответ:
isset() вернет FALSE при проверке переменной которая была установлена значением NULL
https://www.php.net/manual/ru/function.isset.php
Для проверки ключей массива следует использовать функцию array_key_exists

Худший ответ:
Самый безопасный способ проверки пользовательских данных перед обработкой:$re = '/(\"activationStatus\"(\:|\s+?\:))/m';
$json = '{"test1":"123","response":"ok","activati5onStatus":null}';
if(!preg_match($re,$json)) echo 'Переменная отсутствует!';https://ideone.com/xEckwh
Вопрос: Что значит инъецировать, а также создавать один класс от другого (паттерн MVP) в C#?

Лучший ответ:
1. Инъецирует, значит не создает экземпляр внутри себя (т.е. не делает new Service()), а принимает Service как параметр, чаще всего как параметр конструктора var service = new Service();
var presenter = new Presenter(service);
2. Да, это значит, что презентер должен создать внутри себя модель и вернуть ее для отображения. И в тексте не написано, что это view. Это две разные модели.

Худший ответ:
eRKa Спасибо. (2) Да, извиняюсь, имела в виду Model, а не View, опечатка. А что может значить CurrentRecord в скобках? Это ведь какая-то текущая модель получается. Это как примерно в коде может выглядеть?
Тут еще к примеру стоит: от View (это уже не опечатка :) ) создаётся один единственный экземпляр через DI Container. Что такое DI Container?, это и есть когда "что-то" через параметр передаётся?
(1) А здесь наверное в скобках имеется в виду Сервис для общения с Database. Т.е. Presenter берёт в себя Service как параметр конструктора, тем самым динамический связываясь с ним, а через Service идет диалог с базой данных, наверное так?
Вопрос: Как увеличить свободное пространство для раздела в LVM?

Лучший ответ:
Увеличиваем том, на котором лежит /var
Увеличиваем файловую систему под /var
Радуемся...

Худший ответ:
Я в свое время написал инструкцию:
Расширение диска средствами LVM
    Форматируем добавленное устройство. Вывод fdisk я опущу. Используется подкоманда 'o' для создания новой таблицы разделов, потом подкоманда 'n' для создания нового раздела. Если раздел единственный, fdisk сам подставляет нужные номера секторов и сам назначит тип — 0x83 (Linux). Для изменения типа раздела на 0x8e (Linux LVM) используем подкоманду 't'. Для записи таблицы разделов на диск используется подкоманда 'w'. Таблицу разделов нужно создавать только если используется полностью новый, неформатированный диск.
    Создаем новый физический том для добавления его в LVM:# pvcreate /dev/sdb1
      Physical volume "/dev/sdb1" successfully created
    Находим имя группы томов, в которую будем добавлять только что созданный физический том.# vgdisplay
      --- Volume group ---
      VG Name               vg_windycat
    Расширяем группу томов, которая нам нужна, только что созданным физическим томом:# vgextend vg_windycat /dev/sdb1
      Volume group "vg_windycat" successfully extended
    Смотрим имена томов, чтобы выбрать из них тот, который нам нужно расширить:# lvscan
      ACTIVE            '/dev/vg_windycat/lv_swap' [4.69 GiB] inherit
      ACTIVE            '/dev/vg_windycat/lv_tmp' [4.00 GiB] inherit
      ACTIVE            '/dev/vg_windycat/lv_root' [39.06 GiB] inherit
      ACTIVE            '/dev/vg_windycat/lv_home' [51.76 GiB] inherit
    Расширяем выбранный логический том:# lvextend /dev/vg_windycat/lv_tmp /dev/sdb1
      Size of logical volume vg_windycat/lv_tmp changed from 4.00 GiB (1024 extents) to 24.00 GiB (6143 extents).
      Logical volume lv_tmp successfully resized
    Но расширить логический том еще не все. Нужно еще расширить диск с точки зрения файловой системы. Для этого используем команду resize2fs, которая выполняет все необходимые операции и, в зависимости от размера файловой системы может работать довольно долго:# resize2fs /dev/vg_windycat/lv_tmp
    resize2fs 1.41.12 (17-May-2010)
    Filesystem at /dev/vg_windycat/lv_tmp is mounted on /tmp; on-line resizing required
    old desc_blocks = 1, new_desc_blocks = 2
    Performing an on-line resize of /dev/vg_windycat/lv_tmp to 6290432 (4k) blocks.
    The filesystem on /dev/vg_windycat/lv_tmp is now 6290432 blocks long.
Вопрос: Как Сделать загрузочную флешку, если под рукой только Андроид, otg кабель и сама флешка?

Лучший ответ:
Если есть рут, то можно и без флешки, в крайнем случае с рутом всегда можно и dd, впрочем, есть теоретическая возможность воспользоваться dd и без рута, а через developer mode (где-то возле `adbd и консоль`).

Худший ответ:
Если есть рут, то можно и без флешки, в крайнем случае с рутом всегда можно и dd, впрочем, есть теоретическая возможность воспользоваться dd и без рута, а через developer mode (где-то возле `adbd и консоль`).
Вопрос: Как лучше создавать сервис?

Лучший ответ:
фреймворк берем и пишем
затраты на разбор чужого говнокода могут превышать затраты на написание своего

Худший ответ:
Если побаловаться - берем какую-то CMS. Если что-то серьезное - пишем своё.
Вопрос: Как оптимизировать подобный sql?

Лучший ответ:
Если проблема точно в этом запросе, можно попробовать разделить запрос на две части без использования 
инструкции ON DUPLICATE KEY UPDATE:if exists(select 1
             from chat_lastread
            where `user_id`   = #user_id
              and `dialog_id` =  #dialog_id)
 begin
   update chat_lastread
      set `date` = NOW()
     from chat_lastread
    where `user_id`   = #user_id
      and `dialog_id` =  #dialog_id
 end
 else
 begin
   INSERT INTO chat_lastread (
     `user_id`,
     `dialog_id`,
     `date`
   ) VALUES(
     #user_id,
     #dialog_id,
     NOW()
   )
 end

Худший ответ:
`dialog_id` int(16) NOT NULL, - 16 отображаемых знаков - тут вроде не должно быть так, там может быть максимум (11) при int, и емнип в любом случае размер отводимой памяти будет 4 байта. Если вы планируете хранить более 4 миллиардов записей используйте bigint.
Вопрос: Как защитить информацию которая имеется в ограничено количестве копии «Инсайд»?

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

Худший ответ:
Никак.
Добавлю к ответу hofix несколько критериев: 
1. Информация должна быть ценна только для конкретных покупателей
2. У покупателей должна быть мотивация нераспространения купленной информации
(3. Юридически  - здесь overwork, т.к. ценность 24 часа только...)
Вопрос: Как «апгрейдить» RAID1 с установленной системой до RAID10 без потери данных?

Лучший ответ:
Настоятельно рекомендуется так:
1. Сделать резервную копию
2. Пересобрать RAID
3. Вернуть данные на место
Вы будете не согласны с этим... Зря. Но пункт 1 обязателен

Худший ответ:
Никак. Сливайте данные и пересобирайте массив
Вопрос: Почему не работает Ajax в Django?

Лучший ответ:
Потому что вы документацию не потрудились прочитать.

Худший ответ:
Не работает потому что не передается CSRFToken.

Как можно переделать мой код, или что нужно сделать чтобы данные передавались?

Не использовать jQuery, вместо него использовать Fetch
Передавать вместе с запросом CSRFToken


Не удержался
Если работает то в чём дело?



P.S. Не соизволите отметить ответ на вопрос решеним?
Как создать корзину в джанго без перехода на другие страницы?
Вопрос: Какова перспектива транслита HTML в ELF?

Лучший ответ:
поздравляю, вы решили переизобрести браузер.

Худший ответ:
Когда говорится проект с большим потенциалом, сразу подразумевается что стоят задачи бизнеса и заработки бабок, если у ваш хорошая команда и есть инвестиции то можете как написал колега выше изобрести свой браузер, я вообще в этом не вижу смысла и придумывать себе не релевантный прок как по мне!!
Вопрос: Теоретический вопрос о правильном коде. Как в рамках MVC правильно реализовать метод ("не action") в контроллере?

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

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

Лучший ответ:
Я пять лет проработал backendom в компании на самописном чистом php-проекте, и закончилось тем, что я устал от однообразия. Мне просто надоело то, что я изо дня в день делаю по сути одно и то же. Жизнь проходит мимо, я упустил все новые тенденции, и я уволился.
Поначалу мне посоветовали изучить вордпресс - мол, сейчас весь интернет на вордпрессе и им можно хорошо зарабатывать. Я потратил немного времени на его изучение, сделал три сайта на фрилансе, и понял, что это не то, что не интересно - в целом для меня CMS-ки - не моё направление. Я люблю создавать что-то интересное, а не натягивать дизайны на движки.
В итоге меня пригласили в компанию разработать проект на laravel. Я взялся, потратил время на него и понял, что это интересная вещь. После окончания проекта продолжил именно с ним работать. Сейчас пригласили делать проект на symfony, и я сразу понял, что мне понравится.
Так я и нашёл себе новое направление.
Не знаю, что тебе посоветовать, но, надеюсь, мой опыт чем-то поможет.

Худший ответ:
Дни открытых дверей бывают, и ярмарки вакансий. Порулить недельку человека с улицы никто не пустит, конечно.

А кем вы работаете?
Вопрос: Как обустроить рабочее место, что бы глазам было легче?

Лучший ответ:
Санитарные нормы

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

Лучший ответ:
Ну и шуточки у вас. Вы из сбербанка?) 
Зачем так сложно? Сломаете еще биллинг себе не дай бог. 
Засуньте бесконечный цикл в конфиги, 
или если нужно реальных лулзов с коллеги, то днем 31 декабря дропните файловую систему на проде с БД и все бекапы, вот смеху то будет. 
---
Тут отказ от ответственности за советы.

Худший ответ:
function money (int $count = 100500): iterable {
    for ($i = 0; $i < $count; ++$i) {
        yield $i => $count;
    }
}

foreach (money() as $current => $available) {
    echo "\rПожалуйста подождите, идёт загрузка денег $current из $available";
    \flush();
    \usleep(10000);
}
Вопрос: Как расположить элементы дополнительного меню горизонтально?

Лучший ответ:
Как вариант.
<ul class="submenu">
  <div class="submenu-items">
    <li><a href="#">Аудио</a></li>
    <li><a href="#">Видео</a></li>
  </div>
</ul>

.submenu-items {
  display: flex;
  flex-direction: row;
}

.submenu li{
  display: inline-block; // убираем
}

Худший ответ:
Вообще данный CSS кусок выглядит в меру корректным. Поэтому проверяй что перекрывает\мешает выполнению этого кода.

Дебаггер тебе в помощь.

Из альтернатив, кстати, можешь не display:block давать submenu, а display:flex. Но, чтобы понимать, как это работает, почитай документацию\гайды по флексам.
Вопрос: Как подключить 100 светодиодов к RPi?

Лучший ответ:
Покупайте управляемую led-ленту
Вариант 2 - увеличить колечество выводов малины. Например с помощью плат-мультиплексоров.

Худший ответ:
Два способа, сдвиговые регистры типа 74HCT595, или подключение в прямоугольную матрицу (динамическая индикация). Первый способ проще, но потребует больше микросхем.
Вопрос: Может ли эта уязвимость навредить сайту?

Лучший ответ:
А ещё в пост вставить картинку с котиком, а через некоторое время (когда пост затеряется и шанс модератора наткнуться на него будет минимальным) - заменить картинку с котиком на изображение листа конопли и натравить на него Роскомнадзор.
В итоге сайт улетает в блокировку, а владельцы некоторое время не понимают, почему кол-во посетителей из России вдруг упало, а найти картинку, к которой РКН придрался, будет весьма сложно, так как факт замены в логах нигде отражён не будет, ибо заменена она будет на стороне стороннего сервера.

Худший ответ:
Пользователи могут пожаловаться на тостер, за то что тот не умышленно передаёт их данные третьим лицам. Любому пользователю это может не понравиться.
Вопрос: Как правильно задать gopath на ubuntu 18?

Лучший ответ:
Сейчас уже можно пользоваться го версии 1.11 с модулями и начинать отказываться от GOPATH
https://github.com/golang/go/wiki/Modules

Худший ответ:
Вероятно проблема в содержимом GOPATH. Типичный GOPATH включает в себя:
$GOPATH/src/ - для исходников
$GOPATH/pkg/ - бинарники для сборки
$GOPATH/bin/ - бинарники для выполнения
Соответственно у вас должна получится такая структура:
$GOPATH/src/go-test
$GOPATH/src/go-test/models
Если использовать ваш текущий GOPATH, то 
/home/user/go/src/go-test
/home/user/go/src/go-test/models
Вопрос: Какие панели управления хостингом позволяют загружать файлы по URL-ссылкам?

Лучший ответ:
Файлменеджер CPanel этого не умеет. Но если для пользователя включен SSH, то в панели доступен терминал, через который можно легко это сделать, выполнив команду wget 'http://...'

Худший ответ:
Если панель поддерживает выполнение команд на сервере - можно с помощью wget или curl скачать файл.
Вопрос: На сколько сильно отличается образование в ведущих и провинциальных вузах России?

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

Худший ответ:
В некоторых "ведущих" ВУЗах вероятность попасть к грамотным преподавателям существенно выше. И наоборот. Скажем, вот это заведение всегда было и остается "институтом, куда поступают, потому что близко живут", где преподаватели сами не знают, о чем говорят, студенты бухают на занятиях и никто ничему не учит и не учится. А находящийся в нескольких кварталах от него МГТУ им. Баумана хоть и имеет в преподавательском составе всякую шушеру, но не состоит из шушеры целиком. В первом вы даже при желании не сможете получить никакие полезные знания кроме как совершенно самостоятельно, во втором - при желании, вы их получите. Так что важно и где учиться, и как учиться (и с этим у вас, судя по тексту вопроса, есть немалые проблемы).