Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как вернуть данные из модуля Node.js?

Лучший ответ:
Всё дело в том, что внутри функции tasks.list - асинхронный код. Вам нужно что-то в таком стиле:list: function(callback) {
    pool.getConnection(function(err, connection) {
        connection.query( 'SELECT * FROM tasks', function(err, rows) {
            callback(rows);
            connection.release();
        });
    });
},
И в вызывающем коде:var tasks = require('./tasks');
var list = tasks.list(function (rows) {
    console.log(rows);
});
А далее читайте про Promise.

Худший ответ:
Спасибо за очень быстрый ответ!!!! Очень оперативно!
Вопрос: Отсутсвие await гарантирует выполнение async метода?

Лучший ответ:
await только подписывается на результат awaitable (в нашем случае Task). И то будет ли выполнятся этот не зависит от await т.е. от тех кто его может ждать. т.е. ответ - Да, Notify() будет себе часами молотить. Если внутри будет ошибка, то лучше подписаться на результат и скипнуть ошибку. Notify().ContinueWith(t=> { var x = t.Exception; ... });Task.Run(async () =>
Так делать не стоит, это ошибка, которую часто совершают. 'async => ()' это уже стейт-машина которая запускается вызовом, ее не надо шедулить через таски. 
Правильный пример:new Func<Task>(async =>  {
    try
    {
        await _notification.Notify();
    } catch(Exception ex) {
        // TODO: Логируем исключение
    }
}).Invoke();
Но опять же это всё не нужно в текущей задаче, можно вызвать ContinueWith.

Худший ответ:
Вот так это делается:Task.Run(async () =>
{
    try
    {
        await _notification.Notify();
    } catch(Exception ex) {
        // TODO: Логируем исключение
    }
});
Вопрос: Стоит ли использовать фреймворки для небольших проектов?

Лучший ответ:
А почему и нет? А вот "лепить" не стоит ;)

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

Лучший ответ:
Раз мы изменяем наш вектор — то по неконстантной сцылке.void add (int n, std::vector<int>& vec){
    vec.push_back(n);
}

std::vector <int> myVec;
add(5, myVec);

Худший ответ:
[] - возвращает ссылку на элемент. ru.cppreference.com/w/cpp/container/vector/operator_atTestVec[0].x = 1; 
TestVec[0].output();
Вопрос: Собеседование на позицию junior разработчика вопросы?

Лучший ответ:
Собеседование на должность javascript-разработчика (senior). Как пройти и какие вопросы?

Худший ответ:
Вопросы на сободеседовании для JS разработчика Вопросы на собеседовании на должность Front-end де...
Вопрос: Какие элементы я должен переносить с HTML в React?

Лучший ответ:
Если это SPA, все элементы нужно писать в React,
кроме<div class="root"></div>
куда рендерится приложение.
Нет никакого смысла писать их в .html, ни с точки зрения производительности, ни с точки зрения логики.

Худший ответ:
Думаю вам стоит углубить знания в jsx. Но на крайний случай используйте это magic.reactjs.net/htmltojsx.htm
Слева html cправо jsx.
Вопрос: Берут ли на службу по контракту программистов?

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

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

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

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

Лучший ответ:
kvm с виртуалками. памяти много, хватит.
Отказоустойчивый кластер из нескольких mysql нод
ldap сервер - авторизация для самбы, виртуалок и прочего. домен для вин-машин.
bacula
owncloud
openvpn сервер

Худший ответ:
Для обучения на сервер должна быть нагрузка, ну можете "тупо" изучать все что есть на свете, но это никогда не заменит опыт в реальных проктах.
Вопрос: Как понимать такое объявление переменных: var = var = false?

Лучший ответ:
Получается, что объявляем две переменных <...> То есть это равносильно
Не получается, не равносильно. Объявляется одна переменная. Вторая - выполняется лишь присваивание. И если - ВНИМАНИЕ - переменной с таким именем нет в текущей области видимости, будет выполнено присваивание переменной из внешней области видимости. Это, как нетрудно понять, отличный источник потенциальных багов (переменная, которую вроде бы никто не трогал, внезапно своё значение изменила). Ну а если такой переменной ни в одной из внешних областей видимости нет, будет создана глобальная переменная.
Короче, подобный код - безграмотный (а в строгом режиме, при отсутствии второй переменной в какой-либо из доступных областей видимости - и вовсе нерабочий, упадёт с ошибкой).

