choojoykin #5781 8 августа 2014 а если return (checkAge(age)) ? 'welcome' : 'blocked'; ни мало ни много, а много и мало Поделиться сообщением Ссылка на сообщение
suez #5782 8 августа 2014 (изменено) В чем проблема? Тернарников чтоли боишься?пиздосну начнем с того, что функция проверки возраста может быть сложной, и проверку возраста вполне логично надо выноситьзакончим тем, что тернарные операторы тут явно не к месту, потому что логика запрета или разрешения доспута не уложится в два консоль-лога и тернарные операторы используются в основном для назначения какой-то переменной различного значенияили для вывода разной строки поэтому если и писать как ты, то делать это так console.log(age >= 18 ? "hello, bitch" : "nope"); Это ты конечно весело расписал, но человек сверху не давай никаких спецификаций, что ему конкретно надо. Я лишь привел ту примитивную функцию к более примитивному виду, я же не говорил что это финальный вариант для продакшена. Только про косяк с console.log соглашусь, писал напохуй.Твой наезд напоминает моменты, когда ты пилишь какой-нибудь веселый прототип хуйни на новых фишках css3, и тут какой-нибудь умник говорит фразу "да это же в ие* не поддерживается, хватит дурью маяться". Как будто я блин и пилил для ие, ага. Изменено 8 августа 2014 пользователем suez http://codepen.io/suez/ - they see me bydlocoding, they hatin. Поделиться сообщением Ссылка на сообщение
Двапой #5783 8 августа 2014 не выдумвай хуйни, делай как можно проще, а не как можно заумней, код ты пишешь для себя, и в будущем, для своих коллег var age = 17; function checkAge (age) { return age > 18; } function closeSite () { console.log('blocked'); } function openSite () { console.log('blocked'); } if(checkAge(age)) { openSite(); } else { closeSite(); } Твой наезд напоминает моменты, когда ты пилишь какой-нибудь веселый прототип хуйни на новых фишках css3, и тут какой-нибудь умник говорит фразу "да это же в ие* не поддерживается, хватит дурью маяться". Как будто я блин и пилил для ие, ага.ты такую хуйню несешь, мне даже стыдно, что я с тобой семь лет назад на гарене играл Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
choojoykin #5784 8 августа 2014 простота == качествоя прав? просто гребанный максимализм заставляет меня все усложнять ,а все простое кажется лоускиллом ни мало ни много, а много и мало Поделиться сообщением Ссылка на сообщение
Двапой #5785 8 августа 2014 ну молодой еще, с опытом пройдет Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
justice_st #5786 8 августа 2014 как лучше сделатьодна таблица, но некоторые поля будут всегда пустыми - зато все одним запросом3-4 таблицы, но пустоты гораздо меньше будет - зато иногда надо будет делать запросов столько сколько таблиц Поделиться сообщением Ссылка на сообщение
Двапой #5787 8 августа 2014 а джоины для кого придуманы? я бы вообще посоветовал монгу, не то чтобы она идеальна, но она не так топорна и ограничена как привычные sql базы а ну да, жду налетов, что монга это специфично, что для маленьких проектов она нинужна - это все хуйня Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
suez #5788 8 августа 2014 Юзаю монгу, ибо кэннут инту sql на должном уровне, а в монге со знанием js весьма приятно.Если не секрет, то чем конкретно монго может быть плоха для маленьких проектах? А то сколько холиваров на хабре читал, так и не вынес из них ничего полезного, ибо все просто кидались какахами. http://codepen.io/suez/ - they see me bydlocoding, they hatin. Поделиться сообщением Ссылка на сообщение
Двапой #5789 8 августа 2014 Денормализация Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
choojoykin #5790 8 августа 2014 у нас монга + скала на бекэнде не то, чтобы она была збс и стабильно работала, но когда начал работать с ней, становится трудно остановиться. Единственное что у меня вызывает опасения - это кеши. Нет ничего более беспомощного и испорченного, чем забитые за час кеши ни мало ни много, а много и мало Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #5791 8 августа 2014 Посоны, нужен совет по фрон энду.В общих чертах: огромные массивы данных в таблицах (порядка 1000 строк, по 15-20 столбцов) с клиентской логикой взаимодействия. GWT просто сдох нахуй Я так понял ни один современный браузер и фреймвёрх нихуя не переварит такое в динамике. Мне сейчас нужно бы понять что попробовать, дали время на прототипирование. Думаю на ангуляр толку нет времени терять. Поделиться сообщением Ссылка на сообщение
Двапой #5792 8 августа 2014 ну ангуляр не сложный, но смысла нет, так как он с таким объемом данных хреново работаета что за логика взаимоейдствия? сортировка, эвенты, чо?еще под какой браузер это дело? надо ли рендерить всю таблицу на клиенте, или она рендерится на сервере? если на клиенте, то от браузера сильно зависит, вставлять ли готовыми элементами, или вставлять просто как хтмл-текст.можно ли сделать пагинацию под это дело, или не очень?какие вообще ресурсы имеются на клиенте? Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #5793 8 августа 2014 (изменено) ну ангуляр не сложный, но смысла нет, так как он с таким объемом данных хреново работаета что за логика взаимоейдствия? сортировка, эвенты, чо?еще под какой браузер это дело? надо ли рендерить всю таблицу на клиенте, или она рендерится на сервере? если на клиенте, то от браузера сильно зависит, вставлять ли готовыми элементами, или вставлять просто как хтмл-текст.можно ли сделать пагинацию под это дело, или не очень?какие вообще ресурсы имеются на клиенте?Общий объём данных десятки тысяч объектов. Конечно же в один момент времени только первая 1000 разгружена. При сортировках/фильтрациях/переходах происходит асинхронная подгрузга данных. Логика взаимодействий, это редактирование, контекстно-зависимые поля, различные маски, некоторые атрибуты используют поллинг для собственного обновления с сервера (например таблица алярмов постоянно свой статус пингует, раз в минуту) ну и т.д. Ну это самый базовый функционал, который должен быть доступен. Браузеры: FF/Chrome/IE9+ Изменено 8 августа 2014 пользователем DIMAN123456789 Поделиться сообщением Ссылка на сообщение
Двапой #5794 8 августа 2014 (изменено) Ну хорошо, проблемы особой не вижу. 1000 строк это не очень много. Я бы поступил сперва так - протестировать производительность в разных браузерах разных способов вставки.Во первых, просто собрать таблицу в виде хтмл-а, и вставить ее как innerHTML, во-вторых, собрать ее по элементам, ну через createElement('table'), всавить ее как child, и в-третьих, попробовать асинхроинную вставку, по, скажем, 100-200 элементов, и через innerHTML, и как готовые элементы через appendChild, асинхронность в этом случае реализуется через setInterval/timeout с 0 вместо времени или каким-то подобранным вами временем. Вполне возможно, что в разных браузерах по разному получится по скорости, и в таком случае будет смысл подумать о нескольких методах в зависимости от браузера, не думаю что на это много сил уйдет.Важный момент, что асинхронный вариант будет работать явно медленее, но при этом подходе интерфейс не будет тормозить или вообще фризится. что касается редактирования и прочего - тут нет смысла заранее вставлять эту возможность в хтмл твоей таблицы, иначе будет очень жирно. Не уверен на счет эвентов, возможно эвенты на каждой ячейки таблицы будет жирно, а может и нет. Тут думаю тоже от браузера зависит. Поэтому есть смысл тоже протестировать. Во-первых вешать эвенты (для примера банально на клик) на каждую ячейку/строку или таблицу. В двух последних случая определять где был клик по дата-атрибутам твоего элемента. Желательно, допустим, айди строки зранить в самой строке, тогда не составит труда выяснить какую строку нам придется редактировать. Когда мы выяснили что хочет делать юзер, какую он строку выбрал и какую ячейку, мы подменяем его текст в ячейке (или самой строке, как вам надо) на инпут/текстарею/контролы какие-то. И вставляем в эти контролы наши значения, когда юзер все поменял и нажал сохранить, запрос отправляется, а строка обратно возвращается в статичное состояние. Скорее всего подмену лучше делать через вставку готовых элементов, а не как innerHTML, потому что последний способ обновит весь код твоей страницы, хоть и современные браузеры с такими проблемами справляются, и в общем-то не заментно, но все равно, лучше через готовые элементы. а можно даже не вставлять в строку, а добавлять строку с контролами после (after) нашей строки а саму строку прятать. Как сохрили, строку обновлять, показывать, а строку с контролами удалять. чот самому захотелось это протестировать, жаль нет нормальной возможности сейчас, если хочешь могу в скайп зайти, там советоваться будем Изменено 8 августа 2014 пользователем Двапой Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #5795 8 августа 2014 Ну хорошо, проблемы особой не вижу. 1000 строк это не очень много. Я бы поступил сперва так - протестировать производительность в разных браузерах разных способов вставки.Во первых, просто собрать таблицу в виде хтмл-а, и вставить ее как innerHTML, во-вторых, собрать ее по элементам, ну через createElement('table'), всавить ее как child, и в-третьих, попробовать асинхроинную вставку, по, скажем, 100-200 элементов, и через innerHTML, и как готовые элементы через appendChild, асинхронность в этом случае реализуется через setInterval/timeout с 0 вместо времени или каким-то подобранным вами временем. Вполне возможно, что в разных браузерах по разному получится по скорости, и в таком случае будет смысл подумать о нескольких методах в зависимости от браузера, не думаю что на это много сил уйдет.Важный момент, что асинхронный вариант будет работать явно медленее, но при этом подходе интерфейс не будет тормозить или вообще фризится. что касается редактирования и прочего - тут нет смысла заранее вставлять эту возможность в хтмл твоей таблицы, иначе будет очень жирно. Не уверен на счет эвентов, возможно эвенты на каждой ячейки таблицы будет жирно, а может и нет. Тут думаю тоже от браузера зависит. Поэтому есть смысл тоже протестировать. Во-первых вешать эвенты (для примера банально на клик) на каждую ячейку/строку или таблицу. В двух последних случая определять где был клик по дата-атрибутам твоего элемента. Желательно, допустим, айди строки зранить в самой строке, тогда не составит труда выяснить какую строку нам придется редактировать. Когда мы выяснили что хочет делать юзер, какую он строку выбрал и какую ячейку, мы подменяем его текст в ячейке (или самой строке, как вам надо) на инпут/текстарею/контролы какие-то. И вставляем в эти контролы наши значения, когда юзер все поменял и нажал сохранить, запрос отправляется, а строка обратно возвращается в статичное состояние. Скорее всего подмену лучше делать через вставку готовых элементов, а не как innerHTML, потому что последний способ обновит весь код твоей страницы, хоть и современные браузеры с такими проблемами справляются, и в общем-то не заментно, но все равно, лучше через готовые элементы. а можно даже не вставлять в строку, а добавлять строку с контролами после (after) нашей строки а саму строку прятать. Как сохрили, строку обновлять, показывать, а строку с контролами удалять. чот самому захотелось это протестировать, жаль нет нормальной возможности сейчас, если хочешь могу в скайп зайти, там советоваться будемДа как сделать я отлично понимаю. Тут скорее интересен выбор фреймвёрка. Или чистый js + html. Ибо у меня нет опыта во всех этих фреймвёрках, а тратить 2-3 дня на каждый из них считаю нецелесообразным. С отрисовкой сейчас любой браузер нормально справится, проблемы начинаются когда событийная модель "распухает", ибо подписки на каждый чих жрут довольно много памяти, а страница должна быть вся такая динамичная. Т.е. изменил имя объекта, он подсосался в соседней таблице или в шапке, или в попапе настроил какую-нибудь оппортюнити, у тебя на страничке пересчиталось значение на лидах и прочий такой шлак. Конечно же это всё должно быть на подписках, ибо каждый раз пересчитывать всё на сервере и перезагружать всю модель страницы, лютейший оверхэд. Поделиться сообщением Ссылка на сообщение
Двапой #5796 8 августа 2014 ну а чем тут фреймворк тебе поможет, если это довольно примитивная задача, где самое трудное это продумать событийную модель?на счет вставки, я бы не был так самоуверен, когда я это дело тестировал многие браузеры не слишком хорошо справлялись. Думается мне, что в ие9 будут с этим проблемки. насколько я могу представить, тебе, если по мининимому, надо лишь один эвент на всю таблицу и 15-20 эвентов для контролов для каждой ячейки. 2way биндинги тут бы конечно красиво смотрелись, но с таким количеством данных, нет, это явно не ок будет. так что ручками, ручками Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
Обязательное_поле #5797 8 августа 2014 (изменено) Посоны, нужен совет по фрон энду.В общих чертах: огромные массивы данных в таблицах (порядка 1000 строк, по 15-20 столбцов) с клиентской логикой взаимодействия. GWT просто сдох нахуй Я так понял ни один современный браузер и фреймвёрх нихуя не переварит такое в динамике. Мне сейчас нужно бы понять что попробовать, дали время на прототипирование. Думаю на ангуляр толку нет времени терять.Тут реакт хорошо подойдет. Я серьезно. Изменено 8 августа 2014 пользователем Обязательное_поле Поделиться сообщением Ссылка на сообщение
Kant #5798 8 августа 2014 ну а чем тут фреймворк тебе поможет, если это довольно примитивная задача, где самое трудное это продумать событийную модель?на счет вставки, я бы не был так самоуверен, когда я это дело тестировал многие браузеры не слишком хорошо справлялись. Думается мне, что в ие9 будут с этим проблемки. насколько я могу представить, тебе, если по мининимому, надо лишь один эвент на всю таблицу и 15-20 эвентов для контролов для каждой ячейки. 2way биндинги тут бы конечно красиво смотрелись, но с таким количеством данных, нет, это явно не ок будет. так что ручками, ручкамиА можно было бы взять хоть даже винформс, где всё уже готово Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
Двапой #5799 8 августа 2014 Сильверлайт? Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
Kant #5800 8 августа 2014 мм, в какой точке соприкасается применение силверлайта и винформ? Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение