pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Какой разница между компьютерами и пользователями в Active Directory зачем они разделены?

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

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

Лучший ответ: Пусть родительский компонент контроллирует, чтобы этот проп менялся раз в N секунд + дочерний компонент обернуть в React.memo

Худший ответ: Держи и держи
Вопрос: Как хорошо дружат Backend и Python?

Лучший ответ: Хорошо дружат Backend и Python. Начните с чтения учебника по Python.

Худший ответ: Здравствуйте.  Python в Backendе хорош.
1) Изучение стоит начать со Flask. Это легкий и понятный фреймворк, он легок и изучении. Потом лучше переходить на Django. Он хоть и довольно сложный, но очень многофункциональный.
2) Python для backend однозначно стоит поучить, на мой взгляд он гораздо проще и многофункциональнее PHP или WordPress.
3) Не очень могу ответить на этот вопрос, но главные качества вообще любого хорошего разработчика, это понимание языка. А бек-энд разрабодчик должен по любому хотя бы немного знать HTML, JavaScript и свой "серверный" язык, тот-же Python.
Вопрос: Как передать значение из div в input?

Лучший ответ: Вам нужно создать еще один hidden input, в value которого будет дублироваться содержимое вашего div-а с контентом.
Содержимое div-а через jquery возьмете так:
var value = $('#text-editor').html()
Значение в hidden input положите так:
$('#id_of_new_hidden_input').val(value)
Для синхронизации значений в диве и hidden input, можете повесить listener на onChange.
Я не знаю как конкретно работает эта библиотека, но скорее всего она генерит textarea, в котором будет находиться ваш контент. Тогда в этом случае вам нужно будет получать значение не из указанного вами div-а, а из textarea. Или вам нужно будет просто просмотреть post массив, там уже будет лежать ваш контент. И пляски, написанные выше будут не нужны.

Худший ответ: Ну таки просто передайте в скрытый инпут и отправляйте
Вопрос: Какой сертификат по Linux лучше получить?

Лучший ответ: letsencrypt
получай РедХатовский, типа энтерпрайз
хотя для резюме оба подойдут

Худший ответ: 1. Centos, Ubuntu.
2. Так как у вас пока вероятно нет сферы приложения сертификата - сдавайте тот, что больше понравится.
Вопрос: Правда ли, что матрица BOE 077B оказывает негативное влияние на зрение?

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

Худший ответ: Любая матрица оказывает негативное влияние на зрение
Вам наверное надо больше узнать про ШИМ
Если вопрос состоял в том: "есть ли ШИМ у данной матрицы?", то да - но на низкой яркости
https://www.notebookcheck-ru.com/Noutbuk-HP-470-G7...

Шим может быть и на вашем телефоне (привет Амоледам и Оледам)
А для глаз есть такие вещи, как защитные очки, глазные капли, упражнения и т.д.
Вопрос: Ошибка подключения к почте imap.ukr.net (Connection refused)?

Лучший ответ: А Вы уверены, что Вас слушают на порту 993? Обычный порт для imap - 143. 993 - это imaps, куда подключаться надо с уже предустановленным SSL-соединением, это непопулярный вариант.

Худший ответ: telnet
отладка
Вопрос: Есть ли перспективы такого стека на фрилансе?

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

Худший ответ: Да, вп на фрилансе до сих пор решает.
Вопрос: Является ли эффективность данного алгоритма O(n*log(n))?

Лучший ответ: Нет, тут O(n^2). С чего вы там взяли log?

Худший ответ: Похоже на O(1), если внутри цикла происходит O(1), тк тут нет изменяемого параметра, от которого бы менялось время
UPD
если end - это переменная, то будет O(N^2)
Вопрос: Что можете сказать о курсах ITEA?

Лучший ответ: Как показывает практика, всю информацию, которую дают на курсах, можно самому найти в "интернетах".
Больше всего смущает этот текст:

Стать Java Developer? С ITEA!
Курс C++ Advanced — обучение разработке программного обеспечения на одном из самых популярных языков программирования. С нами ты выучишь язык эффективно, быстро и качественно!

Причем тут Java?)

Худший ответ: Как бывши преподаватель курсом могу сказать, что "ЛЮБЫЕ!!!! курсы это не более чем один из множества честных способов отъема денег у населения"
Вопрос: Как вы собираете фронтенд без фреймворков?

Лучший ответ: Gulp'а в принципе достаточно

Худший ответ: Для верстки, без серьезного фронта хватит галпа, а для сборки js - webpack. Я их собрал в один таск лист.
Вопрос: Дали мне тестовое задание, я решил его, но почему то оно неправильно?

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

