Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Cinema 4D vs Blender. Какие плюсы и минусы?

Лучший ответ:
В общем, перерыл много разной информации.
Кто-то задал вопрос, а зачем вообще нужны остальные средства, если есть Blender. 
Порадовал ответ: 
"1. Да потому что студии-гиганты уже на рельсах Maya, 3Ds и, местами, Houdini (несмотря на то, что он тоже сравнительно новый). Перестраивать специалистов на работу в другом ПО очень дорого, трудно и накладно.
2. Поддержка. Если что-то технически пойдёт не так, а дедлайны горят - никому не предъявишь."

Суммирую:
3DS Max - Архитектура, продакт
Maya - Анимация и геймдев (вроде как лидер в индустрии анимации)
Cinema4D - Моушен, реклама (говорят, самое простое вхождение в 3d, но мне лично не зашло)
Houdini - VFX, симуляция (пожалуй, самый сложный инструмент)
Zbrush - скульптинг персонажей (просто, быстро, наглядно)
Blender - Универсальный, по возможностям анимации и моушена проигрывает Maya и C4d. Кто-то считает сложным, кто-то лёгким. Мне лично очень понравился на первых шагах. Самый динамично развивающийся инструмент за счёт open source и GPL.

Худший ответ:
Фотореалистичную картинку делает рендерер, а не моделлер. Вы можете моделить в C4D и рендерить потом в VRay. Примочки нужны для текущей воды, шевелящихся волос, мятой одежды, разбивающихся стаканов и дымящегося дыма)) Примочки понаделаны для всех современных пакетов. Лидер в примочках наверное Houdini от sidefx. Итерфейс C4D больше нравится художникам, интерфейс Blender больше для технорей. Популярен zbrush в котором вы скорее лепите чем чертите. Модель получается высокополигональная, неоптимальная для игр и realtime, зато справляется ребенок, как из пластилина лепить.
Вопрос: Какой язык выбрать (F# или Lisp)?

Лучший ответ:
Если это не тролинг то F#

Худший ответ:
Если это не тролинг то F#
Вопрос: Является ли citilink официальным дилером razer?

Лучший ответ:
Спросите у ситилинка или razer

Худший ответ:
Ситилинк является - внезапно - магазином! А низкая цена на товар может быть выставлена по тыще разных причин, никак не влияющих на качество товара - акция, разгрузка склада, последняя единица товара, выпущена новая линейка или модель в линейке etc. 
Когда стим отдаем игры со скидками до 70% - никто обычно не спрашивает "а чего так дешево?"
Вопрос: Пару вопросов про оптоволокно?

Лучший ответ:
В этой стеклянной колбе просто сварено оптоволокно. Скорее всего, оно непроницаемо для света, которым вы хотите навести помехи.Кол-во "проводов" в кабеле стандартное или специально под подъезд?
Это многомодовый кабель, он тупо дешевле. Количество мод - стандартное. По нему идёт много-много интернета, который потом разделяется на каком-нибудь промышленном свитче.Если в подъезде 64 квартиры, по 4 квартиры на этаж, то в кабеле 16 "проводов", по 4 оптоволокна?
Nope.

Худший ответ:
Гильзя просто защищает место сварки, как изолента термоусадка защищает место скрутки
включить/отключить нельзя, сломать без последствий тоже
кол-во волокон в кабеле стандартное 1-2-4-6-8-2^n
по подъезду идет многомод, потом разделяется на квартирные одномоды либо просто гильзами - если это пучек готовых, либо через свитч/сплиттер если это ethernet/pon смотря как проектировщики сочинили
Вопрос: Направление для развития в React?

Лучший ответ:
Redux в React-разработке надо знать обязательно. Еще, хорошо знать MobX, так как все больше компаний используют его в новых проектах.
Так же, вам стоит познакомиться с такими инструментами как:
typescript
webpack/babel
react-router
redux-thunk
redux-act (имхо, лучшая упрощалка бойлерпелйта redux)
styled-components
reselect
next/create-react-app
axios
react-helmet
react-portal
classnames
eslint/tslint/prettier/lint-staged/husky
jest
express
Перечисленные инструменты, кроме redux-act, используют в React-разработке чаще всего.

Худший ответ:
Согласен с Романом. Без редукса разве что на тестировщиком на аутсорсе можно в наше время
Вопрос: Анимация на canvas/js?

Лучший ответ:
На CSS вы это никак не сделаете - там неравномерное растяжение картинок присутствует. Тут "начальник отдела разработки" либо не шарит во фронтенде, либо пытается сбить цену. Но штука из разряда "ябзаверстал", а я тут как раз собираю коллекцию примеров с шейдерами, так что набросал похожий эффект для нее, только без кляксы в центре (там есть немного лишнего кода, но это издержки, чтобы серия примеров не сильно отличалась).
snippet

* Если вдруг будете копировать себе, не забывайте про лицензию.

Худший ответ:
Да конечно легко делается на css, даже думаю двух анимаций достаточно будет, это просто Вы не компетентный.

P.s. если что это сарказм;) какой нах css?
Вопрос: Как перебрать json массив?

