pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как осуществить интеграцию redmine с git?

Лучший ответ: Redmine requires a repository which is bare and local to enable browsing through Redmine.Вам нужно клонивать репозиторий с ключем --mirror

Худший ответ: Указывайте полный путь до локального репозитория. От корня файловой системы.
Вопрос: «Глобальный метод» в  Symfony2

Лучший ответ: Мальчик, вали говнокодить на чем-то нормальном, пожалуйста.

И да, это говорит один из разработчиков sf2, входящий в сотню комиттеров. 

Сабж — сделай один abstract class MyController extends Controller, в нем метод doSomeShit, и наследуй от него все свои контроллеры. Тогда в них можно будет делать return $this->doSomeShit()

Худший ответ: Можно сделать один общий контроллер и вынести туда все глобальные методы. А потом свои контроллеры уже наследовать от этого общего контроллера. Таким образом везде будут доступны общие методы.
Вопрос: Как средствами php посчитать количество просмотров изображения?

Лучший ответ: nginx+X-Accel-Redirect
Алсо, апач его тоже умеет.

Худший ответ: так можно попробовать<a href="?count=/images/123.jpg">Скачать изображение</a>if( $_GET['count']  && file_exists( $_SERVER['DOCUMENT_ROOT'] ) )
{
    //counter ++ 
    file_force_download( $_GET['count'] );
}

function file_force_download($file)
{
    if (ob_get_level()) {
        ob_end_clean();
    }
    
    header('Content-Description: File Transfer');
    if (isset($_SERVER['HTTP_USER_AGENT']) and strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE'))
    {
        header('Content-Type: application/force-download');
    }
    else {
        header('Content-Type: application/octet-stream');
    }
    header('Content-Disposition: attachment; filename=' . basename($file));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($_SERVER['DOCUMENT_ROOT'] . $file));

    readfile($_SERVER['DOCUMENT_ROOT'] . $file);
    exit;
}
Вопрос: Как вернуть к заводским настройкам XP(т.e удалить всю историю эксплуатации ОС) без переустановки?

Лучший ответ: Sysprep - сбросит все настройки. Но останется установленный софт.

Худший ответ: Восстановите реестр:
из %windir%\repair\
в %windir%\system32\config\
Про каждый файл можно найти описание в сети.
Например: system - это драйвера, остальное сами поищете.
Вопрос: Что значит эта абракадабра?

Лучший ответ: Я тоже такие смс-ки шлю когда телефон в кармане снимает блокировку =) Бывает еще звоню и шелестю штанами собеседнику.

Худший ответ: Смсеры могли просто тестить сервис. Но, да — детективный вариант с шифром интереснее. У меня ассоциации с горшком с котлетами и борщом. Пойду поем.
Вопрос: Как обновлять цены и наличие товаров на сайте от разных поставщиков (excel)?

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

Худший ответ: Хотите продам вам готовое решение на PHP для ежедневного/ежечасного/любого парсинга excel прайсов от поставщиков получаемыми по email/ftp/http или из локальной директории? Одно только индивидуально настраивается - парсеры под каждый формат поставщика.
Вопрос: Как сделать выполнение запроса по нажатию на кнопку?

Лучший ответ: вам нужна кнопка которая будет делать запрос, прост.
html <button onclick="doRequest()">кнопка</button>
js / jQueryfunction doRequest(){
$.post('myPhpFile.php', {
   action: 'doFunctionOnServer'
}, function(data){
 });
}
myPhpFile.phpif($_POST['action'] && $_POST['action'] === 'doFunctionOnServer'){

     $sql = "INSERT INTO test(id1, date)
     VALUES ('$id1','$date')";

}
хотя лучше спросить у профессионалов, я всего лишь грузчик.

