Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Можно ли написать бота на php для пользователя vk?

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

Худший ответ:
PHP конечно хороший, но не для таких целей. Используйте лучше другие технологии. Сейчас очень популярно стало писать на nodejs, python и т.п.
Вопрос: Разъехалось меню после перехода на https?

Лучший ответ:
WP, настройки, плагины, х*ягины... А что-то руками нормально сейчас делают?
Вопрос сам на себя дает ответ: где-то далеко-далеко, туда, где не ступала нога "настроек" и не дотягивается рука ни одного "всемогущего" плагина - указан полный путь к ресурсу (т.е. с http-протоколом). Найти это место - минута в DevTools и еще пол минуты заменить.

Худший ответ:
Зачем они настройки, плагины, когда через phpMyAdmin всего пару строк.
Вопрос: Как запитать кулер от процессора через сторонний адаптер (от смартфона например)?

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

Худший ответ:
А по жёлтому провод идут импульсы со скоростью вращения вентилятора, чтобы можно было бы просчитать скорость вращения :)
Вопрос: Как сохранить число счетчика JS?

Лучший ответ:
используй LocalStorage если нужно что бы число сохранялось на всегда или SessionStorage если только до перезагрузки браузера. И надобность в глобальной переменной отпадет
вот написал для вас:$(function() {
var 
stratDate = new Date('2019-05-09T20:40:00'),                            // Дата начала таймера
delayMinutes = 5,                                                       // количество минут на 1 тик таймера
differenceMinutes = Math.round((new Date() - stratDate) / 1000 / 60),   // Получаем разницу в минутах 
interval = (delayMinutes - (differenceMinutes % delayMinutes)) * 60000, // получаем начальный интервал 
countTik = Math.floor(differenceMinutes / delayMinutes);                // количество прошедших тиков таймера

console.log('прошло:', countTik, 'тиков\nдо следующего тика:', interval, 'ms'); // [не обязательно] вывожу информацию в  консоль

setInterval(function() {
    console.log('прошло:', countTik, 'тиков'); // [не обязательно] вывожу информацию в  консоль
    interval = delayMinutes * 60000;           // Обновляем интервал
}, interval);
});

Худший ответ:
const date = 1557216578660/1000; // число берешь из нужной тебе даты new Date();
let userDate = new Date(); // это будет обновляться каждый раз по таймеру, например
let count = parseInt((userDate.getTime()/1000 - date)/5); // твой счетчик
localStorage.setItem('count', count); // записываем счетчик в хранилище
далее ставишь setInterval на свои пять секунд и пишешь в него код выше.
ну и потом вытаскиваешь из localStorage 'count' и с ним работаешь.
Вопрос: Почему вылетает Ubuntu при открытии настроек?

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

Худший ответ:
Судя по всему, Рональд Макдональд прав - проблемы с nouveau. Попробуйте обновить его, а если новых для Вашей бубунты нет - поставить nvidia (дрова от самой NVidia, с закрытыми исходниками)
Вопрос: Какая технология использовалась для создания картинок указанных в теле моего вопроса?

Лучший ответ:
Это чистое 2D, потому что множество деталей имеют неправильную (гипертрофированную или условную) форму, например - детали с перспективными искажениями и очень многие тени. Использование градиентов для имитации освещения - старый и надёжный прием, которым хорошие художники отлично владеют, и который даёт результат, выглядящий чище и чётче, чем рендеринг трехмерных объектов. 
Любой художник, который действительно умеет рисовать, а не просто пользоваться векторным редактором, нарисует такое быстрее, чем моделер сделает это в 3D.

Худший ответ:
На самом деле возможных вариантов больше:
1. Подозреваю что это делалось в векторном редакторе (coreldraw или inkscape)
2. Возможно, что это делали в 3D редакторе с последующей векторизацией и ручной постобработкой в векторном редакторе.
3.!!! Так же возможен вариант, что делали в 3D и использовали специальный рендер, заточенный под визуализацию результата как будто его делали в векторе. Для блендера есть решение дающее похожий эфект
Еще ссылки про blender и freestyle:
https://docs.blender.org/manual/en/latest/render/f...
Вопрос: Сущесвует ли переводчик текста/Статьей/новостей с помощью ИИ?

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

Худший ответ:
Нет
Вопрос: Используете ли вы несколько почтовых ящиков и телефонов?

Лучший ответ:
Я, когда активно фрилансил, придумал себе псевдоним, завел под него почтовый ящик и работал. Телефон был мой обычный, но когда звонили и называли меня по псевдониму — было сразу понятно, что это с фриланса. 