Лучший ответ:
// $api_json = ''; //  тут текст из ответа API
$data = json_decode($api_json, true);
$all_streets = [];

foreach ($data as $city) {
    $city_name = $city['name'];
    $city_id = $city['id'];
    $city_streets = $city['streets'];
    foreach ($city_streets as $street) {
        $all_streets[] = [
            'id' => $street['id'],
            'name' => $street['name'],
            // может, и параметры города сюда же?
            'city' => $city_name,
            'city_id' => $city_id,
        ];
    }
}

Худший ответ:
Если я тебя правильно понял

$items = json_decode([], true);

foreach ($items as $item) {
    $result = [
        'id'    => $item['id'],
        'name'  => $item['name']
    ];

    var_dump($result);
}
Вопрос: Как работать с файлами в js?

Лучший ответ:
Да, можно через AJAX их слать на бек, на сервере принимать, сохранять, читать, удалять, изменять и тд и тп. Что касается реализации - учите матчасть;)

Худший ответ:
Да, можно через ajax. Посмотри http methods https://developer.mozilla.org/ru/docs/Web/HTTP/Methods
Вопрос: Бесплатная виртуальная машина через браузер?

Лучший ответ:
Чем не устраивает RDP/VNC или VPN? По ссылкам трэш какой-то, непонятно для чего.

Худший ответ:
https://www.onworks.net/
Множество OC, все бесплатно, выход в интернет тоже есть.
(На главной странице представлены не все ОС, думаю, легко разберетесь)
Вопрос: Дистанционное образование в IT?

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

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

Лучший ответ:
Попробуйте с помощью Тотал коммандер, у него по моему есть команда массового переименования в том числе и по мета атрибутам

Худший ответ:
У себя б блоге продолжаю тему — https://serhii.lutsk.city/y6e1A0znO
Вопрос: Систематизация фотографий и сканов на компьютере?

Лучший ответ:
Давным-давно, в 2002-м году гугл сделал для этого охренительное приложение для этих целей - Picasa https://picasa.google.ru/.
А пять лет назад его закрыл.
Больше я не встречал подобных программ.
На старой машине с Windows 7, где установлена одна из старых версий программы, всё безупречно работает до сих пор. Часто ею пользуюсь

Худший ответ:
Adobe Lightroom Classic всё это умеет, по подписке стоит менее 600 рублей в месяц.
Вопрос: 2D Персонаж об что-то застревает?

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

