• Как исправить ошибку при установке BEM?

    @antonowano Автор вопроса
    Таже ошибка:

    D:\node-project\awano>npm i
    npm WARN engine puml-link@0.0.1: wanted: {"node":"0.10"} (current: {"node":"0.12
    .0","npm":"2.5.1"})
    npm WARN engine hawk@0.10.2: wanted: {"node":"0.8.x"} (current: {"node":"0.12.0"
    ,"npm":"2.5.1"})
    npm WARN engine sntp@0.1.4: wanted: {"node":"0.8.x"} (current: {"node":"0.12.0",
    "npm":"2.5.1"})
    npm WARN engine hoek@0.7.6: wanted: {"node":"0.8.x"} (current: {"node":"0.12.0",
    "npm":"2.5.1"})
    npm WARN engine boom@0.3.8: wanted: {"node":"0.8.x"} (current: {"node":"0.12.0",
    "npm":"2.5.1"})
    npm WARN engine cryptiles@0.1.3: wanted: {"node":"0.8.x"} (current: {"node":"0.1
    2.0","npm":"2.5.1"})
    |
    > bem-project-stub@1.0.0 postinstall D:\node-project\awano
    > bower-npm-install
    
    D:\node-project\awano\node_modules\bower-npm-install\node_modules\update-notifie
    r\node_modules\configstore\index.js:74
                                    throw err;
                                          ^
    Error: EPERM, operation not permitted 'C:\Users\antonowano\.config\configstore\u
    pdate-notifier-bower-npm-install.yml'
        at Error (native)
        at Object.fs.openSync (evalmachine.<anonymous>:502:18)
        at Object.fs.writeFileSync (evalmachine.<anonymous>:1103:15)
        at Object.create.all.set (D:\node-project\awano\node_modules\bower-npm-insta
    ll\node_modules\update-notifier\node_modules\configstore\index.js:64:8)
        at Object.Configstore (D:\node-project\awano\node_modules\bower-npm-install\
    node_modules\update-notifier\node_modules\configstore\index.js:27:11)
        at new UpdateNotifier (D:\node-project\awano\node_modules\bower-npm-install\
    node_modules\update-notifier\lib\update-notifier.js:33:17)
        at module.exports (D:\node-project\awano\node_modules\bower-npm-install\node
    _modules\update-notifier\lib\update-notifier.js:146:23)
        at Object.<anonymous> (D:\node-project\awano\node_modules\bower-npm-install\
    bin\bower-npm-install:4:16)
        at Module._compile (module.js:460:26)
        at Object.Module._extensions..js (module.js:478:10)
    
    npm ERR! Windows_NT 6.1.7600
    npm ERR! argv "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs
    \\node_modules\\npm\\bin\\npm-cli.js" "i"
    npm ERR! node v0.12.0
    npm ERR! npm  v2.5.1
    npm ERR! code ELIFECYCLE
    npm ERR! bem-project-stub@1.0.0 postinstall: `bower-npm-install`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the bem-project-stub@1.0.0 postinstall script 'bower-npm-inst
    all'.
    npm ERR! This is most likely a problem with the bem-project-stub package,
    npm ERR! not with npm itself.
    npm ERR! Tell the author that this fails on your system:
    npm ERR!     bower-npm-install
    npm ERR! You can get their info via:
    npm ERR!     npm owner ls bem-project-stub
    npm ERR! There is likely additional logging output above.
    
    npm ERR! Please include the following file with any support request:
    npm ERR!     D:\node-project\awano\npm-debug.log
  • Как исправить ошибку при установке BEM?

    @antonowano Автор вопроса
    у меня BEM собрался только 1 раз.
  • Как организовать вывод в одной валюте?

    @antonowano Автор вопроса
    Леонид Сысолетин: Что нужно, а что нет - определяет ТЗ. Если отойти от ТЗ и подумать логически, то выбор валюты в которой хранить цену опять же стоит оставить на пользователя, потому что котировки постоянно меняются и пользователю виднее на какую валюту опираться при расчете цены за предложение для пользователя интересующийся другой валютой расчета.
  • Как организовать вывод в одной валюте?

    @antonowano Автор вопроса
    Возникнет проблема при поиске по цене.
  • Какие библиотеки использовать для сайта на NodeJS?

    @antonowano Автор вопроса
    Мой первый сервер на NodeJS
    var http 	= require('http'),
    	url 	= require('url'),
    	fs 		= require('fs'),
    	mime 	= require('mime'),
    	swig	= require('swig');
    
    	/** Front-end директория */
    var WDIR 	= './web',
    	/** Директория шаблонов ошибок */
    	EDIR 	= WDIR + '/_errors',
    	/** Путь к макету сайта */
    	LAYOUT	= WDIR + '/layout.html',
    	/** Файлы которые нельзя вызвать по ссылке */
    	EXCLUDE = [LAYOUT],
    	/** Кодировка на сервере */
    	CHARSET = 'UTF-8';
    
    /** Запускаем сервер */
    http.createServer(function(req, res) {
    	res.setHeader('Content-Type', 'text/plain; charset=' + CHARSET);
    	var pathToFile = url.parse(req.url).pathname;
    		pathToFile = pathToFile == '/' ? '/index.html' : pathToFile;
    	display(res, WDIR + pathToFile);
    }).listen(80);
    
    /**
     * Открываем файл в окне браузера
     *
     * @param res
     * @param pathToFile
     * @param isError	- если пытаемся показать шаблон ошибки
     */
    function display(res, pathToFile, isError)
    {
    	if (in_array(pathToFile, EXCLUDE)) {
    		getError(isError, res, 404);
    		return;
    	}
    	fs.readFile(pathToFile, function(err, data) {
    		if (err) {
    			getError(isError, res, 404);
    			return;
    		}
    		var mimeFile = setHeader(res, pathToFile);
    		if (mimeFile == 'text/html') {
    			swig.setDefaults({ cache: false });
    			data = swig.render(data.toString(), {
    				filename: LAYOUT
    			});
    		}
    
    		res.end(data);
    	});
    }
    
    /**
     * Установка заголовка
     *
     * @param res
     * @param pathToFile
     * @returns {string} MIME-файла или Content-Type
     */
    function setHeader(res, pathToFile)
    {
    	var mimeFile = mime.lookup(pathToFile);
    	res.setHeader('Content-Type', mimeFile + '; charset=' + CHARSET);
    	return mimeFile;
    }
    
    /**
     *	Возвращаем ошибку
     *
     * @param mode - без шаблонный режим, если шаблон не загрузился
     * 				для исключения зацикливания при невозможности загрузить шаблон ошибки
     * @param res
     * @param code - код ошибки
     */
    function getError(mode, res, code)
    {
    	var template = EDIR + '/' + code + '.html';
    
    	if (mode) {
    		console.error('Отсутствует шаблон ошибки: ' + template);
    		res.end('Произошла ошибка!');
    	} else {
    		res.statusCode = code;
    		display(res, template, 1);
    	}
    }
    
    /**
     * Проверка наличия элемента в массиве по значению
     *
     * @param value
     * @param array
     * @returns {boolean}
     */
    function in_array(value, array) {
    	for(var i = 0; i < array.length; i++) {
    		if(array[i] == value) return true;
    	}
    	return false;
    }
  • В nodeJS нет метода replace?

    @antonowano Автор вопроса
    за locals спасибо, сам бы не догадался.
  • В nodeJS нет метода replace?

    @antonowano Автор вопроса
    а вот swig, конкретно висит, что с ним случилось.
    var swig = require('swig');
    swig.render(data.toString(), { name: 'Ivan' });
  • В nodeJS нет метода replace?

    @antonowano Автор вопроса
    В том то и беда, то что не работает.
  • Как выделить цветом район на YMap?

    @antonowano Автор вопроса
    Я имел ввиду API Яндекс.Карт
    Хотелось выделить районы цветом и сделать их кликабельными.
    На данный момент я решил эту задачу забрав SVG рисунок области у википедиа и каждый район сделал кликабельным и подсвечиваемым, название районов конечно тоже можно дописать, но без масштабируемости придется вглядываться в мелкие буковки.
  • Symfony2+Doctrine2 почему не создается репозиторий?

    @antonowano Автор вопроса
    Причина проблемы в том, что при наличии XML или YML описания аннотации игнорируются. Достаточно было бы просто удалить XML и YML после импорта в аннотации.
  • Как реализовать поиск по населенным пунктам?

    @antonowano Автор вопроса
    Александр Евгеньевич: текстовое поле+карта. на карте щелкаем на дом - в текстовое поле пишет полный адрес или вводим адрес в текстовое поле - на карте показывает точку предполагаемого места.
    При щелчках по карте кэш по-моему бессмысленный, так как точек великое множество даже на одном доме.
  • Как реализовать поиск по населенным пунктам?

    @antonowano Автор вопроса
    Александр Евгеньевич: кэшировать каждую точку на карте не бессмысленно?
  • Как реализовать поиск по населенным пунктам?

    @antonowano Автор вопроса
    не знаю как у Google, но у Yandex лимит по количеству запросов к геокодеру
  • Как перенести сайт на другой хостинг без скачивания?

    @antonowano Автор вопроса
    Хостер из тех кто переносит только статические сайта (только на HTML, CSS, Flash) и некоторые CMS, а самопис в отрез не соглашается.
  • Какой PHP маршрутизатор выбрать?

    @antonowano Автор вопроса
    Symfony роутер хорош, но не слишком ли он грамозкий