Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как получить url загруженного в firebase файла?

Лучший ответ:
// const imageSrc = fileData.metadata.downloadURLs[0]
	const imageSrc = await fb.storage().ref().child(fileData.ref.fullPath).getDownloadURL()
 Мне это помогло.

Худший ответ:

этот код работает, и fb импортируется немного по-другому
import fb from 'firebase/app';
import 'firebase/database';
import 'firebase/storage';
Вопрос: Почему скрипт не вставляет элемент в div?

Лучший ответ:
document.querySelector(".left").appendChild(ball);
Метод getElementsByClassName возвращает коллекцию элементов, даже если он на странице один. У коллекции, соответственно, нет метода appendChild.

Худший ответ:
document.getElement<b>s</b>ByClassName("left").appendChild(ball);
вы получаете все элементы с классом 'left' . 
Либо пробегитесь each'ом
либо обратитесь к конкретному document.getElementsByClassName("left")[0].appendChild(ball);
Вопрос: Как прописать нюансы договора при создании сайта?

Лучший ответ:
работайте только по 100% предоплате.
Тогда уже заказчик будет вас подгонять, а не морозится...
Впрочем, достаточно и 50%, обычно
по пунктам
"- Заказчик очень долго проверяет (вплоть до неск. месяцев)
вписываем в договор что-то типа "заказчик должен подписать акт выполненых работ или выставить притензии не познее чем через 3(три) дня после выставления акта выполненых работ"
"- Заказчик не предоставляет контент очень длительное время. (так же вплоть до полугода. И это не про большие СЕО текста, а про какие нибудь контактные данные, пару фоток и т.д)"
та же фигня. все сроки вписываются в договор, оговариваются форс-мажоры, при условии соглашения сторон
"- Заказчик просит переделать одну и туже мелочь по 50 раз (какую нибудь ерунду, вроде поменять 2 слова, но в течении очень долгого времени и на одной и той же странице. Это как пример)"
сложный вопрос и самый труднодоказуемый. Единственный вариант - все под протокол разногласий, или как оно там правильно юридически.
"- Заказчик не объяснил что хотел, сказал делайте на своё усмотрение и сначала всем был доволен. Потом подключил еще проверяющего и тут же всё не нравится: переделывайте всё заново и бесплатно. (Естественно, на проверку скидывается каждый этап работ и только после одобрение идём дальше.)"
На этом этапе, обычно, заказчик посылается в арбитраж. После чего, как правило, несколько трезвеет и с ним уже можно договариваться. Как-то в таком случае, получили оплату за 3 сайта, вместо одного.
"- Заказчик просит добавить довольно серьёзный функционал, который не был обговорен и соответственно не был просчитан в цене. Доплачивать заказчик не желает."
тут все просто "Читайте согласованное с вами ТЗ".
И напоследок. Все эти телодвижения имеют смысл при наличии знакомого/прикормленного юриста, съевшего собаку на арбитраже. И даже в этом случае, деньги будут выбиваться очень долго.
PS. не работайте с мудаками.
PPS. Чуть не забыл. Все показывайте заказчику на своем хостинге. подписал акт выполненных работ - можно переносить к нему. Впрочем, я дожидался подтверждения из банка о поступлении средств.

Худший ответ:
Наймите юриста. Опишите все ему "подводные камни" которые встречали. Он вам болванку сделает. Это не дорого.
Вопрос: Почему на Ubuntu звук заметно хуже, чем на винде?

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

Худший ответ:
Скорее всего что то с драйверами, у меня было такое на HP, ставил Ubuntu и Mangaro, звук очень тихий был, не нашел решения (на винде норм было), в итоге ноут поменял на Xiaomi, поставил ту же Ubuntu и все норм.
Вопрос: В чём разница между list() и []?

Лучший ответ:
[] - это литерал для list()
list() - это конструктор списка.

В вашем случае разница в контексте. Выражение [range(5)] означает "список содержащий один генератор", а list(range(5)) означает "привести генератор к списку". Во втором случае происходит вычисление генератора в пять целых чисел и конструирование списка из них.

