Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Java web приложение, выбор технологии

Лучший ответ:
если нужен очень Rich клиент, с богатым интерфейсом — GWT
если немного AJAX, но хочется писать в Swing style (листенберы и так далее- Wicket)
если не хотите интерфейс писать на Яве, а будете делать HTML, JavaSciprt, CSS и Вас интересует только сторона сервера — 
Spring MVC, Grails. Будет почти тоже самое, что на сервлетах и jsp, но проще и гибче

Худший ответ:
Рекомендация ровно одна — используйте то, в чем большинство из вас имеет опыт.

Если опыта в вебе нет совсем, то нужно заложить пару недель на прототипы.
Для простого интерфейса можно обойтись и jsp/jstl, ну или там FreeMarker какой.

Я использовал по работе Struts1, Tapestry4, GWT1-2 (больше года на каждом) — ни один из них я бы не стал использовать в своем личном проекте. Может, в новых версия что-то и стало лучше.

Писал для себя на Lift — отличный фреймворк, но на Scala.
Вопрос: Как наличие одинаковых элементов в сортируемой последовательности влияет на быструю сортировку?

Лучший ответ:
Допустим, все элементы массива одинаковы (вы уж простите, но в нашем колхозе последовательности не сортируют).
Тогда всякое разбиение массива на два сортируемых подмассива идёт криво: все элементы массива сбиваются по одну сторону (влево, вправо - тут зависит от реализации) от медианного.
Итого: время сортировки порядка n^2 вместо заветного n*log(n). Количество присваиваний, бл*дь, n-1 (столько раз выбирается медиана) - в отличие от количества сравнений.
Удачной сессии.

Худший ответ:
Смотря как писать сортировку - здесь всё зависит от мелких деталей.
Если не помнить, что элементы могут быть одинаковыми, легко свалиться в O(n^2).
Можно написать так, что число сравнений не изменится, но одинаковые элементы будут вхолостую переставляться друг с другом.
Можно на каждом шагу бояться, что могут встретиться одинаковые элементы, и делить массив на три части - меньше опорного, равные ему и большие его. Тогда при большом количестве одинаковых элементов будет работать быстро, но когда одинаковых элементов нет - то число сравнений будет в 1.6 раза больше.
Можно при разделении смотреть, был ли хоть один элемент равен опорному, и отделять равные только если был. Тогда будет плохо, когда каждый элемент встречается ровно два раза.
Есть и другие способы. И всё это будет quicksort. Если всё написать правильно, то чем больше одинаковых элементов, тем быстрее будет сортировка.
Вопрос: Как правильно усилить сигнал wi-fi?

Лучший ответ:
На каждом роутере есть пункт "СТРАНА". Он не для красоты. Он выставляет мощность в зависимости от законодательства страны. Соответственно выбрав ту страну, в которой разрешается больше, можно увеличить мощность сигнала. Если не ошибаюсь то ставят "БОЛИВИЯ".
Так же можно прошить в OpenWRT и получить тоже самое, но прямым путем в WEB интерфейсе, а именно Tx Power 100 mW увеличить до 1000 mW
Кроме этого, с прошивкой OpenWRT, можно получить доступ к "тонким" настройкам Wi-Fi.

Худший ответ:
Усиление сигнала - не выход. Даже если клиент будет слышать точку из-за большого усиления, то точка не услышит клиента, т.к. у него же вы мощность не подняли. Кроме этого из-за сильного сигнала точка начинает хуже слышать клиентов, даже если они находятся не далеко, упадет скорость передачи.
Поэтому тяните кабель в "мертвую зону" и ставьте там вторую точку доступа, так будет правильней.
Вопрос: MSSQL Server 2005 и режим рид онли

Лучший ответ:
ага, нашлось:
 Autogrow of file '*_log' in database '***' was cancelled by user or timed out after 30422 milliseconds. Use ALTER DATABASE to set a smaller FILEGROWTH value for this file or to explicitly set a new file size.