Худший ответ: Данные с html страницы в php передаются через form или ajax.
Скажем это твой скрипт script.php<?php
$id1 = $_GET['id1'];
$date = $_GET['date'];
$sql = "INSERT INTO test(id1, date)
VALUES ('$id1','$date')";
?>
вот как будет выглядеть form в html странице<form action='script.php' method='get'>
<input type='text' name='id1'>
<input type='text' name='date'>
<input type='submit' value='Submit'>
</form>вот и вот примеры работы с формами
Выше написали как делать запрос с помощью ajax.
Вопрос: Учебный PHP скрипт интернет-магазина?

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

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

Лучший ответ: В данном случае использовались изображение формата jpg, размером 2640 x 1440 и весом 1.53 МБ, которое воспринимается как фон, но по факту фоном не является :)
Поверх него векторный слой svg с размечеными областями (в качестве редактора можно юзать Inkscape). Собственно вся магия реализована при помощи JS баблиотеки Raphaël.
Комплект на проверку оказывается не сложный: файлы изображения и svg от дизайнера, остальная работа за фронтенд девелопером.

Худший ответ: это обычная png картинка, сверху которой положен слой свг, в котором отлавливается hover и производится вся "магия"
Вопрос: Как сделать так, нажимая на левую стрелочку браузера, был переход на эту же страницу?

Лучший ответ: Очень просто:
1. Нужно помнить, что в окне и до вашей сети возможно наличие других документов, к которым пользователь может изволить вернуться. А что это значит?
2. Верно, нам нужно просто заменить страницу авторизации на страницу пользователя. А как это сделать?
3. Ну конечно, есть же объект Location и его метод:location.replace(новый_адрес);
Однако, есть проблема (как всегда, у еды два выхода) — то ли страница пользователя, то ли ошибка авторизации. Выход — с помощью AJAX слать данные (безусловно по https, мы же не гопники какие).
Ну а дальше понятно:
— пришла ошибка — подсветили поля и сообщение вывели
— пришёл идентификатор пользователя — делаем replace чудодейственный с адресом страницы пользователя (можно даже и куки установить, хотя это и страница пользователя может сдеать)
4. Есть также History и возможность делать replace именно записи в истории, но этот вариант не буду даже и рассматривать.

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

Лучший ответ: curl в любом языке

Худший ответ: curl в любом языке
Вопрос: Адаптивное фоновое видео для сайта, как лучше поступить?

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

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

Лучший ответ: Допустим я при старте зашёл в настройки BIOS, а он через 5 минут выключился. 
Во время работы в БИОСе энергопотребление процессора - максимально. Не работает еще никакое энеогосбережение. Вот он и выключается от перегрева.Изначально он вообще был тихий и быстрый, а сейчас постоянно разгоняет кулер и выключается.
Перегрев процессора, опять же.
Похоже, неисправен радиатор. Попробуйте заменить.
Термотрубка - это не кусок меди, а трубка, заполненная частично водой, из нее откачан ввоздух, температура кипения воды в ней 40-50 градусов. Если появляется трещина - вода испаряется, термотрубка становится просто трубкой. Начинаются перегревы. Почитайте про термотрубки в Интернетах, перед тем, как покупать новый радиатор.

Худший ответ: ставить линукс
работать
ловить перезагрузки
читать логи
возможно, также попробовать почитать вин-логи
Идеально - сдать по гарантии, чтоб полностью лептоп поменяли
Вопрос: RAID 1 (зеркало) перенос на другие большие HDD

Лучший ответ: C виндой не знаю, а с линуксом прокатил бы такой финт: 
1. Вынимаем один из дисков, RAID становится degraded
2. Добавляем новый диск, делаем ребилд массив. 
3. удаляем старый диск, RAID опять degraded. 
4. добавляем новый диск, опять ребилд.
5. Expand массив на весь диски.
6. увеличение нужных разделов из под ОС.

Худший ответ: Цепляем второй массив, и просто перекидываем, не особо понял в чём проблема.
Или там винда стоит?
Вопрос: Начать изучение ASP.NET с 5-ой версии или с 4-ой?

Лучший ответ: А почему бы с 1-й версии тогда не начать )))
Если вам не срочно делать проект, если вам не нужно поддерживать старые проекты, то начинать можно с самой последней версии. Когда вы её более менее освоите, она как раз дозреет до частого применения в production.

