Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Зачем учить алгоритмы сортировки, если есть уже готовые методы сортировки?

Лучший ответ:
1) Для развития мышления. Работа с алгоритмами сортировок хороший практикум для развития навыков программирования. Плюс это удобно проверяется преподавателем, удобно давать обратную связь при обучении.
2) Чтобы потом вспомнить, что они бывают разные и найти и использовать готовое решение не первое попавшееся под руку, а учесть плюсы-минусы того или иного алгоритма и выбрать именно то, что лучше подходит под конкретную задачу.
За более чем 20 лет программирования, действительно, крайне редко сортировал сам, все больше использовал готовые алгоритмы.
Ничуть не жалею, что в свое время изучал алгоритмы сортировок. Это сильно расширяет профессиональный кругозор.

Худший ответ:
Скорее в учебных целях. Это хороший пример алгоритма, в котором нужно разобраться. На практике вы конечно не будете писать это сами. Ну и знать про разные методы полезно, так как они немного отличаются.
Кстати, линейная сложность это O(n). O(n^2) называют квадратичной.
Стандартные сортировки работают за O(n * log(n)). Но часто это оценка не точная а усредненная.
Есть сортировки которые могут работать с данными по кускам, не загружая все в память. 
Линейные сортировки бывают, но для этого нужно что-то дополнительно знать про данные. Например сортировка подсчетом хорошо работает на ограниченных наборах (например на массивах цифр 0-9).
Есть еще другие важные свойства типа стабильности. Это когда вы сортируете файлы сначала по дате а потом по типу и в итоге все файлы одного типа остаются упорядоченны по дате.
Вопрос: Как создать объекты на основе данных из csv-файла?

Лучший ответ:
Читаешь файл построчно, парсишь, создаёшь свои объекты.

Худший ответ:
Создаёшь класс Airplane:
private class Airplane {
    public String type;
    public String name;
    public float weight;
...
}
Далее, читаешь построчно свой текстовый файл, парсишь данные из строки и записываешь их в поля нового созданного объекта класса Airplane.
while(not end of file){
  String s = read_next_string_from_file;
  String[] data = parse_data_from(s);
  Airplane ap = new Airplane();
  ap.type = data[0];
  ap.name = data[1];
...
}
Правильнее, правда, писать данные через конструктор. Но это ты сам уже сделаешь
Вопрос: Как упростить код javascript?

Лучший ответ:
Это вообще без JS делается: тут.

Худший ответ:
Вот пример вообще на чистом CSS, без единого JS (даже в атрибутах):snippet
Вопрос: Как запустить функцию по клику на кнопку?

Лучший ответ:
var button = document.querySelector('класс/ид/имя кнопки');
button.addEventListener('click', функция без скобок);

или 

button.addEventListener('click', function(){
   функция();
});

Худший ответ:
кнопка.addEventListener('click', функция)
Вопрос: Есть ли инструмент для проверки стабильности соединения?

Лучший ответ:
iperf
Включение показа ошибок в свойствах соединения: здесьdumpcap (в комплекте со сниффером Wireshark).tcpdump
PS: давно работал с этим, но дистриба - не могу найти.

Худший ответ:
попробуйте WinMTR
Вопрос: Почему не берётся информация с LocalStorage?

Лучший ответ:
Везде поправьте
localStorage.getItem('key:','langs')

на 

localStorage.getItem('langs')

Худший ответ:
Везде поправьте
localStorage.getItem('key:','langs')

на 

localStorage.getItem('langs')
Вопрос: В чем профит юзать TypeScript с React?

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

Худший ответ:
Можно прийти к неожиданным выводам если заменить в вопросе слово "Typescript" на "Строгую типизацию"
Вопрос: Проблема inline-block?

Лучший ответ:
1. Если хотите использовать inline-block, то обернуть каждый из блоков в дополнительную обёртку с шириной 100%. Например, <div class="message__wrapper"><div class="s1">Текстовый текст</div></div>
2. Для отображения background, укажите ширину и высоту блока, для которого background применяете

