Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: В чем превосходство Typescript?

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

Еще одним огромным плюсом является возможность проектировать на типах. Познав дзен TypeScript'а я перестал пользоваться UML, так как типы дают мне ту же наглядность, но при этом еще и сокращают время, так как типы - это уже код. Ну и источник правды остается один. Бизнес требования выраженные в типах не дают отклонится от них при написании логики, исключая возможность неправильной трактовки задачи. Перенеся задачу в типы, я могу обсудить ее с коллегами и исправить неточности еще до написания кода, что опять же сильно экономит время.

Ну и отвчечу на некоторые Ваши сомнения:
TSLint в VSCode прям жутко тугойTSLint официально deprecated, вместо него стоит использовать плагин к eslint, заодно можете мой конфиг попробовать.

Типы? Есть JSDOCJSDoc в плане типов не умеет и 10% того, что умеет TypeScript. Кроме того, никто в здравом уме не пишет JSDoc на приватную логику, а значит проверки типов там не будет. JSDoc не гарантирует корректность рефакторинга, а вот благодаря TypeScript я, опять таки, точно не забуду обновить JSDoc.

многие библиотеки nodejs не имеют типовможет лет 5 назад так и было, но сейчас встретить библиотеку без типов - скорее исключение. Если библиотека популярная, но не предоставляет типов, скорее всего их уже написал кто-то другой, достаточно просто установить одноименный модуль из npm скоупа types и все будет работать само.

Поддержка браузерами скомпилированного кода? Да какбы почти весь JS имеет поддержку 95%+, тот же Babel уже забыл когда использовал.Вообще это не основная задача компилятора TypeScript, а опциональная возможность. И babel + preset-env с ней справляются гораздо лучше. И никто не мешает использовать их вместе. А еще думаю вопрос времени, когда кто-то напишет оптимизатор кода использующий информацию о типах из TS.

Примерно в каждой второй есть инстансы, на которые смотришь - и чешешь репу - а как называется тип этой переменной в @types/?import {someObject} from 'some-library';

type TypeFromValue = typeof someObject;
const valueCopy: TypeFromValue = {
    ...someObject,
    type: 'overrides',
    with: 'type check',
};и кстати, вот пример того что JSDoc типы не умеют.

//@ts-checkи почти везде останется бесполезный any.

P.S. удачи такие типы на JSDoc описывать
P.P.S. Еще прелести современного TypeScript невозможные у...

Худший ответ:
В "не хер засовывать ЭТО туда,  ОНО не для Етттого "
Вопрос: Как создать мгновенно самоперезапускающийся скрипт php?

Лучший ответ:
Я бы посоветовал использовать специализированный менеджер процессов. Например supervisor
Инструкция на русском

Худший ответ:
while(true);do php some.php;sleep 1;done
sleep 1 это чтобы между запусками была пауза, можешь убрать но если ошибка будет возникать сразу при запуске, такой скрипт будет жрать ресурсы просто так, что иногда выходит в копеечку в облачных хостингах с оплатой за ресурсы.

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

Лучший ответ:
Добавьте ключ --single-transaction

mysqldump -u root -p basename --single-transaction > path/to/file.sql

Худший ответ:
Сделай реплику и делай дамп с неё.
https://highload.today/kak-nastroit-mysql-master-s...
Вопрос: Здравствуйте столкнулся с проблемой, хочу написать прогноз погоды на телебот на мой код не работает?

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

Вот честно. Хотите написать - пишите. Хотите чтобы за вас написали - платите. Где ваши попытки написать что то, алгоритмы, хотя бы измышления как эту проблему решить?

Худший ответ:
Начни с проблематики, опиши конкретную проблему, которую ты хочешь решить.
Если вопрос в том, как валидировать город, который написал пользователь, то посмотри в сторону ФИАСов, попробуй API сервиса Dadata. Как вариант - выводи список кнопок с городами, которые похожи на то, что написал пользователь.
Вопрос: Запуск без дебага программы на go в VS Code дает «go: go.mod file not found in current directory». Как исправить?

Лучший ответ:
нагуглил решение 
Добавил в переменные среды Windows GO111MODULE=auto, перезагрузил ПК и все заработало в VS Code

Худший ответ:
Нужно создать файл go.mod, в котором указывается имя проекта (на основе этого имени генерируется имя исполняемого файла). Файл располагается в папке с исходниками. Содержимое файла очень простое:
module go1

go 1.17
здесь go1 - имя проекта (модуля).
Файл можно сгенерировать в командной строке командой go mod init <имя_модуля>
Вопрос: Передача данных из файла PHP в файл JS?