Было довольно забавно. Но это было в дикие времена, когда не было проблем с выводом денег на киви/яндекс/вебмани — не было никаких идентификаций. Сейчас я бы так не рискнул делать. 

Но вот завести отдельный ящик и телефон — идея хорошая.

Худший ответ:
Считаю, что со временем все опытные фрилансеры/ проектные специалисты переходят на один телефон и е-мейл. Для очень высокооплачиваемых спецов это просто маст хев, т.к серьезные заказчики не хотят общаться с непонятными людьми. Это удобно для всех, контакт становится ценностью. Юного неопытного фрилансера всегда выдает как минимум мутный е-мейл аля webmensupermen@
Вопрос: Как сейчас выглядит нормальная система сборки / мониторинга?

Лучший ответ:
Много вопросов, много ответов.Health checking - метрики на проверку выводить по отдельному URL и мониторить. Если есть возможность сделать бинарную метрику, отдающую HTTP 200/500, то в докер/cri-o/прочие рантаймы сами умеют отслеживать статус.Docker-образ состоит из манифеста, в котором описываются экспортированные порты, анонимные тома и метаданные, а самое главное - список слоёв с данными. При обновлении с использованием Docker Registry вместо копирования блоба уже присутствующие слои скачиваться не будут.IaaC же. Dockerfile + билдскрипты если надо в коде + сборочная система. Образы хранить в Registry крайне удобно, можно задавать теги по id коммита если надо прям прибивать к VCS.Есть 2 путя: внешний мониторинг + система управления конфигурациями (первая пушит по алерту во вторую, которая создаёт сбоку новый сервер и глушит сбойный) или оркестратор, который сам разруливает подобные проблемы.Про введение новых серверов: env ни разу не динамический, для этой цели используют динамические DNS-сервера (оборачивая красивым названием Service Discovery), балансировщики и очереди сообщений.Примеры решений из личной практики. Без оркестратора: в AWS можно реализовать на SNS + Autoscaling, универсально - на Prometheus/Alertmanager или Zabbix или Nagios, которые будут запускать алертами джобы в Ansible Tower (его опенсурс версия AWX идёт со всеми фишками Enterprise-версии), но лучше всё же иметь что-то между для большего контроля над происходящим. С k8s всё проще: под Prometheus уже всё есть, сама система отслеживает потребление ресурсов и можно задавать лимиты по процу/оперативной памяти, только настроить масштабируемость рабочих узлов, но есть маленький ньюанс - у вас всё уже должно быть контейнеризовано; в DO кстати весьма адекватный managed кластер.

Худший ответ:
monit-it.ru
Для старта пойтет вот это
из особенностей
поддержка плагинов nagios
и главное,  подключается по ssh и  может выполнить команду вернуть себе код сделать выводы.
Ну и особо важное   при алиарде можно выполнить консольную команду.
А главное это хрень облачное и не нужно следить за самой системой мониторинга.
Для мониторинга инфроструктуры яндекс явно не пойдет, а вот для своих проектов нормально.
Я монитрю в ней окол 20 серверов, 600 сайтов, в принципе хватает.
А главное как вы и просили минимальный уровень входа.
Вопрос: Что делать когда я создаю проект в qt и с самого начала вылезают ошибки? Надо ли настраивать IDE?

Лучший ответ:
Что-то пошло сильно не так. 
Попробуйте пересоздать проект, и файлы исходников из ФМ не открывайте в QtCreator.

Худший ответ:
По QtCreator есть мануал: https://doc.qt.io/qtcreator/index.html . Рекомендую ознакомиться.
PS
... и да, английский всё равно надо учить.
Вопрос: Как узнать пароль root от БД?

Лучший ответ:
Всем спасибо.
Во время установки MySQL генерирует временный пароль для root-пользователя. Найти его можно в mysqld.log с помощью команды:sudo grep 'temporary password' /var/log/mysqld.log

Худший ответ:
Узнать никак. Сменить можно запустив с параметром skip-grant-tables. Подробных описаний процедуры сброса пароля полно в сети.
Вопрос: Стоит ли делать сайты-заглушки для будущих проектов и кормить ПС?

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

Худший ответ:
Смысл есть. Покупаешь несколько доменов, допустим с вхождением ключа в домен. Ставишь заглушку. Через 2-4 недели чекаешь позиции. Если есть сайт, который поднялся, берешь его в работу. Дальше дело техники. Вхождение ключа очень важно.
Вопрос: Как сделать так чтобы консольное приложение «вернуло» некий текст?

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

