Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Почему исчезли автор и его статья про возврат Windows при покупке компьютера?

Лучший ответ:
Ставлю 5 баксов, что этот вопрос — тоже скоро исчезнет =)
а автор получит молчанку с формулировкой «нарушения правил русского языка»

Худший ответ:
Просто к слову. В августе 2012 брал самсунг в плеер.ру. Деньги за винду сравнительно легко и быстро вернул.
Вопрос: Кто-нибудь использует много веб-фреймворков в новой разработке?

Лучший ответ:
Во-первых, это вопрос личных предпочтений и предпочтений команды.
Во-вторых, это требования обстоятельств при промышленной эксплуатации.
На старте, обычно, выбирается то, что лучше знаешь. Да хоть бы и без фреймворков. Переключаться на старте - это тратить время впустую. Главная задача - получить MVP.
После получения MVP (Minimum Viable Product) и "зелёного света" на промышленную разработку, можно оценить результаты тестирования на потенциальных потребителях, выяснить предполагаемую нагрузку и, при необходимости, пересмотреть платформу. Сменить программную или аппаратную архитектуру, язык программирования или их комбинацию, фреймворк - стек технологий это называется.
Через некоторое время после начала промышленной эксплуатации могут возникнуть проблемы, связанные с неверно выбранной архитектурой или недостаточной производительностью. Команда выбрает путь: допилить текущее решение, использовать альтернативное решение или написать ещё раз с учётом возникших обстоятельств.
Есть проекты, которые жёстко костылят и они таким образом живут годы. Вплоть до того, что там PHP4 и отображение прямо в файлах с бизнес-логикой, зато страницы выдаются за миллисекунды.
Есть проекты, которые уже несколько раз переписывали с нуля, потому что охренеть какая сложная штука получается и без достаточно высокого уровня абстракции его очень сложно наращивать.
Есть те, где не костылили и не меняли платформу, а просто увеличили производительность сервера до небес.

Худший ответ:
Как правило, в проектах средних размеров (во всех смыслах) одновременно использовать (в смысле вести активную разработку) схожие по функциональности и решаемым задачам фреймворки, да ещё в рамках одного стэка (например, Symfony и Zend) смысла нет никакого. Но вот если нужно решать технически разные задачи (например, обеспечивать обычный http и websockets, или ядро на мощном, компилируемом, тяжелом и(или) "асинхронном" языке/стэке, но использование которого для конечных интерфейсов связано с большими оверхидами, а интерфейсы на чём-нибудь простом и легком),  или в случае плавного перехода с одного фреймворка на другой, то активная разработка на нескольких вполне имет право на жизнь.
Вопрос: Кириллица в SQLite, Android?

Лучший ответ:
Ну если мне не изменяет мой склероз, для нормальной работы с языком, отличным от английского, в SQLite необходимо прикручивать к нему ICU.
Пробуй копать в сторону сюда:
http://habrahabr.ru/blogs/sql/57915/
http://stackoverflow.com/questions/3944207/unicode-support-in-android-ndk
http://www.goneeded.com/android/projects/ICUaInternationalmComponentsmformUnicodeb.html

Худший ответ:
Пошел простым путем, через CursorWrapper
gist.github.com/ramzes642/5400792
Вопрос: Носят ли костюмы программисты в IBM?

Лучший ответ:
У меня друг там работает в финансовом департаменте всегда просто одет, в обед ходит на часок в качалку в офисе, вечно мне видюшки шлет как штангу качает 8)

Худший ответ:
У меня друг там работает в финансовом департаменте всегда просто одет, в обед ходит на часок в качалку в офисе, вечно мне видюшки шлет как штангу качает 8)
Вопрос: Схема локальной сети с расшифровкой по ПК?

Лучший ответ:
10-Страйк: Схема СетиLanTopoLogНу и вот список с софтом как платным так и бесплатным

Худший ответ:
Нарисовать в  inkscape.org - вот пример - https://simplebeian.wordpress.com/2014/03/15/creat...
Для сложных случаев использовать graphviz и автоматическую генерацию dot-файлов- www.graphviz.org/Gallery/undirected/networkmap_two...
Вопрос: Construct 2 или GameMaker?

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

