Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #131 (permalink)  
Старый 03.11.2012, 07:47
Аватар для antonM
Кандидат Javascript-наук
Отправить личное сообщение для antonM Посмотреть профиль Найти все сообщения от antonM
 
Регистрация: 11.08.2011
Сообщений: 103

kobezzza, хочу попробовать заюзать вашу разработку в своей. Список задач:
1. Хочу сделать undo/redo хранилище со следующими полями:
[действие, диапазон изменяемых данных, данные(Array или JSON), диапазон отката]
2. Хранение лога действий.
Основной компонент работает на jQuery
Сложных выборок не будет, надо получать и сохранять данные.

Подскажите какой минимум для сборки, чтобы не тянуть все? (с поддержкой jQuery и эмуляции SQL). Может быть примерчик сборки набросаете? Можно ли собрать одним файлом для удобства подключения.
Извините заранее за глупые вопросы, еще не все прочитал, так что если что, то тыкайте носом в доки.

А может быть для моих задач и не нужен Collection?

Спасибо.

Либа однозначно интересная и перспективная, особенно для тех кто делает клиентские приложения. ИМХО.
Советую также сайт и доки перевести на инглиш и запостить где-то на SO например.

Последний раз редактировалось antonM, 03.11.2012 в 07:54.
Ответить с цитированием
  #132 (permalink)  
Старый 03.11.2012, 11:07
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

antonM завтра будет статья на сайте, которая ответит на все вопросы
Разумеется Collection не обязателен, но с ним эту задачу можно будет сделать быстрее

Я думаю о переводе сайта на инглиш, но пока времени не хватает.
__________________
kobezzza
code monkey
Ответить с цитированием
  #133 (permalink)  
Старый 04.11.2012, 14:09
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Закончил работу над первой минорной версией ветки 3.8.x - 3.8.1!
Несмотря на маленькую цифру данное обновление действительно включает в себя много улучшений:
1) Проведена оптимизация конструктора, теперь его создание крайне мало времени, по наставлению B~Vladi второй параметр конструктора был выпилен для оптимизации работы в V8;
2) Очень сильно оптимизирована логика работы всех итеративных методов, теперь в браузерах, где интерпретатор не умеет развёртывать Array.forEach и т.д. (на данный момент развёртывать нормально forEach может только ИЕ10) скорость работы Collection.forEach в некоторых случаях превышает нативную браузера (в 1.5-2 раза);
3) Практически полностью переписан модуль компиляции фильтров, теперь простые строковые сокращения (состоящие из 1-го фильтра) по скорости почти равны явным функциям, работы составных фильтров ускорена почти в 10 раз!
4) В метод forEach добавлена стратегия анализа фильтров: в зависимости от фильтра метод выбирает наиболее оптимальную стратегию работы, что даёт сильный прирост производительности в некоторых случаях;
5) Исправлено множество ошибок версии 3.8.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 04.11.2012 в 14:13.
Ответить с цитированием
  #134 (permalink)  
Старый 04.11.2012, 14:21
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021


Вот это хорошее обновление
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием
  #135 (permalink)  
Старый 04.11.2012, 23:39
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Эх сегодня видимо не судьба закончить с докой Завтра надеюсь допилю всё
__________________
kobezzza
code monkey
Ответить с цитированием
  #136 (permalink)  
Старый 04.11.2012, 23:52
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

kobezzza,
каким законам подчиняется нумерования версий ?
Ответить с цитированием
  #137 (permalink)  
Старый 05.11.2012, 00:45
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от melky Посмотреть сообщение
kobezzza,
каким законам подчиняется нумерования версий ?
Первая версия означает очень сильные, затрагивающее всю библиотеку в целом, во всяком случае так было 4-и версии подряд (0, 1, 2, 3), т.к. я пишу её почти стока же, сколько пишу на ЖС, то каждую версию я переписывал почти с нуля, пробуя новые решения и архитектуры. Сейчас первая цифра просто означает мажорный апдейт. Вторую цифру в принципе можно приравнять к первой, но раз уж так сложилось исторически, то пускай так и остаётся. Вторая цифра - мажорный апдейт, в включающий в себя "новые фишки", фишки которые будут добавляться от версии к версии расписаны в моём roadmap, так например по плану в 3.9 должно добавится 2 мощных нововведения: поддержка хранилищ больших данных и поддержка множества сторонних шаблонизаторов. В 4-й версии всё внимание будет сконцентрированы на автоиндексах, картах взаимоотношений и поддержкой параллельных операций (веб воркеры). Минорные апдейты (3-я цифра) как правило несут в себя исправления ошибок и различные оптимизации, но изредка я добавляю новые микро фишки, тогда в таком случае к последней версии я прибавляю 0.0.2, а не 0.0.1.