Худший ответ:
приложение из командной строки с определенными аргументами, в ответ вернуло (другому приложению) данные, некий текст. Назовите пожалуйста технологию которая позволяет такое сделать.popen например.
Вопрос: Как записать видео с программы?

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

Худший ответ:
Зум штатно пишет, можно на него со скайпа переползти.
Или заюзать софт, пишущий с экрана, например SimpleScreenRecorder или специльно под скайп - skype call recorder
Вопрос: Не получается установить Windows Insider preview, белая страница, почему?

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


Худший ответ:
Ну видимо что-то случилось. У меня такая же ситуация.
Вопрос: Нормально ли на стороне клиента сортировать большие массивы?

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

Худший ответ:
Нормально - ты же не Monero майнишь, а время cpu хостинга не резиновое.
Вопрос: К какому разделу математики относятся метрические пространства?

Лучший ответ:
Изучаются в курсе функционального анализа.

Худший ответ:
Смысл вопроса? Что это даст содержательно?
Можно рассматривать как составную часть топологии. См., например, "Общую топологию" Энгелькинга.
Вопрос: Как реализовать отказоустойчивость mysql?

Лучший ответ:
1) master-master на mariadb - каждый сервер будет иметь свой уникальный gtid и именно мария в отличии от оригинального mysql умеет хорошо разруливать бинарные логи и даже мульти репликацию. Но нужно как минимум прописать сдвиг auto_increment на северах, чтобы он были уникальными
2) galera cluster - где-то на 30% медленнее - транзакция должна пройти на всех нодах, только innodb движок, нужно следить, чтобы не было myisam, нужен кворум нод, то есть две ноды лучше не делать, если одна 100% будет уходить в оффлайн
В первом случае синхронизация может быть с небольшой задержкой на сложных изменениях, но сама схема вполне рабочая.
Все рецепты настроек есть в гугле :)

Худший ответ:
Haproxy + galera + Xtradb от percona, для деплоя посмотрите на готовые ansible плейбуки.
Не забываем про critical read в mysql части и "липкие коннекты" в haproxy.
Кластер минимум 3 годы, чтобы не было split brain, если по феншуям хочется, то 5 лучше нод.
Вопрос: Почему пишутся сами статусы во Вконтакте?

Лучший ответ:
В разделе «Настройки приложений» (vk.com/settings?act=apps) отображаются все подключённые сайты и приложения. Здесь Вы можете удалить лишние авторизации или отрегулировать Настройки к ним.
Авторизация — это процесс предоставления приложению данных для входа через Ваш аккаунт на нашем сайте. Он необходим для взаимодействия функциональных возможностей приложения и сайта.
Если у Вас в истории активности появляются неизвестные IP-адреса, стоит проверить этот раздел, чтобы убедиться, что Вы не авторизовались в сторонних приложениях. 
https://vk.com/faq9989

Худший ответ:
Смени пароль и всё)
Вопрос: Можно ли разместить на одном хостинге (ip) три сайта и как это будет влиять на ранжирование?

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

Худший ответ:
у меня сейчас 4 сайта на 1 ip - причем 2 из них я даже добавил в общий вебмастер яндекса... Индексируются как-то странно конечно, но мне кажется что они никак не связаны на самом деле... думаю, что оно не зависит никак - хотя тоже по началу думал - что яндекс просто забанит сразу все сайты по ip - но за пол года все нормально - никакого бана нет.
Вопрос: Есть ли такого рода информация по html?

Лучший ответ:
Правила оформления кода

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

Лучший ответ:
Смотря какая цель. Если вы сначала хотите получить фундаментальные знания (на практике, как бы это дико ни звучало), и при этом вы действительно никуда не спешите, то можно начать с Ассемблера. Конечно, без фанатизма, то есть слишком долго на нем останавливаться не стоит. Но он даст базу и общее понимание того, как оно работает под капотом более высокоуровневых языков.
А так в целом без разницы, какой первый язык, главное не смотреть в сторону мертвых языков. Просто разные языки имеют много общего. Даже если один язык стороготипизированный, а второй - нет, то всё равно у обоих есть понятие типа, и это понятие обычно от языка к языку включает примерно одно и то же - числа, строки, булевы, массивы и т.д. И также с остальными аспектами языка.
Однако если вы прицелены на конкретную задачу, то плясать уже можно от этой самой задачи, ее области применения, потому что, скорее всего, подходящим (лучшим) будет только один язык для данной области. Например, если задача сделать сайт - это это JavaScript и какой-то серверный язык. И, скорее всего, С++ вам для этой задачи не нужен, очевидно.

