Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Существуют ли более приятные конструкции чем if elif else где на каждое значение нужно проводить разное действие?

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

По вашему вопросу. В питоне как такового нет оператора case, как во многих других языках. Но из-за того, что все в питоне является объектами, даже функции, то можно провернуть все через словарь

# прописываем соответсвие значений кубика и действий через словарь
actions = {1: self.pass_day,
			2: self.eat_food,
			3: self.work_day,
			4: self.have_fun,
			5: self.go_shopping,
			6: self.sleep}

action = actions[dice] # получаем нужную функцию

action() # Выполняем нужную функцию

Заметьте, что в словаре прописываем имена функций без (), т.к. мы не выполняем их, а только ссылаемся на сами объекты.

P.S. Код не проверялся, возможно где-то есть небольшие неточности, но примерно такую же конструкцию сам использовал как-то.

Худший ответ:
Для этого лучше использовать функцию-словарь
def f(x):
    return {
        'a': 1,
        'b': 2
    }.get(x, 9)    # 9 is default if x not found
...
f('c') # 9
f('a') # 1
f('b') # 3
Ну и вариантов масса - https://ru.stackoverflow.com/questions/460207/%D0%...

def get_temp_description(temp):
    return {
               temp < -20: 'Холодно',
        -20 <= temp < 0:   'Прохладно',
          0 <= temp < 15:  'Зябко',
         15 <= temp < 25:  'Тепло',
         25 <= temp:       'Жарко'
    }[True]
Вопрос: Место на облачном хостинге занято системными и прочими вещами, нормально ли это?

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

Худший ответ:
Все нужные мне файлы находятся в 
16G     /var/www  
А хостеру я также оплачиваю 
2.9G    /usr   
8.2G    /var/lib/dockerUpdated:
Ответ хостера.
В шаблон ISP Manager для облачного хостинга включен Docker для работы расширенных опций мониторинга (Grafana).
Мы удалили docker с вашего сервера, в данный момент на нём свободно 9.8 ГБ.
Вопрос: Как сделать скелет сайта до загрузки?

Лучший ответ:
Загрузить js + минимальный шаблон (со скрина) 
-> отправить AJAX-запросы за данными 
-> отрендерить блоки с данными
p.s. Если что, в Хроме есть удобнейший профайлер, через который можно просмотреть каждый кадр в загрузке страницы, какие скрипты выполнялись и какие ресурсы загружались в какое времяscreen

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

Лучший ответ:
DotPeek попробуй

Худший ответ:
Декомпилируйте через ILSpy
Вопрос: Как реализовать табуляцию на CSS?

Лучший ответ:
Вариантов много. Например, с помощью отдельного элемента (позволяет использовать рисунок на фоне):snippet
Самый простой вариант без лишней разметки. Граница на li, а у span залить фон цветом, чтобы перекрыть линию там, где текст:snippet
Можно псевдоэлементом сделать как для первого, так и второго варианта. Ну и так далее. Можно тут вообще костылей напридумывать, кстати, но это отдельная тема. Если не нужен фон, кроме однородного фона — делайте границей и заливкой цвета. 
Извините, мне с телефона лень писать, поэтому дальше сами.

Худший ответ:
Добрый день!
Пропишите в селектор .s_h такие свойства.s_h {
  height: 16px;
  overflow: hidden;
  flex-grow: 0;
  flex-shrink: 0;
}
Вопрос: Как правильно добавить файлы миграций в gitignore?

Лучший ответ:
Правильно — никак. Миграции являются неотъемлемой частью проекта, не нужно их исключать.

Худший ответ:
Пустые папки гит по умолчанию не индексирует. Разместите в папке миграций файл .gitkeep или .gitignore с контентом *
!.gitignore
Вопрос: Как найти такие 2 числа в последовательности, сумма которых будет кратна m?

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

Худший ответ:
Будем полагать, что элементы x[1],..., x[n] введенной последовательности хранятся в памяти с произвольным доступом. После ввода числа M  выполняем вычисление рекуррентной последовательности  y[i+1]=Mod(-M+y[g(y[i])]), где g некоторое легковычислимое отображение множества возможных значений элементов x[1],..., x[n] в множество 1,2,...,n. Далее алгоритмом Флойда определения периода находится коллизия y[i1]= y[i2]=Mod(-M+y[g(y[i2-1])]). Тогда сумма y[i1]+y[g(y[i2-1])] делится на M. Временная сложность  оценивается O(Sqrt(M)) .
Вопрос: Как изменить переменную count по клику на кнопку?