Лучший ответ:
Если этот JS запускается с той страницы, которую отдает этот самый PHP, то 
$msg = array("Qwerty", "Lorem", "Ipsulm");
?>
<script>
let msgJS = <?= json_encode($msg) ?>;
</script>
<?php
и подключенный после этого JS увидит эту переменную.

Худший ответ:
давайте мыслить логически. 
пыха гордая скотина пока не пнешь не заведется. пнуть можно через GET,POST,PUT, DELETE
Есть конечно возможность через веб сокеты, но отложим это в сторону.
Итак пинать будем из жабы. 
// Example POST method implementation:
async function postData(url = '', data = {}) {
  // Default options are marked with *
  const response = await fetch(url, {
    method: 'POST', // *GET, POST, PUT, DELETE, etc.
    mode: 'cors', // no-cors, *cors, same-origin
    cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached
    credentials: 'same-origin', // include, *same-origin, omit
    headers: {
      'Content-Type': 'application/json'
      // 'Content-Type': 'application/x-www-form-urlencoded',
    },
    redirect: 'follow', // manual, *follow, error
    referrerPolicy: 'no-referrer', // no-referrer, *no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url
    body: JSON.stringify(data) // body data type must match "Content-Type" header
  });
  return response.json(); // parses JSON response into native JavaScript objects
}

postData('https://example.com/answer', { answer: 42 })
  .then(data => {
    console.log(data); // JSON data parsed by `data.json()` call
  });
Вопрос: Почему для счётчиков не используют беззнаковые (unsigned) числа?

Лучший ответ:
У std::vector как раз не int, а size_t, который алиас для unsigned long.
В результате строгий компилятор на действия индексной арифметики, где, внезапно, вполне могут использоваться отрицательные числа, сыплет предупреждениями о том, что вместо беззнакового числа получается знаковое, ай-яй-яй. И оно с одной стороны правильно, потому что отрицательных индексов, скорее всего, не предполагается и тут могут крыться ошибки, а с другой - ну что программист с этим сделает? Приведет к беззнаковому и вместо одной ошибки спровоцирует другую?