Худший ответ:
Для веба - python php
для десктопа - c#, java
для всего и сразу - python
Js - для веба нужен всегда, но учить его 1м и от и до не стоит. 
Самые простые варианты начать с веб программирования php + laravel(когда поймешь как работает php хотябы на начальных этапах) - js
Для десктопа, проще c# не знаю языков, очень многое из коробки и вообще язык классный. Но есть 1 но Microsoft.
Python можно выбрать когда не уверен куда хочешь податься, если хочешь все попробывать и тоеж самое минное обучение, компьютерное зрение, плагины для программ типа blender 3d и ещё много чего.
Вопрос: Как определить, попадает ли точка в заштрихованную область?

Лучший ответ:
Записываешь функцию, по которой строятся линии, между которыми надо проверить лежит ли точка. 
Подставляешь X точки в функцию, вычисляешь Y для этой функции. 
Сравниваешь с Y точки. Если они равны, точка лежит на линии, если нет, лежит выше или ниже соответственно. 
И просто выставляешь необходимые условия проверки, как должна лежать точка, выше или ниже заданных линий.

Худший ответ:
А при чём тут C#? Это обычная математическая задачка. Если X<0, то Y должна лежать под прямой, иначе над прямой.
Можете использовать какую-нибудь библиотеку, можете пофантазировать с Rectangle.Contains.
Вопрос: Как сделать эффект при наведении как в Windows 10?

Лучший ответ:
1. Набор элементов с бордерами (блоки-флексы-гриды по вкусу).
2. Сверху абсолютно позиционированный элемент в 200vh/200vw с фоном в виде радиального градиента из прозрачного в цвет фона body или что там еще снизу находится.
3. В вышеупомянутых элементах текстам задаем z-index и они ложатся сверху градиента.
4. На событие mousemove вешаем обработчик, который меняет координаты градиента.
Получаем что-то такое:codepen
P.S.: И в перспективе вставляйте картинки сюда, а не на левый хостинг.

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

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

Худший ответ:
Я думаю что fingerprint - это слишком притянуто за уши. Во-первых - ненадёжно, во-вторых - кук более чем достаточно. Зачем делать какие-то слепки, если можно просто поставить куку, а потом её прочитать?
Но присылка на основную почту, при том что вводилась одноразовая - это сильное нарушение privacy. Фактически, это 100% спам. И в наше время почти не случается. Я бы сказал, что объяснение должно быть сильно проще. 
И, скорее всего - это социальная сеть. Как закоренелый параноик, я в принципе не понимаю, как можно быть залогиненым в соцсети в основном рабочем браузере. Это - я не знаю - как сделать в квартире стеклянные стены, выставлять всю свою жизнь напоказ. Но в любом случае, механизм тут простой - сциальная сеть делится с магазином твоим профилем и магазин просто берет из него твой емейл.
Так что никаких "слепков" и "баз данных" - все гораздо проще.
Вопрос: Как правильно передать word press проект?

Лучший ответ:
Ни то, ни другое...
Из репо могут скачать проект и использовать, а вас кинуть... а про отправку архива вообще молчу...
Решение - залить на СВОЙ сервер (можно взять бесплатный) и показать заказчику. Другой вариант - открыть доступ к локалке извне, прикрепить бесплатный домен tk и скинуть ссылку заказчику.
P.S. предоставлять доступ в админку не рекомендуется, ибо также можно плагином (например, duplicator, updraftplus) создать архив с сайтом, перекинуть себе и попрощаться с вами.
Передавайте исходник только по факту оплаты или заключения договора.

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