Худший ответ:
«А — ассоциативность»Ассоциативность определяет порядок, в котором обрабатываются операторы с одинаковым приоритетом. Например, рассмотрим выражение:a OP b OP c
Левая ассоциативность (слева-направо) означает, что оно обрабатывается как (a OP b) OP c, в то время как правая ассоциативность (справа-налево) означает, что они интерпретируются как a OP (b OP c). Операторы присваивания являются право-ассоциативными, так что вы можете написать:a = b = 5;
с ожидаемым результатом, что a и b будут равны 5. Это происходит, потому что оператор присваивания возвращает тот результат, который присваивает. Сначала b становится равным 5, затем a принимает значение b.
Вопрос: Какую основную рабочую ОС используют в повседневности для Java-разработки?

Лучший ответ:
Какую ОС "правильнее" и лучше использовать на ваш взгляд разработчику? 
Знакомую. Рабочее окружение должно быть максимально привычным вне зависимости от рода деятельности.

Худший ответ:
По большому счету без разницы.
А так удобно иметь на машине разработчика ОС такую же на какой будет работать приложение.
Вопрос: Использовать bootstrap4grid или нет?

Лучший ответ:
Стоит ли их использовать? Или писать на flex+css-grid? 
CSS Grid пока мало где поддерживается, если хотитие пишите на нем с фоллбэками на flex, пост на хабре про это
Использовать сетку однозначно стоит, но мешать с CSS Grid - такое себе, не советую.

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

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

Худший ответ:
А чего вообще знать хотите? 
Вообще есть разные курсы от крупных фирм производителей сертификаты.
Вопрос: Как можно защитить свой АПИ в SPA или SSR приложение?

Лучший ответ:
Если хотите защититься от того что-бы кто-то во фронте использовал ваше API, то можно использовать https://developer.mozilla.org/ru/docs/Web/HTTP/CORS.
Если хотите защититься от чьего-то бекэнда - то тут намного сложнее, почти невозможно. Скорее всего это отслеживать и банить. Или при какой-то плотности запросов выдавать запрос на капчу.

Худший ответ:
Для yii2 есть штатный механизм токенов - bearer token
В своем проекте я создал BaseController наследуемый от ActiveController и в нем методpublic function behaviors()
	{
		$arBehaviors = parent::behaviors();

		$arBehaviors['authenticator'] = [
			'class' => HttpBearerAuth::class,
		];

		$arBehaviors['contentNegotiator'] = [
			'class' => ContentNegotiator::class,
			'formats' => [
				'application/json' => Response::FORMAT_JSON,
			],
		];

		return $arBehaviors;
	}
Во vue отправляется ajax запрос на back с логином/паролем. На back'е примерно такой actionpublic function actionLogin()
	{
		$model = new LoginForm();

		if ($model->load(Yii::$app->getRequest()->getBodyParams(), '') && $model->login()) {
			$oUser = User::findOne(Yii::$app->user->id);
			$oUser->generateAuthKey();
			$oUser->save();

			$userData = $oUser->toArray();
			unset($userData['password_hash']);
			unset($userData['password_reset_token']);
			return ['access_token' => $oUser->getAuthKey(), 'user' => $userData];
		}
		else {
			$model->validate();
			return $model;
		}
	}
Вопрос: Как настроить обход блокировок для конкретных сайтов?

Лучший ответ:
Поднять/арендовать vpn и маршрутизировать туда трафик на определенные ip сайтов на уровне системы.

Худший ответ:
Есть несколько расширений для браузера типа FoxyProxy или Proxy SwitchyOmega. Они позволяют направлять запросы через proxy сервер только для определенных сайтов.
Вопрос: Делать сетки на float не труъ?

Лучший ответ:
А этот популярный специалист что делал пока флексов и гридов не было, таблицами верстал?
Если инструмент справляется со своей задачей, зачем его в чем-то упрекать?

Худший ответ:
Стоит ли переходить на флексы?если в ТЗ нет браузеров, которые их не поддерживают - стоит
У опытного спеца должно быть пару лет верстки на таблицах - если их нет, то он спецом не является
Вопрос: Какой видеоплеер нормально держит уровень громкости?

Лучший ответ:
JetAudio Plus VX - в настройках есть Dynamic Range Control, "выравнивающий" звук в фильмах.
Еще эта программа содеержит один из наиболее удобных конвертеров форматов видео/аудио.

Худший ответ:
Решение для Light Alloy:
Правой кнопкой мыши по иконке звуковой колонки -> Опции звука: 
- Разрешить встроенный модуль обработки звука
- Альтернативное усиление
- Баланс звука 100%
- Остальное не трогать.
Всё. Переходы между тихой и громкой сценой получаются чуууть-чуть пожоще, чем в ДжетАудио и ГОМе (название лол), но смотреть можно!
Вопрос: Есть хороший туториал по адаптивной верстке?

Лучший ответ:
Вот тут посвежее: https://webref.ru/layout/advanced-html-css/respons...

Худший ответ:
лови!
htmlbook.ru/css/value/media
играйся, практикуйся!
Вопрос: Надо ли бросать исключение при приеме ошибочных (невалидных) данных?

Лучший ответ:
Да, нужно, в большинстве случаев. Можно создать класс ValidationException, который принимает в конструкторе массив сообщений с ошибками и унаследовать его от класса Exception:class ValidationException extends Exception
{
    /**
     * Validation error messages.
     * 
     * @var array
     */
    protected $errors = [];

    /**
     * Constructor.
     * 
     * @param array $errors
     */
    public function __construct($errors)
    {
        $this -> errors = $errors;
    }

    /* геттер для свойства $errors */
}

Худший ответ:
Да, нужно, в большинстве случаев. Можно создать класс ValidationException, который принимает в конструкторе массив сообщений с ошибками и унаследовать его от класса Exception:class ValidationException extends Exception
{
    /**
     * Validation error messages.
     * 
     * @var array
     */
    protected $errors = [];

    /**
     * Constructor.
     * 
     * @param array $errors
     */
    public function __construct($errors)
    {
        $this -> errors = $errors;
    }

    /* геттер для свойства $errors */
}
Вопрос: Как настроить вывод ошибок после валидации в Laravel?

Лучший ответ:
После суточного танца с бубнами и вызова пяти экстрасенсов, решением вопроса оказалось проставление в каждом теге input атрибута id, значение которого и берется для составления объекта $errors
Пример:<input class="form-control" type="text" name="email" value="{{ old('email') }}" id="email">
Также все-таки необходимо убрать подгрузку \Illuminate\Session\Middleware\StartSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class в protected $middleware.

Худший ответ:
вот как работает редирект после валидации.return redirect()->to($this->getRedirectUrl())
                        ->withInput($request->input())
                        ->withErrors($errors, $this->errorBag());
покажите метод и вьюшку, которая отображает форму.
Т.к. то что вы выложили работает только по посту
Вопрос: Почему этот код не работает с jQuery 3?

Лучший ответ:
var sizeEmpty = $('#checkout-form').find('.empty_field').size();
Вот как, size значит... Ясно:

Note: This method has been removed in jQuery 3.0. Use the .length property instead.

Худший ответ:
Ну вы же не первый раз уже вопрос задаете, неужели сложно обернуть код в тэг code нажав кнопку </> для читабельности, а не выбрасывать его в таком виде? И при этом отмечать правильные ответы. С таким отношением вам на более-менее серьезные вопросы никто отвечать не будет.
В данном случае вместо.size() используйте .length:var sizeEmpty = $('#checkout-form').find('.empty_field').length;
Вопрос: Как работает Webpack и Vue.js?

Лучший ответ:
О боги, этот человек на днях допытывал народ о Server-rendering. Хорошо что внял совету и пошел учить основы)))
Это dev сервер, предназначенный для разработки. Когда соберешь проект, можешь размещать его где угодно.

Худший ответ:
Вы во vue-cli используете шаблон webpack-simple, так-что смысла в дополнительном сервере нет. Как в предыдущем ответе легче отобрать сгенерированный bundle.js и включить в свой html.
Вопрос: Как убрать отступ между div и h2?

Лучший ответ:
Flexbox использовать начали, а изучить его не удосужились?.journal__row__item
    align-content: flex-start;

Худший ответ:
у меня подобного блока на сайте вообще нет
или я куда-то не туда смотрю?
Вопрос: Существует ли лаконичное описание математики?