Худший ответ:
Чтобы друг под другом, то надо переделать на display: block и задать ширину блокам
Вопрос: Как подключить PSR-3 к самописному MVC?

Лучший ответ:
Необходимо ли давать возможность логирования в каждом контроллере, модели и представлении(view), то есть реализовать вызов $this->logger() в них? 
Нет, этого не нужно делать. Тем более не нужно устанавливать логер в Abstract/Base классах.
Когда нужен будет (1 раз в модели/вьюхе, чтобы потестить выдачу), достаете через конструктор/контейнер/другим образом и используете, потом вырезаете. В контроллерах не всегда, обычно в MiddleWare, если они есть.Нужно ли логировать сам проект через $this->logger()?
Что???

Худший ответ:
Основная идея psr-3 - это абстракция, контракт (интерфейс). И в нем ни слова не говориться о том что и как вам логгировать - это уже задача вашего приложения.
https://ru.m.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8...
Вопрос: В чем прикол ( стили )?

Лучший ответ:
все так говорят, когда начинают переходить с css на препроцессоры... )

Худший ответ:
Прикол в организации стилей.
Вопрос: Можно ли найти работу Linux-админом с небольшим опытом?

Лучший ответ:
Можно ли найти работу Linux-админом с небольшим опытом?
Кому-то можно. Кому-то нет. В каких-то условиях можно. В других нет.
Лично для вас - есть только один способ выяснить. Вы его конечно же уже знаете.
А на тостер вы пришли за моральной поддержкой. Хоть это и вне тематики ресурса, но давайте я вас поддержу:
Дерзай мужик! ты сможешь! ничего не бойся!
Все, удачи.

Худший ответ:
свою первую работу линукс админом я нашел без опыта
я в глаза не видел линукс и не нюхал консоли кроме винды  где вбивал regedit
Вопрос: JS библиотека для создания mindmap?

Лучший ответ:
Возможно Вам понравится это

Худший ответ:
Всем спасибо, нашел решение, которое полностью подошло
Китайская библиотека - G6 - https://g6.antv.vision/zh
Позволила автоматически строить дерево задач
Удобный перемещение по канве (мышкой и колесиком)
Гибкая настройка элементов отображения)
Может кому тоже пригодится!
Вопрос: Go build: Не удается найти пакет, дублируется src в пути поиска пакета, в чем ошибка?

Лучший ответ:
Внутри $GOPATH создаются src, bin, pkg. Т.е сделайте GOPATH=/var/www/go
А вообще завязывайте с $GOPATH и переходите на модули

Худший ответ:
Не нужен src в GOPATH
export GOPATH=/var/www/go
https://github.com/golang/go/wiki/GOPATH
Вопрос: Что нужно для создания электронного дневник на php+mysql?

Лучший ответ:
Js на начальном этапе не нужен, музчина из соседнего ответа не в теме.
Ну точнее он живёт видимо в прошлом веке и подключен к интернету через модем по телефонной линии. Учителя же подключены по 4g, и "ждать" перезагрузки будут миллисекунд 50.
По срокам же вынужден огорчить. Полгода упорных занятий дадут тебе первую кривую версию которую ещё года два допиливать и ужасаться своим решениям принятым на начальном этапе.

Худший ответ:
Достаточно php, mysql, js. Но чтобы быстро и нормально, берите Symfony/laravel/zend.
Вопрос: Чем очистить залапанный экран Макбука про 2018?

Лучший ответ:
Практически все жидкости содержат спирт в составе либо перекись. А они стирают антибликовое покрытие. Как показала практика даже просто протирка клавиатуры воздействует на антибликовое, после закрытия крышки клавиши могут соприкасаться с экраном и в тех местах будет слазить антиблик.
Это я все к тому что после проделанных уже манипуляций с жидкостями вы уверены что это следы именно "грязь", а не стертые пятна антибликового?
В любом случае всегда достаточно протирания качественной микрофиброй, можно купить за 3-5$ оригинальную епловскую, у меня первая салфетка с 2011 года до сих порт отлично справляется со своей функцией, самое долгоживущее устройство от Apple)  А уже при необходимости убрать какие-то пятна - достаточно смочить простой водой.

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