Худший ответ:
Вот у меня похожая ситуация, только происходит торможение (застревание) именно когда персонаж начинает двигать предмет: то нормально далеко двигает по прямой, то застревает каждые пару отрезков или чаще и не понятно по какому принципу вообще и каким образом.. У персонажа капсульный коллайдер. Земля (окружение) сделана тайлами и там все идеально ровно. Предмету поменял коллайдер с квадратного на капсульный тоже, но проблема никуда не исчезла - помогите разобраться ((
Вопрос: Как работает SSR-Rendering в NODEJS и почему он отличается от PHP?

Лучший ответ:
SSR-это запуск фронтендового js-фреймворка на ноде заранее,(вместо работы в браузере) и отдача клиенту того что получилось, вместе с фреймворком, дальше все это продолжает работать на клиенте. 
на php этого просто нет.почему второй гораздо менее производительый?
правильно вопрос звучит так "почему то что у меня на nodejs написано медленнее того что у меня было на php" ответ как вы понимаете зависит от того что именно у вас там написано. В целом рендеринг на ноде не медленнее рендеринга в php сам по себе. Может у вас так все настроено, может как раз ssr тормозит

Худший ответ:
Потому что на PHP вы максимум используете шустрый шаблонизатор.
Nuxt использует для рендера Vue, вычисления которого несколько сложней.Ну то есть вместо nodejs можно было бы и PHP использовать для серверного рендеринга.
Хотите - используйте, но вы лишитесь преимуществ, которые дает изоморфный код.
Сравнивать производительность PHP и Node, в вашем случае, не корректно. Так как дело в конкретных инструментах которые вы используете.
Вопрос: Как придумать название игровой компании и саму же игру для начала?

Лучший ответ:
Про это была серия "Силиконовой долины". 
Раз все равно занимаешься ерундой - можешь посмотреть.

Худший ответ:
Придумай, что мешает-то? Бухни винища, курни травки - авось в расширенном состоянии сознания посетит Шиза... :)
Вопрос: Как отображать advanced custom fields на нескольких страницах, а редактировать в одном месте?

Лучший ответ:
Как уже писали выше в про версии есть Options, он позволяет делать сквозные настройки.
С обычной версией мы поступали так:
Создаешь страницу, называешь ее Настройки или как угодно. Делаешь ее приватной, чтобы она нигде не светилась
И к ней уже привязываешь все поля которые хочешь выводить в хедере, футере или еще где.
А выводишь точно так же, только указываешь ID страницы, например ID у нее 7.
тогда <?php the_field('some_option', 7); ?>

Худший ответ:
Создаете одно поле, выводите его в админку чтобы изменять - изменяете.

Далее слаг этого поля вставляете как обычно: <?php the_field('slug'); ?>
Если это запись - без ID, можно. Если статичные места, то укажите лучше ID-записи с которой нужно взять поле.
Вопрос: Какие задания прокачивать для фриланса для веба?

Лучший ответ:
Забавно, но опишу свой опыт. 
Никому не нужны ваши технологии А, Б, В

Клиенту нужен продукт, с определенными условиями. 

Какой то фреймворк, какие то входящие и определенные исходящие. 
Научится на фрилансе крайне сложно. Там платят за конкретные знания за конкретное время. 
В общем то могу посоветовать идите в любую крупную контору по аутстаффингу поднимайтесь до миддла и уже потом во фриланс

Худший ответ:
Реальные задания от друзей коллег родственников
Вопрос: Какие аргументы для клиента при обновлении сайта (редизайн)?

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

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

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

Худший ответ:
Не по теме вопроса, но...
Сотрудникам, работающим за ПЭВМ и имеющим зрительно напряжённую работу, по нормам СанПин предписывается каждый час работы (вроде) осуществлять отдых или переключение на другие виды деятельности. 
Это к вопросу о требованиях работодателя о беспрерывной работе.
Вопрос: Как создать коллаж с помощью кода Python?

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

Худший ответ:
есть библиотека PIL через нее я совмещал 3 изображения в одно.
Вопрос: Почему json_encode() выдает пустой результат при работе с кириллицей?

Лучший ответ:
после mysqli_select_db на след строке
mysqli_set_charset($connect, "utf8mb4");

Худший ответ:
Проверьте просто вывод данных из БД.
Проверьте строку в БД.
Проверьте, что везде UTF-8: кодировка скрипта, сайта, страницы, база, таблица, поле таблицы.
Вопрос: Как сделать 302 редирект fetch?

Лучший ответ:
В итоге сделал так:const response = fetch(url, {
  method: "POST",
  headers: {
    Accept: "applicaton/json",
  },
  dataType: "JSON",
  body: data,
})
.then(res => {
  if (res.redirected) {
      document.location = res.url;
  }
})

Худший ответ:
Redirected экспериментальная фича, не поддерживается Safari.

https://developer.mozilla.org/en-US/docs/Web/API/R...
Вопрос: Fetch — как изменять отдельный элемент без перезагрузки всей страницы?

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

заставить сайт изменить dom структуру после получения ответа от сервера
куча методов, начиная с тупо добавить innerHTML , до "типа createElement, appendChild, insertAdjacentElement, и тд" итд итп, смотря что и как надо сделать

Худший ответ:
Запрос - ответ происходит через ajax. На стороне клиента есть js, который меняет DOM. Обычно берут react / vue / angular, но бывают ситуации, что и на ваниле написать проще и разумнее. Ванила умеет, для того и создавалась, работать с DOM. Есть методы у объекта document, типа createElement, appendChild, insertAdjacentElement, и тд.
Вопрос: Как сделать на сайте кнопку построить маршрут с переходом в яндекс карты?

Лучший ответ:
Все гораздо проще
Просто поставь тильду перед координатами)
<a href="https://yandex.ru/maps/?rtext=~55.659173,37.762848">Построить маршрут в Яндекс.Карты</a>
и убери лишние атрибуты