Лучший ответ:
Вы сначала делаете рендер строк таблиц, а только потом манипулируете с переменнойvar count = 1;
	
	$('#btnAddEmployee').click(function() {
	count++;
	var userID = 'userID ' + count;
	var passwordID = 'passwordId ' + count;
		$('#tableEmloyeeManagement tbody').append(`<tr><td><input id="${userID}" class="border-0 bg-none" type="text" value="name user" disabled></td><td><input id="${passwordID}" class="border-0 bg-none" type="password" value="1234abcd" disabled></td><td><a id="editUserAndPassword" href="#"><i class="fas fa-edit mr-2"></i></a></td></tr>`);

	})

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

Лучший ответ:
Работают.

Худший ответ:
Просто ОГРОМНОЕ пасибо! прямм устал разбираться с этим входом.
Вопрос: Какой монитор лучше для кодинга и работы на бирже?

Лучший ответ:
1. Снизить яркость у текущего монитора
2. На стол купить хорошую настольную лампу, которая будет давать немерцающий (или выше 100герц) свет и выравнивать яркость монитора с окружающей средой. 
3. Настроить себе комфортный размер шрифтов.
4. Отвлекаться от работы, давать отдых глазам, потому что никакой, еще раз НИКАКОЙ монитор с суперзащитой, не поможет вам сохранить глаза при 8-10 часов в день без соблюдения режима.

Все остальные показатели монитора - тип матрицы, диагональ, частота - для LCD мониторов не так критичны и больше уже для комфорта работы с информацией. Кому подходит 2 x 24, кому 1x28.. это вопрос вкуса, привычки и смотря с чем работать.

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

1) Правильное положение монитора - глаза должны быть на уровне верхней кромки, современные производители на этот момент поголовно забили, решается покупкой подставки, которая позволит опустить монитор на нужную высоту.

2) Он обязательно должен быть без мерцания (flicker-free и т.д.) на всех уровнях яркорсти

3) Размер пикселя должен быть средний, мне отлично зашел BenQ BL3200PT (был и мельче и больше, этот идеален для меня)*

Ну и *VA матрица пожалуй поприятнее, хотя бы из-за отсуствия глоу (хотя в новых ипсах он вроде меньше чем раньше). Еще можно поиграться со сглаживанием шрифтов.

* со сменой dpi, насколько знаю, всё до сих пор не очень хорошо.
Вопрос: Как реализовать админку на vue js?

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

Худший ответ:
чем админка отличается от блога на фронте? Такие же запросы к бэку за данными (по сути список постов === список зарегистрированных пользователей для админки), такие же запросы для отправления данных из форм (создание/редактирование постов в блоге === создание/редактирование данных в админке). Разница в дизайне, а какие данные и как запрашивать/отправлять - это вопросы к бэкенду
Вопрос: Функция в JS это объект?

Лучший ответ:
Давайте посмотрим:(() => {}) instanceof Object // true
Ну да, объект. Кто бы мог подумать.

Худший ответ:
Но я для интереса написал функцию и вывел ее:
...
но никакого обьекта я не увидел там
Проблема исключительно того, как браузер показывает вывод console.log. Стандарта нет и разные браузеры показывают то, что их разработчики посчитали полезным/удобным. Попробуйте лучше console.dir(function() {}).
В отличие от примитивных значений, в функцию можно добавить свои поля.function a () {};
a.b = 42;
console.log(a.b);
Функции передаются по ссылке.
У функций есть методы, например bind, apply и call.
Функция это специальный объект, у которого определен внутренний метод [[Call]].
Вопрос: Как осуществить параллельную (одновременную) работу двух операционных систем и быстрое переключение между ними?

Лучший ответ:
Взять 2 компа и KVM.

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

Лучший ответ:
у тебя строка должна начинаться с Petersburg

Худший ответ:
^ обозначает что проверка совпадения начинается исключительно с начала, т.е. правило /^Petersburg/ будет работать например для строки "Petersburg Saint"
$ обозначает конец. /^Petersburg$/ - полное совпадение от начала до конца
Для проверки и практики регулярок посоветую https://regexr.com/.
А вообще данную задачу думаю лучше решить с помощью стандартных функций php для работы со строками.
Вопрос: Как сделать поиск по регулярному выражению SQL?