Худший ответ: По-моему тут вполне себе понятный алгоритм. 
1) Одну строку в другую вы никогда не превратите, если в исходном слове у вас есть взаимозависимые буквы (то есть одинаковые), но которые во втором слове разные. 
Как не меняйте их в исходном слове, они все равно останутся одинаковыми.
2) Если длина слов разная.

Вот на этой основе и накидайте алгоритм
Вопрос: Насколько правильно натягивать верстку через файлы темы?

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

Вы взяли заказ:
1. На начальном этапе вы спрашиваете клиента - будет ли он править это шаблон в визуальной составляющей, т.е добавлять новые блоки, меняя что-то координально. Если да, то этому человеку нужен условный конструктор aka page-builder
Плюсы: быстро разрабатывается, много компонентов из коробки, большинство логики реализовывается через drag-n-drop.
Минусы: Page Builder откровенный говнокод, который придется оптимизировать.

2.Если - клиенту нужен сайт где дизайн уже отработан на 100%, либо есть сторонний разраб который допилит шаблон(добавит функционал), acf лучший выбор, потому что всё предсказуемо, отсутствует куча вложенностей, оберток, и вся логика на виду, плюс удобно отлаживать. В нормальных руках - доп функционал добавляется так же быстро как и page-builder, новый шаблон, новые кастомные поля под них.
Плюсы: клиент вряд ли что-то поломает, так как в acf в ограничиваете его действия, даете ему молоток и гвозди, а не компанию с техникой как в случае с page builder.
Минусы: клиент не может допилить часть функционала сам, ему потребуются вложения со стороны поддержки и программиста.

3. Дополнение - WP это уже не глупая блоговая система. С введением Gutenberg - можно сделать свой шаблон внутри обычно страницы, на любой вкус.
Ваша задача - задать правильные вопросы "клиенту", и перенести это все в ТЗ и код.

Худший ответ: Более 2 года интегрирую данным методом и все идеально. Клиент получает возможность редактировать без муссора. Главное что бы сами поля были размещены удобно и интуитивно понятно.

Насколько я помню Page Builder дает более улучшенные возможности, к примеру поменять цвет, размер шрифта, семейство шрифта и.т.п 
Но исходя из практики такое давать клиенту не стоит по двум причинам
1) Его фантазия за частую угробит весь дизайн
2) Инслайновые стили не очень любят поисковые системы
Вопрос: Годится ли i3-2100 для клиента 1С или нужно собирать новый на базе G5420, Ryzen 3 2200G или i3-9100?

Лучший ответ: Годится ли i3-2100 для клиента 1С Для описанных задач такой процессор даже избыточен. Получится производительный и шустрый системник.
Память для офисных задач минимум 8Гб
Под систему обязательно SSD.

собирать новый на базе G5420, Ryzen 3 2200G или i3-9100?А они для поставленной задачи ничем не лучше. Разницы никакой.

Худший ответ: На SSD + 6 Гигов памяти и i3 хоть и старого поколения розница будет прекрасно работать...
SSD-шник только на 256 взять и понадёжней, типа Samsung /Plextor
Вопрос: Востребован ли C++?

Лучший ответ: Еще раз и медленно: "Не бывает "востребованных" ЯП, бывают востребованные программисты"

Если вы умеете писать хорошие нужные программы на С#, Java или Python то вы без проблем сможете написать не менее хорошую и нужную и на любом другом ЯП включая С++. Если вы не способны писать программы в принципе, то "знание" даже 20 языков вам в этом не помогут.
А "падающие графики" это не более чем попса. Порог входа в С#,  Python и даже Java несоизмеримо ниже чем в С++ по этому говнокодеров на C++ намного меньше чем на других ЯП что и определяет то самое "падение"

Худший ответ: Зашли на ХХ да посмотрели.
Вопрос: Асинхронность это отложенность?

Лучший ответ: В общем случае да. Представь, что у тебя код
var imageFromInternet = GetImageByUrl("http://example.com/big-image.bmp");
picture.image = imageFromInternet;
Есть вариант, когда GetImageByUrl тормозит твой код, пока картинка из инета не загрузится, а это может быть и пол часа. А если тебе надо сказать 10 таких картинок - это за займёт больше суток. И всё зависло, ты даже прогресс бар не можешь нарисовать, потому, что твой код выполняется где-то внутри GetImageByUrl.

А есть вариант, когда тебе возвращают хендл операции и твой код тут же продолжается дальше. Вот она отложенность, фактически задача выполниться когда-то потом, а не сейчас. И ты получаешь возможность поставить на скачку одновременно все свои 10 картинок. А потом сидеть и ждать когда они все скачаются. И лишь затем, что-то уже с ними делать.

