pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: DHCP работает не правильно, клиентские машины получает айпи 169.x.x.x?

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

Худший ответ: Во-первых: забудьте про влан, как уже сказал @Ruslan-Strannik
Во-вторых:  Чтобы динамически айпи-адреса кто-то в сети ПОЛУЧАЛ, кто-то в сети их должен РАЗДАВАТЬ.
В-третьих:  Если по статике инеты везде работают - просто настраиваете DHCP сервер на первой железке(она могёт, причем квиксетапом)
Если не выходит: Позовите айтишника, хотя бы на первую инсталляцию, чтоб работало(хотя он может спецом это дело временами ломать, так что придется брать на полный аутсорс тело. Но всяко лучше так, чем никак)
Вопрос: Как общаться между контейнерами docker?

Лучший ответ: 
Работает только запрос на host.docker.internal:8027. Объясните пожалуйста почему? Вроде по имени сервиса внутри контейнера должен работать запрос.

Имена работают только в пределах одного compose, как и сети.
Запихните оба сервиса в один compose, раз они друг от друга зависят.

Контейнеры определяет докерфайл, по тому и не работает localhost, тк это всё разные контейнеры

Худший ответ: 
Работает только запрос на host.docker.internal:8027. Объясните пожалуйста почему? Вроде по имени сервиса внутри контейнера должен работать запрос.

Имена работают только в пределах одного compose, как и сети.
Запихните оба сервиса в один compose, раз они друг от друга зависят.

Контейнеры определяет докерфайл, по тому и не работает localhost, тк это всё разные контейнеры
Вопрос: Какое направление бакалавриата выбрать, чтобы в дальнейшем увереннее себя чувствовать в сфере ИИ?

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

Худший ответ: Честно скажу развиваться нужно паралельно Вузу.
Посмотри в ютубе на русском курс Гарварда про программирование CS50
Вопрос: Изучения Java в 30 лет это реально?

Лучший ответ: Никто не даст вам ответ на этот вопрос, кроме вас, конечно)
А вообще, не стоит бояться и развиваться, изучайте, кто ж мешает. Не вариант, что есть хорошие очные курсы, лучше посмотрите на Udemy или еще где, предварительно сверившись с отзывами, плюс если на скидки попадете, то это будет очень удачно, считайте, что по цене книги посмотрите как какой-то дядя рассказывает и показывает вам что-то новенькое)
Удачи!

Худший ответ: Не стоит забывать - не каждому дано быть кем то. Про то что "программировать может любой" - неправда. Это касается вообще любой сферы. Я вот стихи писать не могу. И рисовать от слова совсем. А кто то может - но не может программировать. И ЭТО НОРМАЛЬНО.

А для изучения с нуля - ИМХО нужен ментор. Попробуйте на фрилансовых биржах дать объявы.
Вопрос: В каком порядке это учить?

Лучший ответ: Имхо, не надо искусственно что-то учить в отрыве от реальности. Определите изучаемый стек. Берите и пилите реальный проект. На самом деле нужно изучить гораздо больше всего (!!! демонический смех !!!). Но изучать надо не в вакууме. Тогда и интереснее будет и ближе к практической плоскости.

Худший ответ: Вот если конкретно по вашему списку, довольно просто распутаться, привожу алгоритм.
1. Вникнуть в определения технологий в общих чертах. Ответить себе на вопросы: что это? для чего это?
Например, json - это формат представления данных.
А npm и yarn - менеджеры пакетов.  Бабель, вебпак и галп без одного них не установишь, нужно будет хотя бы установить, узнать основы синтаксиса и распространенные команды. 
Учить все-все команды и глубоко залезать в тему можно, но зачем вам это сейчас? Нужно ли вам вот прям сейчас знать, как публиковать собственные пакеты? 
Не думаю. А что нужно?
Наверное, устанавливать и удалять пакеты. Возможно проверять обновления и обновлять, смотреть список установленных. Итого, 5-10 команд/флагов для первого знакомства хватит с головой. 
И так далее. Судя по форме вопроса, вам сейчас из этого вообще ничего не нужно, потому как создается впечатление что о назначении этих инструментов вы не размышляли. У вас в списке: формат данных, два менеджера пакетов, 2 грубо говоря сборщика, 1 js технология и транскомпилятор. 
Сможете понять, что это за штуки -> станет ясно, для чего они вам могут понадобиться и в каком порядке их изучать.
Самое очевидное: вы просто не сможете установить вебпак или галп без менеджера пакетов, а значит и изучать их не сможете. А еще там node.js нужен для работы - вот вам еще список расширил)
Дальше: присоединюсь к мнениям выше - ставьте себе задачу (проект) и решайте ее (делайте проект). Внедрите интересующие инструменты и делайте.
Без практики научиться не получится. Медитировать над инструментами в отрыве от реальности можно до пенсии и ни к чему не прийти, потому как сам инструмент используется для чего-то, и без этого самого чего-то он абсолютно бесполезен и изучать его бессмысленно.
Вопрос: Unit test. php.ini не хватает память?

