Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Представляем вам ORMjs (https://javascript.ru/forum/offtopic/63642-predstavlyaem-vam-ormjs.html)

fancy 22.06.2016 18:32

Цитата:

Сообщение от ORMjs
У меня своя фирма и свои проджекты, включая веб рулетки и агргатор пиццерий с конструктором пицц =) и куча всего еще.

Хотя бы один покажи.

Цитата:

Сообщение от ORMjs
Инженер вообще не должен общаться с клиентами, этим должен заниматься отдел продаж. По крайней мере когда я основал веб студию Абиллана, у нас было так.

Думаю в stripe о твоем мнении не знают.

Цитата:

Сообщение от ORMjs
У меня все получается что я задумал, я иду к своей целе уже 8-9 лет, и все получается идеально) Я хочу автоматизировать генерацию товаров и услуг и освободить людей от работы и денег. И все идет по плану).

Где? Хотя бы один проект?
Зачем ты сам себя обманываешь.

Прости парень, нашел твой аккаунт в вк.
Мне кажется у тебя шизофрения.
Мне просто тебя жалко.

ORMjs 22.06.2016 18:36

Цитата:

Сообщение от fancy
Хотя бы один покажи.

Не хочу.

Цитата:

Сообщение от fancy
Зачем ты сам себя обманываешь.

Я не обманываю сам себя.

Цитата:

Сообщение от fancy
Мне кажется у тебя шизофрения.

У меня нет психических отклонений. Скорее наоборот.

Цитата:

Сообщение от fancy
Мне просто тебя жалко и думаю тебе никто не поможет.

Мне не нужно помогать и тебе не жалко меня. =)

https://ru.wikipedia.org/wiki/Ad_hominem


Ну так и быть, папку с исходниками старых проэктов которые складываю в папку _ покажу. Там и аналитика для телетрейда за 700к за пол года разработки на двоих. Там и для дистрибьютера уаза сайт. И для Ульянки воды сайт (правда у них щас какого то хрена другой парашный стоит не понятно почему) и куча всего.



Я не знай с чего это ты взял что мн нужна какая-то помощь)))))) и что у меня что-то не получается =) скорей наоборот ребят. И вообще я чувствую ся Доктором Хаусом, которому все почему-то хотят помочь))

ORMjs 22.06.2016 18:43

Обновил API


cyber 22.06.2016 19:53

ORMjs, смысел делать remove если судя по методу restore он не удаляются полностью?

ORMjs 22.06.2016 20:47

Цитата:

Сообщение от cyber
смысел делать remove если судя по методу restore он не удаляются полностью?

Чтобы во время find он не попадал в выборку. Документы не удаляются полностью чтобы не нарушить целостность базы. Базой напрямую можно управлять через Аранго веб панель, где можно так же скрипты писать для очистки _removed = true документов. Если вдруг такое кому-то в голову может придти. но нормальные люди базу вообще не очищают и не удаляют загруженные файлы на сервер. Когда место кончается они просто докупают новую память. Я имею ввиду серьезные люди которые бизнес ведут в интернете, они ни когда не будут удалять записи с базы данных. ВО первых они могут для статистики понадобиться, во вторых для запросов органов власти, в третьих целостность базы нарушается если удалить их. и.т.п. то есть данный remove это уровня приложения, а remove навсегда это уровень баps данных.

Не думал что это не общеизвестно =)

Я вот думаю добавить еще поле _removeTime, ну знаешь, чтобы логику ресторам какую-то давать, типа можно восстанавливать только в течении минуты после удаления и.т.п. чтобы вручную это не реализовывал програмист

Цитата:

Сообщение от cyber
смысел делать remove

Закрыл сессию, удалил пользователя и.т.п. _removed это логика приложения а не структуры данных.

Erolast 22.06.2016 20:52

Да блин, ребят, что вы так на максимуса-то понаехали? Человек вернулся на форум с хорошим настроением, извинениями и стремлением стать лучше, ну неужели сложно ему в этом помочь? Зачем к старому-то возвращаться?

ORMjs 22.06.2016 20:53

Цитата:

Сообщение от Erolast
Да блин, ребят, что вы так на максимуса-то понаехали? Человек вернулся на форум с хорошим настроением, извинениями и стремлением стать лучше, ну неужели сложно ему в этом помочь? Зачем к старому-то возвращаться?

Вот кстати да, агр какой то непонятный.
Вот кстати как удобно и просто реализовываются сессии пользователей
https://github.com/arangodb/arangodb...ment-227796089
========

Erolast 22.06.2016 21:35

Цитата:

