|
|
|
Шаблонизация ...
|
|||
|---|---|---|---|
|
#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?fid=59&msg=39588202&tid=2122328]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
70ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 415ms |

| 0 / 0 |

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