Худший ответ:
Возможны блокировки при первой попытке Insert или Update. Также критичные вещи видны в ERRORLOG( можно найти в ManagmentStudio или «C:\Program Files\Microsoft SQL Server\MSSQLваша_версия.MSSQLSERVER\MSSQL\Log») если с базой что-то происходит там это точно будет видно.
Вопрос: Как правильно проверить пинг и скорость vps перед арендой:?

Лучший ответ:
> Про vds я ничего не узнаю, пока не закажу, следовательно ip мне не видать.
Найдите автономную систему (AS) хостера и посмотрите, какие блоки IP-адресов записаны на эту автономную систему.
Проверьте пинг до адресов из этих блоков. Если у хостера несколько ДЦ в разных городах, выбирайте для проверки адреса таким образом, чтобы роутинг на них шел через нужный Вам город.

Худший ответ:
Пробуйте UNIXBench, но нужно взять тестовый период у провайдера, иначе не проверите.
Вопрос: Вопрос к администрации Хабра или Очередная идея про «Убийцу Фейсбука»

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

Худший ответ:
не туда запилил…
Вопрос: Что за CSS хаки вида: ":before {content: ""}..."?

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

Худший ответ:
clearfix.. Трюк для очистки флоатов. Чтобы следующие элементы не обтекали данный.
Вопрос: Как решить проблему с черным экраном при установке Windows 8?

Лучший ответ:
Утилита форматирует флешку в NTFS, а в UEFI-режиме с NTFS большинство компьютеров не загружается, т.к. мало кто желает платить MS за драйвер. 
Отформатируйте флешку в FAT32 и просто скопируйте все файлы из образа на нее, для установки в UEFI-режиме ничего больше не нужно.

Худший ответ:
Перейди на Windows 7
Вопрос: Как сделать в одном блоке два фоновых цвета?

Лучший ответ:
Весь блок заливаешь серым, верхний текст другим цветом. У верхнего текста делаешь line-height нужно высоты и ширину 100% от серого блока + padding

Худший ответ:
Разделить блок на header и content.
Задать нужную высоту header и content.
Выставить им width 100%.
Вставить в один блок: container.
все.
UPD.
Умничка Егор Федосенко проверил за меня, и, действительно, widht: 100% можно не ставить. Хотя это было не критично и, в общем-то, всем плевать:)
Вопрос: Насколько актуальна идея для стартапа?

Лучший ответ:
www.keynote.com/solutions/testing/mobile-testing#s...
www.monkop.com
Ну и так далее подобных сервисов полно

Худший ответ:
"Добровольное тестирование" - врятли выстрелит. А если людям за то, что они протестировали будет платиться, то возможно.
Но разработчики готовы платить больше за качественные тесты, а не за ответ "Да, работает.". А вот как проверить качественность теста, это уже задачка.
Вопрос: Какую ОС поставить на старый ноутбук?

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

Худший ответ:
blog.linuxmint.com/?p=2656 не будет лагать точно
Вопрос: Какую книгу по Java посоветуете для начинающего Java Junior?

Лучший ответ:
Я Java начал осваивать по "Философия Java", Брюс Эккель. Трудностей с пониманием  материала никаких не испытывал. Так же надо понимать, что чисто языком ограничиться не получится, придется как минимум ещё и Swing почитать.

Худший ответ:
Какую книгу выбрать для изучения java?
Вопрос: Какую cms выбрать для торговой площадки?

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

Худший ответ:
Ali или Ebay с нуля делать не имеет смысла, т.к. затраты огромны, а взлетит ли, непонятно. Чтобы не тратить много денег, и при этом прощупать рынок, можно начать с MVP, минимально жизнеспособного продукта. К примеру, использовать модуль к бесплатной cms opencart.
Вопрос: Linux: как реализовать совмещение тайлинга с обычными окнами?