Худший ответ:
в том что range это итератор, а лист это список. Итератор возвращает значение когда его спросят, а список это хранилище всех значений. Функция лист - опрашивает из итератора все значения которые он может вернуть.

разница в том что либо вы помните что у вас (начало,конец,шаг,текущее положение) или вы помните (10,20,30,40,50,60,...100500) - в случае списка ему придется занять память всеми значениями, а в случае итератора лишь хранить параметры для извлечения нового значения.
Вопрос: Как найти центральную точку при вращении картинки?

Лучший ответ:
https://jsfiddle.net/61ygvr85/2/
ты ее сам двигаешь туда-сюда транслейтом, и удивляешься, что у тебя прыгает

Худший ответ:
Нужно не через translate ставить центральную точку, а через transform-origin: 50% (или transform-origin: center).
Вопрос: Как в выборке CIBlockElement::GetList (1C-Bitrix) получить все значения из свойства типа «Строка» — множественное?

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

Худший ответ:
В моём случае, помимо использования ИБ версии 1, я не добавил в массив селекта ID элемента что является обязательным в данном случае.
Вопрос: Нужно ли учить Bootstrap 4?

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

Худший ответ:
А че делать будете? Зависит от заказчика и того где будете работать дальше. 
Встречал много  вакансий, где было обязательно знание bootstrap(и т.п).
Не встречал, чтобы говорил, что верстаю, преимущественно, с bootstrap и мне отвечали, "ну неееет, так мы не работаем", может, я и мало встречал.
Это знание тебе не повредит.
Офф документация у них в порядке. Наглядно.
Вопрос: Средняя производительность джуна?

Лучший ответ:
А почему он должен меньше часов то делать? Часы абсолютны и Джун прекрасно работает так же как мидл и синьор

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

Лучший ответ:
Если значения переменных небольшие, можно и через ViewBag
в контроллере
ViewBag.suggestionCount = 3
ViewBag.symbolCount = 1
и в представлении вызывать
@ViewBag.suggestionCount
@ViewBag.symbolCount

Худший ответ:
Вам нужно передать во вьюху модель. К сожалению, быстрый гугл дал ссылку только на метанит. Этот топик там более-менее описан, но вообще не советую им пользоваться
Вопрос: Upwork direct to local bank. Можно ли вывести на счёт физ. лица. Физ. лицо является самозанятым. Будет ли валютный контроль?

Лучший ответ:
Как сказано выше, физическое лицо не может и не обязано проходить валютный контроль.
Выводил на Tinkoff Black до $3k единоразово - деньги заходят естественно в рублях с Qiwi банка.
Сейчас работаю через ИП - использовал несколько раз Direct to Local Bank - также приходят в рублях через Ситибанк. Саппорт Тинькофф говорит, что в данном случае ВК проходить не нужно.

Агентом валютного контроля в данном случае являются Qiwi/Ситибанк -  те банки-партнёры Upwork, где происходит "слом" валюты - конвертация долларов в рубли.

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

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

Худший ответ:
Последний вариант - верный.
Никто и никогда не выложит свои коммерческие "движки" (ААА+ класаа) в паблик.
Как только движок устаревает - он появляется в паблике для всех.
Вопрос: Как запустить несколько ботов Telegram на одном сервере?

Лучший ответ:
1) Бот использует telegram bot api или работает как telegram клиент?
Скорее всего первое.
2) Тспользует webhook или long pooling?
Может и не так важно, но способ решения будет разным.
Просто взять и запустить 2 бота с одинаковым bot api token не получится: нельзя включить 2 webhook или 2 long pooling одновременно.

Худший ответ:
Ответ в двух словах: никак. Телега не поддерживает одновременные соединения. Но можно применить старый добрый метод велосипеда и написать свой (де)мультиплексор.
Вопрос: Что такое immediate в инструкциях процессора?

Лучший ответ:
Означает, что операнд явно указан в самой команде.
Например, 
MOV R1, R2 - не immediate, данные берутся из R2
MOV R1, #5 - immediate, данные (пятерка) берутся прямо из опкода команды

