Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: С чего начать изучение Java для web?

Лучший ответ:
Я бы рекомендовал начинать изучение веб-разработки на Java c изучения Spring и ознакомления с основными компонентами Java EE. Ради интереса в дальнейшем можно более подробно ознакомиться с Java EE (ибо Spring и его компоненты сопряжены с Java EE), но за последние годы пути Java EE и Spring разошлись (особенно в плане веба). Плюс сейчас есть проект Spring Boot, который упрощает процесс погружения в Spring.
Про Java EE скажу, что изучать есть смысл только JPA, т.к. оно активно используется в Spring Data JPA; технологии, связанные с вебом - JSP и JSF, нынче не актуальны, JSP заменяется более вменяемыми библиотеками шаблонирования вроде Thymeleaf и Freemarker, а JSF заменяется самим Spring MVC.
Насчёт контейнеров: Tomcat (а так же Jetty и Undertow) - веб-контейнер, который поддерживает только Java EE Web Profile, в то время как Glassfish (а так же Payara, Wildfly и JBoss) поддерживает весь стек Java EE, который нужен не всегда.
Мой совет - учи Spring, а Java EE оставь на досуг.

Худший ответ:
Начать надо с понимания того, что есть стандарт JavaEE, который включает в себя множество других стандартов, в том числе стандартов web-разработки, таких как сервлеты, JSP,  JSF и прочее. Крайне желательно их знать. Разработанные в соответствии с этими стандартами приложения запустятся на любом сервере приложений. Но не всегда сервер приложений нужен. Для многих задач хватит простого web-контейнера, такого как Tomcat. Что касается выбора фреймворка, Spring настолько всеобъемлющ и популярен, что тягаться с ним какой-либо другой фреймворк просто не сможет. Достаточно открыть любой работный сайт, поискать вакансии java-разработчик и почитать требования. Сильно сомневаюсь, что вы найдёте Grails.
Вопрос: JavaScript; Что не так с моей функцией-модулем (object)?

Лучший ответ:
var Human = (function (person) {

    this.firstName = "John";
    this.lastName = "Doe";
    this.age = person.age || 50;
    this.eyeColor = person.eyeColor || "blue";

    this.toString = function() {
        return person.age + ", " + person.eyeColor;
    };
});

var pers = new Human({ eyeColor: "Yellow" });
// 

console.log(pers);
Выглядеть в конечном итоге это может как-то так:var SampleClass = (function(localFirstDependencyName, localSecondDependencyName){
    'use strict';
    
    var _defaultSettings = {
        option: 'option'
    }

    var constructor = function(settings){
        this._settings = $.extend(this._settings || {}, _defaultSettings, settings);
    
        this.publicField = null;
        this._protectedField = null;    
        this._privateField = null;
    };
        
    $.extend(constructor.prototype, {
        publicConstant: 'Constant',
        protectedConstant: 'Constant',
        _privateConstant: 'Constant',

        //#region Public
        publicMethod: function () {      
            this._protectedMethod();    
        },
        //#endregion
        
        //#region Protected
        _protectedMethod: function () {         
        },
        //#endregion

        //#region Private
        _privateMethod: function(self, value){
        },  
        //#endregion
    });
        
    return constructor;
}(globalFirstDependencyName, globalSecondDependencyName));

Худший ответ:
1. Не возвращает функция ничего.
2. после new создается объектvar human = (function (person) {
    this.person = {
        firstName : "John",
        lastName  : "Doe",
        age       : person.age || 50,
        eyeColor  : person.eyeColor || "blue",
    };
    this.getInfo = function () {return person.age + ", " + person.eyeColor; }
    return this;
});

var getPerson = new human({ eyeColor: "Yellow" });
//

console.log(getPerson.person, getPerson.getInfo());
Вопрос: Как подключиться к базе данных MySQL с локального компьютера?

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

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

Лучший ответ:
Модуль shop.opencart-russia.ru/yandexplusplus
Работает для Физ лиц.  Деньги приходят на кошелек.

Худший ответ:
В общем на текущий момент я пришел к выводу, что достойной системы оплаты для регистрации на физ. лицо нет, все это было присечено в рамках "законодательства противодействия терроризму", хотя лично я не совсем понимаю данного законодательства, т.к. по-прежнему можно в ручном режиме перечислить бабки кому хочешь и куда хочешь. Одним словом - Россия.
Вопрос: Большая ли нагрузка — 30 000 запросов в день?

Лучший ответ:
да никакая это нагрузка
просто залейте на хостинг и посмотрите держит он или нет нагрузку

Худший ответ:
Конечно это небольшая загрузка. В сутках 86 тыс. секунд, значит один запрос в среднем происходит раз в две секунды. Для нормального хостинга это вообще не о чем. 
А вот для бесплатного хостинга.... Они бывают разные, некоторые и 500 запросов в сутки не выдерживают :)
Вопрос: Почему onclick не работает?

Лучший ответ:
getElementsByTagName возвращает массив элементов.
пилите цикл, это вам не jquery

Худший ответ:
getElementsByTagName('p') возвращает множество объектов,
чтобы повесить onclick надо пройтись по полученному массиву.
Вопрос: Где лучше учить sql?

Лучший ответ:
Я вот потихоньку выполняю упражнения на www.sql-ex.ru, изучая необходимую для решения информацию

Худший ответ:
Сейчас читаю "High Performance MySQL", третье издание. Там довольно много всякой информации насчет оценки производительности, оптимизации запросов, индексов, работы разных движков MySQL и т.д. Может быть вам тоже эта книга покажется полезной.
Вопрос: Почему выбрасывает ошибку в view во время foreach?

Лучший ответ:
Когда в шаблоне я вывожу 
echo $temp[0]->category->name;
то отображает имя категории, а если прогнать через foreach:
Потому что так вы выводите название категории первой сущности, а foreach проходит по всем, значит у какой-то сущности нет категории

Худший ответ:
Все очень просто, у одной из $calculator нет category, конкретно у первой очевидно есть.
Проверьте так:foreach ($temp as $key=>$calculator) {
    echo (isset($calculator->category))?$calculator->category->name:'не задано для '.$key;
}
Вопрос: Супер-динамичные сайты?

Лучший ответ:
Нет, значит Websocket.

Худший ответ:
Насколько я понял, такое реализовывать ajax-ом, но это же очень большая нагрузка на сервер, не так ли? Мой ответ: нет
Вопрос: Ресурсы для изучения powershell с нуля?

Лучший ответ:
The best: https://docs.microsoft.com/en-us/powershell/develo...
Есть русская версия.

Худший ответ:
Ресурсы по изучению Powershell?
Вопрос: Функция сортировки в javascript, необходимо изменить правило ортировки?

Лучший ответ:
за такой кодстайл хочется покалечить)

Худший ответ:
StationsSort.sort(function(s1,s2) {
 // some code
})
Это не функция. Функцией является сам метод sort(), которому можно передать функцию как параметр, которая будет указывать как сортировать элементы. А StationsSort является объектом который нужно отсортировать. И вызывается метод sort() в данном блоке кода, а не где то еще.
Для примера:let arr = [5, 4, 7, 2, 1, 8, 6, 0];

arr.sort((a, b) => {
	if (a < b) {
  	return -1;
  } else if (a > b) {
  	return 1;
  } else {
  	return 0;
  }
}); // [0, 1, 2, 4, 5, 6, 7, 8]
PS. Для начала приведите код в нормальный вид, согласно какому нибудь code style. Сейчас же в вашем коде черт ногу сломит.
Сделайте хотя бы так:$.get(URL + '/stations.json', function(data) {
  var j1 = 0;

  $.each(data, function(j1) {
    Stations[this.sindex] = this;
    StationsSort[j1] = this;
    
    j1++;
  });

  var date = new Date();
  dstmp = date.getTime();

  $.each(StationsSort, function() {
    lastMsg = Math.floor(dstmp / 1000) - this.last_at;
    style = '';

    if (lastMsg < 10800) {
      style = "style=\"background: #8affbb;\"";
    }

    StationsSort.sort(function(s1, s2) {
      if (s1.sindex > s2.sindex)
        return 1;
      if (s1.sindex < s2.sindex)
        return -1;
      else
        return 0;
    });

    $('#station-list').append("<div " + style + " class='st-btn' title='" + EncodeHTML(this.station_name) + "' onclick=\"StationProcess(this, '" + EncodeHTML(this.sindex) + "')\">" + EncodeHTML(this.sindex) + ' - ' + EncodeHTML(this.station_name) + "</div>");
  });
});
Вопрос: Как в jquery при клике добавить элемент в один и тот же массив?