Лучший ответ:
Pytyle, описанной проблемы не имеет, из себя представляет реализацию тайлинга независимо от wm. Каждую новую версию автор переписывал.
pytyle2 фичастая, но тяжелая.
pytyle3 малофункциональная, но легкая как перышко. и к тому же имеет киллер фичу: поддерживает многомониторный форк опенбокса, почему и пользуюсь.
Работает с любым оконным менеджером.
Но лично я собираюсь переходить с KDE+openbox+pytyle на awesome, описанной вами проблемы там нет, настраиваемость абсолютная.

Худший ответ:
Куда двигают О_о
У вас какой-то неправильный тайловый WM. Посмотрите на ion3, он является типичной реализацией тайлинга, никуда ничего не двигается) 
А вообще во всех тайловых WM есть что-то в духе "болтающихся окон", на всплывающие их и подвешивают. Правда, оно в итоге неудобно, в ion3 проще было всплывающие открывать в том же тайле в бэкграунде.
Вопрос: Плюсы/минусы смены профиля с PHP на Python/Ruby. Оно того стоит?

Лучший ответ:
между синьер PHP/Ruby/Python не сильно велика разница по ЗП. Более того, обычно эти самые синьер PHP знают тот же Python и/или Ruby. Возможно у вас статистика размыта за счет большего количества вакансий. Уровень ЗП все же вы определяяете. То есть вы можете найти мидла который получает как джуниор только потому что у него занижена самооценка или просто у него есть какие-то проблемы с тем, как начать разговор о деньгах.
Короче на уровень ЗП лучше вообще не смотреть. И на PHP можно спокойно кодить и много зарабатывать.

Худший ответ:
Как минимум стоит изучать другие технологии для того чтобы понимать разные подходы в программировании. PHP в этом плане сильно отстает от других. Изучите для примера руби(про питон ни чего не могу сказать тк не сталкивался с ним), и поймете что подход совсем другой, даже если вы в конечном итоге не перейдете на другой ЯП, вы все равно будете иметь более широкий кругозор.
Вопрос: Что означает данная запись в миграции?

Лучший ответ:
Разница заключается в том, что с внешним ключом вы не сможете вставить в таблицу данные, отсутствующие у связующей таблице в колонке с внешним ключом, а так же не сможете удалить эту запись если данный внешний ключ используется в связующей таблице. 
Если вы укажете это в модели, то это будет то же самое, что и без внешнего ключа, но как я сказал выше, вы не будете застрахованы от удаления и null вставок. А так же для foreign можно дописать еще и стратегию, например$table->foreign('user_id')->references('id')->on('users')-onDelete('cascade');
Что будет означать, что при удалении пользователя, записи из этой таблицы, которые содержат внешний ключ, ссылающийся на пользователя, будет удален.

Худший ответ:
Это реализация внешнего ключа через конструктор таблиц Laravel.
Подробности в документации:
https://laravel.com/docs/5.2/migrations#foreign-ke...
https://laravel.ru/docs/v5/schema#внешние
Вопрос: Чего бы понаписать?

Лучший ответ:
Многопользовательскую браузерную игру на Canvas.

Худший ответ:
Первое что в голову пришло:
 — чат,
 — эмулятор-синтезатора или эмулятор-гитары,
 — шашки,
 — тренажер для клавиатуры.
Вопрос: Почему лагает простой скрипт на JavaScript?

Лучший ответ:
Думаю как верстальщику в данном случае сделать в CSS 2 класса для обеих позиций. Один класс будет с display:none, другой собственно показывается. При переключении кнопки, JS всего лишь будет менять класс у блока, таким образом будет меняться содержимое. 
Это проще и меньше геммороя, тем более судя по всему блоки вкл/выкл похожи.
По коду, лучше чтоб не повторяться вынести оба блока в отдельные функции и запускать только функции. Но думаю лучше всего все-таки реализовать это с помощью CSS. Как подсказывает комментатор iiil можно еще и дата атрибуты повесить, а с помощью псевдоэлементов подставлять необходимые данные.

Худший ответ:
Я написал чутка кода, должно работать, просто чутка подправьте под свой хтмл, если будут вопросы, пишите.codepen.io/anon/pen/pIanw
Вопрос: Софт для проектирования домашних сантехнических коммуникаций?