Худший ответ: Хотелось бы вас благославить на познание нового, но есть маленькое "но". Структура проекта ASP.NET MVC 5 и 6 заметно отличаются. И это не было бы так страшно, если бы была 100%-ая гарантия того что в ближайшие пару месяцев 100% всего asp.net кода мигрирует на новую версию. Риск столкнуться с приложением, написанном на ASP.NET MVC 5 более чем реален. Более того - риск столкнуться с Web Forms все еще ощутим. Я бы рекомендовал изучить пятую версию "по быстрому" и дальше уже изучать то что поменялось.
Вопрос: Как отключить переключение рабочих столов мышкой у края экрана в Cinnamon?

Лучший ответ: Методом научного тыка удалось найти требуемемое в Настройки ->Прикрепление окон и пртяжение -> убрать галку "Включить притяжение к границам" ну или увеличить время.

Худший ответ: Устанавливаем если нет:sudo apt-get install dconf-editor
и в редакторе снимаем птичку:org->cinnamon->enable-edge-flip
Вопрос: Как сделать что бы анимация появлялась только когда до блока доскролишь?

Лучший ответ: Плагин Waypoints поможет

Худший ответ: Использовать плагин весом, скажем, 50 Кб для анимации контента весом 4Кб - как минимум странно :).
Самый простой пример:var el_1_top = $('.block-1').offset().top, el_2_top = $('.block-2').offset().top;
$(window).scroll(function(){
if ($(window).scrollTop() >= el_1_top) {
//first block animation
} else {
//reverse animation (optional)
};
if ($(window).scrollTop() >= el_2_top) {
//second block animation
} else {
//reverse animation (optional)
};
});
Еще лучше будет запихнуть анимацию с проверками в функцию и вызвать ее отдельно на документ.реди и отдельно на скролл:var animation = function() {...};
animation();
$(window)scroll(animation);
Вопрос: Рабочие процессы в асинхронных серверах

Лучший ответ: Смысл есть, т.к. по умолчанию асинхронное приложение работает в одном потоке, т.е. может загрузить не более одного процессорного ядра.
Если одного ядра мало и\или есть риск, что в потоке возникнет долгая операция - увеличивайте количество воркеров.
В Лайти многопоточный режим отлажен менее тщательно, поэтому предупреждают.
В Nginx'e проблем нет, ставьте "auto".

Худший ответ: если на низком уровне то все просто. Главный процесс слушает сокет и делает accept. Затем есть 2 варианта: мультиплексировать запросы (из массива выбирать сокеты готовые для чтения через select/epoll и делать recv или accept в зависимости от того что за сокет готов предоставить данные) либо запихнуть обработку сокета в отедельный поток/процесс. Процессы надежнее ибо если он упадет то серверу от этого ничего не сделается.
А далее уже идут оптимизации. Тот же nginx использует мультиплексирование внутри процессов-воркеров. Мультиплексирование позволяет более грамотно подойти к использованию ресурсов внутри одного процесса, а несколько процессов позволяют обрабатывать паралельно больше запросов. В то же время обработка этих запросов никак не затрагивает главный процесс слушающий сокет на предмет новых подключений.
По поводу самих воркеров. Так как форк нового процесса все же операция не такая уж и дешевая, имеет место такая практика как префорк. То есть в памяти уже крутится какое-то число готовых процессов и при появлении запросов на обработку они просто передаются туда. При повышении количества запросов увеличивается количество воркеров, что минимизирует потери от блокировки процессов...
вообще погуглите про проблему 10k, можно нагуглить кучу алгоритмов обработки запросов.
А что касается lighttpd то в документации описаны случаи когда нужно использовать многопроцессорность, и приведены возможные проблемы с модулями. Именно советов "не использовать" там нету.
Вопрос: Необходимо проверить существует ли имейл