Лучший ответ: Проверь, может в самом коде php стоят команды типа  ini_set('memory_limit', '128M');

Худший ответ: Не тот php.ini отредактировал.

Для CLI выполни  php -i | grep 'Loaded Configuration File'
Для FPM (или что ты там используешь) сделай файл с содержимым <?php phpinfo();?>  запроси его и найди на полученной странице 'Loaded Configuration File'.
Вот эти php.ini и редактируй.

Когда отредактировал не забудь перезапустить FPM (или что ты там используешь), для CLI настройки применяются сразу же.
Вопрос: Функция не является функцией?

Лучший ответ: Вы передаете не функцию, а результат её работы.
Надо так:SomeClass.func(this.blablafunc)

Худший ответ: Передавай саму функцию, а не результат ее выполненияSomeClass.func(this.blablafunc)
Вопрос: Можно ли в браузере использовать расширенный JS (как через консоль)?

Лучший ответ: В консоле нельзя вызвать цикл и писать сложный код. 
Можно.
через браузер впихнуть свой JS
Какие проблемы? Создавай тег script и подгружай туда что хошь.

Но вообще тебе нужны userscript'ы, например tampermonkey.

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

Лучший ответ: Грамотнее сделать эту фигуру в графическом/векторном редакторе и залить через background-image

Худший ответ: можно поиграть с clip-path https://bennettfeely.com/clippy/ если скучно)
но как ответили выше, лучше background-image
Вопрос: Как сделать добычу дерева в 2D игре?

Лучший ответ: Смотрите, у вас есть игрок и инструмент Топор, и вам нужно сделать что когда топор прикасался к дереву (с помощью анимации), то у дерева отнимались жизни и оно ломалось и давало ресурсы. Так понятно?

Худший ответ: В общем два подхода (сначала игровые реши для себя)
когда берешь в руки топор у тебя появляется/активируется скил (действие, такое же как ходить прыгать и т.п.) рубить
- скил должен требовать чтобы в радиусе действия скила было дерево и даже к примеру должно быть выбрано (то с чем скил будет взаимодействовать) иначе он не может быть активирован (бывает когда при нажатии скила персонаж автоматически бежит к ближайшему объекту, который ему нужен, удобно когда надо бить по врагам мечом)
- скил ничего не требует а просто активируется, воздействуя на объекты в радиусе действия скила
а там, если что попало - рубит

Во втором случае возможны выверты типа топор рубит сразу кучу деревьев, но тут вместо радиуса можно подобрать свою область активации, в т.ч. просто отрезок, так же можно прекращать обработку активации скила как только будет обнаружен хоть один нужный объект.

Вот от сюда и начинай искать способы реализации.

Например делать топор отдлельным объектом, а взаимодействие его через коллизии (подойдет для второго варианта, но мне кажется это заметное замедление, особенно когда персонажей с такой реализацией действий много, ведь это как минимум удвоение объектов).

Можно сделать топор просто свойство у персонажа (анимация все равно для топора нужна, так и реализуй модель с топором, пусть и вариативным если нужно разный внешний их вид), т.е. это не топор ударяет по дереву а персонаж бьет дерево, проигрывая анимацию удара.
Вопрос: Есть ли смысл разработки ASP.net+ react.js?

Лучший ответ: Не очень понимаю подобные вопросы
Бэкендер делает бэкенд на языке N (в вашем случае, N = ASP.net), делает некие сервисы, которые умеют отвечать на http-запросы. Ему всё равно, что с этим будет делать фронтенд
Фронтендер делает фронтенд на фреймворке N. Делает запросы к сервисам бэкенда, получает от них ответы. Ему всё равно, на чём написан бэкенд

Фронту и бэку взаимно всё равно на технологии друг друга. Общаются они всё равно json-ами через запросы

Худший ответ: 1. Да. Только там будет не MVC, а ASP NET Core
2. Смотря как выстроете процессы
Вопрос: По поводу изучения Java?

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