Худший ответ:
В целом - так исторически сложилось, что в C# используется знаковый тип для индексации массивов.
В Java вообще, например, нет беззнаковых типов. (думаю, из-за этого и в C# для индексации используется int)
В новых языках, например в Rust от этого сразу уходят - в нём для индексации массивов используется usize (беззнаковый, размером с указатель на целевой машине)
Вопрос: Как получить путь до рабочего стола пользователя Ubuntu?

Лучший ответ:
sudo find /  -maxdepth 3 -type d -name "Desktop" -o  -name "Рабочий стол"

Худший ответ:
users > list1
while [ -n "$list1" ]
do
set $list1
user=$1
shift
user="$*"
cp sources/update.desktop $user/Рабочий\ стол/
chmod ugo+rwx $user'/Рабочий\ стол/update.desktop'
cp sources/shutdown.desktop $user'/Рабочий\ стол/'
chmod ugo+rwx $user'/Рабочий\ стол/shutdown.desktop'
done
Вопрос: Оборудование для оптоволокна в квартиру?

Лучший ответ:
То, что поддерживает ваш провайдер. У него должен быть лист поддерживаемых модулей.
Просто так с любым, что вы купите-скорее всего не примут.
Маршрутизатор с SFP модулем IMHO удобнее.

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

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

Худший ответ:
используйте Software Restriction Policies
Вопрос: Кто должен анимировать 3d-модель перед выкладыванием на сайт (художник или программист)?

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

Худший ответ:
если анимация процедурная, то ее определяет программист, если обычная - 3D-аниматор
Вопрос: Поясните пожалуйста про активатор в tempalte vuetify?

Лучший ответ:
Чувак, вот тебе документация. Читай.
Документация Vue - это тебе не документация какого-нить Angular. Тут всё чётко, коротко, понятно и по делу. 
В отличие от обычной ситуации, если у тебя есть вопрос по Vue - в документации ты найдёшь ответ быстрее и понятнее, чем спросив.

Худший ответ:
поясните пожалуйста что такое активатор и зачем он атрс
Слот вы этот скорее всего взяли из компонента v-dialog.  Внутрь него помещается объект который будет активатором диалогового окна, т.е. активатор в данном случае просто имя слота. Через v-on="on" вы пробрасываете событие клика на элементе, которое будет открывать диалоговое окно. Все это описано на примерах в документации

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

P.S. Совет про документацию из ответа выше кстати крайне актуален
Вопрос: Единый микросервис для сбора/хранения всех логов, правильно ли это?

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

А вот как это делать - уже разные варианты есть.

Ваше приложение может писать в stdout, и если вы пользуетесь чем-то вроде kubernetes/openshift, то это удобно ловить централизировано сразу на кластере, тегировать по имени приложения/пода и отправлять дальше.

Ваше приложение может напрямую писать логи в какой-нибудь logstash, который все собирает парсит и отправляет дальше

Ваше приложение может писать логи в брокер сообщений, из которого уже логи попадают в аггрегатор. Полезно если бывают очень большие пики логов и есть вероятность, что аггрегатор может в какой-то момент не справитьcя и часть потеряется - тогда какой-нить kafka/rabbitmq как раз будет промежуточным буффером, который гарантировано примет все логи, сколько бы их ни было и передаст их дальше со скоростью, которая комфортна для вашего лог аггрегатора (масштабировать брокер проще, чем аггрегатор)

Ваше приложение может писать логи прямо в базу данных. Даже в sql базу, или прямо в elastic.

Ваше приложение может писать просто в лог файлы, а потом эти лог файлы собираются, парсятся, отправляются в лог аггрегатор.

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

2 вариант: Каждый микросервис пишет собственные логи в своем хранилище. 
Ну можно и так.

Худший ответ:
1 вариант.
log4js (type = logstash udp) и далее все логи улетают в одно хранилище.
Хорошая статья (для java, но я выше написал про js) вот тут Учимся готовить Log4j + Logstash + ElasticSearch +...
Вопрос: За какое время скопируется файл на флешку USB 3.0?

Лучший ответ:
Зависит исключительно от флешки. Разница между двумя usb 3.0 флешками может достигать порядка и больше.

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

Лучший ответ:
tcpdump также будет полезен.
Еще есть такая утилита strace, ей в качестве параметров можно передавать PID процесса, путь к файлу, имя процесса - много чего может показать. Возможно, будет полезно в этом случае.

Худший ответ:
wireshark в помощь !
Вопрос: Удобно ли программировать на 60-65% клавиатурах?

Лучший ответ:
Я без полноразмерной клавиатуры вообще никак.

Худший ответ:
Я бы смотрел в сторону 80%, всё же они немного удобнее, да и места меньше занимают, чем полноразмерная.
Мне кажется на 60% возможно надоедание постоянного прожатия Fn для клавиш Del, стрелочек...
Вопрос: Как вывести индексы массива объектов?

Лучший ответ:
путаете индекс массива со свойством id в ваших объектах?
const indexArr = users.map(( item, index ) => item.index)нет у item'а свойства "index". Тогда уж, возвращайте переданный index: (item, index) => index Впрочем, индексы выводить, скорее всего, не нужно — для чего печатать числа от 0 до N.

const fullNames = users.map( fullName ).filter(( item,  index, array ) => {
    return array.indexOf( item ) === index
})
Что здесь происходит: сначала из массива объектов через метод массива .map() создаётся новый массив, состоящий только из полных имён. Функцию fullName() вы не привели в вопросе, но скорее всего, она из item'а делает строку item.name + ' ' + item.lastName

Далее, этот массив фильтруется – остаются только те имена, для которых их индекс в массиве равен индексу первого найденного такого же имени.

Например
массив ['Вася', 'Оля', 'Вася']
Поиск имени "Вася" вернёт 0 - в нулевой позиции он нашёлся. Для первого Васи это ок, он останется. Зато для третьего Васи индекс будет 2, а поиск вернёт всё тот же 0. Так как 2 !== 0, дубликат-Вася вылетает и не попадает в результат.

Худший ответ:
выводит undefined так, как метод .map проходит по всему массиву, т.е каждый объект пользователя в этом массиве и у него нет параметра (значения) index.
если Вам нужно узнать индекс какого-либо элемента массива по его параметру (например по айди), то нужно пройтись с помощью map по всему массиву и indexOf узнать его индекс по нужной переменной, пример:
const id = 5;
const users = [
    {
        "id" : 5,
        "name" : "Jalla",
        "lastName" : "Koo",
        "age" : 22
    },
    {
        "id" : 6,
        "name" : "Jalla",
        "lastName" : "Koo",
        "age" : 22
    },
    {
        "id" : 7,
        "name" : "Lella",
        "lastName" : "Moo",
        "age" : 33
    }
];
const index = users.map(x => x.id).indexOf(id);
Вопрос: Как разбить строку на элементы?

Лучший ответ:
Используйте метод строк .splitlines() либо укажите для метода .split() параметр разделитель ”\n”

Худший ответ:
split умеет разбивать по любому разделителю, пробел используется по умолчанию
Вопрос: Как развернуть бд PostgreSQL на локальном компьютере для разработки?

Лучший ответ:
Установите Docker и docker-compose. Создайте файл docker-compose.yml со следующим содержимым (см. ниже) и выполните команду sudo docker-compose up -d в директории с этим файлом.
version: '2'
services:
    db:
        image: postgres:13
        volumes:
            - ./db:/var/lib/postgresql/data/pgdata
        ports:
            - 5428:5432
        environment:
            - POSTGRES_USER=user
            - POSTGRES_DB=mydatabase
            - POSTGRES_PASSWORD=12345
            - PGDATA=/var/lib/postgresql/data/pgdata
База будет доступна по следующим данным:

Хост: 127.0.0.1
Порт: 5428
Название базы: mydatabase
Пользователь: user
Пароль: 12345

P.s. после рестарта контейнера содержимое базы очищаться не будет, т.к. указан volumes.

Худший ответ:
Виртуалка с установленным и нормально настроенным пакетом. Не привыкайте к кривоте, СУБД в контейнере - именно из этой оперы.
Вопрос: Делаются ли на практике подобные сайты?

Лучший ответ:
Делаются ли на практике подобные сайты?
Делаются. Рынок таких дизайнерский сайтов всегда был не очень большим, но он есть. Познакомиться с разными примерами таких сайтов можно на сайтах вроде Awwwards, CSS Design Awards, FWA и им подобных. В русскоговорящем сегменте интернета в целом таких проектов меньше, но они тоже есть. Ну и не все отправляют свои сайты на конкурсы, не всем это нужно.

как у них осуществляется адаптив?
С точки зрения разработчика - так же, как и на любом другом сайте. Никаких сюрпризов, только "уверенные знания CSS/SVG/JS/GLSL" должны быть в реальности, а не на бумажке.

Из соседнего комментария: только проблема в том, что в 99% - всё это неюзабельное говно в красивой обертке
Часто можно встретить такого рода сайты, красивые, но забагованные в край, и тормощящие настолько, что телефоны просто вешаются. Или мобильных версий вообще нет, т.к. не осилили в сжатые сроки. А бывает, что и на десктопах тормозит и лагает. Но тут вопрос больше к бизнесу - за сколько заплатили, то и получили. Если разработчики тянут, то остается дизайнер. Вот ему может быть сложно, и на самом деле не так много дизайнеров, которые могут что-то такое проектировать, чтобы и красиво, и адаптивно, и юзабельно одновременно. Нужен опыт. Нужно много чего знать, и, что важно, уметь слушать разработчиков на тему того, что можно, а чего нельзя сделать, и вести соответствующие переговоры с заказчиком. На рынке фриланса не раз видел заказы в духе "нам тут дизайнер все придумал, а мы теперь сделать не можем", или "мы что-то сделали, а оно грузится по пол минуты", а это вообще никак не сделать, чтобы нормально работало на реальном железе. Тут нужен был диалог между специалистами из разных областей, а его не было. Но опять же - за сколько заплатили, то и получили.

Худший ответ:
ой, да чего только не делается - открой awwwards.com
только проблема в том, что в 99% - всё это неюзабельное говно в красивой обертке.
Вопрос: В чем ошибка discord.py?

Лучший ответ:
listball
random.choise(list-ball)
Хм. Мне кажется что-то не сходится.

Худший ответ:
Здесь суть не в библиотеке, а во внимательности
listball = ["Yes", "No", "Hmmm...", "Yeaaa"]
@bot.command()
embed = discord.Embed(title="Ball", description=(await ctx.send(random.choise(list-ball))
У тебя название списков различаются. listball и list-ball если тебе кажется это ерундой, то python в свою очередь не понимает что ты конкретно имеешь в виду тот список название которого похоже. Он же возращает что такого списка не существует.
Вопрос: Какова ответственность фрилансера за мошеннический сайт?

Лучший ответ:
Как обезопаситься от возможных проблем? 
Не работать с заказчиком-мошенником.

Не станет ли в таком случае он соучастником? 
Это решает не рандомный дядя из интернета, а суд.
В вашем случае пойти соучастником легко - вы осознанно пишете сайт для мошенника, заранее понимая что это мошенник. Групповое умышленное мошенничество.

Худший ответ:
Расстрел
Вопрос: Что учить подростку в сфере программирования?

Лучший ответ:
С#. И весь "стек" майкрософт. (Java лучше (по деньгам), но там всё сложнее, пока не потянешь на должном уровне.)

Я тоже учил pascal, delphi. Давно это было. Смысл? Устаревшие языки и технологии.
Python, PHP, JavaScript, HTML, CSS и далее по списку - полезно, но в плане перспективы печально.
Для себя учить можно всё что угодно. Но ты наверно хочешь стать хорошо оплачиваемым специалистом?

Почти все в банковской сфере работают на Java. Многие на C#. Гос компании аналогично. Крупные компании. А Python/PHP и Linux (холивар открыт) - это не серьезно.
Почему? No Warranty - нет гарантии. 
А бизнесу нужны гарантии. И у бизнеса есть деньги.

Майкрософт - это бизнес, это продукты для бизнеса. А где бизнес, там и деньги.
Хочешь денег - Java, С#. Хочешь что то другое - Python и прочее...

Вопрос языка не в том что хорошо - какой лучше, производительнее, красивее, а какой распространеннее и лучше оплачивается.
Вот С++ универсален. Есть Qt на котором написано куча популярного софта.
Но это язык не от крупной компании. И фреймворк который перекупали несколько раз.
Да есть вакансии по Qt но их мало, да и работа там..пробовали, не понравилось.

А есть Майкрософт, которая продвигает .NET и C#. Это просто крупная компания, которая кушает всё что ей нравится. Ням и скушала скайп. Оп и съела гитхаб. И на линукс смотрит, в плане пропихнуть .NET.

Поэтому изучая С# и .NET за твоей спиной будет не No Warranty или сообщество пусть умных и талантливых программистов, а крупнейший гигант с лучшими программистами (он их просто купит), менеджерами, рекламой и жаждой впихнуть С# и .NET в каждую кофеварку.

К тому же на C# (ASP) пишут и сайты, и игры (Unity) и т.д.
Майкрософт обо всем позаботился. Это бизнес, ничего личного.

Аналогично с Java.

Худший ответ:
Что учить подростку в сфере программирование?
Вопрос не корректный по своей сути, так как "учить программирование" можно до бесконечности, и так и не выйти на первую работу, как бывает у новичков.

Самый верный вариант стать хорошим специалистом\программистом - это решать задачи приближенные к боевым.

Но, вам 13 лет, и большинство что вы описали в посте, больше похоже на решение типовых задач с ютуба что бы просто было весело, задачи из "мира живых" - всегда сложнее, и растут в сложности по экспоненте.

Как развиваться(а не учить язык программирования): ставить задачи по алгоритму и решать их: 
Алгоритм - нравится сфера > выбираем отталкиваясь от сферы язык > пишем от простого к сложному.

Пример: берем новичка фронта > задача. Сделать фулл стек магазин используя самую банальную связку > React(Next) + Node(Express) + SQL на выбор. Что бы решить данную задачу - потребуется изучить тонны материала, и начинать с обычных тудушек, качая базу вроде работы с промисами, перформансом, версткой и умению работать с бэком(прибавить еще 90 пунктов).

Всё остальное тлен, и бессмысленность - т.к основная задача программиста, помогать бизнесу автоматизировать процессы и получать профит в виде денег(получая\не получая с этого удовольствие), а не заниматься бессмысленным изучением материала, которая забывается за месяц.
Вопрос: Стоит ли брать курс «IOS-разработчик» от SwiftBook для обучения с нуля?

Лучший ответ:
на самообучение неспособен
Забудь.

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

обучение лучше начать с бесплатных материалов, их море для новичков, как раз понять основы и понять куда дальше идти
Вопрос: Оценка профиля на Weblancer. Что не так?

Лучший ответ:
17 лет, изучаю, уже изучил, - это все не так.

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

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

Лучший ответ:
Не совсем ответ на вопрос, но я проще делаю
cat /home/user/filename
Потом просто из консоли копирую через Ctrl-Ins

Худший ответ:
Буфер nano работает внутри nano, он не синхронизирован с системным буфером обмена, так что nano использовать тут бессмысленно.
А буфер терминала в сочетании с nano не подходит по той причине, которую вы и назвали: окно nano не прокручивается мышкой.
Так что нафиг nano. Выведите текст в окно терминала командой cat имя_файла и выделяйте-копируйте мышкой; прокрутка в большинстве терминалов работает нормально.
Вопрос: Для каких целей Golang лучше?

Лучший ответ:
Go создавался для простой разработки асинхронных сетевых серверов и в этом блещет. Например написать на нём что-нибудь вроде Nginx сильно проще, чем на C.

Худший ответ:
Микросервис в двух словах - это самостоятельная сетевая единица со своим потоком исполнения, своим URI и своим маленьким (как правило REST) API для которой поднимать nginx setup избыточно.