Лучший ответ:
TL;DR: переписывайте базу пока не поздно. Приводите в 3 нормальную форму и будет вам "щастие".

1) Хранение данных по которым идет поиск в таком виде - это сразу расписаться в своей проф. непригодности, никому не показывайте эту стыдобу. 

2) Разнесите данные нормально по таблицам, не думайте что вы прям "выкрутились" захерачив все в строку и у вас все в шоколаде. Нифига, теперь у вас по этому полю будут кошмарно тормозные запросы, так как самые медленные операции - это лайк и регексп. Тем более по полю с переменной длинной и без нормальных индексов. И все это вместо суперскоростного индекса по интежер полю.

3) Кроме остальных проблем - теперь вместо просто апдейта поля вам сначала надо его считать, распарсить и только потом обновлять, чтобы не потерять информацию, то есть вы часть стандартной логики бд переносите в код, где ему не место.

4) ну и на одну из проблем вы уже напоролись - поиск по нечетким данным даст нечеткий результат.

Худший ответ:
У Вас есть 2 основных подхода
1. через 2 выражения пользуясь операторами перечисленными здесь
https://dev.mysql.com/doc/refman/8.0/en/regexp.html
Возможно не всеми в любой комбинации, но существенно то, что один оператор должен найти  часть последовательности символов, которые должны ответить, например
SELECT * 
FROM `post` 
WHERE 
-- 1-е выражение
`description` LIKE 'itemid=34543%'
-- 2-е выражение
AND 
`description` NOT RLIKE 'itemid=34543[0-9]+'

2. через 1 регулярное выражение, очень похожее на то, которое Вы предложили, но видимо с \ ( backslash ) символом проведенным дважды, на той же странице объясняется почему: "Because MySQL uses the C escape syntax in strings (for example, \n to represent the newline character), you must double any \ that you use in your expr and pat arguments."
Если по той или иной причине выражение артачится, наверное можно воспользоваться выражением на один символ длиннее, для выражения цифр [^0-9]
Ну и наверное надо воспользоваться плюсом, а не звездочкой справа [^0-9]+, иначе эта часть становится не обязательной, и запрос может выбрать, например, значение 'itemid=34543'
---
Всего хорошего!
Вопрос: Как сделать простой php-роутер?

Лучший ответ:
.htaccessRewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?route=$1 [QSA,L]
index.phptry {
    // берем переданный роут
    $route = trim($_REQUEST['route']??'index');

    // проверяем, если в конце слеш, то это index роут
    if (substr($route,'-1') == '/') $route.='index';

    // минимальная защита от инклуда неожидаемых файлов
    // ограничиваем имена до символов a-b, 0-9, тире, нижнее подчеркивание и слеш
    if (!preg_match('~^[-a-z0-9/_]+$~i', $route)) throw new Exception('Not allowed route');

    // генерим путь к файлу
    $filePath = dirname(__FILE__).'/pages/'.$route.'.php';

    // если не существует выкидываем ошибку
    if (!file_exists($filePath)) throw new Exception('Route not found');

    // если существует, инклудим файл
    include $filePath;
} catch (Throwable $ex) {
    // в случае любых ошибок, показываем 404
    // тут обычно делают разные типы эксепшенов и разделяют 400 и 500 ошибки
    include dirname(__FILE__).'/pages/404.php';
}
структура вызова
/ => /pages/index.php
/index => /pages/index.php
/about => /pages/about.php
/user/ => /pages/user/index.php
/user/index => /pages/user/index.php
/user/hello => /pages/user/hello.php
...
/404 => /pages/404.php
/ => /pages/404.php
/user/ => /pages/404.php
Далее доработать по потребностям.
Но, я бы не советовал самому пилить, т.к. есть много всяких нюансов. Кроме того, есть куча готовых, проверенных, решений. Разве что, просто для интереса.

Худший ответ:
switch($url){
    case "$url": include("pages/user/$url.php"); break; // Страницы
Это пять)
Вы в htaccess передаете параметр menu, а принимаете параметр url
Вопрос: JS наложить одно изображение на другое и сохранить?

Лучший ответ:
Можно рисовать обе картинки на канвасе. Тут только надо решить откуда берутся сами картинки. 

snippet

Худший ответ:
На php, если есть imagick - проще всего. 
С использованием GD чуток сложнее.
На js решения тоже есть, но сам не тестировал.
Вопрос: В каких случаях, можно опустить скобки в конструкции if и будет ли это правильно?