Лучший ответ:
Нужно понять, кем вы стремитесь стать - кодировщиком или разработчиком.
Если кодировщиком -  то выучили язык и бегом - по готовому, кем-то составленному ТЗ -  писать программы и деньги зарабатывать.  
Если разработчиком - то без знания алгоритмов вам не обойтись. Вы сами должны будете уметь хотя-бы из имеющихся реализаций выбрать наиболее подходящую или эффективную. А возможно и модифицировать их именно с учетом конкретного приложения. А "рядом" с алгоритмами обычно изучаются структуры данных -  без них разработчику (а не кодировщику) -  тоже никак.
Этап изучения языка - это база. Другое дело, что учить "голый" язык бывает скучновато. И это обучение "разбавляют" всякими простенькими задачами -в  том числе из области алгоритмизации. Ну, к примеру, поиск максимального элемента в массиве, или простейшие сортировки.  Но это не более, чем база. Хотя многие почему-то гордо считают, что это и есть изучение "алгоритмов и структур данных".
А этап изучения алгоритмов - это уже более высокая ступень совершенствования в профессии.
Но и изучаются эти две дисциплины по-разному. Изучение языка - это как в школе. Многие вещи надо помнить наизусть. Вы не будете за синтаксисом каждого оператора лазить в Google. Знания языка, умение кодить  - это как навык, который должен срабатывать даже во сне. А вот алгоритмы  и структуры данных изучаются уже действительно на уровне понимания. Необходимо не запоминать, но понимать, какие они есть, когда они могут оказаться полезными, в чем отличие одного от другого. А при случае - суметь задать умный (!!!) вопрос Google  и в море "шлакоответов" найти -  и главное понять - правильный. 
Что-до книг.  Кормен и Лейзерсон для новичка, действительно, сложноват. 
Но во-первых, есть его "прямая адаптация":  Бхаргава А. - Грокаем Алгоритмы. Иллюстрированное пособие для программистов и любопытствущих - 2017.  То же самое, но проще.  
Во-вторых, тот же Кормен написал еще одну книгу:  Кормен Алгоритмы. Вводный курс.   Вот ее можно уже рекомендовать и для новичка.
Кроме того, могу порекомендовать сайты, с вполне доступными материалами:
algolist.manual.ru
aliev.me/runestone
И в сети -  если совсем лень -  есть сегодня куча неплохих видеокурсов. Так что  -  удачи.

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

Лучший ответ:
math.sqrt(int(input("Введите D = ")) - скобки не хватает

Худший ответ:
Скобку не закрыли.

d = math.sqrt(int(input("Введите D = ")))  # дописал третью закрывающую
Вопрос: Как научиться придумывать более простые алгоритмы, для решения любой задачи?

Лучший ответ:
Классический подход выглядит так: смотрим на задачу и пытаемся понять как мы будем её решать руками, рассматриваем разные варианты задачи, ошибаемся, пробуем ещё раз, знакомимся с ней одним словом. Потом полученное решение пытаемся формализовать и описать с помощью языка программирования.
Я, когда проходил этот этап, больше всего почерпнул из книги "Математика это просто": https://www.ozon.ru/context/detail/id/31172916/
Несмотря на слово "математика" в названии, там речь идёт о том, как научиться решать задачи, для которых в голове нет готового решения.
Удачи и терпения на этом нелёгком пути :)

Худший ответ:
Но я Си учил не по учебникам, просто я работаю волшебником...
ЗЫ Это внутреннее ощущение, оно появляется действительно с опытом, может пройти год или два коммерческой разработки. Ты вдруг смотришь на свой старый код и ясно понимаешь как его оптимизировать. Это магия, этому нельзя научиться.
Другое дело вы уверены, что хотите провести жизнь перед компьютером, копаясь в коде? Деньги будут, но настоящее удовлетворение и счастье вряд ли.
Вопрос: Как правильно подключиться к базе данных MySql с помощью Java (JDBC)?

Лучший ответ:
Client does not support authentication protocol requested by server; consider upgrading MySQL client
Что-то непонятно в сообщении? Обновите клиентскую библиотеку.
Если речь о mysql 8.0 - то вторая возможность поменять default-authentication-plugin, который был в 8.0 изменён.

Худший ответ:
Строка Class.forName("com.mysql.jdbc.Driver"); не нужна начиная с Java 6 - теперь JDBC-драйвер ищется и загружается при помощи технологии SPI
Вопрос: Как заменить аккумуляторную батарею на более ёмкую в блютус-колонке?

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

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

Лучший ответ:
text = 'АБВ'
print(''.join([str(globals()[datapoint]) for datapoint in text]))

Худший ответ:
print("Вывод: ", text)
print("Вывод: ", int(text))
print("Вывод: {0} ".format(int(text)))
Вопрос: Правильно ли копировать API?

Лучший ответ:
В Telegram строится API аналогичным образом, вопрос только в том подойдёт ли оно вам. Может вам нужны серьёзные вещи вроде GraphQL, или базовый RESTFull. Но в подражании нет ничего плохого, если ваш сервис например будут использовать люди знакомые уже с ВКонтакте API.

Худший ответ:
Если смотреть глобально то это подъемы с законом, так как тот же оракл судится с Гуглом из за копирования апи джавы