Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.12.2015, 16:54
Профессор
Отправить личное сообщение для torsar Посмотреть профиль Найти все сообщения от torsar
 
Регистрация: 06.01.2012
Сообщений: 409

mongodb и frontend
Часто встречаю в вакансиях frontend требование mongodb.
Mongodb на стороне сервера работает?
Те это backend?
Какое отношение mongodb имеет к frontend'у?
Разъясните плыз /
Ответить с цитированием
  #2 (permalink)  
Старый 11.12.2015, 16:57
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Монгу часто юзают с Node.js, т.е. серверная разработка, видимо вы видели именно эти вакансии.
__________________
kobezzza
code monkey
Ответить с цитированием
  #3 (permalink)  
Старый 11.12.2015, 17:05
Профессор
Посмотреть профиль Найти все сообщения от Mаxmaxmаximus
 
Регистрация: 29.10.2015
Сообщений: 473

а я вот пишу крутой сервер на nginx для статики, nodejs сокетах через socket.io а для монго юзаю mongosee

шикарная штука я вам скажу, файлы загружаю в несколько потоков) могу продолжить загрузку после обновления страницы и.т.п. в общем отжигалово.

создал такую абстракцию как Коллекции (ну это коллекции из монго) и Ренджи, это как бы срезы с коллекций которые реалтайм обновляются через сокеты при изменении базы. Рендж это типа offset, limit, selector

такой селелект к базе данных типа.


это я типа руки разминаю перед разработкой изоморфного фреймворка Mega для которого UIjs будет просто рендер движком.

пока изоморфности нет, то есть я пишу отдельно под сервер и отдельно под клиент, но я уже примерно представяю как должна выглядить изоморфная среда и как её сделать, в общем ждите, будет круто)

Последний раз редактировалось Mаxmaxmаximus, 11.12.2015 в 17:08.
Ответить с цитированием
  #4 (permalink)  
Старый 11.12.2015, 19:03
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
mongosee
Лучше посмотри http://sierrasoftworks.github.io/Iridium/.

Я с монгузом работал 1.5 года и кроме "буээээ" мало что могу добавить.
__________________
kobezzza
code monkey
Ответить с цитированием
  #5 (permalink)  
Старый 11.12.2015, 21:21
Профессор
Посмотреть профиль Найти все сообщения от Mаxmaxmаximus
 
Регистрация: 29.10.2015
Сообщений: 473

kobezzza, посмотрел щас что ты дал, посмотрел примеры кода, проблевался, я вообще то не работаю напрямую, я пишу абстракцию а дальше оно само, и мне не особо интересно как оно там под каптом, я туда не заглядываю) так что собо все ровно на api и его красоту. но красота мангуста меня впечатлила сильно)

ты можешь конкретно хоть одно сравнение сделать где мангуст проигрывает? и обяьснить в чем. ну еси не влом
Ответить с цитированием
  #6 (permalink)  
Старый 11.12.2015, 21:31
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
ты можешь конкретно хоть одно сравнение сделать где мангуст проигрывает? и обяьснить в чем. ну еси не влом
В основном всё а нюансах, поэтому не вижу смысла перечислять. Из крупного:

1) Не поддерживаются промисы;
2) Не поддерживается нормальное наследование схем через классы;
3) Нет нормального модуля валидации (только совсем примитив);
4) Дерьмовая дока (перекрёстная ссылка перекрёстной ссылок погоняет);
5) Убогое АПИ работы с курсором;
6) На нагрузке сильно проседает.

Цитата:
проблевался
Каждому своё, но ты всегда так реагируешь на новое, а когда я тебе говно советовал?

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

***

А вообще поступай как знаешь, мне всё равно
__________________
kobezzza
code monkey
Ответить с цитированием
  #7 (permalink)  
Старый 12.12.2015, 01:23
Профессор
Посмотреть профиль Найти все сообщения от Mаxmaxmаximus
 
Регистрация: 29.10.2015
Сообщений: 473

