Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 28.06.2012, 17:14
Аватар для a.malitsky
Аспирант
Отправить личное сообщение для a.malitsky Посмотреть профиль Найти все сообщения от a.malitsky
 
Регистрация: 26.03.2010
Сообщений: 56

Банальный вопрос (связанный не только с данным фреймворком) - можно как-нибудь отключить вывод многочисленных предупреждений "anonymous function does not always return a value" в консоли FF по collection.js или придётся смириться? Несколько мешает отладке своих скриптов.
Ответить с цитированием
  #32 (permalink)  
Старый 28.06.2012, 19:19
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Я думаю вам нужно отключить варнинги (предупреждения) JS в настройках отладчика
__________________
kobezzza
code monkey
Ответить с цитированием
  #33 (permalink)  
Старый 23.10.2012, 14:05
Аватар для a.malitsky
Аспирант
Отправить личное сообщение для a.malitsky Посмотреть профиль Найти все сообщения от a.malitsky
 
Регистрация: 26.03.2010
Сообщений: 56

А что с сайтом? Всё, прощай фреймворк? Нужна документация!
Про новую версию уж молчу.
Ответить с цитированием
  #34 (permalink)  
Старый 23.10.2012, 14:55
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от a.malitsky Посмотреть сообщение
А что с сайтом? Всё, прощай фреймворк? Нужна документация!
Про новую версию уж молчу.
Сайт как раз прикрылся, т.к. почти сделана новая версия и обновляется дока Скоро всё снова ок буит
Просто пилю после работы, когда есть настроение - вот так и медленно всё.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 23.10.2012 в 15:29.
Ответить с цитированием
  #35 (permalink)  
Старый 28.10.2012, 20:47
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Наконец допилил версию 3.8! Кроме исправления различных багов в новой версии появились следующие фичи:
  • Появился новый метод query, который принимает на вход запрос в SQL синтаксисе;
  • Добавлена поддержка querySelectorAll (нативный DOM драйвер);
  • Увеличена скорость работы некоторых методов;
  • Теперь Collection сжимается в "продвинутом режиме" GCC;
  • Рефакторинг кода и комментариев (теперь комментарии полностью на русском языке, решил не выпендриваться );
  • Теперь this в колбеках ссылается на инстанс объекта, а для ссылки на саму функцию была добавлена локальная переменная callee.

Сайт снова работает, однако пока выпилил раздел доки, т.к. хочу её улучшить (пока можно читать комменты в исходниках, тем более, что дока генерится по ним), также пока нету главы в учебнике по методу query, но он, как и дока появится уже в течении недели.
Теперь на главной страничке сайта можно поиграться с консолью

По поводу метода query: сейчас он поддерживает только запросы типа SELECT. Есть поддержка переменных (через AS), INNER/LEFT/RIGHT JOIN, GROUP BY, ORDER BY, WHERE, HAVING, TOP, LIMIT, INTO, стат функции SUM/AVG/COUNT и множество строковых функций (можно добавлять свои), а также выполнения сразу нескольких запросов в одном методе (через ; ).

Примеры:
var db = new Collection();
db.pushCollection({
	users: [
		{id: 1, name: 'Kobezzza', lvl: 50},
		{id: 2, name: 'Onky', lvl: 55},
		{id: 3, name: 'Drobila', lvl: 60},
		{id: 4, name: 'Over', lvl: 70},
		{id: 5, name: 'Ten', lvl: 60}
	],
	
	skils: [
		{
			sid: 1,
			uid: 1,
			value: 'moto'
		},
		{
			sid: 2,
			uid: 2,
			value: 'auto'
		},
		{
			sid: 3,
			uid: 1,
			value: 'dance'
		}
	],
	
	buf: [
		{
			bid: 1,
			uid: 1,
			b_value: 'ice'
		},
		{
			bid: 2,
			uid: 2,
			b_value: 'fire'
		},
		{
			bid: 3,
			uid: 1,
			b_value: 'water'
		}
	]
});