Лучший ответ:
Математика за 30 секунд
Год: 2014
Автор: под ред. Ричарда Брауна
Переводчик: Карнаушко И.
Издательство: Рипол Классик
ISBN: 978-5-386-07012-0
Серия: Узнать за 30 секунд
Язык: РусскийМатематика. 50 идей, о которых нужно знать
Год издания: 2014
Автор: Крилли Т.
Переводчик: Ш. Мартынова (с англ.)
Издательство: Фантом Пресс
ISBN: 978-5-86471-670-0
Язык: РусскийМагия математики: Как найти x и зачем это нужно
Год издания: 2016
Автор: Бенджамин А.
Переводчик: Д. Глебов
Издательство: Альпина Диджитал
ISBN: 978-5-9614-4466-7
Язык: РусскийУдовольствие от x
Год: 2014
Автор: Строгац С.
Издательство: Манн, Иванов и Фербер
ISBN: 978-500057-008-1
Язык: РусскийМатематика без формул
Год выпуска: 1995
Автор: Пухначев Ю., Попов Ю.Беседы о математике. Книга 1. Дискретные объекты
Год выпуска: 2002
Автор: Болтянский В.Г., Савин А.П.
Жанр: Математика
Издательство: МЦНМО
ISBN: 5-94057-040-2
Язык: РусскийМало ли...Логарифмическая линейка
Год издания: 1958
Автор: Кущенко В.С.
Жанр или тематика: Математика
Издательство: Судпромгиз
Язык: РусскийСчётная линейка
Год выпуска: 1967
Автор: Румшиский Лев Зимонович
Издательство: "Наука"
УДК: 681.143:518.5
Язык: Русский

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

Лучший ответ:
// Количество заполненных полей в форме делишь на общее количество полей и умножаешь на 100 и передаешь в метод отображения прогресс бара
// Например в форме 7 полей. Заполнил 3. Получается (3 / 7) * 100 = примерно 43%
// Передаешь в метод и отображаешь 43%
//
// Твой же способ как по мне, то неправильный. Поле же не имеет определенного размера. Человек может ввести например имя "Оля" (3 символа) и имя "Светлана" (8 символов). И считывать процент заполнения по символьно в таком случае не получится

Худший ответ:
валидировать поля
брать сумму валидированных полей по onChange = X
заполнять прогресс бар на X/N, где N - число всех полей
Вопрос: Почему при попытке подключиться к удалённому mysql серверу подменяется IP адресс?

Лучший ответ:
Всё правильно, так и должно быть,  для пользователя root подключающегося с адреса 188.163.33.129 доступ запрещён

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

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

Худший ответ:
Соглашусь с sim3x - не спеши, это во-первых.
Во-вторых, на 24 дюймах при разрешении Full-HD - вполне можно рассмотреть пиксели, так что с такими чувствительными глазами стОит брать разрешение побольше.
В-третьих, лучше не рисковать и брать глянцевый - глянец, хоть и даёт блики на свету (которые на самом деле не мешают), но, насколько мне известно, автоматически избавляет от карандашного эффекта (мерцание) и дает фору матовым экранам по насыщенности картинки.
Закладываем эти ограничение в я.маркет и читаем отзывы:ссылка
Правда, там нельзя настроить тип поверхности экрана (глянцевый/матовый), порой вообще эту информацию сложно уточнить даже у производителя - поэтому читай отзывы, обзоры.
Вопрос: Как для блока или фона добавить затемнение?

Лучший ответ:
создай див, спозиционируй его абсолютно, чтобы он был поверх картинки и далее задай ему background linear-gradient с нужным градиентом (от полупрозрачного черного снизу переливай к прозрачному сверху)

Худший ответ:
Конкретно как на картинке легче будет сделать каким-нибудь градиентом. В теории.
Вопрос: Будет ли официальная поддержка F# в Unity?

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

Худший ответ:
Официально - даже в планах нет. Но кто знает, может внезапно появится. Впрочем, это очень маловероятно, поскольку не имеет никакого смысла для разработчиков Unity и почти всех разработчиков НА Unity. :)
Вопрос: Автоматическая очистка POST в проекте?