Лучший ответ:
Если карта динамичная, то backdrop-filter, который, увы, работает только в сафари или вебките с флагами. 
Вот тут пара приемов чтобы его имитировать: https://iamvdo.me/en/blog/css-element-function#fak...
А вот тут общая инфа: https://iamvdo.me/en/blog/advanced-css-filters
Если карта статичная, то можно ее просто дублировать внутри блока и размазывать обычным фильтром. Хотя и динамичную можно скопировать, но надо будет ловить взаимодействия на карте и дублировать их внутри

Худший ответ:
немного {opacity;filter:blur();box-shadow;
}пример фильтраподборка теней
Вопрос: Разбираюсь в правах доступа на папки внутри веб-сервера apache в ubuntu, как подружить юзера и www-data?

Лучший ответ:
а как канонически правильно-то? Правильно так, чтобы минимизировать непредвиденные проблемы.
muhasa в сущности админ, и теоретически права для него (и для его группы) могут быть в разных частях системы, куда веб-серверу не нужен доступ. Поэтому добавлять www-data в группу muhasa рисковано. Нужно добавить muhasa в группу www-data.
Теперь другая ситуация. Допустим, есть всё тот же админ muhasa. Но кроме того есть хрен с горы pupkin - пользователь с минимальными правами, но всё же ему нужен доступ только в одну из папок внутри /var/www - к своему сайту. Если добавить pupkin в группу www-data, то этот Пупкин может порушить чужой сайт или получить доступ к чужим данным. В данном случае наоборот, безопаснее добавить www-data в группу pupkin.

Теперь вы понимаете, что нет универсально-каноничного варианта, зависит от контекста. Поэтому админы не могут написать инструкции на все случаи.

Худший ответ:
Для такого придуман специальный модуль Apache под названием mod_suexec, как раз ваш случай "запускать конкретный сайт под указанным пользователем".
Вопрос: Где найти наставника по программированию или сообщества для совместной разработки?

Лучший ответ:
Самый толковый наставник - это тот, которого к тебе приставил руководитель после трудоустройства.

Худший ответ:
Есть куча сервисов предлагающих услуги людей за деньги, гугл в помощь
Вопрос: Как работает магический метод __hаsh__ в питоне при создании словаря?

Лучший ответ:
Имхо навряд ли это с ним связано потому что при списке всё ок. Со словарём может быть проблема если последующий ключ равен предыдущему, тогда он его перезаписывает.
[(user.email,user.name) for user in (jane, joe)]
Out[26]: [('jdoe@example.com', 'Jane Doe'), ('jdoe@example.com', 'Joe Doe')]
[(user,user.name) for user in (jane, joe)]
Out[33]: 
[(<__main__.User at 0x1614587a390>, 'Jane Doe'),
 (<__main__.User at 0x1614587a1d0>, 'Joe Doe')]
UPD
но
{joe:joe.name, jane:jane.name}
Out[46]: {<__main__.User at 0x1614587a1d0>: 'Jane Doe'}

Худший ответ:
Метод __hash__ определяет, какую часть объекта передать функции hash(), через которую вычисляется хеш, который используется в качестве ключа словаря:

print(hash("jdoe@example.com") == hash(jane))
True

В данном случае в качестве ключа словаря выступает hash от email, они одинаковые у jane/joe, поэтому в словарь попадает только один объект (последний добавленный). 

Если поставить
   def __hash__(self):
      return hash(self.name)
то оба будут в словаре.
Вопрос: Как дать права на папку?

Лучший ответ:
chmod - установить права
Полные права - 777

