Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как создать exe-файл с помощью pyinstaller?

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

Какой вопрос, такой и ответ

Худший ответ:
Во-первых, при чем тут PyCharm, если это IDE?
Во-вторых, проверьте флаги для pyinstaller: может, вы где-то ошиблись?
В-третьих, добавьте в вопрос больше информации, например: комманду/Makefile/*.cmake/*.mak для сборки скрипта, а так же отчет, выведенный в терминал pyinstaller'ом.
В-четвертых, попробуйте эту комманду, она почти 100% сработает: $ python -m pip install pyinstaller --upgrade | python -m pyinstaller -F your_script.py
Вопрос: Как определить самый больший процент разници в if?

Лучший ответ:
В чем совет то тебе дать?

Почему не работает код? так скажи что в нем не так.

Про получение данных, если тебе нужны ОПЕРАТИВНЫЕ данные, забудь про http rest, используй websocket, binance выдает в поток в 4 тысячи событий по всем парам, подписывайся на них и анализируй, это ты сможешь сделать в одном подключении. Если же все же http rest то внимательно прочитай про лимиты на запросы, они указываются в минуту и на практике еще меньше
IP Limits

    Every request will contain X-MBX-USED-WEIGHT-(intervalNum)(intervalLetter) in the response headers which has the current used weight for the IP for all request rate limiters defined.
    Each route has a weight which determines for the number of requests each endpoint counts for. Heavier endpoints and endpoints that do operations on multiple symbols will have a heavier weight.
    When a 429 is received, it's your obligation as an API to back off and not spam the API.
    Repeatedly violating rate limits and/or failing to back off after receiving 429s will result in an automated IP ban (HTTP status 418).
    IP bans are tracked and scale in duration for repeat offenders, from 2 minutes to 3 days.
    The limits on the API are based on the IPs, not the API keys.

p.s. Исторические данные по фьючерсам недоступны (только в пределах текущего квартала)
я пользовался, минуток тут более чем достаточно:
https://dapi.binance.com/dapi/v1/continuousKlines?pair={$pair}&contractType={$type}&limit=1500&interval=1m&startTime={$startTime}&endTime={$endTime}"
Где startTime и endTime нужно устанавливать на основе предыдущих полученных и сохраненных данных
https://dapi.binance.com/dapi/v1/exchangeInfo
Даст всю информацию о рынке (без стакана), там же видно где какой тип контракта PERPETUAL/CURRENT_QUARTER/NEXT_QUARTER какое наименование инструмента, типа LTCUSD_230630 или ETHUSD_230331 (там же есть все данные по времени начала и окончания периода), PERP фьючерсы повторяют spot рынок, поэтому для удобства можно эти данные брать

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

Худший ответ:
Решил вопрос записью в массив
$result[] = $symbol;
$symbol = array_search(max($result), $result);
Вопрос: Стоит ли покупать и проходить модный онлайн курс по квантовым вычислениям?

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

Худший ответ:
попробуйте самостоятельно. Есть онлайн ресурсы с простым научно-популярным вводом в тему квантовых вычислений. 

Например, у IBM: https://quantum-computing.ibm.com/composer/docs/iq...
Там же ниже есть примеры цепочек, и ссылки, где с ними поэкспериментировать вживую.

Курсы — для тех, кто побаивается, и кого надо «за ручку». Но ведь это совсем необязательно, особенно на первых порах.
Вопрос: Как запретить вводить запятую, точку в инпут?

Лучший ответ:
$('input').on('input', function() {
  $(this).val($(this).val().replace(/[A-Za-zА-Яа-яЁё,.]/, ''));
});

Худший ответ:
$('input').on('input', function() {
  $(this).val($(this).val().replace(/[A-Za-zА-Яа-яЁё,.]/, ''));
});
Вопрос: Как лучше поступить с таблицей бд?

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

Худший ответ:
На всякие случай спрошу, а вам точно нужно каждый лайк/дизлайк отдельной записью хранить?
Вопрос: Как соотносятся между собой mysql и mariadb?

Лучший ответ:
Для вашего уровня разницы никакой.

Худший ответ:
почему при работе в командной строке я продолжаю подключаться через mysql -u -p
MariaDb поддерживает тот-же сетевой протокол что и MySQL.
Вопрос: Почему systemd-journald ест много оперативки?

Лучший ответ:
Из 2 гигов оперативки занято 500 мб, причём раньше свободно было больше.
Память должна быть занятой. Если она свободна -- значит она никому не нужна.

Из-за чего systemd-journald может есть 10% от оперативки? Куда смотреть? 
Смотреть в колонку VIRT -- приложение выделило себе 266М виртуальной памяти. То, что оно использовало 202М физической памяти для этого -- это просто прекрасно.

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

Худший ответ:
Потому что он systemd :)
Вопрос: Как оценить проект?

Лучший ответ:
Стоимость трудозатрат можно рассчитать по почасовой системе.
Например, Вы претендуете на зарплату 150 000 руб в месяц (и знаете, что такую ЗП получает специалист Вашего уровня)
Следовательно, стоимость Вашего рабочего часа будет: 150000 / 20 / 8  = 937 руб
где:
20 - среднее количество рабочих дней в месяце;
8 - количество рабочих часов в день.

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

Худший ответ:
Полная документация
Это будет 50% затрат.
Вопрос: Как правильно построить html разметку нумерованного списка в две колонки?

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

Худший ответ:
сделай флексовые блоки с врапом, и при < 2 создавай новый блок
Получится что-то типо такого:
const container = document.querySelector('.container')
const a = document.querySelectorAll('.container div')
button.addEventListener('click', () => {
    let div = document.createElement('div')
    a.forEach(x => {
        if (x.childNodes.length > 2) {
            container.append(div)
        } else if (x.childNodes.length< 2) {
            x.append(span).innerHTML = input.value
        }
    })  
})
Добработать только это с расчетом что уже имеются блоки
 Важно чтобы список был нумерованным.  Добавь счетчик
Вопрос: Перспективно ли изучения GO для начинающих?

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

Письмо, полное сомнений и множества вопросов. Я не совсем понял что требуется от нас. Если отвечать на главный вопрос - то да. Перспективно. Go драйвит Google как основной язык для микросервисов. Но учитывая возраст кандидата я-бы спросил следующее.
- как с английским?
- как быстро обучаешся чему-то новому?
- согласен ли на релокацию?

Какие перспективы в РФ - понятия не имею но перспективы в зарубежных конторах - есть.

Хочу предупредить автора об ошибках которые я сам совершал. Я думал что дело в языках и технологиях. Но это не так. Дело в коммуникациях. Я работал минимум с 5 зарубежными компаниями и я своими глазами видел что мои знания просто нивелировались на фоне например моего не очень сильного английского. А другие teammates в силу широких коммуникатиционных скилов могли очень быстро найти контакт с нужными людьми и обходили
меня в карьере достаточно быстро.

По сути когда тебе за 40 - вообще не имеет значения какой язык ты знаешь. У тебя за плечами должен быть уже
такой багаж что тебя можно просто брать как опытного советника в технических вопросах. Язык можно подучить но если речь идет просто о распределенных системах и микро-сервисах то больше знаний требуется в части например анализа узких мест системы. Кеширования. Грамотного дизайна безопасности и репликаций и бекапов и восстановления от сбоев. Этот пласт знаний вообще лежит вне языка. И поэтому джун даже очень хорошо выучивший Go или Python не может решать такие вопросы. А автор - скорее всего может. Барьером может быть
какая-то банальность. Например язык. Поэтому я и спрашиваю.

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

Лучший ответ:
1 Ом

Худший ответ:
1R = 1Ом.
Советские резисторы могут быть промаркированы как 1E. 
SMD будут промаркированы как 1R0. 
Цветовая маркировка:
4 кольца: коричневый-чёрный-золотой-любой
5 колец: коричневый-чёрный-чёрный-серебряный-любой
Вопрос: Как раскидать несколько разных сетей к разным программам по отдельности?

Лучший ответ:
Под Linux такое можно сделать на базе network namespace. https://habr.com/ru/post/123140/

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

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

Худший ответ:
Ставишь фокус в чат и отправляешь со стороны программы нажатия клавиш - симуляция нажатия. 
Clipbrd.AsText := 'Hello';

keybd_event(Ord('H'), 0, KEYEVENTF_KEYDOWN, 0);
keybd_event(Ord('H'), 0, KEYEVENTF_KEYUP, 0);

keybd_event(Ord('e'), 0, KEYEVENTF_KEYDOWN, 0);
keybd_event(Ord('e'), 0, KEYEVENTF_KEYUP, 0);

keybd_event(Ord('l'), 0, KEYEVENTF_KEYDOWN, 0);
keybd_event(Ord('l'), 0, KEYEVENTF_KEYUP, 0);

keybd_event(Ord('l'), 0, KEYEVENTF_KEYDOWN, 0);
keybd_event(Ord('l'), 0, KEYEVENTF_KEYUP, 0);

keybd_event(Ord('o'), 0, KEYEVENTF_KEYDOWN, 0);
keybd_event(Ord('o'), 0, KEYEVENTF_KEYUP, 0);

keybd_event(VK_RETURN, 0, KEYEVENTF_KEYDOWN, 0);
keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0);
Будет написано слово "Hello" и отправлено симуляцией нажатия Enter

Либо, помещаешь текст в буфер обмена, симулируешь нажатие Ctrl + V и Enter

keybd_event(VK_CTRL, 0, KEYEVENTF_KEYDOWN, 0);
keybd_event(Ord('V'), 0, KEYEVENTF_KEYDOWN, 0);

keybd_event(Ord('V'), 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CTRL, 0, KEYEVENTF_KEYUP, 0);

keybd_event(VK_RETURN, 0, KEYEVENTF_KEYDOWN, 0);
keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0);
Вопрос: Для первой работы изучать общий или нишевый язык?

Лучший ответ:
Изучайте то, что вам нравится.

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

Если интересен сферический взгляд в вакууме, то первую работу на python найти проще. Go под внешней простотой хранит в себе много фундаментальных концепций, которые если Go первый язык трудно впитывать среднему новичку. 

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

Лучший ответ:
Потому что правильным использованием будет делать два сравнения
message.text.lower() == "привет" or message.text.lower() == "приветик":
А так у вас одно сравнение и одни bool() от не пустой строки, который всегда вернёт True

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

Выражение ложно, если оба операнда с двух сторон ложные. Если хотя бы одно из них истинное, то и все выражение истинно.


В твоём случае нужно что-то типа text == "привет" or text == "приветик"
Вопрос: Цифровые професии?

Лучший ответ:
Ко всему, что предлагает т.н. "государство" отношусь с недоверием. Ко всей их деятельности, в т.ч. и к курсам, 100% некомпетентные эникейщики учат еще более некомпетентных эникейщиков эникейству уровнем повыше.  Другого пути, кроме как изучения документации и развернутых руководств, нет. Более-менее известные институты еще кое-как дают какой-то базис(слабый, откровенно говоря), который тоже впоследствии надо будет неслабо дополнять, а эти шарашкины конторы существуют только для выманивания денег

Худший ответ:
На мой взгляд, если вы решили «войти в IT» через онлайн-курсы, то участие в подобной программе целесообразно – вам не придется платить 100% стоимости курса, ведь есть вариант сэкономить как минимум 50% (а для некоторых категорий граждан и все 100%). В подборке есть относительно неплохие онлайн-школы. Вообще, качество обучения будет зависеть от обратной связи и наставников, ведь программы у всех плюс-минус одинаковые. Нужно смотреть по отзывам (реальным отзывам, а не отзывам с сайта школы) студентов, вакансиям и т.д. Так можно примерно понять перспективы трудоустройства по окончании той или иной школы. Насчет длительных курсов – смотрите, что входит в программу. Может быть там углубленно изучается несколько языков, поэтому он и длится так долго. 

Многие топят за высшее образование в IT, однако тут еще больше все будет зависеть от вуза – у нас в стране это направление хорошо представлено может только в столичных вузах. Плюс вы потратите несколько лет, параллельно изучая то, что никогда в жизни не пригодится. Самообучение – как вариант. Но лучше перед ним иметь хоть какую-то базу. Так что, имхо, онлайн-курс в этом понимании – не самый плохой вариант. Тем более, когда предлагают частично оплатить.
Вопрос: Можно ли использовать публичный-клиенский wi-fi организации (условно МАК) в качестве резервного канала для моей организации?

Лучший ответ:
Это публичный Вифи.. по идее чисто юридически - никаких претензий...
но чисто технически - заманаешься смски посылать)

Худший ответ:
Нет
Вопрос: Что наследуется в ООП? Как работает наследование?

Лучший ответ:
Publlic / protected / private - это архитектура. Компьютеру они на хрен не нужны, они ограничивают программиста.
И уж если программист считает, что метод должен быть публичным - значит, любой наследник должен его реализовывать. Если приватным - значит, нечего в него лезть наследникам. Если защищенный - значит, только этот класс и его наследники о том, что он существует, и должны знать.

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

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

 Все верно, все наследуется.
Тут нужно понимать, для чего существуют public, protected, private. Public используется для использования функционала класса в других частях программы. Если у класса один метод public и условно 10 private методов, то в приватных методах скрыта реализация функционала, а public уже отдает или получает, или то и другое. Классу, который использует public метод другого класса не важно, как работает все внутри приватных методов.  Поэтому и смысла нет в изменении public на protected или private. Иначе ваш класс становиться замкнутым и бесполезным.
тут можно почитать про reflection
Вопрос: Как получить курс валюты на дату указанную в ячейке?

Лучший ответ:
Для сегодня

=IMPORTXML(
  "http://www.cbr.ru/scripts/XML_daily.asp?date_req="&TEXT(TODAY();"dd.MM.yyyy");
  "//ValCurs/Valute[CharCode=""UAH""]/Value"
)/10

Для даты в другой ячейки

=IMPORTXML(
  "http://www.cbr.ru/scripts/XML_daily.asp?date_req="&TEXT(C1;"dd.MM.yyyy");
  "//ValCurs/Valute[CharCode=""UAH""]/Value"
)/10



Худший ответ:
=IMPORTXML("http://www.cbr.ru/scripts/XML_daily.asp?date_req="&A2190&""; "//ValCurs/Valute[CharCode=""UAH""]/Value")/10

Решил проблему вот так и дату в ячейке нужно перевести в формат текста
Вопрос: Почему при вычитании двух вещественных результат неправильный?

Лучший ответ:
Вас не смущает, что в одном числе точка - а в другом запятая?

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

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

Худший ответ:
Можно тщательнее узнавать техзадание, перед тем как браться за работу.
Сейчас у тебя появился опыт, что нужно с заказчиком уточнить вопрос инфраструктуры, прежде чем браться за заказ.
А так - нет никаких "нельзя" или "можно". Есть договоренности и оплата.
ДевОпс - это тоже не универсальный человек. Если девопс проработал с виртуализацией 5 лет, а потом его попросили разобраться с AWS - он будет также смореть на новые ворота.
Вопрос: Можно ли как то добиться включения/стопа/рестарта golang сервера через консоль?

Лучший ответ:
Не совсем понятен вопрос. А чем вам собственно не нравится Ctr+c Shutdown из доки? Если вы хотите, что бы сервер не блокировал консоль просто так его и запустите
$ myserver &
при таком применении вы можете

для тушения отвести отдельный endpoint в rest api. То есть поставить тушащий Handler на domain.com/admin/shutdown
или предусмотреть вызов с флагом myserver --quit который будет связываться с уже запущенным инстансом через net/rpc или unix pipe или unix socket или тот же http и вызывать процедуру тушения
или прописать юниты systemd обычным порядком


Худший ответ:
Смотрите в сторону supervisord, systemd, docker
Вопрос: Биос не загружается с ссд диска м2?

Лучший ответ:
Скорее всего с тем, что загрузочный раздел (обычный или EFI) находится на HDD. А на SSD только системный раздел.

Худший ответ:
Было такое несколько раз в моей практике, всегда помогало обновление биоса.
НО!!!
Нужно следить чтоб обновление имело поддержку установенного процессора и поддержку поколения M2
Вопрос: В чем принципиально различие postgres от mysql?

Лучший ответ:
Postgresql - более консервативен. Его можно брать почти для любых проектов. Есть partitioning что свидетельствует о зрелости системы и об Enterprise-ready. Единственное что может быть не очень - это некий кумулятивный эффект от частых inserts/updates который требует вакуума. И со счетчиками транзакций там есть нюанс. Но скорее всего в твоём сегменте разработки PHP/Laravel - тебе будет просто безразлично сущестование вакуума.

MySQL это лейбл под которым на самом деле могут работать различные engines таблиц. И если анализировать какой-то performance-инцедент то нужно в первую очередь спрашивать с какой опцией таблица создавалась. MyISAM/Innodb/e.t.c. Потому что выбор этого двигателя влиял на какие-то опции скорости и транзакций. Я заменял например в создающих скриптах InnoDb на MyISAM для того чтобы просто быстрее прогрузить 1Тб CSV файл.  

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

Что лично меня раздражает в диалекте My/SQL - так это странного вида кавычки-апострофы. Никогда не понимал зачем это.

Худший ответ:
Постгрес - это OSS Оракл. Такая полноценная СУБД, тяжелая для небольших проектов, но оптимальная для больших.
Мускл - это "мини-БД" (особенно если там MyISAM) предназначенная для небольших проектов и скорости.
Например DSPAM на постгресе "искаропки" тормозит адово, на мускле - летает ("искаропки", то есть никакой оптимизации не делалось. За применение постгреса вместо мускла я однажды получил хороших люлей - мне больше нравился постгрес и я его попер в проект...)
Вопрос: Как выполнять скрипт php в фоне?

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

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

Лучший ответ:
Без логов, схемы сети, маршрутизации или хоть каких-либо подробностей (банально tracert до шлюза) - проблема вероятнее всего в том, что луна сегодня в ретроградном меркурии.

Худший ответ:
1. он выдается интерфейсу на серверной стороне openvpn.
2. он вне маски подсети.
3. проблемы не с адресом, а с машиной, на которой он выдается.
Вопрос: Дублировать контент или динамически адаптировать на js?

Лучший ответ:
Критерии "лучшести" какие?
В поддержке обычно проще и очевиднее иметь дубль с говорящим названием: `.block__text` и `.block__text-mobile`, например. Иногда, если контент отличается прям сильно и в нескольких элементах, вплоть до замены самой корневой сущности: `the-hero`, `.the-hero-mobile`, хотя это крайний случай, конечно.

Однако каждая такая скрытая нода по-прежнему парсится браузером и участвует в построении DOM, что влияет на производительность. Если их становится "много" в относительном выражении, рассматривайте вариант динамической замены.

Худший ответ:
Дубли
Вопрос: Почему хост и его GW(гейтвей сети) должны быть в одном L2 домене(в одном vlan)?

Лучший ответ:
Представьте обратную ситуацию - хост и его шлюз НЕ находятся в пределах одной сети. Тогда, очевидно, чтобы отправить пакет шлюзу, требуется какой-то узел в сети, маршрутизирующий пакеты за её пределы. Хоп, вы получили новый шлюз.

Худший ответ:
Почитайте про Ethernet-кадры, как работает ARP, зачем нужен broadcast адрес и поймете.
Вопрос: Снял packet dump. Есть у кого-нибудь идеи, что это может быть за трафик?

Лучший ответ:
Для начала надо посмотреть что слушает (какой процесс) порт 5050 на 192.168.201.162. Скорее всего есть какой-то discovery протокол по multicast или broadcast который рассылает адрес 192.168.201.162, а arp это уже следствие что все машины в сети хотят подключиться к этому хосту. Лови multicast и broadcast от это машины, какой нибудь SSDP.

google говорит что это.
PORT 5050 – Information


Port Number: 5050
TCP / UDP: UDP
Delivery: No
Protocol / Name: mmcc
Port Description: multimedia conference control tool

Худший ответ:
почитай там ответ

смысл в том что это оптимизация wifi подключения для broadcast передач, по крайней мере очень похоже
Вопрос: На чем можно создать оффлайн базу знаний со встроенным редактором?

Лучший ответ:
Ну тут есть два варианта. Либо полностью самописная разработка. 
Либо развернуть у себя на компе LAMP и накатить туда CMS mediaiwki например. И да, LAMP можно собрать portable. Таким образом можно закинуть все файлы на флешку и получится флешка которую можно втыкать в любой комп и запускать веб сервер со своей базой знаний.  Вместо mediawiki я бы посмотрел wordpress, кастомизируй как хочешь, хоть потом открывай публичный доступ и продавай свои знания через wordpress.

Худший ответ:
вот сюда можешь подглядывать чтобы велосипеды не изобретать
https://obsidian.md/
Вопрос: Как подключиться к Яндекс Диску с помощь 1с чтобы скачать файлы по ссылке?

Лучший ответ:
Начать с чтения документации
Потом почитать про HTTP запросы в 1С
Потом соединить полученные знания

Худший ответ:
поиск....