|
|
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Это 21112175 сравнение как источник раздумий по шаблонам и их применению, о котором многие твердят. Не будем рассматривать виртуального коня в вакууме, а возьмём конкретное применение — ось разработки - окна, ось продакшена — линуксы. Сервер приложений — котяра. Соответственно язык — java. Читабельность кода — в приведённом шаблоне имеется раскраска текста. Это будет если для написания такого шаблона использовать специализированный редактор. Если этот шаблон поместить в код java – эта раскраска пропадёт, это будет простая строка , появятся дополнительные кавычки, плюсы для соединения при переносе строк. При наличии кавычек надо учитывать дублирование кавычек, или знак «\» соответственно читаемость падает в разы. Учитывая, что skyANA, не является практикующим java-программистом, но смог прочитать и рефакторить код на чистой java, и что написанный им шаблон тоже надо суметь прочитать, даже при раскраске (не говоря о не раскрашенном варианте) — можно сделать вывод что аргумент с «плохой читабельностью» можно забыть. Есть вариант — подготавливаем шаблон в отдельном редакторе с раскраской и переносим в код java -это куча действий, но только один раз, при создании, при исправлении — мало кто захочет этот путь повторять. Храним шаблон в отдельном файле — редактируем спецредактором — наглядность , раскрашеность. Что с ним делать? Вариант: файл храним в проекте. Как используем? В коде, где нужно его применить читаем файл. Файл текстовый прочитаем в StringBuilder, начнем менять «спецвставки» на нужные, т. е. начнём работать со строками, работа со строками, даже StringBuilder (поиск,вставка, замена) операция очень не быстрая — огромная потеря времени, если учесть что такой шаблон будет вызван 500+ раз… Пагинация сокращает до 50+ раз, но в любом случае необходим вариант полного отображения данных, т. е. вызов 500+ раз. Есть вариант использовать Singleton загрузить этот файл один раз, в рантайме при старте вызвать компилятор , сформировать из этого шаблона класс, скомпилировать класс , загрузить его и вызывать… Оно того стоит? А если таких шаблонов по 5+ на каждую страницу? Пусть будет отдельный файл/ы. Первоначально он обработан/ы в Singleton. Простому пользователю приспичило его править — т. е. мы даём права «простому пользователю» на доступ в папку сервера? Хорошо, не «простой пользователь» - а программист, он правит шаблон. Значит в проекте должен появиться механизм отслеживающий изменения версий шаблонов, что бы при изменении подхватить и скомпилировать. Оно того стоит? Берём вариант текстовая строка в коде. Закрываем глаза на неудобство связанное с не раскрашенным текстом, используем предкомпилятор, который перед компиляцией сделает нужное. Ну будет работать быстро? Возможно, не известно что сгенерирует предкомпилятор… Есть выйгрыш? В чем? В читаемости? Маловероятный. В отладке? Если в чистом варианте ide сразу показывает все описки синтаксисе, то это же мы сможем понять только при запуске компиляции при работе предкомпилятора. Это увеличение времени разработки , да и при изменении/правки — тоже не мало времени уйдет. Вместо того чтоб исправлять ошибки при наборе — многократно запускать компиляцию. Опять таки «простой пользователь» не при делах. Аргумент — простой пользователь может изменять шаблон. В приведённом примере что может изменить пользователь? Добавить классы для расцветки? Ширины столбцов? Код основан на результатах работы хранимки — там много что вычислено именно в хранимке (точнее в селекте этой хранимки) благодаря чему много что удалось убрать из кода java. Если эту обработку перенести в java, то мало вероятно что кто-то сможет сделать такой шаблон как сделал skyANA, это будет кусок обыкновенного кода java. С кучей переменных, обработкой строк. Поместить текст хранимки в код? Это огромная строка , в коде будет не читабельна, править и проверять — дело долгое и не благодарное, в отличии от кода хранимки в предназначенном для этого ide. Да и «простой пользователь» который, который будет разбираться в sql коде и коде java - это уже программист. Для того чтоб простой пользователь мог менять шаблон — шаблон должен находиться вне проекта. Потому как при деплое проекта всё что изменил «простой пользователь» (при нахождении шаблона в проекте) будет похерено. Хранить шаблон в базе — можно, но тогда нужен специальный механизм для того чтоб «простой пользователь» мог его достать из базы исправить и положить обратно. И опять — что он может поправить для конкретного примера? «Простой пользователь» должен понимать язык построения шаблона, понимать что за поля используются в качестве условий, в качестве данных. Это будет уже не простой пользователь, да и для понимания ему надо подготовить хороший мануал. Нормальный программист, как показала практика, сделал это «с листа». Да есть задачи , в которых «простой пользователь» должен менять шаблон . Эти шаблоны должны сохраняться при деплое, разработчик должен видеть и проверять изменения кода с ними, т. е. необходимо иметь копию пользовательских шаблонов у разработчика, но это отдельная тема для разработки. Данный код не попадает в эту категорию. Если я что-то пропустил — прошу разъяснить. Это не критика использования шаблонов, это попытка разобраться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 09:00 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяЭто не критика использования шаблонов, это попытка разобраться.какой шаблон вы изучили сами в java? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 09:10 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяjava, то мало вероятно что кто-то сможет сделать такой шаблон как сделал skyANA, Не перетаскивай имена между ветками ЯП в таком контексте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 09:12 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Petro123какой шаблон вы изучили сами в java?никакой, поэтому и спрашиваю. был однажды предложен - но он в разделе предкомпиляции, что включено в данном описании. пока кроме слов надо использовать - я ни чего не видел, ни одного варианта шаблонизации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 09:15 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Petro123Не перетаскивай имена между ветками ЯП в таком контексте.это не укор кому-нибудь, не надо вырывать из контекста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 09:16 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяникакой, поэтому и спрашиваю. У меня отличная память. Около года назад предлагал Blazkowicz. Дай ссыль. Изучил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 09:46 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяпока кроме слов надо использовать - я ни чего не видел, ни одного варианта шаблонизациинужно наоборот, попробовать хотя бы jstl и потом разговаривать. Либо идти в js и там пробовать. Ты пытаешься оспорить сам паттерн. Это глупо. IMHO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 09:53 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Petro123У меня отличная память. Около года назад предлагал Blazkowicz.напомни , может у меня с памятью проблемы.. Petro123нужно наоборот, попробовать хотя бы jstl и потом разговаривать.jstl это сервлеты, я про чистый java. Petro123Либо идти в js и там пробовать.что там пробовать? мне нужно java а не javascript Petro123Ты пытаешься оспорить сам паттерн. Это глупо. IMHO.где ты видел оспаривание? я изложил свой взгляд. если в нем что-то не верно - прошу конкретно показать что. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 10:03 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяв приведённом шаблоне имеется раскраска текста. Это будет если для написания такого шаблона использовать специализированный редактор. Это общераспространенная практика IDE поддерживать шаблоны. IntelliJ IDEA умеет все наиболее популярные в Java. Например поддержка Velocity была уже лет 15 назад в популярном на то время HTML дизайнере (имя забыл). вадяЕсли этот шаблон поместить в код java – эта раскраска пропадёт Если на ламборджини вылить ушат помоев, то будет вонять. Вывод - машина говно. Что значит "поместить шаблон в код Java"? Кроме тебя в литералы никто никакой логики не пишет уже лет 20. Всё только борятся с таким. Например до сих нужно свойства в JPA/Hibernate в литералах писать. Это плохо. вадяЕсть вариант — подготавливаем шаблон в отдельном редакторе с раскраской и переносим в код java -это куча действий, но только один раз, при создании, при исправлении — мало кто захочет этот путь повторять. Няня, я у них поел. Вопрос остаётся открытым - зачем шаблон в Java коде, а не в ресурсах проекта. вадяХраним шаблон в отдельном файле — редактируем спецредактором — наглядность , раскрашеность. Что с ним делать? То же что и все. Редактируем в IntelliJ IDEA. вадяВ коде, где нужно его применить читаем файл. Файл текстовый прочитаем в StringBuilder, начнем менять «спецвставки» на нужные, т. е. начнём работать со строками, работа со строками, даже StringBuilder (поиск,вставка, замена) операция очень не быстрая — огромная потеря времени, если учесть что такой шаблон будет вызван 500+ раз… Пагинация сокращает до 50+ раз, но в любом случае необходим вариант полного отображения данных, т. е. вызов 500+ раз. Блин. Что за бред. Любой шаблонизатор идёт с API. Загрузить шаблон. Скормить ему данныее. Получить результат. 3 простых шага - три метода. вадяЕсть вариант использовать Singleton загрузить этот файл один раз, в рантайме при старте вызвать компилятор , сформировать из этого шаблона класс, скомпилировать класс , загрузить его и вызывать… Оно того стоит? А если таких шаблонов по 5+ на каждую страницу? Это всё за тебя делает библиотека. Что за цифры с потолка. 500, 5? В любом случае говнокода будет меньше. вадяПусть будет отдельный файл/ы. Первоначально он обработан/ы в Singleton. Простому пользователю приспичило его править — т. е. мы даём права «простому пользователю» на доступ в папку сервера? Ты зачем приплетаешь вопросы к теме не относящиеся. У тебя простые пользователи и Java код на сервере правят? Или что? Уже давно практика показала что пользователям нельзя давать ничего редактировать, если ты не CMS - то есть целенаправленный редактор. вадяХорошо, не «простой пользователь» - а программист, он правит шаблон. Значит в проекте должен появиться механизм отслеживающий изменения версий шаблонов, что бы при изменении подхватить и скомпилировать. Оно того стоит? Velocity умеет. JSP умеет. А ты Java код тоже на горячуе меняешь и сразу через JRebel публикуешь на сервер? вадяБерём вариант текстовая строка в коде. Закрываем глаза на неудобство связанное с не раскрашенным текстом, используем предкомпилятор, который перед компиляцией сделает нужное. Ну будет работать быстро? Возможно, не известно что сгенерирует предкомпилятор… Есть выйгрыш? В чем? В читаемости? Маловероятный. Очень субъективное ничем не обоснованое утверждение. Да, шаблон отдельно, код отдельно. Править удобнее когда всё отдельно, а не намешено в кучу, потому что в когда у тебя всё вперемешку и надо вдруг поменять layout HTML страницы, то тебе не только твой HTML нужно менять, но и кучу говнокода, чтобы склеить его в другом порядке. А с шаблонами такой проблемы нет. вадяВ отладке? Если в чистом варианте ide сразу показывает все описки синтаксисе, то это же мы сможем понять только при запуске компиляции при работе предкомпилятора. Это увеличение времени разработки , да и при изменении/правки — тоже не мало времени уйдет. Вместо того чтоб исправлять ошибки при наборе — многократно запускать компиляцию. Опять таки «простой пользователь» не при делах. Какой ещё "предкомпилятор". Ты столько всего мешаешь в одну кучу, что обозначить одну проблему не возможно. Ты всё ещё забываешь, что железо стоит на много дешевле работы программиста. Тебе, как программисту, конечно же, выгодно плодить говнокод, чтобы потом долго и упорно его поддерживать. Но бизнесу это не выгодно. Ему выгодно купить железку и запускать на ней простой код, который может быть на пару процентов и медленее твоего (что ещё нужно доказать). вадяАргумент — простой пользователь может изменять шаблон. Не аргумент. Либо мы пишем CMS, либо простой пользователь не может. Без вариантов. вадяДа и «простой пользователь» который, который будет разбираться в sql коде и коде java - это уже программист. Всё верно. Одно только не могу понять. У тебя "простые пользователи" конкатенацию правят? Если нет, то к чему вообще этот аргумент? вадяЕсли я что-то пропустил — прошу разъяснить. Это не критика использования шаблонов, это попытка разобраться. Классы. Абстракные слои. MVC. Микросервисы. Уже десятки лет индустрия борется за то чтобы разделять всё что можно разделить. И причина на то одна единственная - инкапсуляция. Строгий юнит, имеющий один стиль и одну задачу просто редактировать. Стоимость разработки в свете постоянно изменяющихся требований к системе это единственный важный критерий выбора из всех перечисленных. И быстро наговнокодить в этот критерий никак не укладывается. Потому что быстронаговнокоженое править больно и долго. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 10:10 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадянапомни , может у меня с памятью проблемы..страниц 10 в топике протупишь, найду) .... Во какой у тебя спитч без абзацев, такой и код со склейкой строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 10:22 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Petro123Во какой у тебя спитч без абзацев, такой и код со склейкой строк. Может там были абзацы, а говнопарсер съел? Лучше выделять их, пустой строкой, а не отступом. И я бы попросил вопросы писать в конце абзаца отдельно. Трудно их выуживать в середине текста, когда текста много. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 10:27 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, спасибо за развёрнутые ответы. многие из них можно переправить моим оппонентам. некоторые косвенно подтверждают моё мнение. с некоторыми не согласен. я так понимаю других вариантов ответов не существует? тогда тему можно зарыть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 10:28 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
BlazkowiczМожет там были абзацы, а говнопарсер съел? Лучше выделять их, пустой строкой, а не отступом. И я бы попросил вопросы писать в конце абзаца отдельно. Трудно их выуживать в середине текста, когда текста много. согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 10:30 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадямногие из них можно переправить моим оппонентам. некоторые косвенно подтверждают моё мнение.)) Ну дак из нас максималист только ты. Все оппоненты кричали тебе что иструменты по месту и задаче. вадяя так понимаю других вариантов ответов не существует? После шаблонов в веб пришел компоненный подход. вадятогда тему можно зарыть. И тебе шаблоны не изучать))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 11:07 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Petro123Ну дак из нас максималист только ты..не я не максималист, это skyANA мне мозги проел про шаблоны для обычных пользователей. Petro123И тебе шаблоны не изучать)))))ну почему так критично. Petro123Все оппоненты кричали тебе что иструменты по месту и задаче.ну только эти крики странными были. вот в том примере, моё мнение, шаблон ни к чему. оно, конечно, может не совпадать с другими, но но это не повод говорить что это говнокод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 11:19 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяно это не повод говорить что это говнокод. Мне больно представить как с вашим не говнокодом можно решать задачи рефакторинга HTML и редизайна сайта. Особенно если HTML дизайнер тоже кодер так себе. В то время как в шаблоне вы можете взять любой говно-html и просто добавить ссылки на объекты и циклы. То с литералами придётся весь говнокод вставлять в строки и мучительно экранировать кавычки. Ну, или вот навигацию взять. Как ты из тэга в css класс переходишь? А в javascript функцию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 11:50 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадявот в том примере, моё мнение, шаблон ни к чемудак ты не растешь. А мы тут учимся расти. Зачем нам 5 лет твой код смотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 12:16 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяну почему так критично.в 2019 будет уже две твоих темы про шаблоны). "Поживем увидим" (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 12:19 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНу, или вот навигацию взять. Как ты из тэга в css класс переходишь? А в javascript функцию?разжуй для меня этот вопрос, я не очень понял его ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 12:27 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяразжуй для меня этот вопрос, я не очень понял его В IntelliJ IDEA. Я нажимаю Ctrl+B или Сtrl+Mouse1 на имени класса в теге: Код: html 1. И попадаю в CSS файл где у меня эти классы описаны. Работает для кучи разных шаблонов от JSP до Angular. Ты как это решаешь? Копируешь имя в буфер - идешь в каталог с css и делаешь поиск по всем файлам? Даже копирование в буфер в будет мучением. Умный выбор, ведь, не работает, если вдруг IDEA не догадалась что у тебя HTML в строках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 12:59 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
BlazkowiczКопируешь имя в буфер - идешь в каталог с css и делаешь поиск по всем файлам?и так и не так. тут важна правильная организация. у меня к каждой странице есть свой файл css, и там не много css классов. и для меня такой проблемы не существует. но такой умный выбор на jsp странице есть, как оказывается, но честное слово мне он не требовался. такую задачу я решаю просто - nb позволяет отлаживать всё в себе. наглядно и удобно. и неужели идея понимает эти тэги если они находятся в классе java? а не на jsp странице? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 13:25 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Да, там целый механизм, ты говоришь ей что у тебя литерале SQL, HTML, любой другой язык и она соответственно применяет синтаксис. Код: java 1. 2. При этом работает разбиение на строки Код: java 1. 2. 3. И я даже могу обернуть перенесенный div в другой тег одним хоткеем. Не знаю будет ли работать со StringBuilder-ом. С другой стороны, он нужнен только в циклах. В твоём чудокоде можно было бы и + использовать без потери производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 13:39 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяи там не много css классов. и для меня такой проблемы не существует Ну, вот каждый разговор с тобой к этому и сводится. Работаю один, мой код никто не ковыряет, чужой код сам не ковыряю, массштабы проекта "написал сам". И почему-то свой субъективный опыт программиста-одиночки ты считаешь единственно верным и экстраполируемым на проект любого масштаба. Утрируя: если ты пишешь крестики-нолики то и впаривать тебе абстрактные слои не обязательно. Но и говорить, что у меня в крестиках-ноликах используется копи-паста и всё работает, ребзя, не ругайте копи-пасту. Тоже не стоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 13:46 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНе знаю будет ли работать со StringBuilder-ом. С другой стороны, он нужнен только в циклах. В твоём чудокоде можно было бы и + использовать без потери производительности.пробовал, тормоза жуткие. в том примере создаётся одно строка таблицы, минимум таких строк 36, максимум - 2000. среднее - 800. данный вариант выводи одинаково что 36, что 500. больше пока не заведено :) вот откуда и взято число 500+. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 13:51 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, тут проблема несколько в другом. у меня нет столько классов что вставляют fw, только минимум необходимого. и при этом не все классы прописываются в css. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 13:57 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Blazkowiczвадяи там не много css классов. и для меня такой проблемы не существует Ну, вот каждый разговор с тобой к этому и сводится. Работаю один, мой код никто не ковыряет, чужой код сам не ковыряю, массштабы проекта "написал сам". И почему-то свой субъективный опыт программиста-одиночки ты считаешь единственно верным и экстраполируемым на проект любого масштаба. Утрируя: если ты пишешь крестики-нолики то и впаривать тебе абстрактные слои не обязательно. Но и говорить, что у меня в крестиках-ноликах используется копи-паста и всё работает, ребзя, не ругайте копи-пасту. Тоже не стоит. +1 Когда припирают к стенке, на этом "мне не надо" все заканчивается. Удачи аффтару! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 14:14 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
BlazkowiczVelocity умеетследуя рекомендации - смотрю на Velocity... вот пример https://javabeat.net/java-database-application-with-apache-velocity/ по структуре он подходит под мой вариант. работу с шаблоном можно разделить на несколько шагов получить данные из результсета загрузить построчно из результсета в мапы мапы в лист что-то с листом прочитать шаблон инициализация Velocity запуск Velocity это ж во сколько раз всё медленнее будет? даже если шаблон из базы вытащить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 20:57 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяэто ж во сколько раз всё медленнее будет?Есть процесс, который занимает девяносто секунд из ста. Ускоряем процесс на порядок получаем и получаем девятнадцать секунд общего времени. Примерно впятеро быстрее. Впятеро, а не в десять раз. Есть другой процесс, который занимает десять секунд из ста. Ускоряем этот процесс на порядок и получаем девяносто одну секунду. Одиннадцать процентов выигрыша. Оно, конечно, хлеб, если, кровь из носу, требуется отыграть семь-восемь секунд. А если не требуется? А если не на порядок ускоряемся, а только вдвое? А если вообще не ускоряемся? Просто потому, что на ничтожные доли процента выросла загрузка процессора, а время осталось прежним? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 21:08 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадязагрузить построчно из результсета в мапы мой код заканчивает работать на этой строке, просто заменяем мапу на StringBuilder. всё остальное - уже чистый пройгрыш, а если учесть что весь набор данных перебирается ещё как минимум 2 раза.. т.е. минимум в 3 раза медленнее. просто из-за того что данные переписываются. что там делается с шаблоном, не известно, но алгоритм должен быть универсальным, а значит не факт что оптимальным. значит для нормальной работы сервер может обслужить как минимум в 3 раза меньше клиентов. это не всегда заметно. но всегда заметно раздражение заказчика, когда требуется ждать.... лично меня офигенно раздражает, кода техподдержка провайдера просит : подождите, ваши данные загружаются.... или в банке сидишь и ждёшь пока у операторши экран обновится. я знаю что можно и что возможно, я сделал систему в которой менеджер во время приёма заказа по телефону подготавливал счёт со всеми возможными вариантами замены/резерва/постаки/отсутствия товара и когда клиент говорил что всё , он заказ сделал - у менеджера уже был напечатанный счёт и уже вложен в факсовый аппарат... и менеджерам было по барабану, что там за код, они слышали паузу удивления на предложение нажать кнопку пуск на факсе для приёма клиентом.... менеджеры наслаждались этой паузой а если каждый клиент будет получать данные как минимум в 3 раза медленнее. я проигрываю не только на этом участке... таких куча. добавим время на написание+отладку этого код + написание и отладка шаблона = удорожание разработки. а если добавить что это всё с базой - то ещё удорожание. удорожание себестоимости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 22:05 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадя, качество vs. количество ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 22:27 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадя, Тебя скоро в дурку отправят, т.к. зациклило на одном критерии - скорость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 22:45 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Petro123Тебя скоро в дурку отправят, т.к. зациклило на одном критерии - скорость.в дурку отправят заказчика, когда он разнесёт комп от ожидания .... система должна быть быстрой. когда в какой-нибудь конторе сидишь в очереди и видишь что операторша за компом большую часть времени проводит в ожидании данных, а ты в это время считаешь эти "секунды" и умножаешь на количество этих операций и на количество народа перед тобой - хочется прогеров подвесить за одно место ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 22:55 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадякогда в какой-нибудь конторе сидишь в очереди опять бредни старухи на лавочке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 23:38 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадя, а как ты относишься к многопоточности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 00:07 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Usmanвадя, а как ты относишься к многопоточности? это не понацея, если есть лишний код он и многих потоках будет лишним. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 04:22 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Petro123вадякогда в какой-нибудь конторе сидишь в очереди опять бредни старухи на лавочке. тебе не приходилось ? завидую.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 04:23 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяследуя рекомендации - смотрю на Velocity... Я ничего не рекомендовал. Я перечислил те которые умеяют легко обновлятся на лету. Другие, возможно, тоже умеют. Я не проверял. Velocity немного устарел и синтаксис у него стремный. Я сейчас за Freemarker больше. вадяэто ж во сколько раз всё медленнее будет? даже если шаблон из базы вытащить... Померяй и удиви нас. А то всё у тебя субъективно медленне, чиста по личным предположениям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 09:02 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
BlazkowiczПомеряй и удиви нас.поддерживаю. Только практика! Я сижу на лавочке и запускаю твой код с шаблоном, который тормозит. Ждем. Это будет твой первый шаблонизатор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 10:11 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
BlazkowiczПомеряй и удиви нас. А то всё у тебя субъективно медленне, чиста по личным предположениям.если будет время проверю :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 11:27 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадя, только миллисекунды нам(мне) не нужны. В ГУИ, когда я сижу на лавочке погрешности побольше. "Любитель, микросекунд))". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 11:31 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Petro123вадя, только миллисекунды нам(мне) не нужны. В ГУИ, когда я сижу на лавочке погрешности побольше. "Любитель, микросекунд))".они складываются в минуты. любитель тормозов? а кто-то тут твердил про высоконагруженные системы, а по ходу сам создаёт на них охеренную нагрузку. когда ты один эти микросекунды не заметны, а когда у тебя 10к ? уже всем заметно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 12:00 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Petro123образование есть? 21121571 12 раз выбрать пункты - вот и минута, а за смену такого наберётся сколько ? при активной работе может и полчаса и час - переведи в зарплату? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 13:04 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
BlazkowiczПомеряй и удиви нас. А то всё у тебя субъективно медленне, чиста по личным предположениям.Petro123 хотел удивить меня , удивил, получилось - тормоза в 5 сек -это круто если вас такое устраивает - продолжайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 13:09 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадякогда ты один эти микросекунды не заметны, а когда у тебя 10к ? уже всем заметно...Вы сначала дорастите до этих самых 10к/с ... 1e4 * 8,64e5 * 30 ~= 26 миллиардов запросов в месяц. По опыты позапрошлой работы могу сказать, что в логах сайта системы регионального уровня (8*5*250) за месяц регистрировалось что-то около 2,5 миллионов запросов. Это ~200 активных пользователей и всё равно - на четыре порядка меньше ваших отбалдянских оценок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 14:23 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадятормоза в 5 сек -это крутоты дурак? Где 5 сек? Дай ссыль и я набью ему морду)))). Если ты про сайт, то у меня в профиле сайт за бугром. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 14:55 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадя, И не забалтывай тему - "выучит вадя хоть один шаблонизатор или нет в 2018 году". Ставки сделаны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 15:00 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovв логах сайта системы регионального уровня (8*5*250) за месяц регистрировалось что-то около 2,5 миллионов запросов.Попутал - сутки, а не месяц. Но и это на два с половиной порядка меньше отбалдянских оценок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 15:12 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Petro123Дай ссыль и я набью ему морду)))).я написал где, читай. в том примере что ты дал ссылку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 17:27 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovВы сначала дорастите до этих самых 10к/с ... 1e4 * 8,64e5 * 30 ~= 26 миллиардов запросов в месяц. По опыты позапрошлой работы могу сказать, что в логах сайта системы регионального уровня (8*5*250) за месяц регистрировалось что-то около 2,5 миллионов запросов.даже если Petro123, покажет мне подобные цифры с сайта , на который он дал ссылку - это будет ни о чём, потому как я видел задержку в 5 сек. и заказчику , если ему показать во что выльется эта задержка за день, месяц, в оплате времени ожидания , в потере имиджа, клиентов. будет не до выяснения что там "золотой" код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 18:00 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадя, Ты тупой. Я разве давал ссылки про шаблоны?))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 18:08 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Petro123Ты тупой. Я разве давал ссылки про шаблоны?)))))я не говорю про ссылки на шаблоны, я про сайт на который ты дал ссылку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 18:36 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяPetro123Ты тупой. Я разве давал ссылки про шаблоны?)))))я не говорю про ссылки на шаблоны, я про сайт на который ты дал ссылку Ты тупой. Сайт сделан на одном движке. А я показывал табличку на другом движке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 20:04 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Petro123Ты тупой. Сайт сделан на одном движке. А я показывал табличку на другом движке. это как? 21122348 если это сделали авторы движка который ты хвалил, то это конечно круто, только где таблица на другом движке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 20:16 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Petro123Ты тупой. Сайт сделан на одном движке. А я показывал табличку на другом движке.а нахера ты его тогда показываешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 20:16 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяPetro123Ты тупой. Сайт сделан на одном движке. А я показывал табличку на другом движке.а нахера ты его тогда показываешь? Ты тупой. Показывал что табличка от Kendo фреймвока в демке с лукапами не тормозит. https://demos.telerik.com/kendo-ui/grid/foreignkeycolumn ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 21:05 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Petro123Ты тупой. Показывал что табличка от Kendo фреймвока в демке с лукапами не тормозит.а что там может тормозить? там мизерное количество данных. тормозит то, что при выборе в левом меню - появляется в том окне где твои таблицы не тормозят. мне, как заказчику, этого достаточно чтоб поставить крест на этом проекте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 22:31 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяэто будет ни о чём, потому как я видел задержку в 5 секВы удивитесь, какие задержки можно получать в сети без всякой помощи со стороны сайта. P.S. Если вам требуется "окучить операторов", то веб-приложения вам противопоказаны. Вне зависимости от использования шаблонизаторов или написания кода руками дев..., тьфу, гениальных программистов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 23:08 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадя, Ты тупой? До тебя доходит как до жирафа. Мы были в топике про таблицы и я тебе предложил сравнить твою с таблой kendo. Счас ты похвалил kendo. А твоя гавно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 23:08 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяэтого достаточно чтоб поставить крест на этом проекте.у тебя проекта никогда не было. Тебе бы с табличкой и шаблоном разобраться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 23:10 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Petro123вадя, Ты тупой? До тебя доходит как до жирафа. Мы были в топике про таблицы и я тебе предложил сравнить твою с таблой kendo. Счас ты похвалил kendo. А твоя гавно. зачем сравнивать мою с кенду? у моей сваи задачи. у тс был вопрос про справочники ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 00:54 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovвадяэто будет ни о чём, потому как я видел задержку в 5 секВы удивитесь, какие задержки можно получать в сети без всякой помощи со стороны сайта. P.S. Если вам требуется "окучить операторов", то веб-приложения вам противопоказаны. Вне зависимости от использования шаблонизаторов или написания кода руками дев..., тьфу, гениальных программистов. ага , а мы еще добавим к независимым от нас задержкам, свои и будем втирать заказчику про сеть. свой вариант я проверял на клиенте в Узбекистане, с трафиком 256k, с сервера у нас. работало также как на моем компе в локальной сети ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 01:01 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадязачем сравнивать мою с кенду? а зачем ты во всех топиках показываешь вот это код 5-10 летний? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. У кенди код лучше))) вадяу моей сваи задачи. у тс был вопрос про справочники ты ходишь по форумам и требуешь признания. Обычный нарциссизим джуниора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 10:33 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
уже три страницы и два года разговоров, поэтому вот тут обещания вади повысить скилы: 19153245 Т.е. разговоры про шаблоны это ходьба по кругу. Нужно ПРОСТО пройти этот этап. Сказать просто что я это умею. И идти дальше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 11:16 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Petro123ты ходишь по форумам и требуешь признания. Обычный нарциссизим джуниора.мне признание не надо, просто меня достало ваше непонятное следование каким-то придуманным правилам, которые непонятно кем придуманы.... вы следуете им бездумно. ругая out.print , сами того не понимая, показываете своё непонимание то что что ругаете. это глупо выглядит, очень глупо. Petro123а зачем ты во всех топиках показываешь вот это код 5-10 летний?это не старый код. это новый , с использование построения html строки. если оракл придумает неч-то более быстрое для работы со строками- я буду использовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 11:45 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадявы следуете им бездумно. Все на всех ветках форума? Кроме Nebo твоего второго логина? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 12:29 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяесли оракл придумает неч-то более быстрое для работы со строками- я буду использовать это клиника ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 12:30 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Petro123Все на всех ветках форума? Кроме Nebo твоего второго логина? ничего конкретного нет сказать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 16:39 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяесли оракл придумает неч-то более быстрое для работы со строками- я буду использовать А если не Oracle? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 16:56 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадя, https://stackoverflow.com/questions/17163275/is-there-any-java-template-engine-benchmarks Замеры на вскидку показываеют что отдельные шаблонизаторы, действительно, могут быть раза в 2 медленее StringBuilder. Вот только на фоне обращений к БД это всё погрешность в районе одного процента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 17:17 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяPetro123Все на всех ветках форума? Кроме Nebo твоего второго логина? ничего конкретного нет сказать? конкретная тема была про табличку Kendo. Но ты струсил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 18:27 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
BlazkowiczВот только на фоне обращений к БД это всё погрешность в районе одного процента.судя по примеру, приведённому Petro123, может достигать и 5 сек. BlazkowiczА если не Oracle?ну если оракл продаст java , будем надеяться, что следующий владелец... Petro123конкретная тема была про табличку Kendo. Но ты струсил. как только я увидел задержку в 5сек, все остальное для меня потеряло смысл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 20:29 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
BlazkowiczВот только на фоне обращений к БД это всё погрешность в районе одного процента.можно пренебречь тут немногим, там, сям, в итоге получить тормоз и жаловаться что сеть тормоз, что железо старое... я предпочитаю сначала самому сделать максимально быструю систему, а потом уже грешить на остальное. это моё мнение, я не навязываю его кому-либо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 20:43 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяUsmanвадя, а как ты относишься к многопоточности? это не понацея, если есть лишний код он и многих потоках будет лишним.ок, а как ты относишься к балансировщику нагрузки (и горизонтальное масштабирование в целом) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 20:56 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяBlazkowiczВот только на фоне обращений к БД это всё погрешность в районе одного процента.можно пренебречь тут немногим, там, сям, в итоге получить тормоз и жаловаться что сеть тормоз, что железо старое... я предпочитаю сначала самому сделать максимально быструю систему, а потом уже грешить на остальное. это моё мнение, я не навязываю его кому-либо. Логичнее делать сначала рабочую систему, которая решает поставленные задачи, а уж потом оценивать/считать миллисекунды, которые уходят на перебор коллекций и работу со строками так или сяк :) И да, запросы к бд в сотню раз дольше выполняются(сам не проверял, видел недавно какое-то сравнение, может не в сотню, но прилично), для того кеширование и было создано, а так же всякие там Lazy операции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 20:58 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Usmanок, а как ты относишься к балансировщику нагрузки (и горизонтальное масштабирование в целом) ?хорошо отношусь.... это к чему вопрос? если всё это использовать, то не стоит и оптимизировать код? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 21:18 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
NixicЛогичнее делать сначала рабочую систему, которая решает поставленные задачи, а уж потом оценивать/считать миллисекунды, которые уходят на перебор коллекций и работу со строками так или сяк :)да, согласен, но данный вариант проверен многократно, поэтому его использую. ну оптимизация запросов это само собой, помимо этого я ещё и распределяю что можно сделать в хранимке быстрее и перенос чего из кода java в хранимку сделает систему быстрее. если ты заметил из результсета возвращаются несколько булевых значений, если их получать в java то логика покажется очень сложной и таким простым методом строку не построить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 21:26 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяUsmanок, а как ты относишься к балансировщику нагрузки (и горизонтальное масштабирование в целом) ?хорошо отношусь.... это к чему вопрос? если всё это использовать, то не стоит и оптимизировать код?Код может быть супер оптимальным, но с приростом нагрузки задержек неизбежать. Я бы сказал так, что супер оптимальный код тоже не панацея (: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 21:34 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
UsmanКод может быть супер оптимальным, но с приростом нагрузки задержек неизбежать. Я бы сказал так, что супер оптимальный код тоже не панацея (:это само собой, просто чем оптимальнее код по быстродействию, тем позже наступает необходимость всего остального. да и цена остального меньше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 21:41 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяPetro123конкретная тема была про табличку Kendo. Но ты струсил. как только я увидел задержку в 5сек, все остальное для меня потеряло смысл. собака Павлова. Не отличает вёрстку сайта от примера на сайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 21:53 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадя, точно такой зеркальный довод действует против тебя. Как только у тебя видят: Код: java 1. 2. сразу всё остальное что вадя говорит или пишет никому не интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 21:57 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Petro123, Это фрагмент "кодоразметки", где используется технология Вадя's Servlet Pages ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 22:03 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
У меня есть такая штука, которая формируется секунд 30, а потом шлет отчет на мыло. И ничего :) Это автоматизированная штука, которую пользователи не видят, не трогают, формируется ближе к полуночи. А еще есть прямо в интерфейсе у юзера один отчет, он тоже долгий, порядка 20-30 секунд, уж и не помню точно, дык вот... я сразу предупредил, договорился, что перебор/подсчет и т.д. будет долгим, ну и ничего, работают, понимают :)) Теперь я знаю как там всё кардинально изменить, чтобы всё летало, но с этим заказчиком давно не общался и не хочу навязывать свои услуги, тем более, что и времени у меня нет и денег у них не будет столько, сколько я попрошу)) Это я к тому, что когда договоришься, то 5 секунд это капля в море. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 22:30 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
NixicУ меня есть такая штука, которая формируется секунд 30, а потом шлет отчет на мыло. И ничего :) Это автоматизированная штука, которую пользователи не видят, не трогают, формируется ближе к полуночи. А еще есть прямо в интерфейсе у юзера один отчет, он тоже долгий, порядка 20-30 секунд, уж и не помню точно, дык вот... я сразу предупредил, договорился, что перебор/подсчет и т.д. будет долгим, ну и ничего, работают, понимают :)) Теперь я знаю как там всё кардинально изменить, чтобы всё летало, но с этим заказчиком давно не общался и не хочу навязывать свои услуги, тем более, что и времени у меня нет и денег у них не будет столько, сколько я попрошу)) Это я к тому, что когда договоришься, то 5 секунд это капля в море. есть разные места, но это не значит, что надо применчть заведомо тормознутые варианты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 23:31 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Petro123вадя, точно такой зеркальный довод действует против тебя. Как только у тебя видят: Код: java 1. 2. сразу всё остальное что вадя говорит или пишет никому не интересно. не нравится не используй, если тебе нравятся тормознутые системы используй их ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 23:33 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
UsmanPetro123, Это фрагмент "кодоразметки", где используется технология Вадя's Servlet Pages вот тот вариант кендо, что привел Petro, уже не ускорить ни распараллеливанием, ни масштабированием. а данных там — кот наплакал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 23:37 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Petro123вадя, точно такой зеркальный довод действует против тебя. Как только у тебя видят: Код: java 1. 2. сразу всё остальное что вадя говорит или пишет никому не интересно. однако тебя задело это, значит тебе интересно, а то , что внутри шблонизаторов используется такое же, это нормально. странная логика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 23:41 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадявот тот вариант кендо, что привел Petro, уже не ускорить ни распараллеливанием, ни масштабированием. а данных там — кот наплакал.ну, там подход совершенно другой - MVVM (настоятельно рекомендую прочитать Построение UI без использования MV*-паттернов ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 00:37 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Usmanвадявот тот вариант кендо, что привел Petro, уже не ускорить ни распараллеливанием, ни масштабированием. а данных там — кот наплакал.ну, там подход совершенно другой - MVVM (настоятельно рекомендую прочитать Построение UI без использования MV*-паттернов ) раз подход другой — значит допустимы задержки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 05:33 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяоднако тебя задело это, значит тебе интересно, а то , что внутри шблонизаторов используется такое же, это нормально. странная логика. Даже в js считается дурным тоном создавать html из строк, а не построением DOM-модели через соответствующие функции. А так я бы рекомендовал бы вам написать свой HTML-шаблонизатор с лямбдами и билдерами. Во первых код выглядел бы поаккуратнее, во вторых было бы "стильно, модно, молодежно". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 05:41 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Usmanвадявот тот вариант кендо, что привел Petro, уже не ускорить ни распараллеливанием, ни масштабированием. а данных там — кот наплакал.ну, там подход совершенно другой - MVVM (настоятельно рекомендую прочитать Построение UI без использования MV*-паттернов ) статья интересная, но возник вопрос: автор описывает кучу методов, у каждого есть достоинства и недостатки. потом он выбирает mvvm, , и считает это серебряной пулей... и предлагает следовать ей.... но раз так много методов, значит каждый из них был сделан не на пустом месте. под каждую задачу подходит свой. тогда есть ли серебряная пуля? получается выбираем метод назначаем его религией и безумно следуем ей. остальные — неверные, и бей неверных.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 06:00 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
mad_nazgulвадяоднако тебя задело это, значит тебе интересно, а то , что внутри шблонизаторов используется такое же, это нормально. странная логика. Даже в js считается дурным тоном создавать html из строк, а не построением DOM-модели через соответствующие функции. А так я бы рекомендовал бы вам написать свой HTML-шаблонизатор с лямбдами и билдерами. Во первых код выглядел бы поаккуратнее, во вторых было бы "стильно, модно, молодежно". допустим. т.е. для следования этому на клиента мы должны посылать данные и там строить элементы и вставлять данные. и опять назначаем религию... но кто вам сказал, что у меня везде строится html? если результатом является несколько значений, которые нужно заменить — передаются только значения. если есть что—то типа модального окна со своей логикой, то передаются тоже значения и вставляются в этот «модуль». но формировать тело таблицы это два преобразования, я предпочитаю одно. я считаю что следовать моде это не есть хорошо. особенно если это приводит к тормозам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 06:13 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяUsmanпропущено... ну, там подход совершенно другой - MVVM (настоятельно рекомендую прочитать Построение UI без использования MV*-паттернов ) статья интересная, но возник вопрос: автор описывает кучу методов, у каждого есть достоинства и недостатки. потом он выбирает mvvm, , и считает это серебряной пулей... и предлагает следовать ей.... но раз так много методов, значит каждый из них был сделан не на пустом месте. под каждую задачу подходит свой. тогда есть ли серебряная пуля? получается выбираем метод назначаем его религией и безумно следуем ей. остальные — неверные, и бей неверных....Да, полно разных принципов/паттернов. И у всех есть свои плюсы и минусы. То, на что я просил обратить внимание -- это соблюдение принципа единственной ответственности (1-й пункт SOLID ). Технология Вадя's Servlet Pages - не соответствует ни одному из 5-ти перечисленных принципов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 06:52 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Usman Вадя's Servlet Pagesмногое что в начале считали абсурдом... Usman не соответствует ни одному из 5-ти перечисленных принципов.эти 5 принципов Прокрустово ложе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 07:14 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяне нравится не используй, если тебе нравятся тормознутые системы используй их Ну, тебе нравятся Г. системы. Скорость ведь нужна знаешь где). вадякендо Ты решил с кендо меряться))) LOL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 07:17 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Че вы с ним о паттернах, если чел ООП отвергает? Он старообрядец. У него нет семьи, работы и кошки. И пишет он при лучине или свечке гусиным пером. Удачи ему в делах праведных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 07:20 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Petro123Ты решил с кендо меряться))) LOLтебе нравятся 5 секундные задержки - тогда кендо твой выбор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 07:25 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяPetro123Ты решил с кендо меряться))) LOLтебе нравятся 5 секундные задержки - тогда кендо твой выбор. Ты тупой. Где именно у тебя задержки? Месячные? Рассказывай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 07:37 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадя, Ну и свои задержки показывай). Сравним) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 07:38 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Petro123Ты тупой. Где именно у тебя задержки? Месячные? Рассказывай.я тебе уже говорил где- в левой части есть "меню" нажимаешь там на пункт, в правой данные появляются только через 5 сек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 07:53 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадядопустим. т.е. для следования этому на клиента мы должны посылать данные и там строить элементы и вставлять данные. и опять назначаем религию... но кто вам сказал, что у меня везде строится html? если результатом является несколько значений, которые нужно заменить — передаются только значения. если есть что—то типа модального окна со своей логикой, то передаются тоже значения и вставляются в этот «модуль». но формировать тело таблицы это два преобразования, я предпочитаю одно. я считаю что следовать моде это не есть хорошо. особенно если это приводит к тормозам. Я не это хотел сказать. Если все равно пишите свой шаблонизатор HTML, почему-бы не оформить его в виде библиотеки. Чтобы было типа такого (это просто для примера, не обязательно именно так): Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. P.S. А так рекомендую посмотреть в сторону Kotlin. Там простой шаблонизатор для строк встроен в ЯП. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 07:57 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
mad_nazgulЕсли все равно пишите свой шаблонизатор HTML, почему-бы не оформить его в виде библиотеки.у меня нет как такового шаблонизатора. написать что-то вроде библиотеки - я думал над этим , но только у меня нет в проектах повторяющихся таблиц или других элементов/объектов. если и есть похожие - то городить "библиотеку" становится дороже, потому как делать что-то чтоб и тут и там устраивало становится накладно. у меня есть "библиотечный" элемент "выпадающий список" но если в него включить все варианты использования , которые встретились в проектах, то чтоб составить из него реальный библиотечный элемент, это надо создать такого монстра, что весь смысл теряется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 08:15 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяmad_nazgulЕсли все равно пишите свой шаблонизатор HTML, почему-бы не оформить его в виде библиотеки.у меня нет как такового шаблонизатора. написать что-то вроде библиотеки - я думал над этим , но только у меня нет в проектах повторяющихся таблиц или других элементов/объектов. если и есть похожие - то городить "библиотеку" становится дороже, потому как делать что-то чтоб и тут и там устраивало становится накладно. Как минимум структура HTML, HTML-теги повторяются. Писать постоянно Код: java 1. 2. 3. Как минимум странно. Когда можно выделить функции для создания создание заголовков таблицы, тела таблицы. А т.к. там все равно строки, то можно, например, написать функцию Код: java 1. Ну и т.д. Как минимум будете уверены, что теги закрываются. :-) вадяу меня есть "библиотечный" элемент "выпадающий список" но если в него включить все варианты использования , которые встретились в проектах, то чтоб составить из него реальный библиотечный элемент, это надо создать такого монстра, что весь смысл теряется. Ну есть, например, лямбды или анонимные классы, в которых можно передать конкретное поведение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 08:55 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
mad_nazgulКак минимум будете уверены, что теги закрываются. :-) Тут действует уже классическая отмазка - ему это не нужно, там не такие сложные страницы. :D ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 09:08 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
mad_nazgulКак минимум структура HTML, HTML-теги повторяются. Код: java 1. но если посмотреть внимательно - то почти в каждом тэге есть различные атрибуты, id, data-, class. имя класса может состоять из имени + число. data-имя=значение. mad_nazgulА т.к. там все равно строки, то можно, например, написать функциюнаписать можно но там цикл и если в цикле вызвать Код: java 1. то можно просто не дождаться результата..... mad_nazgulНу есть, например, лямбды или анонимные классы, в которых можно передать конкретное поведение.конечно можно, но во что это выльется? к примеру небольшое изменение в построении StringBuilder. https://habrahabr.ru/post/330220/ поэтому может стоит перейти от StringBuilder к стрим? mad_nazgulКак минимум будете уверены, что теги закрываются. :-)согласен, в этом есть трудность, и она была , но практика написания позволила сделать "методы" написания, которые свели такую проблему к минимуму. BlazkowiczТут действует уже классическая отмазка - ему это не нужно, там не такие сложные страницы. :Dбыли и по сложнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 09:30 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяPetro123Ты тупой. Где именно у тебя задержки? Месячные? Рассказывай.я тебе уже говорил где- в левой части есть "меню" нажимаешь там на пункт, в правой данные появляются только через 5 сек.дык ты меню ни разу не писал. Мы твою таблу сравниваем и кендо. А сайт может на пыхе? Дошло? Флудер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 09:53 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадябыли и по сложнее.отмазка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 09:55 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Petro123А сайт может на пыхе?кендо? может быть, но видя такие задержки как убедить кого-то что на java будет быстрее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 10:11 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяно если посмотреть внимательно - то почти в каждом тэге есть различные атрибуты, id, data-, class. имя класса может состоять из имени + число. data-имя=значение. Во первых их там не так уж и много. Во вторых можно их загнать в Map, который можно "развернуть" внутри тега, по определенным правилам. вадянаписать можно но там цикл и если в цикле вызвать то можно просто не дождаться результата..... В чем проблема? Почему нельзя дождаться результата? вадяконечно можно, но во что это выльется? к примеру небольшое изменение в построении StringBuilder. https://habrahabr.ru/post/330220/ поэтому может стоит перейти от StringBuilder к стрим? Так тем более. Отдельные функции легче оптимизировать :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 10:48 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
mad_nazgulВ чем проблема? Почему нельзя дождаться результата?строки, потому что со строками java работает медленно mad_nazgulТак тем более. Отдельные функции легче оптимизировать :-) вот чем мне нравится мой вариант - все на одном экране. открыл метод и всё перед глазами. если же разбить на несколько функций - возможно сам метод буде короче, но возникнут куча методов , чтоб их посмотреть надо открыт другой файл, сместиться с основной страницы кода. с другой стороны все таблицы разные, разный набор атрибутов, и получится что вынесенные функции применимы только один раз. есть ли смысл городить? если что-то городить - получится шаблонизатор, со всеми его тормозами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 11:41 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяmad_nazgulВ чем проблема? Почему нельзя дождаться результата?строки, потому что со строками java работает медленно Так внутри можно работать со StringBuilder'ом Это в функцию передавать/возвращать можно String. вадяmad_nazgulТак тем более. Отдельные функции легче оптимизировать :-) вот чем мне нравится мой вариант - все на одном экране. открыл метод и всё перед глазами. если же разбить на несколько функций - возможно сам метод буде короче, но возникнут куча методов , чтоб их посмотреть надо открыт другой файл, сместиться с основной страницы кода. с другой стороны все таблицы разные, разный набор атрибутов, и получится что вынесенные функции применимы только один раз. есть ли смысл городить? если что-то городить - получится шаблонизатор, со всеми его тормозами. Набор атрибутов можно, например, хранить в Map'е Короткие функции наоборот легче читать и понимать. К тому же я предлагаю "шаблонные" вещи вынести в отдельные функции. При этом логика построения HTML будет на одном экране, но кода будет чуть меньше. А сели попытаться создать что-то типа Builder'а на цепочечных функциях, то и выглядеть будет "стильно, модно, молодежно". Я понимаю ваше не желание рефакторить уже существующий код. Но может стоит новый код попробовать писать по другому? Может это окажется более эффективным? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 12:15 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяUsman Вадя's Servlet Pagesмногое что в начале считали абсурдом... Usman не соответствует ни одному из 5-ти перечисленных принципов.эти 5 принципов Прокрустово ложе? https://ru.wikipedia.org/wiki/Код_с_запашком Код с запашком ведёт к распаду кода , разработчики должны стремиться к устранению запашков путём применения однократного или многократного рефакторинга. В процессе рефакторинга происходит избавление от запахов кода, что обеспечивает возможность дальнейшего развития приложения с той же или большей скоростью. Отсутствие регулярного рефакторинга с течением времени способно полностью парализовать проект, поэтому запахи кода необходимо устранять на ранних стадиях ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 12:39 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
Usman https://ru.wikipedia.org/wiki/Код_с_запашком Код с запашком ведёт к распаду кода , разработчики должны стремиться к устранению запашков путём применения однократного или многократного рефакторинга. В процессе рефакторинга происходит избавление от запахов кода, что обеспечивает возможность дальнейшего развития приложения с той же или большей скоростью. Отсутствие регулярного рефакторинга с течением времени способно полностью парализовать проект, поэтому запахи кода необходимо устранять на ранних стадиях Ага... Обычно наоборот все ждут героя, который разгребет весь этот навоз. Очень редко он приходит, но действует точно так же как в мифе. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 12:48 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
https://ru.wikipedia.org/wiki/Код_с_запашком Код с запашком ты обозвал код , и применяешь к нему определения. так можно на любой код навесить любой ярлык. просто потому что он не нравится тебе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 12:49 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
mad_nazgulТак внутри можно работать со StringBuilder'ом Это в функцию передавать/возвращать можно String.вот тут и начинается показ непонимания, куча мелких преобразований строка-StringBuilder и наоборот, в итоге тормоз mad_nazgulНабор атрибутов можно, например, хранить в Map'е Короткие функции наоборот легче читать и понимать.и опять из мапы через что? mad_nazgulК тому же я предлагаю "шаблонные" вещи вынести в отдельные функции. При этом логика построения HTML будет на одном экране, но кода будет чуть меньше.кода будет меньше на экране - возможно, но будет куча кода за экраном - куча преобразований строка-StringBuilder mad_nazgulА сели попытаться создать что-то типа Builder'а на цепочечных функциях, то и выглядеть будет "стильно, модно, молодежно".возможно, но однозначно потеря быстродействия mad_nazgulЯ понимаю ваше не желание рефакторить уже существующий код. Но может стоит новый код попробовать писать по другому? Может это окажется более эффективным?ты думаешь я огромном восторге от цепочки append? но стоит только что-то сделать возникают тормоза. я проверял различные варианты, но этот самый быстрый. из двух зол я выбрал меньшее, на мой взгляд. разобраться в нём как оказалось просто тут уже подтвердили примером. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 12:59 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадяя проверял различные варианты, но этот самый быстрыйС точки зрения банальной эрудиции, самым быстрым будет байтовый буфер, отдающий данные в " собирающий " поток вывода. Все нужные тэги уже "разложены" в отдельном месте, (строковые) данные пишем "на свободные" - красота. Только цепочки смещений обрабатывать заманаешься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 13:22 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадя https://ru.wikipedia.org/wiki/Код_с_запашком Код с запашком ты обозвал код , и применяешь к нему определения. так можно на любой код навесить любой ярлык. просто потому что он не нравится тебе.Это определение взято из вышеупомянутой статьи хабра. Дело не в этом даже. Основная проблема заключается в сопровождении и тестировании. Не соблюдение принципов декомпозиции приведет к усложнению кода (того же сервлета). Например, мне нужно исправить опечатку в разметке, придется аффектить код сервлета. Побочный эффект от конкатенации html-разметки прямо из кода может повлечь за собой другие ошибки... Вероятность ошибки прямопропорциональна объему "разметки в коде". За всем не углядишь. Другое дело, если вынести разметку во View, изменения коснуться только вьюху. В этом случае код сервлета, выступающий в качестве Controller, не будет тронут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 13:38 |
|
||
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#18+
вадявот тут и начинается показ непонимания, куча мелких преобразований строка-StringBuilder и наоборот, в итоге тормоз Дык все равно в цикле делаете append-ы вадяи опять из мапы через что? Так тот же append в цикле вадякода будет меньше на экране - возможно, но будет куча кода за экраном - куча преобразований строка-StringBuilder Будет столько же, как и без функций. вадявозможно, но однозначно потеря быстродействия С чего?! Код будет эквивалентен и колличество аппендов будет такое же. вадяты думаешь я огромном восторге от цепочки append? но стоит только что-то сделать возникают тормоза. я проверял различные варианты, но этот самый быстрый. из двух зол я выбрал меньшее, на мой взгляд. разобраться в нём как оказалось просто тут уже подтвердили примером. Опять же код можно создать эквивалентным с точно таким же количеством append'ов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 14:13 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2122328]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
68ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
123ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 470ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...