Худший ответ:
"chown" - это изменить владельца.
"chmod" - это изменить права.
"ls -ld имя_файла_или_директории" - посмотреть и владельца, и группу, и права.
Плюс ещё бывают ACL, не помню как из менять.
Для начала надо смотреть, от какого юзера происходит неудачный доступ к файлу/директории. Ну и проверять не только права доступа к файлу, но и права вышележащих каталогов - там тоже м.б. запрет доступа.
Вопрос: Можно ли реализовывать админ панель для cms с помощью iframe?

Лучший ответ:
Через IFrame делать слегонца устарело (лет так на 15).
Выводите всё сразу в страницу. 
Если что-то не работает ищите причину. Как минимум для более подробного ответа, нужно знать, где Вы выводите php и что внутри самого settings/index.php

Худший ответ:
includeHTML поможет встроить html-блоки, стили и скрипты без php, просто используя тег.
Вопрос: Парсер на Python?

Лучший ответ:
Зачем парсер, когда у youtube есть API?

Худший ответ:
Я бы на вашем месте не изобретал велосипед, а изпользовал YouTube API - https://developers.google.com/youtube/v3
Вопрос: Что означают угловые скобки?

Лучший ответ:
https://docs.microsoft.com/en-us/dotnet/csharp/pro...

это уточнение типа для обобщенного List

Худший ответ:
List в C# подобен векторному массиву в c++,а именно ,при его инициализации, не нужно задавать количество элементов в нем, их можно добавить по ходу выполнения программы.
Вопрос: Как поднять windows, если единственное что у меня есть это бекап системного раздела?

Лучший ответ:
Я бы не стал привлекать сюда виртуал, попробовал бы обойтись и реалом. 
1. Создать раздел подходящего размера на любом из подключённых дисков, имеющих разметку в MBR, и сделать его активным (загрузочным). MBR потому, что эта разметка проще, понятнее и привычнее GPT, она не требует каких-то дополнительных скрытых UEFI-разделов, бэкапа которых у вас нет.
2. На него выгрузить содержимое вашего бэкапа.
3. Если этого оказалось недостаточно для запуска ОС, восстановить на этом разделе правильный загрузчик, с помощью утилиты BootICE или чего-то подобного. Их, восстановителей загрузки, много разных - не прошло с одним, пробуем другой. Обычно они кучкуются на популярных ремонтно-восстановительных сборках LiveDVD/LiveUSB.
Я использую этот способ для того, чтобы заставить Win10  работать на MBR (штатно она его не любит и требует GPT).

Худший ответ:
Восстановить не удалось - установил винду и заново поднимали программы.
Вопрос: Будет ли Golang замещать PHP?

Лучший ответ:
нет.
и пора понять, что за языки не платят.

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

Лучший ответ:
ffmpeg + написание скрипта.

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

Лучший ответ:
Вероятнее всего, что вид хранения полностью зависит от нескольких факторов:Количество и структура информации влияет на выбор типа базы данных (реляционной или нереляционной). В вашем случае (json массив и миллион паспортов) = надо смотреть в сторону NoSQL и хранить всё одним блоком (коллекцией) ради мифической скорости. Но ведь больше не будет ветвиться структура и не появятся новые зависимости, количество полей известно и очень легко и красиво делиться на таблички.Паспортные данные = личная информация = надо её защищать, любить и лелеять. GDPR дойдёт и до вас, не сомневайтесь. И тогда: разборки, анальные досмотры, суды, штрафы и т.д. И когда вашу базу кто-то стащит он не должен получить всю информацию в явном виде, т.е. такие данные должны храниться частями в разных местах: имена отдельно, адреса отдельно, мухи отдельно. Снова смотрим в сторону табличек, параллельно раскладывая данные разных таблиц на разных серверах и в разных ЦОД'ах.Кто заказчик? Вы делаете это для себя? Для турагентства? Для ФСБ? Для себя - вообще неважно, что, как и где хранить, главное чтоб вам было интересно код писать. Для турагентства - скоро им запретят хранить такую информацию и вам дадут заказ всё переделать по новым законам/правилам/СНиП'ам. А вот ФСБ сами скажут (или ночью подправят ваш код) какая структура данных должна быть и как её хранить по ГОСТ'у.
По моему мнению, с учётом вышеизложенного, информацию такого типа надо дробить на мелкие кусочки и складывать в отдельные таблички. И пускай меня засмеют проповедники обречённости реляционных моделей - я упёртый консерватор.