Худший ответ:
gamemaker продвинутее со своим скриптовым языком этим, НО он (язык) не всесилен.
а вообще лучше изучать что то взрослое сразу, конструкторы используют обычно для скоростного прототипирования только.
Вопрос: Интересная ли это идея для Яндекс.Карт?

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

Худший ответ:
Спасибо за идею! Мы, действительно, периодически задумываемся о таком проекте.
Но все-таки наша специализация — массовые сервисы. Эта идея вряд ли станет массовым сервисом. И текущее расположение камер и их технические характеристики подобраны для слежения за траффиком в целом, а не за отдельными машинами. Попробуйте, посмотрите сами.

А куда бы еще вы развивали этот сервис?:)
Вопрос: Как отправлять сообщения используя vkontakte API?

Лучший ответ:
Когда мне нужен какой-то код или его пример, я всегда иду в поиск github'a

Худший ответ:
Для отправления сообщений, приложение должно быть Standalone. ВКонтакте ограничивает количество запросов к API: не более 3 запросов в секунду от одного приложения.
Код подразумевает работу с уже полученным access token (конкретно пункт №3)params = "user_id=13371337&message=notification+text";
token = "access_token=xxxxxxxxxxxxxx";
method = "messages.send";
request = "https://api.vk.com/method/"+ method +"?"+ params +"&"+ token;
Собственно, request — готовый запрос для отправления сообщения "notification text" пользователю id13371337. Запрос должен вернуть mid сообщения в виде JSON
Вопрос: База данных городов России на русском языке с их геокоординатами

Лучший ответ:
download.geonames.org/export/dump/ — огромные базы по всем странам, названия на куче языков. Данные представлены в виде реляционных таблиц, путём соответствующих join'ов можно получить почти всё, что угодно.

Худший ответ:
https://on55.ru/articles/2 - база координат lat и lng всех городов России
Вопрос: Как перейти с 1С на Java?

Лучший ответ:
Сожги все книги с 1С, заведи кота и купи бубен.

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

Лучший ответ:
А туда можно встраивать свой код?
Если да, то адсенс повешать можно или какие-нибудь тизеры.

Ну а так не знаю что посоветовать. Выкладывайте фотографии с рекламой за отдельную плату.
Например, сфоткайте визитки, и ссылку, мол заказать можно тут.
Трудности будут с поиском рекламодателей, это не так просто.
Хотя можно также рекламировать партнерки через фото.

Мол, 50 долларов на покер депозит, и ссылка.
или еще чего. А чтобы не было это навязчиво, пишите, что это рекламное фото на заказ. Мол не ради рекламы Вы это выложили, а просто как свою работу для портфолио.

Больше не знаю, что предложить.

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

Лучший ответ:
Суть любого робота в автоматизации того, что делать руками не хочется или невыгодно. А что конкретно автоматизировать, это зависит от конкретного случая.
Примеры:боты для DDOS - см. определение DDOS-атакиботы для сайтов/форумов/чатов - рекламный спам, авторегистрация пользователей; бывают и полезные вещи, например боты-нотификаторы. В ICQ был в своё время популярен бот, отвечающий на ряд запросов - можно было спросить прогноз погоды или рассказать анекдот;боты в MMO-играх: сбор ресурсов, ожидание в очередях и т.п. Также спам в чаты (продажа ресурсов/золота, как легальная так и не очень, рекрутинг в гильдии);

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

Лучший ответ:
Решений сейчас появилось масса. Вообще png-спрайтами уже пользоваться не комильфо, лучше сразу брать вектор (за рекдим исключением, когда необходимо сложные градиенты отобразить, берем растр).
Воркфлоу работы с такой графикой отлично реализован в TARS, рекомендую.

Худший ответ:
Вот здесь посмотри
Вопрос: Кто должен звать человека на собеседование — HR или непосредственный начальник?

Лучший ответ:
Приглашать должен HR, выбирать кого приглашать — начальник. Собеседовать также должен начальник.