Худший ответ:
Это обозначение непосредственного значения.
Обычно команды оперируют значениями, которые вы можете взять по адресу, которые вы можете взять из какого-то регистра, или непосредственно указанное значение (immediate)
Вопрос: H1B виза, можно ли получить купленным дипломом?

Лучший ответ:
если я куплю качественный диплом
Лол. Если только в рассрочку лет на 5, с обязательным посещением ВУЗ'а и выполнением заданий. Намёк ясен?

Худший ответ:
Для H1B визы нужно подтверждение диплома, если я куплю качественный диплом с приложением , то пройдёт ли он подтверждение, или нужно занести его в реестр?
Не уверен, что кто-то тут может ответить. Что-то дельное. Вряд ли тут есть люди, знакомые с процедурой проверки изнутри. Даже если у кого-то сработало, то это вообще ничего не значит.

Я знаю компании, которые перед тем как сделать предложение о работе заказывают полный background check кандидата сторонней компании. Я знаю, что некоторые могут прям позвонить/написать вашему научному руководителю дипломной работы. А уж то что официальные органы перед одобрением визы сделают запросы во всевозможные реестры и сомневаться не стоит.

Будет что-то подозрительное, внесут вас в "чёрный список" и никогда на визу претендовать больше не сможете. Даже на туристическую. 

PS
Если вы задаёте такие вопросы с надеждой получить ответ, то шансы на получение работы в IT за границей у вас близки к нулю. Разве что в клининговом сервисе в Польше.
Советую получить образование, желательно с уклоном в математику. Оно думать учит.
Вопрос: Как понять такое описание?

Лучший ответ:
Это значит, что throw должно кидаться из вложенного уровня. 

В try идет, например, вызов функции, которая может выкинуть эксепшен. В catch этот эксепшен ловится. Эксепшены поднимаются наверх. 

В вашем случае throw кидается непосредственно из try, что теряет всякий смысл. Это имеет смысл только в том случае, если этот блок try-catch сам находится в функции и хочет пробросить ошибку на уровень выше, но тогда здесь не нужен catch.

Худший ответ:
Это значит, что throw должно кидаться из вложенного уровня. 

В try идет, например, вызов функции, которая может выкинуть эксепшен. В catch этот эксепшен ловится. Эксепшены поднимаются наверх. 

В вашем случае throw кидается непосредственно из try, что теряет всякий смысл. Это имеет смысл только в том случае, если этот блок try-catch сам находится в функции и хочет пробросить ошибку на уровень выше, но тогда здесь не нужен catch.
Вопрос: Где целесообразно использовать LXC/LXD?

Лучший ответ:
LXC удобно использовать для отвязки от ОС хоста, как современный аналог OpenVZ (OpenVZ устарел, т.к. не поддерживается новыми ядрами и дистрибутивами). Мы использовали LXC для виртуализации Linux сервисов. LXC значительно эффективнее расходует ресурсы, чем KVM.
LXC внутри больше похож на виртуальную машину, чем Docker. В LXC почти все привычные инструменты работают как обычно. Но изолированно от хост системы. Можно ставить пакеты, менять настройки etc, запускать демоны и использовать стандартные инструменты Linux среды и т.д. Для LXC можно подтянуть специфичные для дистрибутивов шаблоны. Например, на хосте с Ubuntu поднять гостя с Centos. При желании гостя можно держать на виртуальном диске.
Еще про разницу между LXC и docker написано тут: https://vps.ua/blog/docker-and-linux-containers/

Худший ответ:
Используем LXC-контейнеры уже несколько лет в составе Proxmox, никаких серьёзных проблем ни разу не возникало. Сырость технологии проявляла себя крайне недолго, буквально до первого апдейта платформы после изменения в Proxmox технологии контейнеров с OpenVZ на LXC.
Почему в 2018 году OpenVZ-хостинги распространены шире - затрудняюсь ответить, видимо владельцы купили лицензию у Виртуоззо и теперь залочились на этом старье :)
Вопрос: Как сделать компилятор других языков на сайте?

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

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