Лучший ответ: некоторые сервисы (например, rambler) отвечают ошибкой, даже если ящик существует.
зачем Вам эта проверка? Отправить 1 письмо не так уж дорого. Нет способов проверить валидность email и принадлежность его юзеру, кроме как отправка письма верификации.

Худший ответ: Пришлось написать скрипт на питоне и запускать его через консоль.
Вопрос: Переустановка ос х на мак?

Лучший ответ: А если серьезно, то https://support.apple.com/ru-ru/HT201314

Худший ответ: После перезагрузки удержать Command+R
Вопрос: Как правильно оценить работу веб-дизайнера?

Лучший ответ: Обязательно оценивайте качество структуры макета. Все слои должны называться как надо (по названию элемента обычно — шапка, меню, содержимое, карта). Смотрите чтобы всё по папкам было разложено, а не спошняком слои, всякое бывает.

Худший ответ: Смысла типизировать и ставить рамки нет. Покажите дизайнеру примеры того, что вам нравится (желательно из вашей области, а то вечно закажут дизайн строительной фирмы и показывают промо-сайт apple). После этого пообщайтесь с ним, чтобы убедиться, что вы друг друга поняли, что дизайнер понял задачу. Далее просите дизайнера особо не париться и быстро накидать очень черновой набросок того, как он видит ваш дизайн.

Вот такими этапами и нужно двигаться, внося коррективы по ходу работы, а не после того, как ваш дизайн уже создан, сверстан, запрограммирован и две недели как запущен в public…
Вопрос: Как заставить SSD диск работает по SATA 3?

Лучший ответ: Обычно на матери есть сата2 и сата3 порты, логично переткнуть из сата2 порта в сата3.

Худший ответ: Как вариант: Попробывать поставить драйвер чипсета с сайта производителя.
Вопрос: Как перевезти Аймак 21 в самолете?

Лучший ответ: MBP retina 15" - Ваш выбор.

Худший ответ: купить мак тут будет не проблема (и без тайских символов на клавиатуре).
Недорогой моник (в пределах 400 долл, пользовался macbook air + dell u2412m) и прада может "спасти" - разрешение на уровне (конечно не такое высокое как на аймаке, но картинка приятная)
Дота 2 с горем пополам работала на эир 2011, думаю на более старших моделях да и еще и про будет летать (на доп мониторе)
Вопрос: Существуют ли утилиты для имитации плохого соединения?

Лучший ответ: uTorrent и большой фильм при разрешении полной загрузке канала. Отличная утилита, постоянно пользуюсь.

Худший ответ: В MacOS — ipfw. Очень много разных настроек. Пример:
sudo ipfw pipe 1 config bw 128Kbit/s delay 120ms
sudo ipfw add 1 pipe 1 src-port 80
sudo ipfw add 2 pipe 1 dst-port 80
Вопрос: Выбор cms для контентного проекта?

Лучший ответ: Wordpress — Для всего есть свои правила и запрет отображения статей на главной делаеться при помощи сотен плагинов или пятью минутами работы с кодом шаблона.

Wordpress не требовательна если вы правильно ее настроите, для статей есть различные кеши, и также правила, есть плагины которые позволят работать на облаках, если у вас будут сотни тысяч пользователей то вам в любом случае хостином не обойтись. А пока у вас нет такого количества посетителей вы можете спокойно работать с этой ЦМС

Худший ответ: Joomla. Она достаточно дружелюбна к пользователю, хороший интерфейс, простой, приятно работать. Система «средней медленности». У джумлы достаточно много поклонников, и это неспроста — под нее написано много модулей, расширяющие базовый функционал. Также есть нечто вроде framework (фреймворка), позволяющее дописывать собственные модули, расширять функционал. Замечу, что для более-менее серьезного проекта я бы все-таки использовал drupal, т.к. в плане внутренней структуры системы и ее продуманности, разграничения прав пользователя он вполне подходит на роль лидера. Однако Joomla проще и дружелюбнее к пользователю, в некотором смысле напоминает сильно облегченную версию Битрикс. Ставится просто. Настраивается довольно быстро. В общем, хорошо подойдет для контентных сайтов. Обычных сайтов-визиток.
Вопрос: Flask: как собрать простую форму?