Сообщение от kobezzza
Каждому своё, но ты всегда так реагируешь на новое, а когда я тебе говно советовал?
Я обычно наоброт новое более лучше встречаю чем старое потому чт старое надоело, я обьективен стараюсь быть но чаша весов обычно на новое склоняется только от того что оно новое) я максимум это на кофе фыркал потому что думал что глаз не сможет привыкнуть к отсутствию скобочек и я не буду знать где кончается функция. сейчас я эту проблему решил просто короткими функциями которые влазят на экран

Сообщение от kobezzza
Не поддерживается нормальное наследование схем через классы;
ВООООУ, даже не думал об этом, слушай, у меня правда коллекции наследуют друг от друга, как классы кофескрипта, а дальше по ним уже строятся схемы и модели мангуста, но я думал это можно сделать и на уровне фреймворка) не знал что нельзя

Сообщение от kobezzza
Нет нормального модуля валидации
там же функция есть валидейт, а внутри делай че хочешь, разве это не лучший валидатор? написал всяких проверок нужных тебе и применяешь там, не? типа хочется из коробки какие то выражения текстовые описывающие валидацию и учить все это? или заготовленыне функции валидации?

Сообщение от kobezzza
Дерьмовая дока
ну я прочитал тока гет стартед и понял как создавать удалять искать и сохранять модели, а дальше этого хватило чтобы абстракций понастроить. наоброт удивился что дока шикарно сделана. мож ты давно захдил на их сайт?


Сообщение от kobezzza
Убогое АПИ работы с курсором;
Наскока я понял там его (апи) вообще нет, find если в него не передать каллбак то просто возвращает курсор монговский и делай с ним че хочешь. это ж круто? или нужны типа обертки? если да то я не представляю как курсор можно сделать еще удобнее.

К тому же где оно убогое то если Model.find({selector}, {fields}, {skip:0, limit:0}, callback)
B все это вернет курсор с кторым дальше можно цепочки делать типа фильтров и сортов.
Че, неужели круче человечество придумало?

Сообщение от kobezzza
На нагрузке сильно проседает.
О так у него еще и оверхед есть? А твоя штука быстрее выходит? Это важный для меня момент кстати.

Сообщение от kobezzza
Тогда бы работал с драйвером напрямую, нах тебе лишние издержки
Да я временно его воткнул чтобы было на чем абстракцию сделать. потом вниз залезу и заменю на другой фреймворк, например тот что ты дал щас, или руками с монго буду общаться.

Сообщение от kobezzza
А вообще поступай как знаешь, мне всё равно
Ой спасибо что разрешил не исопльзовать этот фреймворк)

- Вот это используй, оно лучше.
- Слушай а чем он лучше?
- НУ НИХОЧЕШЬ НИНАДА МНЕ ФСЕРАВНО! ОЙ ФСЕЕЕЕ111111 Ц МДААА

Последний раз редактировалось Mаxmaxmаximus, 12.12.2015 в 01:32.
Ответить с цитированием
  #8 (permalink)  
Старый 12.12.2015, 01:36
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
там же функция есть валидейт, а внутри делай че хочешь, разве это не лучший валидатор? написал всяких проверок нужных тебе и применяешь там, не? типа хочется из коробки какие то выражения текстовые описывающие валидацию и учить все это? или заготовленыне функции валидации?
Этот примитив есть, но когда у тебя начинаются проверки в зависимости от параметров, т.е. если один параметр задан, то другой становится обязательным и т.д. - начинается боль.

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

Цитата:
если да то я не представляю как курсор можно сделать еще удобнее.
Поддержать протокол Symbol.iterator как минимум.

Цитата:
передать каллбак
буээ. После того как я перешёл на промисы под соусом async/await то от колбеков меня воротит.
__________________
kobezzza
code monkey
Ответить с цитированием
  #9 (permalink)  
Старый 12.12.2015, 02:00
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
О так у него еще и оверхед есть? А твоя штука быстрее выходит? Это важный для меня момент кстати.
Любая ORM накладывает издержки. Поэтому я и написал, что юзал бы тогда драйвер, раз тебе не особо нужна такая абстракция. Что касается сравнения с Iridium, то я не делал таких бенчмарков, но почти уверен, что шустрее.