Худший ответ:
Как вариант, если имеет место использование  API.
https://tech.yandex.ru/maps/jsbox/2.1/geolocated_m...
Вставить этот код и Обновить.ymaps.ready(function () {
    var myMap = new ymaps.Map('map', {
        center: [55.753994, 37.622093],
        zoom: 9,
        // Добавим кнопку для построения маршрутов на карту.
        controls: ['routeButtonControl']
    });

    var control = myMap.controls.get('routeButtonControl');

    // Зададим координаты пункта отправления с помощью геолокации.
    control.routePanel.geolocate('from');
    
    control.routePanel.state.set({
        type: "pedestrian",
        to: '55.659172, 37.762848'
    });

    // Откроем панель для построения маршрутов.
    control.state.set('expanded', true);
});
Вопрос: WordPress как изменить название Home для мобильной версии?

Лучший ответ:
Вместо редактирования файлов движка лучше найти в дочерней теме вызов wp_page_menu() и параметром show_home указать нужный текст. Примерно так:wp_page_menu( array(
    'show_home' => 'My Text';
) );
Или добавить подобный фрагмент в functions.php дочерней темы:function my_home_text( $args ) {
    $args['show_home'] = 'My Text';
    return $args;
}
add_filter( 'wp_page_menu_args', 'my_home_text' );

Худший ответ:
Решение нашел, может кому пригодится:
Идем в папку - wp-includes
там ищем файл: post-template.php
В нем ищем строки: 
// Show Home in the menu
if ( isset($args['show_home']) && ! empty($args['show_home']) ) {
if ( true === $args['show_home'] || '1' === $args['show_home'] || 1 === $args['show_home'] )
$text = __('Home');
В последней строке вместо Home пишем что нам нужно.
Всем спасибо кто хотел помочь, но не успел.
Вопрос: Где можно отслеживать IT-тенденции разных стран мира?

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

Google тренды для оценки общего интереса к ЯП и технологиям в стране:
https://trends.google.ru/trends/explore?date=today... 
Для каждой страны на "локальном hh.ru" сравниваешь кол-во вакансий/резюме

Я думаю для общего представления первого пункта будет достаточно. Сразу очевидно что растет, а что затухает.

Худший ответ:
Заходишь на LinkedIn  пишешь software developer, выбираешь страну и смотришь по ключевым словам. 
Пс Германия это Angular/React реже Vue. Япония это Java.
Вопрос: Почему нет браузера для TV?

Лучший ответ:
Почему нет радио в мониторе с колонками?))

Худший ответ:
Потому что браузер подразумевает под собой большое количество всякой интерактивности, как мне кажется.
А управление СмартТВ или АндроидТВ происходит минимальным количеством кнопок.
И потому что пользователей не так уж и много.
На нормальном АндроидТВ нормально устанавливаются и работают все нормальные браузеры.
А такие телевизоры как ваш - это не Андроид. У них собственная операционная система.
И под них никто не будет программировать, потому что слишком маленькое количество пользователей таких телевизоров. И потому что не стандартизированно. Этот ТВ с такими особенностями, через год выйдет ТВ с другими особенностями...
Мне кажется в этом причина.
Вопрос: Youtube списывает просмотры на ipv6 проксях. Как это решить?

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

Худший ответ:
IPv6/64 ?  Если да, то YouTube видит тебя как одного человека. 

Использованная IPv6/36-32 может быть уже забанена на YouTube за накрутку. И убедись, что нет утечки IPv4 адреса. 
Используй Socks 5.
Вопрос: Почему не загружается готовый manjaro с флешки?

Лучший ответ:
Возможные варианты:
- Не установлен загрузчик (не туда установлен)
- Нет флага BOOT на диске с загрузчиком
- Нет драйвера у UEFI для загрузки с какого-то устройства (Установщик чистой Windows7 всегда требовал драйвер USB3.0 если загрузка производилась с USB3.0 порта (Что удивительно, даже если Flash была 2.0))

По моему ЛИЧНОМУ мнению проще отключить UEFI и поставить в обычном (legacy BIOS) режиме. Лучше - на жесткий диск. Но это не самое лучшее решение.

Худший ответ:
Подозреваю, что при установке Manjaro создал файл загрузчика .efi в собственной папке, и добавил запись в таблицу загрузки UEFI на материнской плате. Такое, в общем случае, не работает для флешек, поэтому нужно скопировать загрузчик из папки manjaro (вероятнее всего, `/EFI/manjaro/grubx64.efi`) в папку загрузчика по умолчанию (`/EFI/boot/bootx64.efi`). Обратите внимание на названия файла: именно `bootx64.efi`.
Вопрос: Почему браузерная figma экспортирует картинки в архивах?

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