Худший ответ:
Доверия именно техническому человеку у потенциальных кандидатов, несомненно, больше изначально. 
С другой стороны именно по этой же причине общение на уровне переписки может скатиться к техническим деталям еще до личной встречи.

Если рекрутер в состоянии отличить хотя бы js от javа, а бекенд от фронтенда (дальше — лучше), то для минимизации времени и финансов, возможно возложить фунцию приглашения на собеседование на рекрутера (всегда можно акцептить интервью через ревью резюме техническим специалистом)
Вопрос: Как закрыть доступ ко всем сайтам, кроме определенных?

Лучший ответ:
Нужен прокси сервер, куда можно будет завернуть весь http\https трафик с ПК и уже в прокси делать белые\черные списки.

Худший ответ:
В панели управления роутера: Дополнительные настройки - Брэндмауэр - Фильтр URL-адресов. Настраиваете белый список (white list) в котором указываете разрешенные ссылки.
AD под windows 8? Это как?
Вопрос: На какой базе построить компьютер?

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

Худший ответ:
Ну и сокет рассматривайте современный 1150. Если 1155 еще популярен, то более редкостный, но заманчивый по цене 1156 точно не стоит.
Вопрос: Как запретить сторонним сайтам извлекать информацию со страниц моего сайта?

Лучший ответ:
Удалить свой сайт.

Худший ответ:
Посмотрите, как строить robot.txt, запретите индексацию.
Вопрос: bash. Почему if [ 0 ] истина, а if [ 1 ] ложь?

Лучший ответ:
Короче — в современных ОС если программа завершается успешно, она возвращает 0, иначе — код ошибки, который больше нуля. Вот по-этому.

Худший ответ:
if [ 1 ] # единица
then echo "1 -- это истина."
else echo "1 -- это ложь."
fi
# 1 -- это ложь
Неверно, 1 это истина.
Вопрос: Кракозябры в mysql базе данных?

Лучший ответ:
Попробуйте на сайте сразу после подключения вставить запросSET NAMES utf8

Худший ответ:
Вас скорее всего взломали
Вопрос: Посоветуйте недорогой SSD для ПК

Лучший ответ:
Классика приличных бюджетников: market.yandex.ru/model.xml?modelid=7291074&hid=91033&show-uid=947435613539594231 crucial m4

Худший ответ:
Последний ssd купил за 4000 был на 128 гб vertex 4
Вопрос: Где лучше хранить контент?

Лучший ответ:
Конечно из базы! Также стоит задуматься о хранении скриптов и стилей в отдельных табличках.
Выгода: колоссальная, вы только представьте в вашем index.php будут в итоге всего лишь несколько запросов к базе - на подключение разметки/шаблона, скриптов и стилей, а не всякий лапшакод из html, js, css и php вперемешку

Худший ответ:
некоторый  вывод з базы храню в файлах кеша (например настройки или сео или же статьи)$myrow[$i] = $cache->read($server.'cache/'.$var.'.tmp');
if (empty($myrow[$i])) {
запрос к базе
$cache->write($server.'cache/'.$var'.tmp', $myrow[$i]);
}
сам класclass Cache {

    function read($fileName) {
	if (file_exists($fileName)) {
	    $handle = fopen($fileName, 'rb');
	    $variable = fread($handle, filesize($fileName));
	    fclose($handle);
	    return unserialize($variable);
	} else {
	    return null;
	}
}

    function write($fileName,$variable) {
        $handle = fopen($fileName, 'a');
        fwrite($handle, serialize($variable));
        fclose($handle);
    }

    function delete($fileName) {
        @unlink($fileName);
    }
}
Вопрос: Конвертация pptx to pdf?

Лучший ответ:
Распечатайте любым PDF принтером

Худший ответ:
В некоторых версиях/сборках офиса есть уже готовые средства конвертации.
Пруф:

Прошу прощения, что залил на радикал. Habrastorage не заливает.
Вопрос: Чем опасна Blind SQL injection?