Цитата:
Ой спасибо что разрешил не исопльзовать этот фреймворк)
Нез

***

Мне в иридиум нравиться классовый подход (особенно круто если писать на ТС), активное использование декораторов (я очень люблю этот подход) и всё на промисах, а не на thunk callback, как в Mongoose. Более богатый набор валидаторов и вроде хорошая дока. Конечно я не юзал его в реальном проекте, как Mongoose. Но могу сказать точно, больше Mongoose я юзать не буду, хватило.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 12.12.2015 в 02:04.
Ответить с цитированием
  #10 (permalink)  
Старый 12.12.2015, 02:01
Профессор
Посмотреть профиль Найти все сообщения от Mаxmaxmаximus
 
Регистрация: 29.10.2015
Сообщений: 473

kobezzza,
Сообщение от kobezzza
буээ. После того как я перешёл на промисы под соусом async/await то от колбеков меня воротит.
Эээто дааа, меня бесит что приходится всюду в промис оборачивать


Кстати тока што сидел и придумал няшную штуку с реакта стырить, использовать атрибуты как компоненты как то неудобно было, приходилось дописвать префикс ui- чтобы не было конфликта с реальными атрибутами и все такое, да и параметры неудобно передавать было

и тут меня осиниило, по скольку я все ровно буду писать свой препроцессор для шаблонов, ну как у реакта, то я могу пока строку шаблона обрабатывать чем-то похожим, почему нет?

сейчас шаблоны компонентов пишутся вот так:

template: "
		<div class='ddd' ui-draggable ui-window='[12, this.name]' on-click='this.click'>
			{{this.name}}
		</div>
	"


А теперь будут писаться по другому, и можно будет в конструктор им разные парамтеры передавать (что сейчас делается оч неудобно через подстановку значения какого то атрибута в ватчер скоупа и все такое, а тут они напрямую прям в конструктор компонента прилетят)


Проблема была в том что как сказать компьюетру что это обычный атрибут а вот это вот компонент?
ДА ЭЛЕМЕНТАРНО, чому я сразу до этого не додумался?

1) Компоненты которые будут заменять элемент на какой то другой (то есть которые имеют свой шаблон), обязаны называться с заглавной буквы. А те же которые просто какое то поведение добавляют должны с маленькой называться.

2) компоненты от атрибутов будут отличаться ЭЛЕМЕНТАРНО. если это компонент то у него в конце круглые скобочки)))
ПОЧЕМУ Я СРАЗУ ТАК НЕ ПРИДУМАЛ СДЕЛАТЬ КАРЛ??)))

В итоге мы получим что-то вроде:

template: "
		<div class='ddd' draggable() window(12, @name) onClick(@click)>
			{{@name}}
		</div>
	"


Сообщение от kobezzza
Любая ORM накладывает издержки.
Спасибо КЭП, я имел ввиду овергед который оверхед всем оверхедам оверхед, а не просто пару лишних вызовов функций)


Сообщение от kobezzza
Поэтому я и написал, что юзал бы тогда драйвер, раз тебе не особо нужна такая абстракция.
Ну да мне просто щас нужно было как обработчики событий навесить кроссбраузерно, и я использовал jquery а потом будет время навешу руками обработчики и отключу jquery )) жизненно

Последний раз редактировалось Mаxmaxmаximus, 12.12.2015 в 02:04.
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вакансия Frontend разработчик, ФГУП, Москва, ~90K Guchia Работа 1 20.05.2015 11:54
Mongodb node js Roman159 Node.JS 2 30.03.2015 16:07
Установка mongodb для node.js Magneto Серверные языки и технологии 1 11.08.2014 15:29
Вакансия Frontend программист, Москва, KamaGames Studio OlgaMakarova Работа 1 04.03.2014 10:32
Senior JavaScript developer (NodeJS + MongoDB) Украина oversun Работа 0 14.03.2013 17:13