Лучший ответ:
Тот самый конструктор интерьеров
Пост habrahabr.ru/post/151787/
Сайт planner5d.com/

Худший ответ:
Для расчета используем Автокад
Делаем такое проектирование отопления и водоснабжения
Вопрос: Что делает модуль ngx_http_degradation_module

Лучший ответ:
В общем позволяет при превышении определенного объема памяти, занимаемого процессом, вернуть 204-ый ответ или 444 (молча разорвать соединение). И работает в основном только на фряхе до 7ой версии, т. к. на других malloc может юзать mmap в определенных случаях.

Худший ответ:
В общем позволяет при превышении определенного объема памяти, занимаемого процессом, вернуть 204-ый ответ или 444 (молча разорвать соединение). И работает в основном только на фряхе до 7ой версии, т. к. на других malloc может юзать mmap в определенных случаях.
Вопрос: Что будет с NodeJS с приходом WebAssembly?

Лучший ответ:
Когда придёт - тогда и поговорим.  Часто отовсюду слышно: "А что будет с этим, когда придёт это!" 
Часто об этом забывается и никто уже не помнит, кто и зачем должен был придти.

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

Лучший ответ:
В html нет такого api. 
Только такое: <a href="tel:+79998887766">+7 (999) 888-77-66</a>

Худший ответ:
Как вариант - сохраните данные контакта в VCF файлик и разместите на странице ссылку.  Safari при переходе по такой ссылке предлагает открыть "Контакты" а там показывает контак и вверху кнопка "Сохранить". Просто сохранить контакт в один шаг думаю не получится на iOS.
Для теста можете попробовать открыть ссылку https://dl.dropboxusercontent.com/u/959328/Exist.vcf с айфона.
Вопрос: Какое направление более перспективно?

Лучший ответ:
3 - по поводу перспектив - дела через Н лет могут быть плохи в любой компании, хоть в большой, хоть не очень...
1, 2 - у .Net разработчиков как правило хорошая зарплата, да и вообще, у опытных программистов хорошая зарплата.
я думаю в вашем случае надо ориентироваться на то, чем вам больше нравиться заниматься, как говориться "любимым делом можно заниматься и дома в подвале" а если везде платят, то зачем выбирать то что " не очень нравиться".

Худший ответ:
Перспективные все направления. Всё зависит от ваших знаний. Выбирайте, то что вам нравиться. И если вы будете отличным специалистом, то в любой сфере вы будете получать отличные деньги.
Вопрос: Как развернуть Gui для mysql Community Server?

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

Худший ответ:
Я использую dbForge Studio for MySQL gui, хороший десктопный инструмент под виндоус.
Вопрос: Redmine на Ruby, Trac на Python и даже Bugzilla на Perl. А какие существуют достойные, открытые и свободные системы управления проектами на PHP?

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

Худший ответ:
Mantis вроде на php?
Вопрос: Какое более правильное решение написания each() для улучшения производительности?

Лучший ответ:
Не занимайтесь ерундой, тест для Chrome. В FF последний вариант выигрывает на 0.5%// 4,511 ops per sec
$('.block .item').each(function() {
  console.log(this);
});
// 4,613 ops per sec
$('.item', '.block').each(function() {
  console.log(this);
});
// 4,519  ops per sec
$('.block').children('.item').each(function() {
  console.log(this);
});
// 4,569 ops per sec
$('.block > div[class="item"]').each(function() {
  console.log(this);
});

Худший ответ:
Вот так правильно. Используем контекст выборки, т.е. ищем блок .item в блоке .block2$('.item', '.block2').each(function(){
   console.log(this);
  });
Вопрос: Какую минимальную версию Android должно поддерживать хорошее приложение?