Худший ответ: Чистая Java SE пользуется не самым широким спросом.
Если вы новичок, то знать надо в рамках прохождения собеседования.
Т.е. знать как устроено ООП в Java. Знать как устроены основные имплементации Collection. 
А так стоит уделить внимание фреймворкам на Java. Т.к. Java EE RIP (зомби JakartaEE не понятно, как будет существовать), то Spring Framework обязательно. Так же обязательно Hibernate (как минимум в рамках JPA)
К этому обязательно знать, на уровне практических навыков.
Одну из двух систем сборки проектов - maven и/или gradle.
Систему контроля версий git.
IDE Eclipse. IDEA мне больше нравиться, но она платная, а в Community Edition нет как раз поддержки Spring Framework.
SQL - минимум написание запросов.
Вопрос: Что выбрать для соединения серверов — SFP+ или DAC?

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

Из личной практики работы с оптикой
1. Висела себе оптика, соединяла два коммутатора в стойке, со временем, под собственным весом растянулась и привела к потере пакетов на линии. Проблему нашли не сразу.
2. Некоторые медведи в серверной очень легко задеваю оптику, что в лучшем случае приводит к временным перебоям, а в худшем - рассыпается кластер на iSCSI.
3. При замене модулей, некоторые неандертальцы протирают оптический патчкорд руками, рукавом  или вообще дуют на него, что приводит к затуханию и всем вытекающим проблемам.

Худший ответ: Я бы в пределах стойки использовал DAC
Т.к. все готовое и меньше точек отказа чем sfp-оптика-sfp
А оптику применял бы только там где нет возможности использовать другой вид, т.к. SFP+ 10G, 300m - для метрового патчкорда без затуханий всетаки мощноват будет.
Вопрос: Как называется эта ветвь в программирование?

Лучший ответ: Это называется веб-разработка. Совокупность бэкенда (php, python, java, go, nodejs и пр.) с фронтендом (javascript, html) посредствам общения друг с другом по протоколу HTTP, или по защищенному HTTPS.

Худший ответ: скорее всего речь о backend разработке
Вопрос: Что нужно изучать?

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

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

Лучший ответ: Здравствуйте, с Праздником!
Дело не в куках. Ваше соединение обрабатывается мобильным оператором, он списывает определенные суммы при переходах по определенным ссылкам. 
Если пройти по тем же ссылкам через кабельное соединение, они могут оказаться либо заблокированными, либо... бесплатными :)
00-е годы, слава богу, закончились, но кое-кто с этим упорото не желает мириться.

Худший ответ: такое возможно
гугли у дельцов по "смс подписки псевдо"
есть у многих или у всех

защита родителей - планшет, своя - отключать - ОПСсосы позволяют период без платы, а некоторые и целиком от такого отписаться, успех переменный

не гуглить без адблока, защита переменная
Вопрос: Как изучить php и 1с Битрикс?

Лучший ответ: Чек лист для вас вижу такой:
1) Обязательно пройти онлайн курсы битрикс, все что в вкладке "Управление сайтом"
https://dev.1c-bitrix.ru/learning/ - от 2-3 месяцев
2) Пройти курсы для разработчиков https://academy.1c-bitrix.ru/training/course/ эти обязательно: "Быстрый старт разработчика",  "№1 - Интеграция дизайна и настройка платформы", "№2 - Основные технологии и расширение типовых возможностей системы",
- просто пройти и разобрать материал, плюс почитать АПИ по теме - 1 месяц
остальные кроме "Маркетплейс Битрикс24" если желание останется.
- ещё месяц точно.
2.1) Подготовка к сертификации - есть примеры билетов, также часть вопросов можно найти на формах.
https://academy.1c-bitrix.ru/certification/exams.php
- подготовка к сдаче к первому экзамену минимум месяц
- подготовка ко второму думаю месяца три у вас займёт.
3) Авторизованные учебные центры https://academy.1c-bitrix.ru/learning/centers/
посмотрите может, что подойдёт. Либо на платной основе договориться с топовой студией вашего города о стажировке хотя бы 3-4 часа в день.
4) Берите себе задачи для практики из заявок на фрилансе
- каждый день на несколько месяцев растянется.
5) РНР простые курсы https://www.w3schools.com/php/default.asp
https://www.w3schools.com/php7/default.asp
- пройти и разобрать тоже месяц точно.
6) Изучить ключевые классы АПИ https://dev.1c-bitrix.ru/api_help/iblock/index.php
- есть примеры, плюс примеры в комментариях. Думаю тоже месяц два займёт.