По сути все операции с устройствами ассинхронны внутри, иначе бы всё вставало колом пока не дождалось бы ответа.

Худший ответ: Наверное совсем по-простому:  "не ждем". То есть "иди делай, по окончанию доложишь [докладывай каждые полчаса]" и дальше занимаемся своими делами.
Вопрос: Как опредлелить характер человека по почерку, распознав его с помощью Python на картинке?

Лучший ответ: Никак:больши́м числом исследователей графология признаётся псевдонаукой[4][5][9]. Британское психологическое общество рассматривает графологию наравне с астрологией — как имеющую «нулевую достоверность»
Но вы можете сделать вид что вы его определяете. В принципе, при любом техническом решении достоверность будет одинаково нулевая. Так что можете делать любым способом который вам больше нравится - заходит. Если нравятся нейросети - то возьмите любой вектор признаков, натренируйте и что получится то и выдавайте за результат.
Если хочется просто сделать чтоб работало - то простой рандом, чтобы не сильно случайный - берите хеш от даунсемплинга картинки с подписью.
Дальше эффект Барнума позволит вам впарить результат людям какой бы он ни был. Главное формулировки сделать достаточно размытыми как в гороскопе.

Худший ответ:  
— Г-голубчики, — сказал Федор Симеонович озадаченно, разобравшись в почерках. — Это же п-проблема Бен Б-бецалеля. К-калиостро же доказал, что она н-не имеет р-решения.
    — Мы сами знаем, что она не имеет решения, — сказал Хунта, немедленно ощетинившись. — Мы хотим знать, как ее решать.
© Понедельник начинается в субботу
Если из этих соображений мозг упражняете, то можно пойти по такому пути:
1. Определить критерии для анализа (правша\левша, сила нажатия, особенности написания букв, слитно\раздельно, засечки в шрифтах, округлые\острые углы, и.т.д)
2. Каждому из критериев и значению критерия определить вес.
3. Из двух сумм весов присваивать некий астральный индекс написавшему.
Вопрос: Как декодировать данное выражение?

Лучший ответ: Звездочка относится к char. Функция возвращает char*.

Записи 
char* a;
char * a;
char *a;
эквивалентны

Худший ответ: Звездочка относится к char. Функция возвращает char*.

Записи 
char* a;
char * a;
char *a;
эквивалентны
Вопрос: Как запустить скрипт от имени пользователя, в котором имеются команды, выполняющиеся от root, не спрашивая пароля?

Лучший ответ: Что делать в такой ситуации?
Добавить пользователя который выполняет этот скрипт в /etc/sudoers с флагом NOPASSWD. Костыли убрать:

username ALL=(ALL:ALL) NOPASSWD: ALL

Худший ответ: Тут уже много насоветовали, я добавлю:
Если "одна очень неудобная команда" вызывает sudo - то очевидно, в её документации д.б. описано, как работать в этом случае.
Вопрос: Когда получено письмо GMAIL,?

Лучший ответ: В правом углу письма, чуть ниже иконки с принтером есть иконка в виде вертикальных трех точек.
Там есть пункт "show original".
Там можно просмотреть все заголовки, среди которых есть и Date с указанием даты отправки* и Received (возможно несколько) который выставлят получатель и все промежуточные сервера. Обычно и таймзона указана.
---------------------------
* дата отправки устанавливается отправителем, т.е. в теории ее могут подделать и потом утверждать "ой, это у нас экскаватор кабель погрыз" или "почтовый сервер тупил". Но обычно письмо долетает за считанные секунды.



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

Лучший ответ: C# на компьютере ардуиновская студия для ардуиеы, коммуникация через ком порт. А дойдёте до малины там и будете выбирать. С чем и хорош что переносится легко

Худший ответ: 100% Arduino IDE - язык C, С++. 
Это простой старт можно сказать с места. Помигать светодиодом - это мечта любого программиста.
А дальше нужно искать что то более "Модное". Вариантов много.
На вершине пирамиды возможностей Microchip Studio - Язык С, С++, Assembler.
Вопрос: Как выживают вебстудии при таком высоком уровне конкуренции?

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

Худший ответ: Естественным отбором.
Сильнейшие в маркетинге(основное! Умение продать себя).
Сильнейшие в кодинге.
Вопрос: Как переформатировать снятый с ноутбука HDD?

Лучший ответ: Посмотрите что скажет про ваш диск R.tester: https://rlab.ru/tools/rtester.html