Худший ответ:
Павел Чесноков дело говорит, а по сути:
- User hasOne Passport / Passport belongsTo User (связь OneToOne)
С адресами чуток сложнее, тут я бы сами адреса хранил отдельно через связь OneToMany, с дополнительным свойством type. А вот isAddressSimilar и isAddressPlaceOfStay - либо флагами в User, либо вообще динамическим свойством - например если записи адреса с типом place_of_stay не существует, то юзаем дефолтный (registration) или просто возвращаем false. Ибо хранить записи где все колонки кроме PK null это не ок.
Вопрос: Нужна помощь с сайтом, а именно скрин странички на стороне сервера. Как это сделать?

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

А на клиенте, например: 
https://www.geeksforgeeks.org/how-to-take-screensh...

Ну или Google->"screenshot page javascript"

Худший ответ:
На стороне сервера - можно использовать Node.js+puppeteer. 
https://pptr.dev/#?product=Puppeteer&version=v5.5....
Первый пример кода - сохранение скриншота сайта в jpg-файл

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

Лучший ответ:
Htmlacademy, платишь 600 р и получаешь самые актуальные знания в этом вопросе. Рекомендую

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

Лучший ответ:
Я согласен — и впредь не платите, 
Пусть шатает меня на ходу, 
Не давайте жилья, не кормите, 
Всё равно на работу приду. 

День получки — нет траурней даты, 
Просто нет её в этом году, 
Не давайте паёк и зарплату, 
Всё равно на работу приду. 

Отдыхать ни за что не поеду, 
Это море имел я (в виду), 
Чай пустой и сухарик к обеду, 
Всё равно на работу приду. 

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

Ничего, что одежда в заплатах, 
Я не вру Вам, имейте в виду, 
Даже если проезд будет платным, 
Всё равно на работу приду.

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

Лучший ответ:
По своему опыту, скажу что создавать соц. сеть на базе ВП не очень-то профессиональное решение, хотя это практикуется.
Будь я на вашем месте, то поднял бы соц. сеть используя фреймворк на любом языке, которым вы владеете (yii2, django, RoR, Spring)
Что касается ВП, то:
1) WP Recall личный кабинет и в принципе огромное кол-во расширений (платных). Можно реализовать то, что вы хотите. (бесплатный + есть платные дополнения)
2) Ultimate Member соц. сеть, как по мне получше чем BuddyPress. + есть интеграция с форумом bbPress. (бесплатный плагин + платные дополнения) - https://ru.wordpress.org/plugins/ultimate-member/
3) BuddyPress + bbPress (бесплатный) https://buddypress.org/
4) PeepSo (платный) https://www.peepso.com/
+ Для управления ролями пользователей можете использовать User Role Editor - 
https://ru.wordpress.org/plugins/user-role-editor/
Из всего этого я бы выбрал Ultimate Member или WP Recall. С PeepSo не знаком, но насколько я знаю он более функционален.

Худший ответ:
Пользователь с правами "Автор" не имеет права править и изменять страницы чужих авторов. Так работает вордпресс "из коробки"
Сейчас не понятно во что вы упёрлись - тот же WP-Recall позволяет авторам править только свои профили и только свои публикации. 
Для заметок есть отдельное дополнение, для загрузки картинок  (сертификаты) - другое дополнение. 
Так что я не вижу проблем на его основе построить так как вам надо. Но вы написали настолько сумбурно что мы можем ваши желания и не понять.
Вопрос: Почему не продаются адаптеры Bluetooth 5.0?