Лучший ответ: очень подробный пост про формы во flask
конкретно такую форму можно сделать так:from flask_wtf import Form, TextField, FileField
class PuziForm(Form):
    image_url = TextField("label1")
    image = FileField("label2")

@app.route('/test', methods=['GET', 'POST'])
def test():
    form = PuziForm()
    if form.validate_on_submit():
        result = (form.image.data and form.image.data.read()) or form.image_url.data
    else:
        result = 'not submitted'
    return render_template('test.html', form=form, result=result)<form method="post" enctype=multipart/form-data>
        {{ form.hidden_tag() }}
        {% for element in form %}
            {% if element.widget.input_type != 'hidden' %}
                {{ element.label }} {{ element() }} <br>
            {% endif %}
        {% endfor %}
        <input type="submit">
    </form>
<br>
{{ result }}
закругленные уголки добавить по вкусу.

Худший ответ: wtf удобен в работе с большими и сложными формами и когда необходимо эти формы генерировать динамически и удобно,  избавляя себя от лишнего кода в темплейтах
а если вам нужна форма с 3-мя полями, зачем натягивать на flask лишние зависимости, если это все укладывается в 5 строчек без wtf:<form>
<input type="text">
<input type="file">
<button type="submit">OK</button>
</form>@app.route('/test', methods=['GET', 'POST'])
def test():
	form = request.form
Вопрос: Какими способами можно заблокировать использование tor browser в корпоративной сети?

Лучший ответ: Вам вообще TOR запретить или именно TOR-Browser? Если саму сеть - в блэклист 10 IP корневых серверов и задача для обычных юзеров существенно усложнится.

Худший ответ: Очевидно, не давать пользователям ставить и запускать это приложение - отключить сменные носители и запуск выполняемых файлов из системных папок. И отключить запись в системные папки вместе с этим.
Вопрос: Виртуализация и 3D

Лучший ответ: Создавая такую систему на базе Xen Cloud Platform 1.6, столкнулся с некоторыми проблемами. Одна из главных — материнка (в моём случае Gigabyte GA-Z77X-UD5H). При включенной виртуализации VT-d (должна поддерживаться процессором и материнкой) не видны HDD и SSD, которые подключены к контроллеру SATA с чипом Marvell 88SE9172 (в интернетах есть информация, что с чипами Marvell есть проблемы). Пробовал компилить из исходников — не помогло (использовал Debian 7, Ubuntu 12.04, Ubuntu 13.04, Xen 4.2.1, Xen 4.3 не захотел компилиться), Xen собирает своё ядро (возможно, я что-то делал не так?).
Ещё одна проблема — определяется, но не работает вторая сетевая карта Atheros AR8161. Разбираться не стал, т.к. это второстепенно.

Имейте ввиду, что функция TRIM для SDD не будет работать (из Вики): TRIM не работает с «виртуальными» дисками, хранящимися в виде образов, что ограничивает использование команды в виртуальной среде.
Чтобы эта функция работала, необходимо пробросить ВЕСЬ контроллер виртуальной машине. В моём случае их оказалось 3 — 1x Intel, 2x Marvell. Но, к сожалению, Marvell не работает.

По вышеуказанным причинам заказал другую материнку — ASRock Z77 Fatal1ty Professional (3 SATA контроллера).
Хотя я теперь начал сомневаться в необходимости SSD дисков (выслушаю весомый аргумент в их необходимости; переодически занимаюсь обработкой фотографий и виртуальных туров).

Что по производительности — специализированные бенчмарки не делал. Запускал в только W7, который не в виртуализации показал 7.7 пунктов по всем позициям, кроме видео (использовалась встроенная Intel HD P4000), а в среде виртуализации W7 показал 7.7, кроме пункта, где производительнось дисковой системы (SSD не работает, использовался HDD), видео — Gigabyte Radeon HD 7770.