let key = Math.random() + ''
Тут замечание - использовать мас.рандом в качестве ключа не очень безопасно.
Читал https://habrahabr.ru/company/mailru/blog/274253/? Не то, чтобы это было слишком критично, но для надежности я бы лучше использовал crypto.randomBytes (https://nodejs.org/api/crypto.html#c...ize_callbac k).

ORMjs 23.06.2016 04:50

Цитата:

Сообщение от Erolast
Тут замечание - использовать мас.рандом в качестве ключа не очень безопасно.

Разумеется я использовал абстрактный пример, который даже не сохраняет юзерагент (а это нужно делать, так как защита от воровства кук). Тут целью было показать как просто и логично и В КАК МАЛО КОДА реализуются такие штуки =)

Я использую это:
static createRandomString(length = 64) {
	return crypto.randomBytes(length).toString('hex')
}

Erolast 23.06.2016 06:42

Цитата:

Разумеется я использовал абстрактный пример
А, окей.


Цитата:

Я использую это:
static createRandomString(length = 64) {
return crypto.randomBytes(length).toString('hex')
}
Но тогда еще замечание. Из документации:
Цитата:

The crypto.randomBytes() method will block until there is sufficient entropy. This should normally never take longer than a few milliseconds. The only time when generating the random bytes may conceivably block for a longer period of time is right after boot, when the whole system is still low on entropy.
randomBytes может блокировать программу. Если есть возможность, лучше использовать асинхронный вариант:
static createRandomString(length = 64) {
    return new Promise((resolve, reject) => {
       crypto.randomBytes(length, (error, buffer) => {
           if (error) {
               reject(error);
           } else {
               resolve(buffer.toString('hex'));
           }
       });
    });
}

ORMjs 23.06.2016 06:56

Цитата:

Сообщение от Erolast
Если есть возможность, лучше использовать асинхронный вариант:

Не, тогда код станет некрасивый =) ничего страшного, пусть синхронно будет. Плюс там сказано что тока вначале тупить будет а потом норм.

nerv_ 23.06.2016 09:06

Цитата:

Сообщение от ORMjs (Сообщение 420184)
Обновил API


Что-то оно мне напоминает. Ах, ну да, это у тебя идеи украли :)

ORMjs 23.06.2016 09:25

nerv_,

1) во первых оно ни чем не напоминает
2) во вторых не у меня крали идеи, а Я обычно идеи краду
3) в третьих, НУ ВООБЩЕ не напоминает :no:
4) в четвертых, попробую украсть что нибудь у них
5) украду count, exists и опцию поля {index : true} =)



млять я настройки для базы данных забыл задаавть дать))

Во, вот так будет

ORMjs 23.06.2016 21:43

conenct :lol:

apapacy 16.01.2017 03:05

Больше опций (хороших и нужных)
 
1. Хотелось бы побольше опций (пользователь/пыроль/хост/порт/пулл/реконнект...)
2. Хотелось бы иметь доступ к нативныи запросам, т.к. помимо производительности в arangodb главной отличительной фичей является оригинальный JOIN основанный на вложенных операторах FOR doc1 in collection1 FOR doc2 in collection2 FILTER doc2.parentId == doc1._id - при наличии индексов работает эффективно
3. Делать всеядный ОРМ - это еще вопрос. Для монги уже есть iridium, для реляционных sequelize. А вот для arangodb нет ничего и от дистрибьюторов arangojs однозначный был дан ответ что над odm/orm они в обозримом будущем работать не планируют.

Так что в следующем проекте обязательно использую arangodb+ormjs. Только бы п.1 был учтен (больше опиций) а то как-то.

С учетом текущего состояния вопроса mongo>>= arangodb++

ЗЫ. На днях реализовал на монге "JOIN" (постраничный фильтр по наименованию из свзяанной таблицы) при помощи map/reduce - все конечно возможно, но кодить много, при этом между нодой и монгой приходится гонять объекты из фильтрованных идентификаторов что конечно не очень. JOIN из коробки есть также в cоuchbase - весьма тормозной по производительности так как в основе ее CouchDB. А также в rethinkdb - весьма требовательна по ресурсам и валится с разрушением базы при исчерпании ресурсов. А также JOIN в rethinkdb это что-то вроде r.table("employees").eq_join("company_id", r.table("companies")).run(). Никаого сравнения по простоте с arangodb FOR... FOR... не идет.

Так что так держать. И желаю Вам побольше дистрибьюторов.

Safort 17.01.2017 02:46

Библиотеки, фреймворки, это всё, конечно, хорошо(нет), но Максимус снова отправляется на банановые острова.

Тем, кто забыл причины, я напомню за что: мульты, троллинг, оскорбление пользователей форума.


Часовой пояс GMT +3, время: 04:48.