Лучший ответ:
По конвенции скобки должны быть всегда:
Note:if statements always use braces {}. Avoid the following error-prone form:
if (condition) //AVOID! THIS OMITS THE BRACES {}!statement;
proof: https://www.oracle.com/technetwork/java/codeconven...
имхо:
Но могут быть исключения:
 - личный проект
 - договоренности внутри команды.
И эти исключения работают до тех пор, пока с эти кодом не начнет работать или читать, кто то другой - в таком случае, желательно придерживаться стандартов.

Худший ответ:
При коллективной разработке обычно устанавливают правила форматирования кода. Для себя - не имеет значения, как удобнее лично вам, так и делайте. Я бы вообще вот так бабахнул:System.out.println(a < b ? "True." : "False");
Вопрос: Где учиться IOS Разработке?

Лучший ответ:
Несчастные, несчастные программисты, как они жили-то во времена, когда не расцвели буйным цветом лохокурсы? Ах да, книги читали. Смотрите:
https://techrocks.ru/2019/07/26/12-books-on-swift-...

Худший ответ:
Ответы почти что на все вопросы:
https://docs.google.com/document/d/1wKcCgTbfLurLdg...
Вопрос: Какой офисный продукт эффективно работает с большими таблицами и поддерживает разные форматы?

Лучший ответ:
MS Access. Свободно импортируете туда ваш csv-файл, каждое поле которого заносится в соответствующее поле таблицы базы данных.
Далее уже - дело техники, так как MS Access и предназначен как раз для работы с табличными данными, и данные большого объема он умеет обрабатывать.
Если же хотите более "навороченный" вариант, то установите MS SQL Server Express Edition (он бесплатен), импортируйте csv в таблицу его базы, а потом работайте через MS SQL Management Studio (тоже бесплатный продукт).

Худший ответ:
Microsoft Excel 2013
Вообще-то M$ недавно прекратил продажи Офиса 2016... Это как бэ намек, что Ваш офис не просто устарел - он окаменелость :D
Да, меня тоже тошнит от нового его интерфейса - но "ешь, Ванька, деньги плочены!" Может быть новые версии пошустрее будут.
А вообще - когда встает такая задача - совершенно очевидно, что пора от таблицы переходить к БД. 
Если хотите от M$ - ну вот SQl Server Express Edition (ограничение на БД - 5Gb) или Express Edition R2 (10G). 
Если не хотите от M$ - MySQL, PostgreSQL - бесплатно
Вопрос: Почему функция addTask() не работает?

Лучший ответ:
Здравствуйте! 
Надеюсь, я правильно смогу объяснить почему ваша функция не работает. 
Во-первых, следует понять, что нужно сделать в функции: 

Получить текущее значение в input
Создать разметку для нового таска, где важный элемент – текст из input
Вставить новый элемент в ul. list_task и очистить input


Если вы присмотритесь к вашему коду, найдётся несколько проблем, одна из которых, из-за чего в общем-то у вас функция не работает должным образом — это перезапись. 

Когда новый элемент добавляется, активируется функция addTask.


Внутри вы получаете значение, находящееся внутри input
Создаете переменную и присваиваете ей list_taskEl куда в свою очередь записываете разметку нового элемента с текстом. Таким образом, даже если вы уберёте list_taskEl.appendChild(task) всё будет работать. Но не так, как вы хотели бы.


Возникает вопрос, что делать? Ответ таков: следует переработать код в самой функции addTask, пропуская лишь строчку, где получаете значение.

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

Ниже под Spoiler оставлю, как я переработал ваш код. На случай, если всё же захочется посмотреть

Spoiler//создание задачи по нажатию на клавишу интер
document.addEventListener('keydown', (event) => {
  if (event.code === "Enter") {
    addTask();
    clearInput();
  }
})

//функция очистки инпута
function clearInput() {
  input_taskEl = document.getElementById('input_task').value = "";
}

const templateTask = (text) => {
  return `
    <li class="task">
      <h2 class="task__title">${text}</h2>
      <div class="task__buttons">
        <button class="task__button><i class="fa fa-edit"></i></button>
        <button class="task__button><i class="fa fa-close"></i></button>
      </div>
    </li> 
  `
}

const addTask = () => {
  const input_taskEl = document.getElementById('input_task').value;

  const template = templateTask(input_taskEl);

  list_taskEl.insertAdjacentHTML('beforebegin', template);
  clearInput();
}