Лучший ответ:
массив $_POST автоматически переносится в некую переменную, назовём её $P
Что практически бессмысленно.Нормальная ли это практа
Нет. Посмотрите, как работает Symfony HttpFoundation, например. Там никто ничего не очищает. Безопасность обеспечивается в разных слоях приложения по-разному. В работе с БД - с помощью подготовленных запросов, при выводе данных - с помощью замены HTML-сущностей или экранирования и т.п.Как при очистке и перемещении $_POST->$P предусмотреть абсолютно всё.
Никак.в некоторых формах может приниматься небольшой текст, в некоторых цифры, в некоторых e-mail, в некоторых большой текст где разрешены спецсимволы типа +,=,! и т.д.
Это вопросы валидации, а не очистки данных, скорее.

Худший ответ:
Введи правила оформления названия инпута. К примеру name="date_inputname" И при обработке пост, спаршивай имя инпута от 0 символа до "_". Вот тебе и название метода которым этот инпут проверять.
Вопрос: Каковы должны быть права доступа и владелец у файлов сертификатов и ключей сервера OpenVPN?

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

Худший ответ:
Лучше 600 влалец root
Вопрос: Организация рабочих мест: сервер + бездисковые тонкие клиенты = Linux. Как?

Лучший ответ:
Да thinstation и по тому же rdp лезите на XRDP.

Худший ответ:
почему вы предлагаете XRDP вместо LTSP? чем он лучше?
Вопрос: Что такое CORS?

Лучший ответ:
Все ответы из серии лучше бы молчал... Смысл повторять то, что написано в википедии. Вам в вопросе человек явно указал - НА ПАЛЬЦАХ, а они ему про стандарты... Дали бы просто ссылку на MDN - там самая лучшая документация обо всём: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
На русском тоже есть статьи: https://grishaev.me/cors
Вот моя текущая проблема, объсняю на её примере: 
На нашем сервере (Сервер А) размещается Ангуляр приложение (DAPP), представляющее собой интерфейс к Ethernet смарт-контракту, который грубо говоря является нашим бэкендом.
На стороннем сервисе (Сервер Б) запущен http-интерфейс для доступа к нашему контракту (фактически это шлюз в сеть Ethereum). Это бесплатный сервис, к которому у нас нет доступа (Infura).
Мне нужно из моего DAPP, запущенного в браузере пользователя и которое загрузилось с Сервера А, делать http-запросы на Сервер Б, и тут в браузере выскакивает CORS и кричит НИИИИЗЯЯЯЯЯЯЯЯ! Причём в Chrome всё ок, а в долбаном тормозном Firefox (господи, сократи число пользующиегося им идиотов, чтобы он скорее издох) вылетает ошибка. Ибо, как завещает CORS, негоже JS коду, загруженному с одного адреса, делать http запросы на другой. Причём CORS устроен так, что эта ошибка не дебажится с помощью JS - типа для того чтобы это ограничение не смогли никак обойти. Поэтому какие бы я не прописывал Серверу А заголовки 'Allow-Origin', это ничего не меняет. В Гугле уже осознали весь идиотизм ситуации и в новых версиях Хрома уже не блочат всё подряд, как раньше, пропуская  “простые” запросы (GET/POST), остальный браузеры пока тупят.
ПС. Проблему решили запуском прокси сервера, который добавляет в ответы от Сервера 2 заголовки Access-Controll-Allow-Origin с адресом Сервера 1. Тоесть Сервер 2 должен сказать браузеру, что он доверяет коду, загруженному с Сервера 1. Вот и весь CORS.

Худший ответ:
Это часть стандарта HTTP, HTTP-заголовки, которые сервер сайта возвращает клиенту, в том числе браузеру, давая понять, что разрешает HTTP-запросы (доступ к содержимому) со всех или только с заданных доменов (URL), но действует это только в браузере, то есть для запросов с клиентской стороны на страницах того сайта (JavaScript (AJAX), Flash, <iframe>), а если запрос делается с сервера, то ограничить невозможно, ограничениями "занимается" браузер именно, сервер ничем не отличается от обычного ПК. По умолчанию сервер (Apache/nginx) всегда запрещает доступ ко всем своим ресурсам, чтобы разрешить нужно отредактировать скрипты, чтобы к HTTP-ответу добавляли разрешающий заголовок для HTTP, и добавить разрешения в crossdomain.xml для Flash. Открытый же доступ бывает у "публичных" API, разрешающих такое использование, обычно они имеют "обертки" на JavaScript, внутри которых такие запросы.
Вопрос: Как сделать бота для беседы ВКонтакте?

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

Худший ответ:
Простой пример на Python