Лучший ответ:
https://jsfiddle.net/kkhcodt9/
1 вам нужно прочитать про работу с массивами
2 прочитать про область видимость переменных

Худший ответ:
У Вас же атрибут data не меняется. Поэтому такое и происходит. Надо добавить в массив, а потом изменить data атрибуты.
Вопрос: Как отправить запрос на тостер с другого сайта?

Лучший ответ:
И не получится.XMLHttpRequest cannot load http://toster.ru/user/DirecTwiX/questions. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://s.codepen.io' is therefore not allowed access.
Нелзя послать такой запрос, иначе тут был бы уже мильон спам-вопросов

Худший ответ:
Упс...
Есть не только оно, гуглите и будет вам счастье.
Вопрос: Почему не совпадает сложность алгоритма?

Лучший ответ:
Тут указана не сложность, а асимптотика. Т.е. Сумма натуральных чисел при росте n растёт как n^2
https://ru.wikipedia.org/wiki/%C2%ABO%C2%BB_%D0%B1...
Так получилось, что программисты обычно сталкиваются с этими обозначениями только в контексте сложности алгоритмов, но вообще-то это обычная математическая нотация

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

Лучший ответ:
arr.map(n => ({
  id: n.id.value,
  title: n.title.value,
  slug: n.slug.value
}))
или

arr.map(n => Object.entries(n).reduce((acc, [ k, v ]) => (acc[k] = v.value, acc), {}))
или

arr.map(n => Object.keys(n).reduce((acc, k) => ({ ...acc, [k]: n[k].value }), {}))
или

arr.map(n => Object.assign({}, ...Object.values(n).map(m => ({ [m.title.toLowerCase()]: m.value }))))

Худший ответ:
let data = [{
 "id": {
         "title": "Id",
         "value": 19,
        },
  "title": {
         "title": "Title",
          "value": " Режиссёр \"Доктора Хауса\" снимет новый фильм"
   },
   "slug": {
         "title": "Slug",
         "value": "slug2334",
   }
},
{
     "id": {
            "title": "Id",
             "value": 8,
       },
       "title": {
              "title": "Title",
              "value": "Колониальная сказка. «Жги», режиссер Кирилл Плетнев",
       },
      "slug": {
           "title": "Slug",
          "value": "6643766f8e8d9b39fcbf818d677f4fbe",
       }
}]
let newObj=[];
Object.keys(data).map(
	el=>newObj.push({'id':data[el].id.value,'slug':data[el].slug.value,'title':data[el].title.value})
);
Вопрос: Junior PHP, что бы вы спросили на собеседовании?

Лучший ответ:
Джуниор джуниору рознь и в разных конторах разные требования, но в идеале вам нужно знать и уметь: 
- PHPStorm, PSR, чистый самодокументированный код
- Composer, автозагрузка классов
- Базовое понимание ООП, статический и динамический контекст, умение применять на практике
- Git, работа с ветками, мерджи, разруливание конфликтов
- Индексы в БД, какие, для чего нужны, составные индексы, какие недостатки имеют
- Джоины в БД, подзапросы, группировка
- Внешние ключи в БД, минимум по нормализации данных
- JS, jQuery, HTML, CSS, хоть минимально
Все остальное индивидуально, в зависимости от требований.

Худший ответ:
Вот тут тоже почитай 
https://www.kobzarev.com/wp-content/uploads/books/...
Вопрос: Вопрос про ООП, как использовать?