Т.к. буду менять материнку (ещё не приехала), могу сделать несколько тестов, если подскажете какие (-:
Думаю написать пост, только не уверен, что всё сделаю правильно в правилах Хабра.

Худший ответ: Xen
С нормальным железом проблем быть не должно
GNU\linux в отличие от форточки может работать и без видеокарты
Падение производительности не должно быть критичным
Переключать видеокарты он не сможет, т.к. одна видеокарта будет отдана гостевой ос и не должна быть доступна из основной
Wine удивительно хорошо развивается в сторону поддержки игр в последние годы, со старыми серьёзных проблем точно не должно быть в 99% случаев. С очень старыми – в DosBox проблем давно уже нет.
Вопрос: Как заменить пробелы на обычные табы в Brackets?

Лучший ответ: Вопрос решился сам собой
В правом нижнем углу надо нажать на "Пробелы"

Худший ответ: через html 
через css white-space: pre
Вопрос: Какую забавную штуку можно сделать с использованием QR-кодов?

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

Худший ответ: Визитка с QR, ссылка в IRL рекламе…
Знакомый мой любил очень бумажные фотки… и в углу каждой фотки он размещал QR-код с описанием её)
Вопрос: Материалы и видеоуроки для изучение Bitrix Framework?

Лучший ответ: №1 - Интеграция дизайна и настройка платформы№2 - Основные технологии и расширение типовых возм...№3 - Расширенные технологии и производительностьРазработка на D7. Введение

Худший ответ: Для новичков очень хорошо подойдут уроки от Михаила Базарова.
затем смотрите то,что написал Павел Щеглов
Вопрос: Дополнительные навыки — «запасная профессия»?

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

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

Лучший ответ: Вот такой туториал нашел.

Худший ответ: caniuse.com - твое все.  перейдя по ссылке ты увидишь что этот эфект тянет только вебкит.
Вопрос: Cisco — ограничить скорость на 2 ip?

Лучший ответ: возможно я не правильно представляю себе реализацию ситуации
Ага.

Решение — QoS. На 1760-м роутере делать egress traffic shaping под битрейт провайдера, а в нем CBQFW, в разные классы выделить приличных и плохих юзеров, приличным гарантировать [ширина канала минус 2 мегабита]. В результате канал будет нагружен полностью, и при этом «качальщики» мигом подвинутся, если появится другой трафик. «Хорошим» пакетам будет гарантирована определенная полоса.

Ключевые слова: QoS, CBWFQ, class-map, policy-map, traffic shaping.
xgu.ru/wiki/QoS_%D0%B2_Cisco
www.cisco.com/en/US/docs/ios/qos/configuration/guide/qos_frhqf_support.html

Если по каким-то причинам QoS не заработает, достаточно сделать исходящий policing на внешних интерфейсах «модема». Но тогда использование канала будет неоптимальным.
На свитче ничего крутить не надо…

Если самостоятельно разобраться не удастся — можно либо в личку, либо сюда сбросить более детальное описание топологии и задач.

Худший ответ: Попробуйте так
Вопрос: Как закрепить блок питания?

Лучший ответ: Можно попробовать посадить на стяжки для проводов, если есть отверстия и БП не особо тяжелый.


Худший ответ: Я так понял, что блок питания представляет собой голую плату? Приклеить можно и винты с потайной головкой подходящих диаметра и длины. А крепить с помощью пары гаек на каждый винт: одна под платой, вторая крепит над. Только обязательно нужно изолирующую термостойкую (фторопластовую?) прокладку на всю плату проложить, дабы не пробило и не замкнуло на металлический корпус.
Более хороший вариант, если удастся раздобыть — стойки пластиковые под материнские платы из старых корпусов (с юбочкой и широкой площадкой; на рисунке по ссылке www.chieftec-ru.com/wp-content/uploads/guide/ustanovka-sistemnoj-platy-v-korpus_1.jpg похожие, только внизу там крепление на корпус, которое можно откусить). Изолирующая прокладка всё равно нужна.