Лучший ответ:
Вокруг спецификаций и версий Bluetooth возникла большая путаница из-за наличия двух несовместимых стандартов под одним брендом, оба из которых широко применяются для разных целей.
Существует два разных, не совместимых между собой протокола Bluetooth: Bluetooth Classic и Bluetooth Low Energy (LE, он же Bluetooth Smart). Ещё есть третий протокол, Bluetooth High Speed, но он не распространён, и не используется в бытовых устройствах.
Начиная с Bluetooth 4.0, изменения в спецификации касались преимущественно Bluetooth Low Energy, а Classic-версия получала либо незначительные улучшения, либо не получала их вовсе.
Список изменений между Bluetooth 4.2 и Bluetooth 5:    9 CHANGES FROM v4.2 TO 5.0
    9.1 NEW FEATURES
    Several new features are introduced in the Bluetooth Core Specification 5.0 Release. The major areas of improvement are:
    • Slot Availability Mask (SAM)
    • 2 Msym/s PHY for LE
    • LE Long Range
    • High Duty Cycle Non-Connectable Advertising
    • LE Advertising Extensions
    • LE Channel Selection Algorithm #2
    9.1.1 Features Added in CSA5 — Integrated in v5.0
    • Higher Output PowerИсточник: www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=421043 (страница 291)
Только одно изменение каснулось Classic-версии в рамках спецификации Bluetooth 5: добавили поддержку технологии Slot Availability Mask (SAM), призванную улучшить разделение радиоэфира. Все остальные изменения затрагивают только Bluetooth LE (и Higher Output Power тоже).Все аудиоустройства используют только Bluetooth Classic. Наушники и колонки подключить через Bluetooth Low Energy невозможно: не существует стандарта передачи аудио с использованием LE. Стандарт A2DP, применяемый для передачи высококачественного аудио, работает только через Bluetooth Classic, и аналога в LE ему не существует.
Вывод — приобретать аудиоустройства с Bluetooth 5 только из-за новой версии протокола бессмысленно. Bluetooth 4.0/4.1/4.2 в контексте передачи аудио будет работать точно так же.
Если анонс новых наушников упоминает удвоенный радиус работы и уменьшенное энергопотребление благодаря Bluetooth 5, то знайте — они либо сами не разбираются, либо вводят вас в заблуждение. Немудрено, ведь даже производители Bluetooth-чипов в своих анонсах путаются в отличиях новой версии стандарта, а некоторые Bluetooth 5-чипы поддерживают пятую версию только для LE, а для Classic используют 4.2.

Худший ответ:
Как вариант взять ноутбучный адаптер https://ru.aliexpress.com/item/32847887834.html
и воткнуть его в переходник https://ru.aliexpress.com/item/32920895676.html
или сразу в сборе https://ru.aliexpress.com/item/32880792970.html
Вопрос: Что делать, если контракт уже третий раз заморожен по вине заказчика?

Лучший ответ:
Я считаю, следует ему сразу выложить всё как есть:
"По правилам Upwork, я не могу вести работу по контрактам on hold. Пожалуйста активируй данный контракт, чтобы я мог продолжить. Если в ближайшие 2 дня контракт не будет активирован, то мне придётся переключиться на другой проект и приостановить все текущие работы до появления свободного времени."

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

Худший ответ:
Забить, не на что это не влияет, когда JCS будет под 100, закроете его сами, если висяк мозолит Вам глаза, но JCS упадет.
Вопрос: Курсор двигается сам по себе, описывая ровный квадрат?

Лучший ответ:
Или драйвер на тачпад чудит. Может, на самом тачпаде что-то накапало, попробуйте его отключить, обычно это можно сделать сочетанием клавиши Fn с какой-нибудь из F-ряда.

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

Лучший ответ:
GlR|_  |3-l5 y.O.  Free phOtO
не забудь добавить кнопку пожаловаться
да и картинки все эти стоп слова нивелируют

Худший ответ:
Которые заказчик не уместными, ну это моё мнение.