Гость 2poy_nyasha #1221 18 мая 2013 чому в mongoDB такие ебанные id'шники? типа 51976e193100474a32000001это нормально что /post/51976e193100474a32000001 такой адрес? Поделиться сообщением Ссылка на сообщение
TheDeadSkin #1222 18 мая 2013 как бы я хотел посочувствовать двапою, но к сожалению почти нихуя не понимаю в том, о чём он Поделиться сообщением Ссылка на сообщение
Обязательное_поле #1223 18 мая 2013 у руби синтаксис как у паскаля. может быть перенести все разговоры о руби в казикотопик? мне кстати очень нравится как организуется жава проект на диске.так в детстве порнуху прятали :lol: Почему никто не заквотил шутку? Поделиться сообщением Ссылка на сообщение
Kant #1224 18 мая 2013 скрин дерева в студию Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
rubish #1225 18 мая 2013 скрин дерева в студиюу меня сейчас нет доступа. но на работе у заказчика старые проекты на джаве. так там чтобы до исходников добраться - надо пройти фолдеров 5 Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение
Kant #1226 18 мая 2013 ну сишные в тройной вложенности, тоже не очевидно. Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #1227 18 мая 2013 нет, я же не рабист (function(){ var schemas = { Post: { name: String, text: String, tags: Array } } var models = {}; var init = false; function model (modelName) { if(!init) { throw new Exeption('You must init models before use it.') } else if( ! (modelName in models)) { throw new Exeption('Model not found'); } else { return models[modelName]; } } model.init = function (db) { for(var name in schemas) { models[name] = db.model(name, db.Schema(schemas[name])); } init = true; return model; } module.exports = model; }()); var model = require('./models').init(mongoose) рефакторинг это охуенно потом еще тесты накатаюЕбать у тебя каша в голове, постыдился бы такое выкладывать Нахуя решать классическую задачу, таким супер хуёвым способом? Поделиться сообщением Ссылка на сообщение
Гость 2poy_nyasha #1228 19 мая 2013 нет, я же не рабист (function(){ var schemas = { Post: { name: String, text: String, tags: Array } } var models = {}; var init = false; function model (modelName) { if(!init) { throw new Exeption('You must init models before use it.') } else if( ! (modelName in models)) { throw new Exeption('Model not found'); } else { return models[modelName]; } } model.init = function (db) { for(var name in schemas) { models[name] = db.model(name, db.Schema(schemas[name])); } init = true; return model; } module.exports = model; }()); var model = require('./models').init(mongoose) рефакторинг это охуенно потом еще тесты накатаюЕбать у тебя каша в голове, постыдился бы такое выкладывать Нахуя решать классическую задачу, таким супер хуёвым способом?это же модуль как бы ты решил? Поделиться сообщением Ссылка на сообщение
Tinplz #1229 19 мая 2013 ну сишные в тройной вложенности, тоже не очевидно. Так настраивается жеж всё. И куда компилить, и куда бинарки, и откуда исходники. Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #1230 19 мая 2013 нет, я же не рабист (function(){ var schemas = { Post: { name: String, text: String, tags: Array } } var models = {}; var init = false; function model (modelName) { if(!init) { throw new Exeption('You must init models before use it.') } else if( ! (modelName in models)) { throw new Exeption('Model not found'); } else { return models[modelName]; } } model.init = function (db) { for(var name in schemas) { models[name] = db.model(name, db.Schema(schemas[name])); } init = true; return model; } module.exports = model; }()); var model = require('./models').init(mongoose) рефакторинг это охуенно потом еще тесты накатаюЕбать у тебя каша в голове, постыдился бы такое выкладывать Нахуя решать классическую задачу, таким супер хуёвым способом?это же модуль как бы ты решил?Очевидно через рефлексивную фабрику. Тут только останется уточнить, стейтлесс или стейтфулл у тебя модули, либо и те и другие. От этого могут небольшие детали реализации отличаться. Поделиться сообщением Ссылка на сообщение
TycoooN #1231 19 мая 2013 Остался всего 1 шаг до фабрики фабрик Поделиться сообщением Ссылка на сообщение
TheDeadSkin #1232 19 мая 2013 Остался всего 1 шаг до фабрики фабрик говорят на руби одной строкой кода можно развернуть фабрику по производству автомобилей Поделиться сообщением Ссылка на сообщение
Гость 2poy_nyasha #1233 19 мая 2013 Этот модуль очевидно стейтфул, как и большинство модулей в ноде. Не до конца понимаю, как нода работает с ними, но она точно тянет контекст модуля. Это и есть по сути фабрика, только не понятно в чем ее рефлексивность. Шаблоны моделей (базы данных) записываются в файле models.js а в главном файле этот файл подключается и сразу инициализируетсяmodel = require('./models').init(mongoose);таким образом model создаст все модели и запишет их себе инкапсулированно. и чтобы получить модель надо просто вызвать model('ModelName') то есть это и есть фабрика фабрик, насколько я понимаю, и она хранит все состояния Моделей. Правда их состояние менять нельзя, но это так и надо, потому что это модели баз данных Поделиться сообщением Ссылка на сообщение
TycoooN #1234 19 мая 2013 Нахуй ты все это расписал, как будто это непонятно было Поделиться сообщением Ссылка на сообщение
Гость 2poy_nyasha #1235 19 мая 2013 ну Диман же написал, что сделал бы фабрику, а это и есть фабрика, в моем понимании. Вот и подумал, что он меня не понял Остался всего 1 шаг до фабрики фабрик говорят на руби одной строкой кода можно развернуть фабрику по производству автомобилей Поделиться сообщением Ссылка на сообщение
Гость 2poy_nyasha #1236 19 мая 2013 бля, такую хуйню делаю, и хуй пойми ради чего (function() { // hash change listener var onHashChange = function (callback) { if (("onhashchange" in window) && ("addEventListener" in window)) { window.addEventListener('hashchange', function(){ callback(location.hash.slice(1)); }); } else { var prevHash = location.hash; setInterval(function () { if (location.hash != prevHash) { storedHash = location.hash; callback(location.hash.slice(1)); } }, 100); } } var route = (function() { // list of routs var _routes = []; // patterns for replace var _patterns = { '\?' : '\\?', '\/' : '\\/', ':num' : '(\\d+)', ':string' : '(\\S+)', ':any' : '(.*)' } // make reg from string function _hashToReg(hash) { for(var pattern in _patterns) { hash = hash.replace(pattern, _patterns[pattern]); } return new RegExp('^' + hash + '$'); } onHashChange(function(hash) { for (var i = _routes.length - 1; i >= 0; i--) { var router = _routes[i], res = hash.match(router.reg); if(!res) continue; router.callback(res, router); }; }); // router constructor function Router (hash, cb, reg) { this.hash = hash; this.callback = cb; this.reg = reg; } // main function function route (hash, cb) { if(hash.constructor === RegExp) { var reg = hash; } else if(typeof hash === "string") { var reg = _hashToReg(hash); } else { throw new Error('Undefined type of hash'); } var res = new Router(hash, cb, reg); _routs.push(res); return res; } return route; }()); //tests ;(function(){ var routes = { '/all/:any' : '/all/aDж5&?', '/all?/:num/12gd' : '/all?/32423/12gd', '/post/:string?action=start' : '/post/assdf343d34d32?action=start' } for(rout in routes) { var res = route(rout, function(params, router) { console.log(params); }); console.log(res); console.assert(!!res.reg.test(routes[rout]), 'reg test not passed ' + rout); } }()); }()); route('/index/:num/:string', function(params){ console.log(params);}); остановите меня :( я велосипедист ебанный збс, вынес это тоже в модуль, минифицировал, получилось 1кб (function(global){var _routes=[];var _patterns={'\?':'\\?','\/':'\\/',':num':'(\\d+)',':string':'(\\S+)',':any':'(.*)'}var _onHashChange=function(callback){if(("onhashchange"in window)&&("addEventListener"in window)){window.addEventListener('hashchange',function(){callback(location.hash.slice(1));});}else{var prevHash=location.hash;setInterval(function(){if(location.hash!=prevHash){storedHash=location.hash;callback(location.hash.slice(1));}},100);}}function _hashToReg(hash){for(var pattern in _patterns){hash=hash.replace(pattern,_patterns[pattern]);}return new RegExp('^'+hash+'$');}function Router(hash,cb,reg){this.hash=hash;this.callback=cb;this.reg=reg;}function route(hash,cb){if(hash.constructor===RegExp){var reg=hash;}else if(typeof hash==="string"){var reg=_hashToReg(hash);}else{throw new Error('Undefined type of hash');}var res=new Router(hash,cb,reg);_routes.push(res);return res;}_onHashChange(function(hash){for(var i=_routes.length-1;i>=0;i--){var router=_routes[i],res=hash.match(router.reg);if(!res)continue;router.callback(res,router);};});global.route=route;}(window||this)); наслаждайтесь Поделиться сообщением Ссылка на сообщение
Гость 2poy_nyasha #1238 19 мая 2013 ну да, со своим кодом я могу расчитывать только на рабистов, они привыкли такое есть (function(global) { // list of routs var _routes = []; // patterns for replace var _patterns = { '\?' : '\\?', '\/' : '\\/', ':num' : '(\\d+)', ':string' : '(\\S+)', ':any' : '(.*)' } // hash change listener var _onHashChange = function (callback) { if (("onhashchange" in window) && ("addEventListener" in window)) { window.addEventListener('hashchange', function(){ callback(location.hash.slice(1)); }); } else { var prevHash = location.hash; setInterval(function () { if (location.hash != prevHash) { storedHash = location.hash; callback(location.hash.slice(1)); } }, 100); } } // make reg from string function _hashToReg(hash) { for(var pattern in _patterns) { hash = hash.replace(pattern, _patterns[pattern]); } return new RegExp('^' + hash + '$'); } // router constructor function Router (hash, cb, reg) { this.id = _routes.length; this.hash = hash; this.callback = cb; this.reg = reg; } Router.prototype.remove = function () { _routes[this.id] = null; } // main function function route (hash, cb) { if(hash.constructor === RegExp) { var reg = hash; } else if(typeof hash === "string") { var reg = _hashToReg(hash); } else { throw new Error('Undefined type of hash'); } var res = new Router(hash, cb, reg); _routes.push(res); return res; } // start listen hash change _onHashChange(function(hash) { for (var i = _routes.length - 1; i >= 0; i--) { var router = _routes[i]; if(router === null) continue; var res = hash.match(router.reg); if(!res) continue; router.callback(res.slice(1), router); }; }); global.route = route; }(window || this)); он работает, но он мне не доставляет удовольствия, что с ним не так? Поделиться сообщением Ссылка на сообщение
starlight #1239 19 мая 2013 (изменено) Доброго времени суток, я уже просил тут помощи, но чето как то сумбурно и не мог даже вопрос сформулировать правильно В общем нужно в с++ построить график кусочно заданной функции (на рисунке допустим функция S), пользователь вводит параметры и по ним строится функция. Пытался сделать в компоненте Tchart, не смог понять как там область определения сделать, ну чтобы график строился по частям в общем. Может другой компонент есть какой то, paintbox например? Я нуб в с++ конкретный, ну и все что нашел это как простейшие функции строить. Работаю в билдере шестом, в универе только он стоит. Буду рад любой помощи Изменено 19 мая 2013 пользователем starlight Поделиться сообщением Ссылка на сообщение
Гость 2poy_nyasha #1240 19 мая 2013 пиши на жаваскрипте, еще захочешь лол, я так думал, думал, и понял что я близок к тому, чтобы изобрести бекбон :( реально получился бекбон :(блять, ладно буду юзать его Поделиться сообщением Ссылка на сообщение