Если там нет важных данных, можете попробовать пустить тест записи (достаточно будет процентов 10-15), это затрёт начало диска. 
После этого пробуйте отформатировать.

Хотя в идеале было бы использовать прямое подключение по SATA, минуя USB-мост (мало ли он чудит каким образом).

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

но при попытке низкоуровнего форматирования выдают ошибки. Низкоуровневое форматирование в домашних условиях невозможно, программ для низкоуровневого форматирования нет.
Низкоуровневое форматирование это размещение сервометок на диске, по которым ориентируется привод головки.

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

Лучший ответ: Никакой разницы нет. Драйвер получает картинку и направляет её в сканирующую программу. Сканирующая программа даже не знает, откуда этот файл был получен, не говоря уж о способе его сканирования. Файл, скорее всего, либо слишком большой и на сайте кривой вывод ошибок, либо сохранен так, что система его не может распарсить. Попробуйте так: откройте pdf файл, выберите печать и затем microsoft print to pdf. Затем пробуйте загрузить новый файл, как правило такой метод должен решить подобные проблемы.

Худший ответ: Госсайт может просто не понимать того, что напихала в эту PDF программа сканирования. Например, там может быть сжатие по нестандартному алгоритму или TIFF вместо JPEG.
В принципе, любой конвертер-"улучшатель/сжиматель" PDF может пересобачить данные так, чтобы госсайт их понял - собственно, и нужно-то только пережать картинки в обычный JPEG.
Под Windows бесплатных конвертеров PDF я не знаю, не пользуюсь.
Под Linux есть прекрасно справляющийся с этой задачей ps2pdf.
Вопрос: Что обозначает символ в формуле?

Лучший ответ: Что у вас не установлен математический шрифт в ворде, или где вы там смотрите.

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

Лучший ответ: А чего вы, собственно, хотели? Боты - они же простые как три рубля. Их задача быстренько индексировать страницу. Представьте сколько нужно ресурсов, чтобы исполнять JS на каждой странице... Да и зачем? Если разработчику нужно индексировать Vue, то он потратит на это свои ресурсы.
То, о чем вы пишите, называется SSR. Не знаю в каких таких "статьях" вы читали про гугл, но есть официальная дока про SSR на сайте Vue:
https://ssr.vuejs.org/ru/

Худший ответ: Nuxt.Js вам в помощь.
Вопрос: Как сделать одновременный вывод сигнала на несколько пинов?

Лучший ответ: Можете использовать код от AVR(запись в порт), потому что Arduino это всего лишь библиотека по управлению всеми этими командами.

Худший ответ: Можете использовать код от AVR(запись в порт), потому что Arduino это всего лишь библиотека по управлению всеми этими командами.
Вопрос: Как отобразить PHP данные в vue component?

Лучший ответ: Смешали худшее из обоих. 
На PHP формируйте данные в json.
На  vue отображайте их.

Худший ответ: php код выполняется в файлах с расширением php.
Вопрос: Что популярнее по вакансиям Go или Node.JS?

Лучший ответ: Я начинающий фронтенд разработчик
Правильный вариант ответа:

Здравствуйте, я джун|миддл который работает год в компании фронтом, умею отлично во фронт, и хотелось бы углубиться в бэк | название языка

В попытке усидеть на всех стульях разом, вы вряд ли сдвинетесь с места. Если вы фронт, то бэк вы выбираете:

а) сами, если у вас собственное приложение ака пет=проект(при условии что вы выполнили свою первую и важную цель - устроится на работу
б) более часто - бэк уже выбран за вас, и вы его узнаете на работе, когда вам отдают конечные endpoints и показывают архитектуру проекта.

Приведу аналогию: вы начинающий водитель, ваша задача - научиться водить, дабы уверенно себя чувствовать в городе(выехать и не создавать критической ситуации).

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

Вывод: не лезьте в бэк, не забивайте голову лишний информацией - её и так много. Сперва уложите в правильном порядке один стэк,устройтесь на работу - второй стэк.

Худший ответ: А зачем фронтендеру выбирать бэкенд на таком раннем этапе? Даже не фулстэк...

Несмотря на весь интерес к Go, если мыслить реальнее, вам стоит немного попробовать Node.js с ее асинхроностью. И тогда у вас появится бонус - фулстэк. То есть вы сможете решать задачи бизнеса и во фронтенде и частично в бэкенде.

