Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #51 (permalink)  
Старый 12.10.2011, 23:10
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Андрей Параничев
загрузка файлов на хост с клиента?
Ещё до этого не дошел.
Сообщение от Андрей Параничев
модули придется располагать на разных портах
Вот тут не понял, физически распологать?
Сообщение от Андрей Параничев
значит проблема роутинга у вас не решена вообще
Где про это почитать?
Сообщение от Андрей Параничев
Кстати, просто на всякий случай
Спасибо, буду иметь ввиду.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием
  #52 (permalink)  
Старый 12.10.2011, 23:42
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

B~Vladi,
У вас эти сервера запускаются на разных портах, а из nginx к ним прокси пасс с субдоменов. Т.е. фактически это максимум можно назвать виртуальными хостами. Но внутри сервера вы как выбираете, какой код будет запускаться, вот у меня например было что-то такое:
Framework({
	"/upload/(\s+)": {
		"json": function(id) {
			return false;
		},
		"html": {
			"get": function(id) {
				this.error(404);
			},
			"post": function(id, postData) {
				return true;
			}
		}
	}
});

Ну это очень примерно.
Ответить с цитированием
  #53 (permalink)  
Старый 13.10.2011, 00:22
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Так:
module.exports = function(request, response) {
	var serviceName = request.url.match(/^\/([^/]+)/);
	if (serviceName) { // URL состоит из: domain.ru/serviceName/serviceData[/./././]
		serviceName = serviceName[1];
		if (serviceName != 'index' && SERVICES.hasOwnProperty(serviceName)) {
			SERVICES[serviceName](request, response);
		} else { // Если запрос приходит на неизвестный сервис, вызываем код сервера ошибок
			request.headers.error = 404;
			LIB.server.error(request, response);
		}
	} else { // Если имя сервиса отсутствует, вызывается сервис index (главная)
		SERVICES['index'](request, response);
	}
};

module.exports.port = 8001;

// Инициализация сервисов. Так же оформенны в виде модулей.
LIB.fileSystem.readdir(CONFIG.path.services, function(err, files) {
	var length = files.length;
	while (length--) {
		var serviceData = files[length].match(/^([^\.]+).js$/);
		if (serviceData) {
			SERVICES[serviceData[1]] = require(CONFIG.path.services + '/' + serviceData[0]);
		}
	}
});

Этого вполне достаточно.
А о каких проблемах роутинга речь?
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф

Последний раз редактировалось B~Vladi, 13.10.2011 в 01:19.
Ответить с цитированием
  #54 (permalink)  
Старый 13.10.2011, 01:50
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от x-yuri
а оно запросы случайно не в одном потоке обрабатывает?
Сообщение от Magneto
Это что сарказм? В одном потоке, но если я не ошибаюсь то есть вебворкеры и возможность запуска несколько процессов по числу процессоров.
я в общем-то думал о том, что в случае multithreaded/multiprocess веб-сервера, один запрос не может приостановить весь веб-сервер. Не знаю, насколько это аргумент.

Сообщение от Kolyaj
В одном, в этом вся прелесть.
ну это с точки зрения, что не надо синхронизировать

Сообщение от B~Vladi
Вообще если честно я не понимаю, почему говорят что нода для этого плохо подходит.
а какие аргументы?

Сообщение от Андрей Параничев
Некрасивый он, и по внутреннему коду и по тому коду, что я должен под него писать
хм, неужели jquery красивый внутри?

Сообщение от Андрей Параничев
У меня такое ощущение, что его писали не рассчитывая, что на нем будут писать что-то большое.
он основан на sinatra. Его сегодня один человек назвал микрофреймворк. Не знаю точно, что это означает, но он определенно минималистичен. Писали его с расчетом быстрого создания приложений с минимальными усилиями. Т.е. sinatra даже называет себя не фреймворком, а DSL. Можно ли на нем писать что-то большое... не знаю, не пробовал.

Последний раз редактировалось x-yuri, 13.10.2011 в 01:54.
Ответить с цитированием
  #55 (permalink)  
Старый 13.10.2011, 08:49
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от x-yuri
а какие аргументы?
Я точно не помню, сложилось такое впечатление.
Недавно на GDD с одним знакомым PHP-кодером состоялся примерно такой диалог:
Я: Я проект на ноде делаю.
Он: Нода же не для этого? Под неё можно только чаты писать.
Я: Почему?
Он: Ну там же асинхронный код, коллбеки везде?
Я: Ну и что?
Он: Ну как ты будешь писать сайт в асинхронном стиле? Это же сложно?
Я: Ну да, сложнее чем синхронный. Берёшь руками и пишешь. Главное шаблонизатор хороший иметь.

В общем он так и не согласился со мной и аргументов никаких конкретных не назвал. Мне и самому интересно, почему же он плохо подходит.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием
  #56 (permalink)  
Старый 13.10.2011, 11:55
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от B~Vladi
В общем он так и не согласился со мной и аргументов никаких конкретных не назвал. Мне и самому интересно, почему же он плохо подходит.
Потому что очень сложно PHP-шные мозги (без всякого негатива термин) перестроить на асинхронный JavaScript.
Ответить с цитированием
  #57 (permalink)  
Старый 13.10.2011, 21:36
Аватар для systemiv
Профессор
Отправить личное сообщение для systemiv Посмотреть профиль Найти все сообщения от systemiv
 
Регистрация: 19.08.2011
Сообщений: 186

А как Вы относитесь к реляционным БД в mySql?
Или лучше NoSql?
Ответить с цитированием
  #58 (permalink)  
Старый 13.10.2011, 22:16
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от systemiv
А как Вы относитесь к реляционным БД в mySql?
Глупость написал.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием
  #59 (permalink)  
Старый 13.10.2011, 22:37
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от systemiv
А как Вы относитесь к реляционным БД в mySql?
ты действильено думаешь, что nosql всегда лучше? Или mysql всегда лучше? Реляционные БД делают упор на целостность и доступность, а nosql-системы на устойчивости к разделению и доступности (теорема САР)
Ответить с цитированием
  #60 (permalink)  
Старый 13.10.2011, 22:47
Аватар для systemiv
Профессор
Отправить личное сообщение для systemiv Посмотреть профиль Найти все сообщения от systemiv
 
Регистрация: 19.08.2011
Сообщений: 186

Сори, я хотел написать в node
x-yuri, не всегда. Но в каких случаях, лучше использовать mySql или например MongoBD

Последний раз редактировалось systemiv, 13.10.2011 в 22:53.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Серверный JavaScript. JS на сервере. Sniper Общие вопросы Javascript 9 08.11.2013 01:31
Картинка обрабатывается js 4yBaK Общие вопросы Javascript 10 11.09.2011 09:28
Не получается передать переменную из JS в PHP Lion_astana AJAX и COMET 2 23.11.2010 17:23
помогите задать переменную в js bsgroupua Общие вопросы Javascript 3 01.02.2010 18:28
Помогите! Серверный JS swa Серверные языки и технологии 26 13.04.2009 13:23