Лучший ответ:
Blind означает лишь то, что результат инъекции не отображается на странице. При этом всё равно существуют методы, позволяющие при удаче авторизоваться не зная пароля, например такой конструкцией:http://my.site/login.php?name=user' OR TRUE OR '1'='1&password=
Если запрос на авторизацию к базе выглядит так:"WHERE `user` = '".$_GET['name']}."' AND `pass` = '".md5($_GET['password'])."'"
то он преобразуется вWHERE `user` = 'user' OR TRUE OR '1'='1' AND `pass` = 'd41d8cd98f00b204e9800998ecf8427e'
результат вычисления будет TRUE для любого пользователя и пароля.
Кроме того, можно разрушить саму базу, выдав команды DROP TABLE или DROP DATABASE

Худший ответ:
Спасибо. Все ясно.
Вопрос: Как отправить сообщение в Google+ (Hangouts)?

Лучший ответ:
А можно ли было написать 1 вопрос, а не 3 (или больше)? На одну и ту же тему. Бесишь.

Худший ответ:
C помощью гема xmpp4r (hangout сообщением)
Пример отправки сообщения:equire 'xmpp4r'
include Jabber

jid = JID::new('xample@gmail.com')
password = 'secr3t'

cl = Client::new(jid)
cl.connect('166.78.7.179')
cl.auth(password)
cl.send(Presence.new)

to = 'example1@gmail.com'
subject = 'XMPP4R test'
body = 'Hi, this is a XMPP4R test'
m = Message::new( to, body ).set_type(:chat).set_id('1').set_subject(subject)
cl.send m
Вопрос: Что делать с background-position-x (-y) в Firefox и Opera?

Лучший ответ:
Так background-position: x y;

Или используя JS (пропарсить и сохранить одну из координат, а вторую изменить)

Худший ответ:
1. Свойство background-position-x является нестандартным и не входит в спецификацию CSS.
2. Only properties that take numeric values are supported (e.g. backgroundColor is not supported).

Гугл намекает, что есть jquery.backgroundPosition плагин, который умеет анимировать background-position. Его оффсайт мертвый, но можно украсть его например отсюда из демо. Ну а дальше что-то типа:
var bp = element.css('background-position');
var bpSecondPart = bp.slice(bp.indexOf(' '));
element.animate({
	backgroundPosition: '-80px' + bpSecondPart
}, 500);
Вопрос: Что не так с []?

Лучший ответ:
Настройки -> Moдули 
Выставить
PHP 5.6
Apache 2.4

Худший ответ:
Смените версию php на более высокую.
Вопрос: Для чего нужно использовать парметр PDO::PARAM_INT в функции bindParam() ?

Лучший ответ:
Для начала ответим на вопрос буквально:конечно же, в настройках соединения прописано
PDO::ATTR_EMULATE_PREPARES => falseВ этом случае - вообще незачем.
Если эмуляция отключена, то можно вообще никогда не указывать тип.
Правда, насчет "конечно" ты поторопился. Ничего "конечного" в отключении эмуляции нет - оба варианта одинаково безопасные.
И вот если эмуляцию включить, то как раз и возникнет единственный случай, когда придется биндить с указанием типа:  если у тебя в запросе передаются параметры в LIMIT. Если в запросе есть оператор LIMIT и в него передаются параметры, то их надо обязательно биндить через PDO::PARAM_INT - иначе запрос выдаст ошибку.Мало того - передаваемые данные надо самостоятельно привести к типу int - PDO это за тебя делать не будет!
Теперь ответим в общем, объясняя твои многочисленные заблуждения:Как тебе уже объяснили выше, инъекция - это не про сохранение в базе. Это именно про выполнение запроса. Так что тип поля в БД не имеет значения. Инъекцию через PDO провести нельзя только если на 100% соблюдается условие "любые данные попадают в запрос только через плейсхолдеры" - просто самим фактом своего присутствия PDO ничего ни от кого не защищает. Кстати, соблюдение этого правила не так просто, как кажется. Решение для большинства нетривиальных случаев можно посмотреть здесь: phpfaq.ru/pdoСамое важное: если мы используем плейсхолдеры, то все остальное уже неважно. Указывай какой хочешь тип, или не указывай вовсе - инъекции не будет. То есть, к безопасности твой вопрос про указание типа отношения не имеет.Если ты не указал тип, то по умолчанию берется PDO::PARAM_STR. Это очень удобно, поскольку БД (по крайней мере - mysql) всегда корректно обработает любые данные, если они переданы, как строки
Так что, я думаю, что ты теперь и сам можешь ответить на вопрос, "зачем указывать тип".
И будешь писать просто$sth = $dbh->prepare('SELECT * FROM fruit WHERE calories < ? AND colour = ?');
$sth->execute([$_POST['calories'],$_POST['colour']]);