Даты выхода версий плавают, т.к. я веду разработку либы в свободное от работы время, а работы у меня 2: Яндекс и мой личный стартап (находится в разработке), поэтому например летом я почти не работал над ней. Пока у меня как минимум есть идеи насчёт 3-х мажорных версий, что будет дальше я не знаю, но вероятность того, что я заброшу разработку маловероятна, т.к. для меня эта либа имеет особое значение

Работа над докой занимает много времени, больше чем разработка, но это для меня тоже большой опыт.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 05.11.2012 в 00:55.
Ответить с цитированием
  #138 (permalink)  
Старый 05.11.2012, 19:41
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Эх чёто я окончательно увяз, адская это работа делать нормальную доку.
antonM дабы не ждать, пока я всё рожу, сразу расскажу про то, как сделать свою сборку:
1) Ставим на компьютер Git (если есть, то можно пропустить);
2) Ставим на комп Java и Node.js (если есть, то можно пропустить);
3) git clone https://github.com/kobezzza/Collection.git
4) Открываем files/core.js

Находим подключения внизу. Если модуль не нужен, то просты удаляем его
//#include
или так:
// #include.

Если нужен модуль с определённой настройкой, то ставим флаг, например:
//#include ./drivers.js::DOM_jQuery
.
Если нужен модуль с базовой настройкой, то, например,
//#include ../mult/mult.js::base
.
(описание сборщика, https://github.com/Kolyaj/BuildJS)

Минимальная сборка с SQL интерпретатором (с поддержкой старых ИЕ).
//#include ./static.js

// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// Драйвера, для взаимойдействия с другими библиотеками:
// 1) DOM (драйвер для работы с DOM):
// 1.1) DOM_qsa;
// 1.2) DOM_Sizzle;
// 1.3) DOM_jQuery;
// 1.4) DOM_dojo;
// 1.5) DOM_MooTools;
// 1.6) DOM_Prototype.
//#include ./drivers.js::DOM_jQuery
// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

// Реализация методов массивов из ECMAScript5 для старых браузеров
// (флаг сборки: ArrayProto).
//#include ./array.prototype.js

//#include ./prototype.js

//#include ../other/other.js
//#include ../compile/func.js

//#include ../fields/fields.js
//#include ../stack/stack.js

//#include ../single/single.js

// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// Методы для итеративных операций:
// 1) Mult_Get;
// 2) Mult_Set;
// 3) Mult_Remove;
// 4) Mult_Search;
// 5) Mult_Map;
// 6) Mult_Move;
// 7) Mult_Group;
// 8) Mult_Stat.
//#include ../mult/mult.js::base
// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

//#label Sort
//#include ../sort/sort.js
//#endlabel

//#label Local
// #include ../local/local.js
//#endlabel

//#label DOM
// #include ../dom/collection.js
// #include ../dom/compile.js
//#endlabel

//#label Design
// #include ../design/print.js
//#endlabel

//#label Design_Table
// #include ../design/table.js
//#endlabel

//#label CSQL
//#include ../csql/csql.js
//#endlabel


5) Теперь запускаем сборку: compiler.bat (разумеется это под винду).
6) Моно запустить тесты и проверить, что всё ок (tests/index.html).
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 06.11.2012 в 00:08.
Ответить с цитированием
  #139 (permalink)  
Старый 06.11.2012, 06:42
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

Для сравнения: в случае PMS сборщика достаточно создать отдельную директорию, поместить туда файлик с расширением .meta.tree и коротким содержанием:
include module= Collection/DOM_jQuery
include module= Collection/csql

потом запустить компиляцию и все необходимые зависимости подтянулись бы автоматом
__________________
.ня
Ответить с цитированием
  #140 (permalink)  
Старый 06.11.2012, 14:38
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от tenshi Посмотреть сообщение
Для сравнения: в случае PMS сборщика достаточно создать отдельную директорию, поместить туда файлик с расширением .meta.tree и коротким содержанием:
include module= Collection/DOM_jQuery
include module= Collection/csql

потом запустить компиляцию и все необходимые зависимости подтянулись бы автоматом
Да в принципе и сейчас это можно сделать, создать отдельный файлик, и написать
//#include core.js::DOM_jQuery::csql

(зависимости подтянутся)
но у твоего варианта синтаксис по приятней, наверно в будущем так и сделаю
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 06.11.2012 в 14:42.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для 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