Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Серверный JavaScript: SpiderMonkey и http-запросы (https://javascript.ru/forum/misc/13044-servernyjj-javascript-spidermonkey-i-http-zaprosy.html)

SV0L0CH 14.11.2010 03:19

Можно попытаться использовать вызовы внешних программ wget или curl, только я не уверен насчёт наличия такой возможности. Да и решение это выглядит сомнительно.
Может http://nodejs.ru/241 поможет? Хотя с другой стороны api у nodejs часто меняется.

SV0L0CH 14.11.2010 03:30

Цитата:

Сообщение от blessmaster
часть документов помечена грифом "только для служебного использования" или некоторые поля документа должны видеть только сотрудники соответствующего отдела

Тут, похоже, практичней будет реализовать фильтр в виде отдельного приложения, как я и предлагал в первом ответе.

blessmaster 14.11.2010 04:37

Есть ли в JS стандартное средство запуска внешних процессов? наподобие обратных апострофов в PHP?

SV0L0CH 14.11.2010 06:46

Цитата:

Сообщение от blessmaster
Есть ли в JS стандартное средство запуска внешних процессов? наподобие обратных апострофов в PHP?

В самом языке нет, только в реализациях.

Kolyaj 14.11.2010 09:07

Цитата:

Сообщение от SV0L0CH
По SpiderMonkey удалось выяснить что готовых к использованию решений нет.

http://gluescript.sourceforge.net/

blessmaster,
я вас до сих пор не понимаю. По вашим словам получается, есть возможность писать некий код внутри фреймворка, который находится внутри базы. Но при этом вы хотите зачем-то делать изнутри базы http-запросы в базу.

Запросы позволяют делать не интерпретатор, а среда выполнения.
Например, в node.js http-запросы делает не движок V8, а сам node.js.

blessmaster 17.11.2010 19:53

Цитата:

Сообщение от Kolyaj (Сообщение 79156)
я вас до сих пор не понимаю. По вашим словам получается, есть возможность писать некий код внутри фреймворка, который находится внутри базы. Но при этом вы хотите зачем-то делать изнутри базы http-запросы в базу.

Хорошо, ещё раз по-порядку.
Есть CouchDB - комплект два-в-одном - бессхемная документно-ориентированная база, предназначенная для хранения больших объёмов неструктурированных данных и высокопроизводительный веб-сервер, который может и напрямую выдавать данные из базы по встроенным запросам, и выполнять функции middleware - сервера приложений. Основным языком при этом является JavaScript, для чего в сервер внедрён SpiderMonkey.

Есть CouchApp - написанный целиком на JavaScript фреймворк, берущий на себя реализацию приличной доли функциональности по написанию сайта в рамках CouchDB сервера. Это опциональный компонент, его можно не использовать и из нашего рассмотрения исключить и забыть о нём вовсе - сервер CouchDB полностью самодостаточен, а CouchApp в его функциональность на системном уровне ничего нового не привносит.

Зачем мне нужен вызов "из базы"? Затем, что "вызов из базы" - это синоним к "вызов из сервера приложений" и, соответственно:
а) мне не нужно гонять к клиенту полновесные документы, если клиенту из них нужно два маленьких поля (а трафик пока ещё далеко не всегда халява и интернет далеко не везде быстр),
б) мне нужно более продвинутая модель ограничения доступа, чем она реализована в данный момент в движке базы,
в) даже, иногда, нужен вызов именно "из базы", учитывая, что это NoSQL и он априори лишён некоторых реляционных фишек, которые нужно реализовывать другим путём или мне нужно навесить дополнительную функциональность без того, чтобы заниматься написанием плагинов.

Цитата:

Сообщение от Kolyaj (Сообщение 79156)
Запросы позволяют делать не интерпретатор, а среда выполнения.

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

Цитата:

Сообщение от Kolyaj (Сообщение 79156)
Например, в node.js http-запросы делает не движок V8, а сам node.js.

В коде библиотек node.js постоянно идёт ссылка на объект process, который ни в одной из них явным образом не определяется. Кто реализует его, v8 или node.js?


Часовой пояс GMT +3, время: 18:26.