Худший ответ: В общем-то как с Delphi. Другие предпочитают его не замечать и/или считают мертвым. Этакий мыльный пузырь внутри которого своя атмосфера, местами с годными доходами. Короче, если вы в 1с влезете и сможете что-то из себя представлять, то сможете и деньги зарабатывать, если толковых 1с-ников действительно нет. Хотя может вашему работодателю дешевле кого-то учить чем нанять профи? Или они просто не стали разбираться...
Однако 1с привязывает к определенной географии и конкретной занятости. Тяжко с этого слезать)
Вопрос: Как установить второй антивирус на Win10?

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

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

Лучший ответ: У вас какая-то беда с пониманием указателей.
В функцию нужно передавать указатель на IShape, если вы хотите работать с цепочкой наследования.
А вот конструкции типа
Simplex simplex = *(new Simplex());
- просто лютая дичь.

Худший ответ: Приблизительно так
class IShape
{
  public:
    virtual Vector FarthestPointInDirection(Vector direction) = 0; // pure virtual function
};
class Polygon : public IShape{
...
Vector FarthestPointInDirection(Vector direction) override{
....
}
};
Vector support(IShape& a, IShape& b, Vector direction){
 Vector aFar = a.FarthestPointInDirection(direction);
  Vector bFar = b.FarthestPointInDirection(direction);
  return *aFar.Sub(bFar);
}
Вопрос: Setcookie не работает, в чём проблема?

Лучший ответ: https://qna.habr.com/search?q=Cannot+modify+header...
сложно, да?

Худший ответ: Для начала уменьшить количество запросов SELECT `id`,`email`,`tel` FROM `users` WHERE email=... OR tel=...
if ($id>0) kokoko

пользуйтесь стандартным session_start();

и записывайте в $_SESSION все данные по текущему юзеру, в т.ч и is_auth is_admin итд...
Вопрос: Как правильно получить составные данные из базы и сложить их в одну сущность?

Лучший ответ: Немножко не ответДля класса PostsModel:
Автор Поста является потомком Поста.
Пост для автора - Родитель.
Пост для даты поста - Родитель.
*Тут была реплика про уровень комьюнити тостера, и даже "Кураторов Тега", которые позволяют себе нести вышепроцитированную чушь, но я решил её опустить, т.к. разумный человек и так поймёт со временем*
Совет - развивайте критическое мышление и фильтруйте информацию, не верьте всему в интернете, даже если у этого 100500 плюсов на каком-нибудь ресурсе типа Хабра/SO/Medium/Тостер и т.п.
Алексей Коновалов,нам нужна одна точка получения данных.
Нам не нужна "единая точка получения данных".  У вас есть ваши модели(сущности, доменные модели) - это компонент вашей системы отвечающий за часть бизнес-логики.
 Так же у вас есть представления данных. Представлений данных может быть множество. Не нужно реиспользовать одну и ту же модельку для логики/записи и для чтения(представления, UI).