Худший ответ:
//вот эта функция не работает. Она должна создавать новую задачу, но она не работает
function addTask() {
    const input_taskEl = document.getElementById('input_task').value;
    var task = document.createElement('div');
    task.classList.add('wrapper_li');
    task.innerHTML = `
<li>${input_taskEl}</li>
<div class="buttons">
    <button><i class="fa fa-edit"></i></button>
    <button><i class="fa fa-close"</i></button>
</div>`;
                                           
    list_taskEl.appendChild(task);
}
Вопрос: Указывать ли в резюме опыт работы на другом языке?

Лучший ответ:
Почему бы и нет. Мы мило общались по поводу моего опыта продажи предметов нижнего белья. 
Позиция если что была C# девелопер

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

Лучший ответ:
Если исход одинаковый, можно условия комбинировать логическими операторами.
В данном случае логическим ИЛИ ||
const year = prompt('В каком году появилась спецификация ECMAScript-2015?');
alert( year == '2015' || year == '2016' ? 'правильно' : 'неправильно' );

Худший ответ:
Два раза if в тернарном не рекомендуется, можно либо так.
year == 2015 ? alert('правильно') : alert('не правильно');

year == 2016 ? alert('правильно') : alert('не правильно');
Либо так.
year == 2015 || year == 2016 ? alert('правильно') : alert('не правильно');
Вопрос: Сильно ли важна скорость SSD при разработке видеоигр?

Лучший ответ:
Любой ssd подойдёт. Разница будет между моделями, разумеется, но несущественная. Разница не стоит переплаты.
И на максимальные цифры не нужно смотреть, смотрите на запись случайных мелких данных в многоптоке.
Линейная скорость важна при монтаже видео (при условии, что процессор, gpu и память успевают справиться с поступающим объёмом данных) при компиляции же куча мелких файлов пишутся и сохраняются.  Пусть даже будет 20% разницы между самым медленным ssd и самым быстрым nvme (обычно разница будет гораздо меньше). Тогда на одном будет архивироваться 12 минут, а на втором 10 минут. А разница по цене в разы.

Худший ответ:
Очень даже может быть, что эти SSD сняты с одного конвейера. Только Samsung это качество и надежность, по этому параметры слегка занижены,  A-Data это все что после Samsung осталось.

Есть интересная история и личной жизни. Есть у меня литиевые аккумуляторы Samsung 2200, купил фанарик, а там два  A-Data 4400, но уж сильно похожие. Замерил емкость. В реале у  Samsung примерно 2500, а A-Data даже до 2000 не дотянули. 
В остальном согласен с maaGames
Вопрос: Что значит посадка верстки на движок WordPress?

Лучший ответ:
Это значит что вам нужно верстку HTML + css + Js кароч все что есть прикрутить к шаблону wordpress

Вам нужно знать структуру шаблона, что и как формируется. Где голова, где подвал и т.д. + файл functions.php где собственно и подключаются скрипты, стили, шрифты

Худший ответ:
это значит, что нужно сделать так, чтобы можно было менять содержимое страницы (текст, пункты меню, картинки) через админку вордпресса, не лазая в код вёрстки. 
нужны знания в основном только синтаксиса php, а так нужно учить сам функционал wordpress чтобы уметь натягивать.
в своё время мне очень помог этот видос
https://youtu.be/_s4Jwf1ba24
Вопрос: Как сейчас защищают игры от пиратства?

Лучший ответ:
https://ru.wikipedia.org/wiki/DenuvoКакой принцип действия таких защит? Что там шифруют и т.д.?
Обфускация, контроль целостности, защита от подключения отладчиков, шифрование памяти, динамическая загрузка части исполняемого файла с сервера активаций, делающая возможным запуск экзешника только на определённом ПК... точный список никто и никогда вам (да и никому, кроме тем, кто работает там) не даст, по понятным причинамВсегда ли можно обойти защиту?
Да, вопрос лишь в желании, времени и квалификации взломщика

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

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


Худший ответ:
С помощью SVG.
Вопрос: Java или Kotlin для новичка Android?

Лучший ответ:
На данный момент уже можно советовать начинать с котлина, поглядывая по необходимости в джаву. Котлин достаточно самостоятельный язык, и Kotlin/JVM это одна из реализаций.

Худший ответ:
Учи оба - параллельно. Лишним точно не будет.