Худший ответ:
Используй вот этот код: <code lang="any-language">Any data</ code> только без пробела. А для ввода можно так:
<input type="text" id="coding" value="Type here..."/>
<code id="text"></ code>
<script type="text/javascript">
function a(){
var code=document.getElementById("coding").value;
document.getElementById("text").innerHTML = code;
setTimeout(a, 1000);
}
a();
</script>
Только перед code убери пробелы, просто хабр их удаляет думая, что это тег.
А, ну или вставь фрейм с, например, codepen.io, или откуда там, у них же свои API.
Вопрос: Работа удаленно без тайм трекера full time?

Лучший ответ:
Означает ли это что будет сильный прессинг и я постоянно все не буду успевать ? 
Весь мир работает на 40-часовой неделе.
А потянете лично вы или нет - вопрос вне тематики ресурса.

Худший ответ:
Означает ли это что будет сильный прессинг и я постоянно все не буду успевать ?
Это означает, что
1. либо вас обманывают по зарплате,
2. либо им всё-равно, от вас нужен результат.
В первом случае вас будут закидывать неправильно оценёнными тасками (которые требуют больше времени), а потом требовать отчёт, почему вы не успели. А вы будете работать дополнительно за те же деньги, чтобы успеть. Или просто отвечайте им, что ваша смена закончилась, а такси - это не ваша проблема (купили то у вас 40 часов, а не условные 50).
Вопрос: Как решить проблему с margin + height: 100vh?

Лучший ответ:
Я юзаю calc, но динозавры его могут не поддерживать, зато без js.
В вашем случае:height: calc(100vh - 6rem);
Так как margin: 3rem; То плюсуем верх и низ и убираем 6rem
Вся прелесть calc что он умеет работать с разными величинами
В принципе неплохая поддержка: https://caniuse.com/#search=calc

Худший ответ:
https://codepen.io/g0lovachlena/pen/qBWwrXd
Или же если не хотите использовать calc, то можно использовать padding, но background задать для дополнительного дочернего элемента.
Вопрос: Почему при объявлении переменной, в любом языке программирования, резервируется весь размер памяти отведённый под тип данных?

Лучший ответ:
Пример с SSD некорректный, все равно что требовать от камаза, например, выпустить грузовик с грузоподъемностью 20кг. Производителю нужен рынок сбыта.
Тем не менее, небольшие чипы памяти существуют, только никто на них не пишет, что это "SSD".
Выделение памяти - операция не бесплатная, и кто-то решил, что так будет выгоднее.
https://randomascii.wordpress.com/2014/12/10/hidde...
https://habr.com/ru/post/270009/Как-то всё топорски устроеноВы можете написать сви менеджеры памяти,компиляторы и другие сопутствующие штуки. Не исключено, что обретете мировую известность. Но не думайте, что до вас никто не пытался.

Худший ответ:
ZakkMalin,  ну а что она не может быть динамической, зачем хранить и передавать 2 миллиарда, если скажем внутри переменной простое число 1?то есть все таки надо объяснять...
Для начала: Есть размерность регистров, которые принимают переменные в размере разрядности регистра, и в целом быстрее и удобнее хранить переменную размером в битность регистра. Все что меньше требует оверхеда по обработке "лишнего" места, все что больше - требует разбиения на несколько регистровых переменных(это очевидно для людей работавших с асмом). В основном типы данных - это компромисс из потери скорости работы и экономии места в памяти. 
Далее, к вопросу динамически меняющихся размеров переменной - любая аллокация - дикий оверхед в 3 и более операции, а так как данные в куче идут подряд, без аллокации расширить размер переменной не получится. К этому добавьте фрагментацию кучи, что тоже серьезно добавляет тормозов. 
Есть еще куча всякого разного из нюансов, но это основные аргументы.
Вопрос: Почему редко на сайтах применяются сложные конструкции JS+CSS3 эффекты?

Лучший ответ:

С чем вызвано данное явление?
Оптимизация?
Бюджет?
Или банальная лень?
да да и да)
А для чего? Долго сидя в интернете уже надоедают пёстрые и яркие сайты, с которых побыстрее охото уйти. 
Всё больше начинаешь любит спокойный флет стиль типо тостера, хабра, пикабу и т.д
И да, много скриптов и css анимаций могут хорошо так давать нагрузку. Даже не то что у древнего компа, а просто при работе в нескольких окнах \ приложениях. Тем более современные браузеры неплохо так кушают. А если играть во что нибудь в несколько окон (сливать арену в 6 окон в  wow), да еще и серфить в инете, все эти скрипты и анимации будут очень дико лагать.
А для клиентов этого делать просто нет времени. Вот у тебя идёт поток сайтов, ты еле успеваешь правки делать. Ну сделаешь ты 1-2 клиентам такие анимации, а они этого даже не заметят, так еще и на половине устройств всё криво работать будет. А платить за это мало кто станет. Если только сайту нужно вызвать какой то wow эффект.

Худший ответ:
wow-эффекты - удел 2000-2010-х годов.
довольно много заказчиков всё ещё там сидят...
Вопрос: С чего начать студенту?

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

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

Лучший ответ:
debounceimport debounce from "lodash/debounce";

const TIME_OUT = 1000;
const handleSearch = debounce(({ target: { value } = {} }) => {
  //что-то делаем
}, TIME_OUT)

$yourInput.addEventListener("input", handleSearch, false);

Худший ответ:
погуглите "debounce"
Вопрос: Какой спрайт лучше подобрать под временное закрытие прохода?

Лучший ответ:
Едрить. Вы реально хотите чтобы не зная стилистики/сюжета/ЛОРа вам посоветовали какой то объект? Вот серьезно?
Жопу поставьте. Самое то. Универсально впишется.

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

Лучший ответ:
ref_code = models.CharField(default=lambda: get_random_string(32, chars), unique=True)
А вообще чем uuid не угодил?

Худший ответ:
убрать uniq и дефолт, сделать null=True, сделать миграцию, чтобы создать поле, потом сделать datamigration чтобы заполнить все поля рандомом, потом добавить uniq и дефолт и сделать еще раз миграцию
Вопрос: Как решить задачу 4-класса?

Лучший ответ:
Обычная комбинаторика.
Для минут есть 4 валидные комбинации: 22, 25, 52, 55. Для часов есть 1 валидная комбинация: 22.
Перемножаем 4 и 1, получаем 4 комбинации (22:22, 22:25, 22:52, 22:55).

Худший ответ:
Ответ: 4только цифры 2 и 5 
22:25, 22:52, 22:55или одна из этих цифр?
22:22
Ключевые слова:в наборе цифр на табло этих часов участвуют только
Вопрос: Как сделать адаптивный svg с возможностью менять цвет без JS?

Лучший ответ:
Если ты вставляешь иллюстрацию не инлайн, т.е. не код <svg>bla bla bla</svg>, то тебе нужно вставлять через тег <object type="image/svg+xml" data="images/your.svg" >
А в самом коде иллюстрации добавить<?xml-stylesheet type="text/css" href="style.css" ?> и управлять из стилей как обычно.

Худший ответ:
.div>svg>path{
fill: #ffb600;
}
код svg вставляешь в html в блок с условным классом div
Вопрос: Действительно ли бытовой TP-Link 841 равен Mikrotik 2011?

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

Худший ответ:
Если рассматривать роутеры "корпоративного" сегмента, то там у всех примерно все нормально, даже д-линки корпоротивные вполне норм работают.
А вот "домашний", "бюджетный" сегмент у всех примерно также, домашнюю нагрузку в 5 клиентов держит, а на большее он и не разработывался.
Да имеются интузиасты, "гентушники" которые утверждают что бюджетный туполинк с правильно настроенной WRT уделает микру, и в этом есть доля правды. Но тут получается что то время которое инженеры тика потратили на допиливание роутерос ты тратишь на впаривание и допиливание WRT под туполинк и по сумарной стоимости выходит тоже самое.
По мне раз приходит ВОЛС и в ней не PON то лучше брать RB2011iLS-IN и выбросить, дешевый, частоподтупливающий медиаконвертер, а 10портового шлюза с таким функционалом с лихвой хватит нарулить маршрутизацию внутри школы, чтоб ученические компы не имели доступа к VK, а учительские свободно ходили на Tube и тд.