Лучший ответ:
Вот, например, надо сделать простейшую фотогалерею. На вашем примере, что бы было понятно на пальцах, заранее прошу прощения у присутствующих за примитивизм. В данном случае у вас будет коллекция объектов, которая тоже объект, это как массивы, если примитизировать понятия до упора, одни могут быть вложены в другие. Делаете допустим так:$image= new Image(); //создаем пустой объект имаж, чтобы иметь его настройки(таблица, поля...)
$gallery = new Collection ($image); //создаем новую коллекцию объектов типа имаж, пока пустую.
$gallery->getCollectionByField(array("galleryid"=>"64")); // инициализируем из базы, используя
// ид галереи, теперь в гэлери одной строчкой мы загрузили все картинки в свойство (например),
// $gallery->collection  и можем к ним обращаться как к элементам массива, и в свойстве
// $gallery->collection[1] будет объект типа $image. Как вариант реализации.
Куча кода остается в объекте, для вас это "черный ящик", видны только входы и выходы, все что внутри скрыто, но работает как надо, т.к. разбито на методы и отлажено по кусочкам. 
Что касается статики - как говорится в любом нормальном источнике - статики нужно избегать по максимуму, на это есть несколько причин: 
- статика загружает оперативку, т.е. статические объекты создаются всегда, не зависимо от необходимости их использования
- статика плохо поддается тестированию, не всегда, но часто, т.к. глобальная область видимости приносит проблемы пересечения зон ответственности методов, часто это нарушает SOLID, особенно если тыкать статику везде. Почитайте, посмотрите как должен выглядеть нормальный код в объектах - вам понравится.
ps: 
ваш код - почему бы не писать так:$post=BLOG::getPost($айди_поста);
// меняем 
$post = new Post($айди_поста);

echo $post['content'];
// меняем 
echo $post->content; // не обязательно так, может вот так:
echo $post->getContent(); // тогда при выводе можно будет сделать какую-то предварительную обработку, 
//заменить тэги, еще что-то...

$comments=BLOG::getComments($айди_поста);
// меняем
$comments = new Comments($post);
echo $comments->getTree(); // хотя тут скорее всего от вьюшки зависит, я бы тут возвращал не 
// строку, а массив для итератора, это правильнее для разделения на мвц, мухи отдельно - 
// котлеты отдельно, в смысле код и хтмл.

Худший ответ:
Ну. Я и сам то только изучаю ООП, но мне ООП в пыхе понравился больше, чем процедурное. Код выглядит на много меньше, и лаконичнее.
Вопрос: Как можно ускорить скрипт подключения к БД?

Лучший ответ:
Попробуйте сменить localhost на 127.0.0.1  т.к. подключение сначала пытается резолвить имя.

Худший ответ:
Время создания соединения с сервером БД на локальной машине 240мс это не нормально.
Что-то не так с сервером возможно?
Вопрос: Можно ли нарисовать два фона, разделенных кривой, через css?

Лучший ответ:
делаем svg. Разделяя две части кривой, потом заливаем обычным градиентом каждую из них.
По поводу кроссбраузерности: caniuse.com/#search=svg
Ну или дедовским способом, картинку на background
https://codepen.io/tedmcdo/pen/PqxKXg - вот кстати интересный пример

Худший ответ:
Как вариант: разбить фон на 2 элемента, прорисовать их в фотошопе(pixel perfect, само собой) с прозрачным фоном, и в стилях обозначив position: absolute, наложить друг на друга. 
А в чистом CSS как такое реализовать лично у меня нет даже намека на идеи. 
Хотя можно еще попробовать через Canvas.
Вопрос: Хочу стать реверс-инженером. Что изучать для этого?

Лучший ответ:
"Хочу стать мастером спорта. Посоветуйте, что почитать".

Худший ответ:
Формальные семантики, переписывание термов, удовлетворение ограничений (constraint satisfaction problem), солверы (SMT, SAT), темпоральные логики.
Вопрос: Как сверстать бантик на css?

Лучший ответ:
ну тк делай картинкой. в чем проблема. элемент то не участвует в интерфейсе сайта. значит можно не верстать, а просто картинкой вставить

Худший ответ:
А в чём проблема нарисовать в том же инкскейпе? 2 круга, прямоугольник и 2 трапеции (polygon) - расширения от прямоугольника к кругам. А вообще, у дизайнера в формате svg попросить - вроде уже даже фотошоп такие фигурки так сохранять умеет
Хотя, можно и на css, даже одним элементом: собственно, прямоугольничек в центре - сам элемент, с background-origin: content-box и толстыми border-left и border-right и прозрачным border-top (расширяющиеся прямые участки по бокам), а закругления - скруглённые квадратные ::before и ::after
Вопрос: Что такое мультисписок?

Лучший ответ:
Мультисписок имеет несколько указателей «next» и позволяет собирать несколько (до N) не связанных друг с другом списков по разным признакам, не дублируя полезной нагрузки.typedef enum {
  LI_A, LI_B, LI_N
} ListIndex;