Лучший ответ:
"будет использоваться на бюджетных телефонах"
сейчас андроид 4 на эксплеях/флаях/еtc стоит от 3к. 
официально андроидов ниже 4 ~9.6% (https://developer.android.com/intl/ru/about/dashbo...
в одном реальном приложении их порядка 8%
Сами делайте выбор, хотите ли вы ради этих людей тратить свое время на поддержку телефонов, которые уже несколько лет не выпускают(может они и есть но я на прилавках не видел).
Если приложение рассчитано на "массу", те доход зависит на прямую от кол-ва пользователей (социалка к примеру), то делайте, иначе я считаю не окупите (как показал личный опыт пользователи андроида 2.x не платят)

Худший ответ:
Реальная инфа: от 2.2+ покрытие по статистике 7815/8101, выпало 286. (чат-приложение)
Вопрос: Как изменить гет запрос регулярным выражением?

Лучший ответ:
Не проверяя:$uri = preg_replace("/&page=(\d)/", $_SERVER['REQUEST_URI'], "&page=");
Сейчас пойду проверять :)
P.S.preg_replace("/^(.*)&page=(\d)$/", "$1&page=", $_SERVER['REQUEST_URI'])

Худший ответ:
Функцияfunction sgp($url, $varname, $value) // substitute get parameter
    {
		if (is_array($varname)) {
			foreach ($varname as $i => $n) {
				$v = (is_array($value))
					? ( isset($value[$i]) ? $value[$i] : NULL ) 
					: $value;
				$url = sgp($url, $n, $v);
			}
			return $url;
		}
         
        preg_match('/^([^?]+)(\?.*?)?(#.*)?$/', $url, $matches);
        $gp = (isset($matches[2])) ? $matches[2] : ''; // GET-parameters
        if (!$gp) return $url.'?'.$varname.'='.$value;
        
        $pattern = "/([?&])$varname=.*?(?=&|#|\z)/";
        if (preg_match($pattern, $gp)) {
            $substitution = ($value !== '') ? "\${1}$varname=" . preg_quote($value) : '';
            $newgp = preg_replace($pattern, $substitution, $gp); // new GET-parameters
            $newgp = preg_replace('/^&/', '?', $newgp); 
        }
        else    {
            $s = ($gp) ? '&' : '?';
            $newgp = $gp.$s.$varname.'='.$value;
        }
       
        $anchor = (isset($matches[3])) ? $matches[3] : '';
        $newurl = $matches[1].$newgp.$anchor;
        return $newurl;
    }
Вызов:<? echo sgp($_SERVER['REQUEST_URI'], 'page', 2);?>
Где:
1) наш URL
2) имя параметра который меняем
3) новое значение параметра
Если такого в строке еще нет, то он буде создан заново, если есть то изменится только значение.
В качестве значения можно применить и мат.функции вида$cur_page + 1;
1+1
Вопрос: Тестирование, анализ сайта на уязвимости, какие есть инструменты?

Лучший ответ:
metasploit framework - в этом плане своеобразный швейцарский нож.
А вообще, для этого есть целый дистрибутив, напичканный инструментами для пентеста - kali linux

Худший ответ:
Аналоги кали: Parrot Os :
+: бесплатная, больше тулз, дизайн как в кино
-: Язык вроде только испанский
www.parrotsec.org
Gnosis:
Оф сайта не нашёл ifud.ws/threads/gnosis.8785
BackBox:
www.backbox.org
+: Интерфейс у неё не гном а хвсе, поэтому батарея от ноута дольше живёт
(Рекомендую, лучше кала)
Кали для андроид:
www.nethunter.com
Вопрос: Как генерировать код из XML?

Лучший ответ:
В xml(xsd) список некоторых элементов, из которых нужно сгенерировать много кода на C/C++, который руками писать (и править) долго, муторно и чревато опечатками. 
Ну тогда берите XSLT и сможете сгенерить все что захотите, хоть сказку. Ничего более конкретного посоветовать не могу.

Худший ответ:
Берите www.altova.com/xml_tools.html и дальше по ситуации.
Вопрос: Как заставить COUNT(*) вернуть ноль?