Выбрали данные из БД(raw SQL/Eloquent/DQL смапленный на DTO, что угодно)
->заполнили ими структуру которая сформирована исходя из нужд клиентского модуля(Frontend`а вашего),
-> привели к нужному формату(json etc.) и отдали на фронтендОн работает с базой данных и делает все, что связано с постами. И тут как раз проблема.
Очень хорошо что вы подметили что это проблема, серьёзно. Именно по этому "Active Record" - антипаттерн.
Некоторые, к большому сожалению, годами к этому не могут придти, того больше - отстаивают каждое архитектурное решение какого-нибудь Laravel не с позиции инженера, а с позиции религиозного фанатика.
Модели для записи ничего про HTTP, Request и представления знать не должны. Модели на чтение по сути просто структуры данных.

Худший ответ: Для класса PostsModel:
Автор Поста является потомком Поста.
Пост для автора - Родитель.
Пост для даты поста - Родитель.
и т.д.
Вопрос: На сайте WordPress появляется реклама от Гугла, как убрать?

Лучший ответ: Наверняка скачали что, то типа, супер супер плагин / мега тема. Без регистрации и смс. Соответственно это бонус

Худший ответ: Если сайт не на HTTPS, то это вполне может быть какой-нибудь Ростелеком(у вас не этот провайдер?). Врезаются сволочи в трафик и показывают рекламу на просматриваемых вами сайтах(только тех у которых нет SSL сертификата). В общем это может быть реклама вовсе и не на вашем сайте, а просто подмешивается в трафик и страницы приходят к вам с уже встроенной рекламой. Если условия описанный выше совпадают(провайдер и отсутствие SSL сертификата), то не спешите искать вирусы на сайте;).
Вопрос: Можно ли использовать светодиод как диод?

Лучший ответ: Можно ли использовать светодиод как диод?Да, с учётом несколько нетипичных их свойств - большего прямого и меньшего допустимого обратного напряжений. То, что они светятся, роли не играет, но может быть использовано для специфических применений.
Я хочу сделать сумматорНепонятно, что вы имеете ввиду. Сумматоры бывают разные...
из диодов можно сделать транзисторыНельзя. Наоборот - можно.

Худший ответ: да, можно
https://en.wikipedia.org/wiki/Transistor_diode_mod...
Вопрос: Можно ли комфортно заниматься PHP бекенд-разработкой на Windows 10?

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

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

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

Худший ответ: А какой тебе нужен?

Курс обмена валют это эффимерная абстракция, его можно получить, либо на конкретный момент времени в прошлом (последняя сделка) и что главное для конкретной биржи и каждой они отличаются, часто заметно, либо нечто усредненное за какое то время, опять так же в прошлом.

Так же есть официальные курсы, публикуемые центробанками государств (для рубля смотри cbr.ru), которые практически никак не коррелируют с тем что творится на биржах, но косвенно они друг на друга влияют и являются статичным числом, назначаемым на сутки.

Цена последней сделки (ticks) никаким боком не гарантирует что следующая сделка будет исполнена по этой же цене.

На большинстве бирж есть стакан (для фиатных валют свободный доступ к оперативной информации отсутствует, везде придется платить, цены порядка 3-5т.р. смотри у брокеров, для криптовалютных бирж смотри их api, каждый изобретает черти что, но бесплатно) - из которого можно в каждый момент времени вычислять две цены - покупки и продажи, если совершить сделку по маркету, но в зависимости от объема сделки, числа будут получаться разными.

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

Все это потому, что существует понятие ликвидности торгов. Она не бесконечная (есть оговорки, смотрим к примеру dex на эфире - Synthetix).

p.s. если тебе считать по какой цене конвертировать свои активы если твой клиент сделку совершает, не забывай про комиссии
Вопрос: Где лучше пройти курсы Full-stack веб-разработчика?

Лучший ответ: курсов фулл стак разработчика не существует.
Ваш вопрос звучит как "где лучше всего можно пройти курсы по управлению самокатом/мотоциклом/авто/фурой/поездом/самолетом/кораблем/подводной лодкой и космическим кораблем", так чтобы преподы были хорошие.
full stack это просто все вместе. Неплохие курсы на фронтенера могут занимать полгода.
Как вы думаете сколько займут курсы по фуллстак и кому они нужны? Ни преподавателям ни студентам.
Изучите для начала что-то одно, потом развивайтесь дальше.

Худший ответ: Забудь те про Junior full stack.
Не поленитесь, откройте HH, посмотрите оплату джуниор бек, джуниор фронт и джуниор фуллстак, вы неприятно удивитесь что они одинаковые, но времени на фулстак вам понадобиться в 3 раза больше.
Определитесь что вам больше нравится, бек или фронт, учите его и идите работайте. Вы быстрей получите работу, вы быстрей будете развиваться, вы быстрее будете получать большую ЗП.
Фулл стек в 99% ищут стремные веб-студии, которые не могут себе позволить разделить две эти работы и на которых вы будете клепать сайтики визитки и магазины на ВП, подумайте, оно вам надо?
Вопрос: Как восстановить файлы после chkdsk из каталогов found.* и файлов *.chk?

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

Худший ответ: CHKParser32 и CHK-Mate кроме того, что не восстанавливают и не находят документы типа *.docx ... может есть более-менее современное бесплатное ПО с возможностью определения и восстановления файлов
В CHKParser32 как раз можно самостоятельно определить нужные вам сигнатуры, посмотрите описание программы, в нём описано содержимое ini-файла и его редактирование: https://rlab.ru/tools/chkparser32.html

CHKParser32 ini
Кроме того, попробуйте подойти к восстановлению с точки зрения того, что .docx-файл - это по сути архив. На отдельном компьютере, без включения / подключения того диска, на котором были потеряны данные, создайте новый .docx, вставьте туда какой-нибудь текст, сохраните и изучите структуру полученного файла.
Вопрос: Как хранить логин пароль для почты?

Лучший ответ: У Java богатое Security API. Попробуйте погуглить JKS.

Худший ответ: Добавить файл properties в .gitignore и при запуске класть его рядом с исполняемым файлом или в classpath
Вопрос: Как отцентрировать текст в svg блоке?

Лучший ответ: text в svg имеет параметры , такие как x="" и  y=""
x="" это горизонтальная ось
y="" это вертикальная ось 
так вот  <text x="20" y="20"></text> сдвинет сам текст на 20 по оси х и на 20 по оси y 
в svg нету такого как text-align: center;

Худший ответ: получилось так
https://jsfiddle.net/1m5ak70j/