enum { LEN = 40 };

typedef struct {
  Entry* next[LI_N];
  char name[LEN];
} Entry;

typedef Entry* PEntry;
PEntry heads[LI_N], tails[LI_N];    // считаем, что = NULL

int isIn(ListIndex aIndex, Entry* aEntry)
{
  return (aEntry->next[aIndex] || tails[aIndex] == aEntry);
}

void addExisting(ListIndex aIndex, Entry* aEntry)
{
   /* Уже есть? Поскольку такой код чреват ошибками, лучше всё же проверить */
  if (isIn(aIndex, aEntry))
    return;
  if (tails[aIndex]) {
    tails[aIndex]->next = aEntry;
    tails[aIndex] = aEntry;
  } else {
    heads[aIndex] = tails[aIndex] = aEntry;
  }
}

Entry* addNew(ListIndex aIndex, char* aName)
{
  int i;
  Entry* newEntry = (Entry*)malloc(sizeof(Entry));
  strncpy(entry->name, aName, LEN);
  entry->name[LEN-1] = '\0';
  for (i = 0; i < LI_N, ++i)
    entry->next[i] = NULL;
  addExisting(aIndex, entry);
  return entry;
}

/* closure — т.н. замыкание, передача контекста, из которого была
   вызвана функция, вызывающая callback */
typedef void(*ListCallback)(Entry* aEntry, void* aClosure);

void traverseList(ListIndex aIndex, ListCallback aCallback, void* aClosure)
{
  Entry* entry = heads[aIndex];
  while (entry) {
    aCallback(aEntry, aClosure);
    entry = entry->next[aIndex];
  }
}
О замыкании можно прочитать тут: Для чего нужны замыкания в C++ и как вы их используете?

Худший ответ:
Ищем на Хабре... И находим ! Структура данных Java. Как сделать multilist?
Вопрос: Как предотвратить засыпание компьютера при помощи python?

Лучший ответ:
Обратиться к сисадмину, администрирующему доменные политики.
Объяснить ситуацию и попросить отключить засыпание для этого конкретного компьютера.

Худший ответ:
shutdown -aЗадание для планировщика - отмена выключения<?xml version="1.0" encoding="UTF-16" ?> 
- <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
- <RegistrationInfo>
  <Date>2018-07-09T11:57:08.396045</Date> 
  <Author>Тостер\ЁжЫГ</Author> 
  </RegistrationInfo>
- <Triggers>
- <EventTrigger>
  <Enabled>true</Enabled> 
  <Subscription><QueryList><Query Id="0" Path="System"><Select Path="System">*[System[Provider[@Name='USER32'] and EventID=1074]]</Select></Query></QueryList></Subscription> 
  </EventTrigger>
- <EventTrigger>
  <Enabled>true</Enabled> 
  <Subscription><QueryList><Query Id="0" Path="System"><Select Path="System">*[System[Provider[@Name='USER32'] and EventID=1076]]</Select></Query></QueryList></Subscription> 
  </EventTrigger>
- <EventTrigger>
  <Enabled>true</Enabled> 
  <Subscription><QueryList><Query Id="0" Path="System"><Select Path="System">*[System[Provider[@Name='USER32'] and (EventID=1074 or EventID=1076)]]</Select></Query></QueryList></Subscription> 
  </EventTrigger>
  </Triggers>
- <Principals>
- <Principal id="Author">
  <UserId>f-1\ЁжЫГ</UserId> 
  <LogonType>InteractiveToken</LogonType> 
  <RunLevel>LeastPrivilege</RunLevel> 
  </Principal>
  </Principals>
- <Settings>
  <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy> 
  <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries> 
  <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries> 
  <AllowHardTerminate>true</AllowHardTerminate> 
  <StartWhenAvailable>false</StartWhenAvailable> 
  <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> 
- <IdleSettings>
  <StopOnIdleEnd>true</StopOnIdleEnd> 
  <RestartOnIdle>false</RestartOnIdle> 
  </IdleSettings>
  <AllowStartOnDemand>true</AllowStartOnDemand> 
  <Enabled>true</Enabled> 
  <Hidden>false</Hidden> 
  <RunOnlyIfIdle>false</RunOnlyIfIdle> 
  <WakeToRun>false</WakeToRun> 
  <ExecutionTimeLimit>P3D</ExecutionTimeLimit> 
  <Priority>7</Priority> 
  </Settings>