Лучший ответ:
SELECT roomtype, ISNULL(COUNT(*),0)
FROM rooms
WHERE roomtype = 'люкс' AND dirty = 'Y'
GROUP BY roomtype

Худший ответ:
SELECT 'люкс' as roomtype, COALESCE( (SELECT COUNT(*)
FROM rooms
WHERE roomtype = 'люкс' AND dirty = 'Y'
GROUP BY roomtype), 0)
Вопрос: Правильная локализация сайта

Лучший ответ:
Правильно указывать lang в качестве свойства тега html:
<html lang="ru">


как выглядят ссылки для SE не важно, все равно они проверяют по контексту. Но важно правильно указывать charset и lang, иначе могут сбоить.

для пользователя имхо надо бы смотреть на его Accept-Language и подбирать из имеющихся альтернатив, если это внешняя ссылка и давать возможность менять, запоминая в куках. Урл менять как-то не хорошо, хотя полезно иметь жесткий модификатор в урле типа ?lang=ru, но не использоваться его.

Худший ответ:
1,2,3 имею право на жизнь но какой их них, Все зависит от контента.
Если он полностью зеркален, то имеет смысл использовать 1 или 2
Если контент разный, то 3.
Вопрос: Какой собственный почтовый сервер выбрать?

Лучший ответ:
Из коробки - используйте готорые и платные решения от gmail, yandex и иже с ними.
Не из коробки - postfix (сам агент на сервер) + dovecot (ради imap, "как exchange") + spamassasin (антиспам) + sasl (модуль аутентификиции, зависит от того, как будет атворизация у вас) + clamav (антивирь) + dkim (подписи) + в DNS прописать spf для вашего домена.
При этом придется следить за обновлениями софта, как почтового так и вспомогательного (например openssl) и самого сервера. И съесть пару собачек на конфигурировании написанного.
Так же замечу, что указанному софту есть альтернативы: postfix - exim, dovecot - courrier как минимум. Еще надо будет ставить дополнительный софт в виде fail2ban, и самописных скриптов, есть f2b вам мало и у вас открыт ipv6. И до кучи правильно настроить iptables и ip6tables.
Для того, чтобы файлов - поставить samba и сделать некое подобие правил пользователям.
Свой мейлсервер вам нужен если вы понимаете для чего он вам нужен. Плагинов тьма на каждого любителя. "Вытаскивать сервер из блеклистов" - бейте по пользователям (если у вас будет политика смены паролей пользователями и пароли будут от 8 символов в разном регистре и с цифрами не придется) и пишите правильные конфиги (запретите relay, введите белые-серые-черные списки).

Худший ответ:
Наиболее простые варианты для установки самостоятельно Zimbra и Zentyal.
Так же, возможно, вам подойдет Clearos.
Второй вообще вроде как полностью совместим с Exchange и можно MS-сервер заменить на Zentyal незаметно для клиентов. 
А вот еще список того, что может послужить пищей для исследований.
Вопрос: Как выделить наиболее связные группы элементов в графе?

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

Худший ответ:
Может быть нужен поиск минимального сбалансированного разреза? Как вариант можно сформулировать так: разбить вершины графа на две доли равного размера, чтобы число ребер между ними было минимально.

Здесь есть кое-что: theory.stanford.edu/~trevisan/cs359g/
Вопрос: Как восстановить доступ по ssh Ubuntu?

Лучший ответ:
Грузиться через IP-KVM или IPMI для физического сервера, либо гипервизор, если это виртуалка и править конфиг из "локальной" консоли. Вообще на случай правки ssh удаленно всегда надо иметь запасной вариант, как самый простой - скрипт в скрине, который вернет рабочий конфиг на место, если втечении 5 минут его не закроют или просто не отлогиниваться одним из терминалов, а проверять доступность из другого окна. Пинайте ленивого хостера, он знает что делать, но ему лень.

Худший ответ:
Если то vds то можно обратно конфиг поправить через панель управления менеджер файлов, у меня это получалось правда только через панель самого vdsmanager от isp