Если слэш удалить, то сразу все норм экспортируется без всяких архивов. Взбесила эта ситуация, но с твоей помощью удалось найти причину. Триклятый слэш)))


Худший ответ:
Оказалось всё проще: 

Это было из-за вложенности в названии фрейма, в котором лежали объекты. Там был указан типа "путь" с группе объектов. И Фигма так и упаковывала с такой вложенностью.
Решается простым переименованием родительского фрейма в обычное имя без вложенности:
Вопрос: Как перенаправить запросы на локальный север?

Лучший ответ:
для задания соответствия DNS-имен IP-адресам нужен DNS-сервер. про DNS в микротиках вам уже ответили.
для задания соответствия DNS-имен портам нужен HTTP reverse proxy на хосте, на который указывают данные DNS-записи. например, nginx.

Худший ответ:
Вопрос был решен вот каким образом:
1) DHCP раздает IP-адреса вида 10.10.10.*, а также в качестве DNS адрес самого роутера.
2) Для каждого домена создается запись в DNS Static, где каждый домен (типа делегирован) на адрес вида 10.*.10.10
3) Для каждого адреса вида 10.*.10.10 создается запись NAT (chain=dstnat), и в качестве конечного адреса (ToAddress) указываем 10.10.10.10 и нужный порт (ToPort)
... и всё
Вопрос: Нужно помножить каждое число из списка с рандомными числами на 3. Что в коде неправильно?

Лучший ответ:
Этот код можно написать буквально в 2-4 строки. Но вы зачем-то на Python пишите как на Pascal.

Худший ответ:
Вообще можно было записать как то так это не правильно но ты поймёшь (я не пайтонщик)
int lenght = ('Insert int')
i = Random.Range(0, Lenght)
y = i * 3
Print('Your number - ' + y)
Вопрос: Смена изображения в галерее?

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

Худший ответ:
Мне кажется руками быстрее код написать (там несколько строчек) чем искать плагин.
Вопрос: Безопасен ли L2TP без IPSec? По сравнению с PPTP?

Лучший ответ:
Повредит.

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

Лучший ответ:
Да, бесплатная стажировка существует в очень больших объёмах.
Участие в попенсорце тоже считается, да.

Худший ответ:
Просто заходите на условный hh, ищете вакансии по вашим критериям и отписываетсь, что хотите стажировку. Если повезет, то вам еще и ставку дадут. Я в Перми так искал производственную практику, так мне ещё и ставку 250 руб/час сделали. При том что там битрикс, в котором я ничего не понимал и много рабочего времени просто проходил курсы по битриксу.
Вопрос: Парсер сайта с прокси?

Лучший ответ:
Puppeteer вам в помощь.

Худший ответ:
но что бы спарсить нужно кнопочки нажимать? Безголовый браузер нужен.
Можно selenium webdriver.нужно динамическое переключение прокси (что бы сайт не забанил) Ну так в скрипте которым парсить будете добавьте строчку смены прокси, и все.
Вопрос: Как заставить браузер скачать pdf-файл вместо его открытия во вкладке?

Лучший ответ:
отдавайте с заголовком Content-Type: application/octet-stream

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

Лучший ответ:
Используй Invisible reCAPTCHA. Не усложняй пользователям жизнь своей бессмысленной борьбой с ботами. Ведь проще закрыть сайт, чем разгадывать ту хрень. Пользователям нет дела до твоей борьбы с ботами.

Худший ответ:
1. Никогда не используйте облачные сервисы капчи: это гарантирует, что пользователь всегда сможет отправить данные на ваш сайт без сбоев.
2. Используйте только скрытые поля (honeypot) и поведенческий фильтр, чтобы не доставлять неудобств пользователям.Почитайте.
Вопрос: Работа с json файлами?

Лучший ответ:
Да, работа с JSON файлами.

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

with open('days_file.txt') as file:
	j_data = json.loads(file.read())

json_formatted = json.dumps(j_data, indent=2)
print(json_formatted)

Из вопроса не понятно - нужно сохранить в "красивом" виде или загрузить?
Вопрос: Какую книгу посоветуете, чтобы знать java на «среднем» уровне?

Лучший ответ:
Для среднего уровня понадобится примерно десяток книг и как минимум три года реального опыта.

Худший ответ:
Я бы посоветовал youtube или Udemy, а книги уже после видеокурсов.  Лучшая книга  "JAVA. МЕТОДЫ ПРОГРАММИРОВАНИЯ" И.Н. Блинов, В.С. Романчик. А зарубежные на мой взгляд начинающим лучше не листать, ибо зачастую локализация оставляет желать лучшего(если знаешь english то другое дело)