В обоих языках есть крохотный опыт писания кода. Мне очень нравится Go но он очень молодой относительно других языков. 
11 лет языку - как бы и не такой молодой (и Node.js тоже 11 лет). Язык Go уже вполне зрелый. На нем есть смысл разрабатывать какие-то разработки, касающиеся высокой производительности, а также инфрастуктурные проекты. А в такие проекты новичков обычно не берут.
Для бизнеса одним из решающих факторов является скорость разработки некоторой задачи. Производительность же часто решается вертикальным масштабированием. То есть, взять "медленный" PHP и добавить серверу больше ресурсов. А на PHP можно быстро решать задачи бизнеса. Также и с Javascript.
Вот насчет быстроты разработки в Go столь не уверен. Готовых компонентов на все случаи жизни в Go не много, в отличие от PHP, Javascript. В Go придется больше самому разрабатывать и допиливать.
Все это влияет на скорость разработки. А новичкам нужно больше доказывать их способность решать задачи и быстро.
Вопрос: Про нахождение работы за границей. Как это сделать?

Лучший ответ: Знаю на хорошом уровне - HTML, CSS, JS
Ну это заявка на победу. Тут никто такого не знает.

 давайте поможем друг-другу.
Вы хотели сказать: "Давайте поможем мне?".

По теме -  сами позовут. Именно так. Сами.

Худший ответ: Стань профи и просто переезжай в любую страну, которую хочешь?
Вопрос: Как GSM сигнал проходит через отверстие около 1 см?

Лучший ответ: А вы на микроволновку гляньте. Сетка на дверце с ячейками по 3мм, но длина волны 2.4 ГГц - 12 см

Худший ответ: А вы на микроволновку гляньте. Сетка на дверце с ячейками по 3мм, но длина волны 2.4 ГГц - 12 см
Вопрос: Какая есть простая программа для представления БД в визуальном виде — чтобы таблички с полями и отношения между ними?

Лучший ответ: Да куча их. 
Для сиквела management studio


Худший ответ: Раньше использовал dbdesigner но после стало не хватать и нашел  dbdiagram
Вопрос: Какая специальность учить чистить ноутбуки и ремонт их?

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

Худший ответ: радиорынок

в любом случае лучше не работать на такой
Вопрос: Недостатки PostgreSQL?

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

Но советую все же самому погуглить (для затравки - https://habr.com/ru/company/southbridge/blog/322624/). Будет гораздо проще и полезнее, если вы нагуглите какие-то особенности, а специалисты тут подскажут, насколько они актуальны и критичны.

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

Лучший ответ: мэйлер не знает что за строки вы ему пихаете, указывайте кодировку, читайте доку$mail->CharSet = 'UTF-8';

Худший ответ: С кодировкой проблемы поэтому и приходит эти кракозябры
Вопрос: Что означает эта штука в запросе?

Лучший ответ: 'cut' type или, что то же самое, 'cut' as type - константное значение во всех строках результата.
(запрос) x (или (запрос) as x) - это результат запроса служит новой временной таблицей для другого запроса.

Худший ответ: Это псевдонимы (алиасы):SELECT field_name AS fn
==SELECT field_name fn
https://ru.wikipedia.org/wiki/Alias_(SQL)
Вопрос: Как установить установить symfony 4?

Лучший ответ: Привет.
https://github.com/composer/composer/issues/6423 потом смотрим сюда https://stackoverflow.com/questions/31100861/compo...

Худший ответ: Решилось! Я юзал композер из опен сервера, вот как раз в нем то и была проблема. Установил отдельно компосер в винде и с первого раза все заработало ! Все спс
Вопрос: Как создать длинную 2D карту?

Лучший ответ: Я б её делал долго.
Думал там, отвлекался.
Как придёт вдохновение - добавлял бы чего-нибудь.
А когда настал бы дедлайн - напихал бы требухи всякой.
Надеюсь, мой ответ был полезен.

Худший ответ: 2D карты в играх обычно (на мой непрофессиональный взгляд) делают составными. Порой в какой-нибудь "диабле" идешь, кусок не прогрузился и, бах, ты "вне мира". Ну и скорее всего слоями, то есть основа (надо полагать - карта путей, хотя она, вроде, потом программно задается), окружение, интерактивные объекты.
Вопрос: Как делать http запросы через html формы?

Лучший ответ: В теге form заполняете атрибут action - туда url куда запрос слать. Добавьте атрибут method="POST" в тег form. У input'ов должны быть атрибуты name. Все, как бы, никакого JS. Имейте ввиду - будет перезагрузка страницы и бэк должен отдать что-то на клиент или сделать редирект.

Худший ответ: В том как сделать XMLHttpRequest вы разберетесь за 15 минут максимум. Если освоили Java...
Там зато уже можно и blob-объекты и json отправлять.