- <Actions Context="Author">
- <Exec>
  <Command>shutdown</Command> 
  <Arguments>-a</Arguments> 
  </Exec>
  </Actions>
  </Task>
Вопрос: Почему вылазит ошибка на мобильных девайсах при SSL?

Лучший ответ:
Да здесь все сплошная ошибка. И даже не одна.Ошибка первая CERT_AUTHORITY_INVALID означает, что УЦ, выпустивший Вам сертификат, отсутствует в списке корневых УЦ, сертификаты которых являются доверенными. Поди, на LetsEncrypt брали? Уж сколько раз твердили миру - если делаете продающий сайт, да еще заточенный под мобильные устройства, закладывайте в бюджет покупку сертификата, а не то будете вот так вот спрашивать. Ваш сертификат выпустило неизвестное мобильному устройству УЦ, к которому нет доверия, соответственно нет доверия к сертификату.Ошибка вторая This server is vulnerable to the POODLE attack. Возникает, когда сканер безопасности видит, что сервер принимает соединения по протоколу SSLv3. Вам необходимо запретить семейство протоколов SSLv3, читайте документацию как это сделатьОшибка третья This server accepts RC4 cipher. Возникает, когда сервер принимает среди прочих шифров шифр RC4, который давно считается ненадежным. Необходимо так настроить шифронаборы, чтобы исключить его использованиеОшибка четвертая :) This server does not support Forward Secrecy. Возникает, когда среди шифронаборов сервера не обнаружены наборы с PFS - Perfect Forward Secrecy. Соответственно, нужно подобрать шифронаборы так, чтобы шифры с PFS использовались. Вы, к сожалению не указали, что там у Вас - апач, nginx, поэтому примеры конфигов с шифронаборами привести не могу.

Худший ответ:
в рамках https.createServer добавьте 
secureOptions: constants.SSL_OP_NO_SSLv3
Вопрос: Как в postgres вытащить записи, относящиеся ко дню определенного timestamp?

Лучший ответ:
Не знаю, возможно есть решения конкретно лучше и не уверен, что я правильно понял Ваш вопрос... Но если Вам нужно выбрать все даты без учёта времени (поля типа TIMESTAMP), то в PostgreSQL вполне работает такая же конструкция как и в других БД:SELECT * FROM table1 WHERE DATE(timestamp_field) = '2017-10-09';

Худший ответ:
SELECT *
FROM tablename
WHERE date(date_create_stamp) = date(ну а здесь типа ваш timestamp)
Вопрос: Переквалификация из Java в C++?

Лучший ответ:
Возможно ли вообще осуществить такой переход и обойтись "малой кровью" без сильной "просидке" по зарплате
Если сильно повезет.
С++ нынче большая редкость.
В отличие от востребованного языка Java.Есть желание перейти на с++/server side.
Вы нам из прошлого века пишете?
Серверная часть на С++?
На уровне слухов, что у кого-то типа где-то есть на С++ на сервере.
Сейчас большая редкость.Вообщем хочу узнать как будет относиться работодатель если в резюме будет указан опыт на java?
От миддла и выше - всем пофиг.
Работодателю прекрасно известно, что главное чтобы программировать умел. 
Выучить очередную новую технологию или новый язык для программиста - норма.Действительно ли в реальной жизни синтаксис это не самое важное, а важно знать алгоритмы, писать красивый чистый код со знанием ООП и умения правильно строить архитектуру? 
Язык - это всего лишь инструмент. Как клавиатура или мышь. Всем плевать какого цвета у вас мышь. Если вы выполняете свои рабочие задачи.
Вы задаете вопросы на уровне студента/джуна, а архитектура это вопросы миддла/сеньора.
Такое впечатление что вы вообще не понимаете то, о чем пишете.

Худший ответ:
Думаю побольше разобраться в С++ вам поможет книга Макса Шлее. К тому же её можно купить в складчину https://skladchik.com/threads/qt-5-10-%D0%9F%D1%80... и потратить всего 200 рублей, при этом стать обладателем кладезя знаний. В книге описывают порядок разработки приложений на множестве платформ, так что она будет полезна для Вас!