db.query('SELECT * FROM `users`');
db.query('SELECT el.name, el.lvl FROM `users`');
db.query('SELECT el.name AS nm, el.lvl AS power FROM `users`');
db.query('SELECT * FROM `users`, `skils`');
db.query('SELECT * FROM `users` INNER JOIN `skils` ON id=uid INNER JOIN `buf` ON id=uid');
db.query('\
	SELECT TRIM(el.name) AS name, el.lvl, SUM(el.lvl) AS sum FROM `users`\
		INNER JOIN `skils` ON id=uid\
		INNER JOIN `buf` ON id=uid\
	GROUP BY lvl\
	HAVING sum > 55\
');
db.query('SELECT * FROM `users` WHERE el.lvl > 50 LIMIT 1, 1');
db.query('SELECT TOP 1 * FROM `users` WHERE el.lvl > 50');
db.query('SELECT * INTO `test` FROM `users` WHERE el.lvl > 50');


Буду рад услышать критику и замечания, а также отвечу на любые вопросы Спасибо за внимание.

ЗЫ: в версии 3.9 я добавлю поддержку новых хранилищ в браузере (IndexedDB, FlashStorage и т.д., чтобы была возможность хранить большие объёмы данных, вместо 5мб LocalStorage), поддержку популярных шаблонизаторов и закончу систему модульной сборки (можно будет через сайт подключать необходимые модули, чтобы не тащить лишний код).

ЗЫЗЫ: кому интересна логика работы метода query, то копать https://github.com/kobezzza/Collecti...ter/files/csql.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 28.10.2012 в 21:54.
Ответить с цитированием
  #36 (permalink)  
Старый 28.10.2012, 21:49
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

kobezzza,
отличная работа.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #37 (permalink)  
Старый 28.10.2012, 22:03
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

скрипт просто потрясный!

если не секрет, что за сборщик (builder.js) ?

master/collection.min.js - это ужатый в advanced mode скрипт?

похоже, сжатие ещё не идеальное
Ответить с цитированием
  #38 (permalink)  
Старый 28.10.2012, 22:06
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от melky
похоже, сжатие ещё не идеальное
да, согласен. сжатие не гуд. слишком много длинных переменных.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #39 (permalink)  
Старый 28.10.2012, 22:12
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от devote Посмотреть сообщение
kobezzza,
отличная работа.
Спасибо

Сообщение от melky Посмотреть сообщение
скрипт просто потрясный!
Спасибо за лестный отзыв.

Сообщение от melky Посмотреть сообщение
если не секрет, что за сборщик (builder.js) ?
Это сборщик на ноде, который написал Коля (Kolyaj)
https://github.com/Kolyaj/BuildJS , правда я его немного допил для своих нужд (в Collection этих нужд нет)

Сообщение от melky Посмотреть сообщение
master/collection.min.js - это ужатый в advanced mode скрипт?

похоже, сжатие ещё не идеальное
Да, но увы вряд ли лучше уже получится, т.к. экспортятся публичные методы и свойства (а их много), все приватные методы и свойства сжимаются в кашу (cжимать всякие Collection.prototype нет смысла - это сделает GZIP). Модульная сборка поможет решить проблему "лишнего веса".
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 28.10.2012 в 22:18.
Ответить с цитированием
  #40 (permalink)  
Старый 28.10.2012, 22:38
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

хм ... ну, только сам автор кода знает, как его коду лучше жаться

Сообщение от kobezzza
Это сборщик на ноде, который написал Коля (Kolyaj)
https://github.com/Kolyaj/BuildJS , правда я его немного допил для своих нужд (в Collection этих нужд нет)
я его тоже использую. Если можно, расскажете поподробнее о личных допилах ?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Блокирование кнопок управления окном браузера usernew Events/DOM/Window 5 08.12.2009 09:20
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 13:31
Возможности JavaScript для управления hardware-объектом AZbest Общие вопросы Javascript 19 28.10.2008 17:45