Худший ответ:
PDO::PARAM_INT говорит о том, что $_POST['calories'] является числом.
PDO::PARAM_STR говорит о том, что $_POST['colour'] является строкой.
Вопрос: Редирект с https://www. на https:// средствами Apache mod_rewrite?

Лучший ответ:
Попробуй этот код:RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301]
Мне помогло. Взято отсюда.

Худший ответ:
Попробуйте
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule (.*) site.ru/$1 [L,R=301]
Вопрос: Открыть ссылку с телефона на компьютере, можно?

Лучший ответ:
Всё проще. Есть такая штука, называется Pocket
У неё есть расширения для всех браузеров (для Оперы) и приложения под все мобильные платформы (в частности для Android). Чтобы передать ссылку с телефона на Android нужно сделать Share --> Save to Pocket, ссылка тутже синхронизируется с сервером и соответственно со всеми устрйствами.

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

Лучший ответ:
Ответ: нет
Ваш otf на сколько я помню поддерживает только ослик (может кто то уже и подтянулся). Более менее универсальный шрифт это woff (IE 8 про него не слышал).  Если задача стоит полная кроссбраузерность (все ОСи и браузеры) то вам придется использовать полный набор.
Вот ссылочки для справки:caniuse.com/#feat=eotcaniuse.com/#feat=woffcaniuse.com/#feat=svg-fontscaniuse.com/#feat=ttf

Худший ответ:
Использую только WOFF, хватает для всех современных браузеров.
Вопрос: Зачем clearfix нужно добавлять еще и c помощью псевдоэлемента :before?

Лучший ответ:
Не обязателен :before для очистки floats, но это позволяет избежать проблем с схлопывающимися верхними отступами в современных браузерах.Including the :before selector is not necessary to clear the floats, but it prevents top-margins from collapsing in modern browsers. (с) Nicolas Gallagher
Если захотите почитать про это ещё: clearfix Reloaded + overflow:hidden DemystifiedHow to "patch" clearfix so it can better handle co...

Худший ответ:
Хороший вопрос, вот clearfix от rhr.me/:/* Clearfix  */
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
Здесь можно посмотреть полный пример
https://github.com/operatino/markup-process/blob/g...
Вопрос: Почему зависает remoteApp?

Лучший ответ:
https://blogs.technet.microsoft.com/ai/2012/01/16/53/
Недавно мне пришлось отвечать на очередной вопрос клиента на тему некорректной работы выплывающих окон в 1С, работающей в режиме RemoteApp. На самом деле проблема достаточно старая и затрагивает работу клиента RDP версий 6.0-7.1, работающего на ОС Windows Vista\7 с серверами Windows Server 2008\2008R2 вплоть до SP1.
Выражается проблема в основном двумя типовыми сценариями:
Основное окно сессии пользователя теряет фокус, делая невозможным работу с программой
Всплывающие диалоговые окна не появляются на экране, а точнее – появляются под активным окном(а не над).
Быстрый исправить ситуацию можно с помощью хоткеев Alt+Tab или Alt+Esc для 1C, однако работа пользователей в таком режиме врядли будет приятной.
Однако, мало кто знает, что в большинстве случаев проблема решалась с помощью пакета исправлений, который вышел в конце мая прошлого года и доступен по ссылке – support.microsoft.com/kb/2384602/ru.
К сожалению, содержимое патча не попало в релиз SP1 для Windows 7 и Windows Server 2008 R2 и было выпущено отдельно, однако сейчас можно пользоваться объединенным декабрьским пакетом исправлений, который подходит как для RTM-версии, так и для SP1-версии ОС. Также туда вошли исправления для ряда других артефактов RDP, не связанных с модальными окнами. Скачать данный пакет исправлений можно по ссылке – support.microsoft.com/kb/2604066
Если вы испытываете другие проблемы с работой Remote Desktop Services, можете обратиться к списку доступных апдейтов – support.microsoft.com/kb/2601888

Худший ответ:
А что говорят счетчики производительности на хосте(ах) хостящих 1с?
Много 1с-ок - это разные инстансы платформы опубликованные в разных коллекциях или несколько открытых БД в пределах одной коллекции ?
далее -  что происходит на стыке 1с server-sql ? Или у вас файловые БД ?
"Я подозреваю, что remoteapp на одного юзера выделает какой то лимит по памяти и процессору."
c 2008R2 появилась такая фича как fair share 
https://technet.microsoft.com/en-us/library/dd560667(v=ws.10).aspx#BKMK_4
https://social.technet.microsoft.com/Forums/window...
Вопрос: Организация домашней Wi-Fi сети

Лучший ответ:
DLink DIR-615 удачи!

Худший ответ:
1. Одновременно с одного адаптера может быть подключена только одна точка доступа. Т.е. машины либо общаются напрямую (одна становится ТД), либо общаются через роутер. Не одновременно.
2. Если выставить принудительно 802.11n на ТД — то она перестанет переключаться в режим совместимости с 802.11g устройствами, т.е. увеличение скорости возможно (это не отменяет общего частотного диапазона, так что совсем уж ракетного взлета лучше не ждать). Для проверки диапазона используйте этот софт.
3. Не совсем понял, как у вас устроена сеть, но напоминаю, что если машины обмениваются данными через ТД/роутер, то данные не идут напрямую, т.е. по сути канал делится пополам на 2 стройства. Если сюда докинуть накладные расходы самой беспроводной сети: 54Мбпс (g) / 2 (грубо — служебный трафик) = 27 Мбпс / 2 (устройства, одновременно работающие с сетью) = 13,5 Мбпс / 8 ≈ 1,5 МБ/сек. Т.е. в сети 802.11g сильно больше скорость не будет (если рядом есть гиперактивные ТД — то наверняка). Переключайтесь на 802.11n, используйте NAS или сервер, подключенный по проводу к роутеру, чтобы кидаться большими файлами — и будем вам счастье.
4. Возьмите Zyxel Keenetic — у него есть USB порт и поддержка кучи модемов. В своем ценовом диапазоне это лучше железяки (ИМХО, естественно).
Вопрос: На что потратить время и силы в плане программирования?

Лучший ответ:
Глупые, непонятные вопросы.
Сеньер Java и Сеньер C++ получают примерно одинаково. Уровень ЗП зависит от твоего уровня знаний и опыта работы. К тому моменту, как ты перейдешь с junior на mid, в мире все может поменяться.
Учишь С++ и тебе нравится - продолжай. Мотивация в виде "нравится" важнее, чем лишние 100$ когда-нибудь через 5 лет.
Мотивация в виде "мне нравится моя работа" важнее чем лишняя 1000$ в зп.
Переучиться с С++ на java в районе junior-а не проблема. Проблема из никого стать хотя бы junior-ом и получить первую приличную работу в компании, где есть возможность реального роста.

Худший ответ:
Отвечу не популярно, но я бы советовал копать не C++, а C# или Java. Уверен что здешние олдфаги освистают такой совет, но вот лично моё мнение: C++ гораздо менее клёвый на начальных этапах освоения, чем C# или Джава. На этой двойне неподготовленному человеку писать намного проще и веселее, а возможностей для творчества и заработка за глаза хватает. С++ не катится вниз, но просто тебя постигнет депресняк, пока будешь его осваивать и мириться с ним. Я лично начинал и с C# и с C++, в итоге остался на C#, все курсовые на нём писал, на работе пишу Asp.Net сайты на C#, и всё устраивает, очень радуюсь, открывая для себя то, как легко некоторые крутые вещи делаются на этом языке.