powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Не отображаются данные из БД на сайте
304 сообщений из 304, показаны все 13 страниц
Не отображаются данные из БД на сайте
    #40109331
plktre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не могу понять причину почему не отображаются данные из БД

Класс товаров:
Код: 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.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
public class Product {

    private String title;
    private String description;
    private Integer price;
    private String image;
    private Integer id;
    private String category;

    private String HOST = "jdbc:postgresql://localhost:5432/online_shop";
    private String userName = "postgres";
    private String password = "12345";
    private Connection connection;

    public Product() {
        title = "";
        description = "";
        price = 0;
        image = "";
        id = 0;
        category = "";
    }

    public Product(final Integer id, final String title, final String description, final Integer price, final String category, final String image) {
        this.title = title;
        this.description = description;
        this.price = price;
        this.image = image;
        this.id = id;
        this.category = category;
    }

    public String getImage() {
        return this.image;
    }

    public void setImage(final String image) {
        this.image = image;
    }

    public String getTitle() {
        return this.title;
    }

    public void setTitle(final String title) {
        this.title = title;
    }

    public String getDescription() {
        return this.description;
    }

    public void setDescription(final String description) {
        this.description = description;
    }

    public Integer getPrice() {
        return this.price;
    }

    public void setPrice(final Integer price) {
        this.price = price;
    }

    public Integer getId() {
        return this.id;
    }

    public void setId(final Integer id) {
        this.id = id;
    }

    public String getCategory() {return this.category;}

    public void setCategory(final String category) {this.category = category;}

    public ArrayList<Product> getProduct() {
        ArrayList<Product> products = new ArrayList<>();
        try{
            connection = DriverManager.getConnection(HOST, userName, password);
            Statement statement = connection.createStatement();
            ResultSet rs = statement.executeQuery("SELECT *FROM public.\"Product\"");
            while (rs.next()) {
                int id = rs.getInt("id_prod");
                String title = rs.getString("title");
                String description = rs.getString("description");
                int price = rs.getInt("price");
                String category = rs.getString("category");
                String img = rs.getString("img");
                Product prod = new Product(id, title, description, price, category, img);
                products.add(prod);
            }
        }
        catch (Exception e) {
            e.printStackTrace();
        }
        return products;
    }



Контроллер:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
@Controller
public class Home {
    @RequestMapping("/")
    public String homeWithSession(Model model, HttpSession session) {
        Product product = new Product();
        String sid = session.getId();
        model.addAttribute("sid", sid);
        ArrayList<Product> products = product.getProduct();
        model.addAttribute("products", products);
        return "index"; }}



Сама страничка:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
<section class="main-content">
    <div class="container">
        <div class="row">
            <div class="col-lg-3 col-sm-6 mb-3" th:each="product : ${products}">
                <div class="card" style="width: 18rem;">
                    <img class="card-img-top" th:src="${product.image}" alt="Card image cap">
                    <div class="card-body">
                        <h5 class="card-title" th:text="${product.title}"></h5>
                        <p class="card-text" th:text="${product.description}"></p>
                        <div class="price">
                            <p th:text="${product.price}"></p>
                            <p>руб.</p>
                        </div>
                        <button class="btn btn-dark cart" th:data-id="${product.id}">В корзину</button>
                    </div>
                </div>
            </div>
        </div>
    </div>
</section>
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109338
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уберите кавычки в имени таблицы. SQL это не C/C++ - идентификаторы объектов БД приводятся к верхнему регистру, если не принять специальных усилий.
В запросе вы эти усилия (зачем-то) предприняли, а вот при создании объектов схемы в БД - совершенно не факт.
Ещё у вас есть чистая ошибка синтаксиса - отсутствует (значимый) пробел.

P.S.
А ещё может быть, что схема у вас совсем не public или/и что её вообще не надо специально указывать.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109340
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
извините за мой французский , но это полна х-я
одно радует - без хибера...
вот скажите на кой ляд здесь Product? зачем тратить время на его заполнение?
зачем здесь ArrayList<Product> products = new ArrayList<>();? зачем тратить время на его заполнение?
причём в цикле?
потом из этого всего извлекаем для построения строки html? (точнее не совсем строки , а отправки строки ....)
всё решается простым сриплетом прямо из результсета....

ну и сама страница - это нечто.
при нынешних гридах, флехбоксах, да уже и простые таблицы будут лучше
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109346
plktre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov, подскажите о каком пробеле идет речь, точнее о месте, где он пропущен
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109348
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

кавычки погода не делают

plktre, после звёздочки
Код: java
1.
ResultSet rs = statement.executeQuery("SELECT * FROM public.\"Product\"");


результсет что-то возвращает?

что отображается на странице в браузере?
отладка в браузере что показывает?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109351
localhost8080
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя
Basil A. Sidorov,

кавычки погода не делают


в java делают
может быть две таблицы "Product" и Product
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109352
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
localhost8080
в java делают
может быть две таблицы "Product" и Product
тогда бы были ошибки...
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109353
localhost8080
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя
localhost8080
в java делают
может быть две таблицы "Product" и Product
тогда бы были ошибки...

собствено и при таком синтаксисе *From однозначно будет ошибка ,но автор про нее умолчал - может у него экспшен хендлер кушает эти ошибки и не делает ничего после этого
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109354
plktre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя, на странице браузера и в консоли все пусто
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109355
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
localhost8080
собствено и при таком синтаксисе *From однозначно будет ошибка ,но автор про нее умолчал - может у него экспшен хендлер кушает эти ошибки и не делает ничего после этого
ну для этого существует пошаговый дебаг. а это первый класс по программированию
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109356
localhost8080
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: java
1.
while (rs.next()) 



вот тут ошибка тоже

надо
Код: java
1.
while(rs.hasnext){
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109358
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
plktre
на странице браузера и в консоли все пусто
пошаговая отладка о чем-то говорит?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109359
localhost8080
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
собственно этот код при запуске бы тут в лог накакал ошибок- исходя из этого кажется что вообще запрос не приходит на контроллер
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109360
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
localhost8080
Код: java
1.
while (rs.next()) 




вот тут ошибка тоже

надо
Код: java
1.
while(rs.hasnext){

не надо
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109361
localhost8080
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
еще может быть вот тут
Код: java
1.
return "index"; }}



ты редиректишь на индекс,при этом где у тебя прописан код этого индекса
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109363
localhost8080
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя
localhost8080
Код: java
1.
while (rs.next()) 




вот тут ошибка тоже

надо
Код: java
1.
while(rs.hasnext){

не надо

надо ибо если не будет элемента rs.next выкинет исключение- такие вещи нужно знать Вадя
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109364
plktre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
localhost8080, вывод товара(код, который я уже прикрепляла) это как раз index
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109365
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
localhost8080
надо ибо если не будет элемента rs.next выкинет исключение- такие вещи нужно знать Вадя
не учи отца....
никаких исключений - читай мануалы
или гугли
https://www.sql.ru/forum/834157/chaynikovskiy-vopros-jdbc
https://www.cyberforum.ru/java-gui/thread1367376.html


https://docs.oracle.com/javase/tutorial/jdbc/basics/retrieving.html
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109366
localhost8080
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя,

фейспалм)))
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109370
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Варианты.

- Таблица Products реально пустая.
- Таблица Products реально лежит в другой схеме
- Странный синтаксис порождает exception но его никто не читает.
- Ошибка при рендеринге UI и ее тоже никто не видит хотя данные есть.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109372
plktre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо! Проблема решилась
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109379
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ох егоза... В следующий раз кидай линк на github сразу.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109428
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дак всё-таки какая необходимость гонять по памяти кучу раз одни и те же данные?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109470
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чего кучу раз. Там вроде 1 раз.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109475
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
А чего кучу раз. Там вроде 1 раз.
2 раза

1) Product prod = new Product(id, title, description, price, category, img);

2) products.add(prod);
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109479
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
mayton
А чего кучу раз. Там вроде 1 раз.
2 раза

1) Product prod = new Product(id, title, description, price, category, img);

2) products.add(prod);
хде куча? )))
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109481
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
хде куча? )))
этого мало?
вообще зачем из результсета в public Product?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109482
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Класс нужен. Там методы))))))
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109483
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
mayton
А чего кучу раз. Там вроде 1 раз.
2 раза

1) Product prod = new Product(id, title, description, price, category, img);

2) products.add(prod);

На всё нормуль. Агрессивный компиллятор уберет это.
А для дебага переменная - удобнее.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109484
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Класс нужен. Там методы))))))
и зачем они нужны?
почему из результсета нельзя отправить в out.print?
ведь в конечном итоге все равно последний шаг - это out.print.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109485
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Агрессивный компиллятор уберет это.
А для дебага переменная - удобнее.
переменную уберёт, но действие останется
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109487
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
mayton
Агрессивный компиллятор уберет это.
А для дебага переменная - удобнее.
переменную уберёт, но действие останется

Какое?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109491
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
и зачем они нужны?

что за идиотский вопрос. Зачем классы нужны в программировании?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109493
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
что за идиотский вопрос. Зачем классы нужны в программировании?
для чего они в конкретном случае?
mayton
Какое?
сначала создаст объект, а потом запишет в новый
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109495
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
для чего они в конкретном случае?

Ну например
iservis.проверитьКредитоспособность(user)

вадя
сначала создаст объект, а потом запишет в новый

угу. Создал нового юзверя и добавил в список
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109506
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Ну например
iservis.проверитьКредитоспособность(user)
в данном случае?
PetroNotC Sharp
угу. Создал нового юзверя и добавил в список
можно и проще
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109507
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
PetroNotC Sharp
Ну например
iservis.проверитьКредитоспособность(user)
в данном случае?
PetroNotC Sharp
угу. Создал нового юзверя и добавил в список
можно и проще

если ты отрицаешь классы то диалог закончен
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109513
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
если ты отрицаешь классы то диалог закончен
там где они нужны, в данном случае - нет.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109562
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
PetroNotC Sharp
что за идиотский вопрос. Зачем классы нужны в программировании?
для чего они в конкретном случае?
mayton
Какое?
сначала создаст объект, а потом запишет в новый

Я не вижу в этом коде проблемы. А именно здесь.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
while (rs.next()) {
                int id = rs.getInt("id_prod");
                String title = rs.getString("title");
                String description = rs.getString("description");
                int price = rs.getInt("price");
                String category = rs.getString("category");
                String img = rs.getString("img");
                Product prod = new Product(id, title, description, price, category, img);
                products.add(prod);
            }


Пременные программист создает для себя. Для удобства видения бизнес-задачи. И ему нельзя... да даже
противопоказано их каким-то образом схлопывать. Экономию на переменных и на строках кода
мы прошли еще в 20м веке. Сейчас на дворе век следующий. И главная задача писать хотя-бы корректный
код. Напомню что корректный - означает что код удовлетворяет спеке или проходит модульные тесты.

Работа с коллекцией заведомо неизвестного размера может нести в себе проблемы типа ре-организации
массива при экстенде... но эта проблема здесь вроде-бы не выражена.

Вообще судя по теме дискуссии мы просто говорим гипотезы о перформансе. И если говорить о
перформансе как о температуре кода - то я-бы сказал что очень высокая температура здесь

Код: java
1.
2.
3.
connection = DriverManager.getConnection(HOST, userName, password);
            Statement statement = connection.createStatement();
            ResultSet rs = statement.executeQuery("SELECT *FROM public.\"Product\"");



Здесь все 3 строки определяют как эффективно мы сработаемся с Постгресом. Сюда-же опции коннекта.
Тип курсора (вперед-назад или только вперед). Режим изоляции. Подготовленный стейтмент.
Косяки на стороне БД. Как создана таблица. Зачем звездочка в Select. Может имеет смысл
ограничить ненужный выхлоп. И всякие прочие ништяки. Сеть. Батчинг.

А туловище цикла - ничего особенного.

Но если у тебя есть какой-то аргумент .. типа жизненный пример. Или инцедент - то давай говори.

Пятница ведь.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109566
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

тут вопрос не в переменных, вопрос в том - для чего из результсета копировать сначала в объект. потом этот объект засовывать в лист, а из листа уде отправлять в out.print.

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

пока вопрос о лишних операциях. если мы ориентируемся на высоконагруженные системы.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109577
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочешь в контроллер положить логику jdbc?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109597
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

какая тут логика? получить из базы, сформировать html, отправить клиенту
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109611
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Трансформер. Конвертер. Тоже логика.

Мне кажется, Валя что твои рефакторинги делают код non-testable.

Думал об этом?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109624
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
не кажется, Валя что твои рефакторинги делают код non-testable.
а что тестировать? работу запроса?
формирование html?
то, что будет в html не проверишь пока не увидишь в браузере.
данные запроса - ну это надо проверять и тестировать в специальных ide, потому как запросы могут быть не несколько экранов, а простейшие , как у тс - и проверять нечего.
зато кода минимум. скорость максимум.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109641
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Практика такая. Разбиваешь приложение на слои. DAO, Процессинг, дизайн и отображение. Да их можно
бесконечно придумать. Но можно остановиться на 2-3.

Ты их просто выбросил. И мне кажется что это просто твоя визитная карточка. Делаешь любое
приложение как олимпиадную задачу. Одной сплошной процедурой. Не?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40109703
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Ты их просто выбросил.
со стороны может показаться так. но мне кажется что не-выбросил, а оптимизировал, и это не преждевременная оптимизация.
mayton
И мне кажется что это просто твоя визитная карточка.
я бы сказал возможность фулстека. я не вижу необходимости в работе лишнего кода, и работе над лишним кодом.
когда видишь всю структуру - понимаешь что и где будет оптимальнее для системы, а не для отдельного узла.
что даёт запись, в конечном итоге, в лист данных из результсет? только передачу куда-то этого объекта, а что происходит в этом "куда-то"? ТС представляет?
для чего мы ловим блох на замене звёздочки на имена полей, а теряем время на другом?


mayton
Делаешь любое
приложение как олимпиадную задачу.
может быть... я на вступительном экзамене по устной математике, из-за описки вместо cos, написал sin, а дальше правильно cos, мне не поверили что это описка, и стали давать доп задания, я их решал.... после 3 или 4 от меня отстали, как оказалось это были олимпиадные задания....
видимо это въелось в кровь с тех пор
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110023
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
mayton
Ты их просто выбросил.
со стороны может показаться так. но мне кажется что не-выбросил, а оптимизировал, и это не преждевременная оптимизация.


Преждевременная причем даже логически об этом можно догадаться. Если топик был бы, делаю вот так снял профиль оказалось что большей частью висим в products.add(prod) и что с этим можно сделать то вот тут ты был бы прав. Но это не так.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110027
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя

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

Все верно. Но ровно до тех пор пока работаешь над примитивной вещью вроде лаптей.
Но такой подход приничипиально не применим к системам, которые невозможно познать целиком одному человеку. Какое-то время человек буксовал на этом этапе, но потом придумали конвейер, стандарты и узкую специализацию. А хорошо сделанные лапти уже давным-давно никому не нужны, исключая редкого коллекционера-любителя
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110032
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,

вот поэтому и получаются тормозные сайты, каждый валит вину на другого, не понимая что нужно для другого. т.е. ситуация как у локалхост8080
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110033
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вадя попробуй посмотреть с другой стороны. Передавать resultset в рендервью значит затянуть транзакцию что не есть гуд. Передать в рендервью resultset значит надо точно предусмотреть правильное закрытие транзакции если произошла ошибка(что не очевидно).
Это в данном случае, а в общем передавать resultset а не iterable в сторонние библиотки не есть гуд они могут и подгадить.


A Iterable очень хорошо знакомый паттерн.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110037
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming
Передавать resultset в рендервью значит затянуть транзакцию что не есть гуд.
... а в общем передавать resultset а не iterable в сторонние библиотки не есть гуд они могут и подгадить.
А, типа, если обернуть "нечто" в итератор, то транзакция волшебным образом закроется за минимально возможное время???
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110039
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
забыл ник,

вот поэтому и получаются тормозные сайты, каждый валит вину на другого, не понимая что нужно для другого. т.е. ситуация как у локалхост8080


Всего лишь предположение о причинно-следственных связях. Возможно это из за arraylist а возможно и козни иллюминатов.


У меня gmail жутко тормозит. Думаешь там jpa или arraylist слишком сильно используются ?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110044
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
забыл ник,

вот поэтому и получаются тормозные сайты, каждый валит вину на другого, не понимая что нужно для другого. т.е. ситуация как у локалхост8080

Практически любой может сделать гамбургер вкуснее чем в макдональдс. Но только единицы могут накормить миллионы, хотя и вредной, но едой.
Гениальный механик вроде Шелюи может сделать болид, который побьет феррари, но люди как ездили так и будут ездить на собранном на конвейере форде.
Левша-вадя может озолотить ОАО Рога и Копыта, забацав сайт в одиночку за выходные, но это не повод для Facebook чтобы его нанять. Ну я даже не знаю как еще понятнее обьяснить
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110045
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
lleming
Передавать resultset в рендервью значит затянуть транзакцию что не есть гуд.
... а в общем передавать resultset а не iterable в сторонние библиотки не есть гуд они могут и подгадить.
А, типа, если обернуть "нечто" в итератор, то транзакция волшебным образом закроется за минимально возможное время???


Если нечто скопировать в arraylist который внезапно тот же iterator то внезапно да. (по крайней мере мне кажется что логика rendering будет сложенее нежели list.add()).

ну а truly laziness концепцию не каждый middle знает :)
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110053
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming
вадя
пропущено...
со стороны может показаться так. но мне кажется что не-выбросил, а оптимизировал, и это не преждевременная оптимизация.


Преждевременная причем даже логически об этом можно догадаться. Если топик был бы, делаю вот так снял профиль оказалось что большей частью висим в products.add(prod) и что с этим можно сделать то вот тут ты был бы прав. Но это не так.

Если коллекция (ResultSet) велика и может быть не использована контроллером - то значит
что весь объём был выкачан зря. В этом кейсе можно рассмотреть различные ленивые обёртки
над ResultSet. Iterator, Stream e.t.c. Но мне кажется что для данного сценария (список продуктов
на экране) - это оверинжинеринг.

Кроме того надо рассмотреть всякие трейдоффы. Что нам выгоднее? Держать очень долго в базе 10 минут открытый курсор
чтоб потом просто взять первые 10 строк и закрыть его? Или профетчить 100 строчек сразу и закрыть?

Это - дилемма. И она не решаема просто так в рамках данного упрощённого ТЗ.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110091
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming
Передавать resultset в рендервью значит затянуть транзакцию что не есть гуд.
а что делает код ТС?
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
while (rs.next()) {
                int id = rs.getInt("id_prod");
                String title = rs.getString("title");
                String description = rs.getString("description");
                int price = rs.getInt("price");
                String category = rs.getString("category");
                String img = rs.getString("img");
                Product prod = new Product(id, title, description, price, category, img);
                products.add(prod);
            }


он передаёт данные в объект, то ж самое происходит и при передачи этих данных в строку с использованием стрингбилдера,
то ж самое и при вставке с использование бинов.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110093
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Если коллекция (ResultSet) велика и может быть не использована контроллером - то значит
что весь объём был выкачан зря.
это надо понимать как только начинаешь кодить
mayton
Но мне кажется что для данного сценария (список продуктов
на экране) - это оверинжинеринг.
это пока пропускаем.

запись в промежуточное хранилище - это отрыжка от хибера.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110094
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя

он передаёт данные в объект, то ж самое происходит и при передачи этих данных в строку с использованием стрингбилдера,
то ж самое и при вставке с использование бинов.

А если строка получится длиной в 2Гб без "хвостика" ? Это тоже самое что коллекция?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110096
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник
Практически любой может сделать гамбургер вкуснее чем в макдональдс. Но только единицы могут накормить миллионы, хотя и вредной, но едой.
Гениальный механик вроде Шелюи может сделать болид, который побьет феррари, но люди как ездили так и будут ездить на собранном на конвейере форде.
Левша-вадя может озолотить ОАО Рога и Копыта, забацав сайт в одиночку за выходные, но это не повод для Facebook чтобы его нанять. Ну я даже не знаю как еще понятнее обьяснить
я тебя понял, это не повод не использовать более быстрые варианты. иначе получается как у Райкина-старшего - "..К пуговицам претензии есть?..."
делаем лишние операции, потом стараемся ускорить, требуем железо подороже..
проводим собесы, спрашиваем всякие мудрости, а в итоге на самом простейшем тормозит.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110098
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
А если строка получится длиной в 2Гб без "хвостика" ? Это тоже самое что коллекция?
если такое получается - надо руки обрывать. причем начинать с архитектора
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110099
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
mayton
А если строка получится длиной в 2Гб без "хвостика" ? Это тоже самое что коллекция?
если такое получается - надо руки обрывать. причем начинать с архитектора

Бизнес растет. Данных стало больше. Это как BigData. Экспоненциальный рост.
Когда проектировали БД - меряли в гигабайтах. А через десять лет оно уже
и в петабайты не лезет.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110100
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Бизнес растет. Данных стало больше. Это как BigData. Экспоненциальный рост.
Когда проектировали БД - меряли в гигабайтах. А через десять лет оно уже
и в петабайты не лезет.
вопрос для чего это держать в листе? вытащить из базы и анализировать своими доморощенными методами? "эмулируя" работу субд?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110108
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
mayton
Бизнес растет. Данных стало больше. Это как BigData. Экспоненциальный рост.
Когда проектировали БД - меряли в гигабайтах. А через десять лет оно уже
и в петабайты не лезет.
вопрос для чего это держать в листе? вытащить из базы и анализировать своими доморощенными методами? "эмулируя" работу субд?

Вадя тормозни. Твой тезис в целом понятен но я могу половину всего ентерпрайза завернуть на коде-ревью
по твоему замечанию. Никто не выпиливает возврат списка ентитей из базы просто исходя из такого упрощения.

Короче в теории ты прав но придержи коней. Есть другие вещи где перформанс важнее.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110110
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Вадя тормозни. Твой тезис в целом понятен но я могу половину всего ентерпрайза завернуть на коде-ревью
по твоему замечанию. Никто не выпиливает возврат списка ентитей из базы просто исходя из такого упрощения.

Короче в теории ты прав но придержи коней. Есть другие вещи где перформанс важнее.
я не настаиваю на абсолютном применении такого, но сколько я видел - все решается таким длинным способом. даже на элементарных задачах, когда всё решается кодом буквально в один экран - городится куча классов, методов, объектов, файлов - только для того чтоб вывести юзеру элементарную табличку....
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110113
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ты вообще тестируешь бизнес логику? Я имею в виду не end-to-end а модульно.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110127
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
А ты вообще тестируешь бизнес логику? Я имею в виду не end-to-end а модульно.
как можно протестировать самое простое? потратив кучу времени на придумывание тестов?
тестировать запрос? написанный в ide и проверяемый практически автоматом?
сфомированную html строку?
элементарный crud. без всяких контроллеров как у тс.

и что такое бизнес логика? вывести данные юзеру в удобном виде?
вычислить сумму? 99% проектов сводятся именно к этому.
логика возникает когда есть необходимость редактировать одну запись n юзерам, дак это проблема постановщика задачи.

управление железом? дак это задача тз.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110130
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно. Может я овержинжинерю. Но просто сама идея писать всё колбасой public void main...
это как-то. Чугунный лапоть во. Были такие частушечнки. Рудаков и Нечаев. Вобщем у них
есть куплет про то как

Лапоть новый запустили весом свыше 5 тонн...
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110132
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Но просто сама идея писать всё колбасой public void main..
может я не могу нормально донести свою идею до масс, но ничего колбасного я не вижу, для меня колбасным выглядит класс Product у тс.
при рассмотрении его кода надо сначала понять что и куда он заносит в объект, потом понять какие поля из объекта заносит в html.
если сразу из резульсета в "таблицу" - то видно какое поля куда идёт.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110136
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем тебе понимать что куда идет? Ты создаешь сам себе конвенцию по именам. И у тебя
всегда однозначно соответствует колонка в БД полю в классе. Вот хибер при всех его недостатках
эту конвенцию и обеспечивает кстате.

Лень массив строить. Ну... не знаю возьми верни ResultSet завернутый в упаковочку. С деструкторами
и хендлерами исключений внутри.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110183
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

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

опять таки лишние операции. просто для красоты?

вот посмотри на "странцу" у тс, что нельзя вместо значений из объекта поставить поля из результсета?
читабельность этой страницы изменится? будет только один цикл. количество кода уменьшится в разы.

тестировать построение страницы в клиенте надо в любом варианте только после выполнения всего кода.
тестировать его методы не надо, потому как их нет.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110187
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

MVC это Слишком большая цепочка))
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110191
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
MVC это Слишком большая цепочка))
если следовать логике стиля тс - то таких цепочек будет куча
задлянафига они нужны?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110192
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так стало менее понятно?
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
              <div class="card" style="width: 18rem;">
                    <img class="card-img-top" th:src=<%=rs.getString("image")%> alt="Card image cap">
                    <div class="card-body">
                        <h5 class="card-title" th:text=<%=rs.getString("title"%>></h5>
                        <p class="card-text" th:text=<%=rs.getString("description")%></p>
                        <div class="price">
                            <p th:text=<%=rs.getString("price")%></p>
                            <p>руб.</p>
                        </div>
                        <button class="btn btn-dark cart" th:data-id=<%=rs.getString("id")%>В корзину</button>
                    </div>
                </div>
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110196
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
может я не могу нормально донести свою идею до масс
Просто почитайте "Мифический человеко-месяц" Фредерика Брукса. Очень полезно для (само)образования.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110199
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
так стало менее понятно?
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
              <div class="card" style="width: 18rem;">
                    <img class="card-img-top" th:src=<%=rs.getString("image")%> alt="Card image cap">
                    <div class="card-body">
                        <h5 class="card-title" th:text=<%=rs.getString("title"%>></h5>
                        <p class="card-text" th:text=<%=rs.getString("description")%></p>
                        <div class="price">
                            <p th:text=<%=rs.getString("price")%></p>
                            <p>руб.</p>
                        </div>
                        <button class="btn btn-dark cart" th:data-id=<%=rs.getString("id")%>В корзину</button>
                    </div>
                </div>

а где бизнес логика не в хранимках а в java))))))))))
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110257
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
а где бизнес логика не в хранимках а в java))))))))))
ну запакуй запрос в хранимку - и будет что надо
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110272
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Начал за здравие а кончил за упокой.
Иди ты гуляй со своими хранимками на языке базы данных.
Удачи!
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110299
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Начал за здравие а кончил за упокой.
Иди ты гуляй со своими хранимками на языке базы данных.
Удачи!
ты первый про них вспомнил
PetroNotC Sharp
а где бизнес логика не в хранимках а в java))))))))))
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110304
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Ну разумеется. Если у тебя не приложение календарик, то появится обязательно логика. Бизнес логика.
В твоем замечательном коде выше с датасетом ее нет.
Думаю все понятно чем твой код плох.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110331
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

какую логику ты можешь представить для вывода отобранных данных клиенту? запросили-получили-отправили
чего ещё мудрить?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110335
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
PetroNotC Sharp,
какую логику ты можешь представить для вывода отобранных данных клиенту? запросили-получили-отправили
чего ещё мудрить?

А ты напрягись. Хранимки писал в жизни?
Расскажи зачем. Там ведь БЛ))))
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110347
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
А ты напрягись. Хранимки писал в жизни?
Расскажи зачем. Там ведь БЛ))))
смотря для чего хранимки
я любые запросы помещаю в хранимки - удобно отлаживать, писать и прочее.
даже запрос как у тс - в хранимку.
из кода однообразный вызов
на 99% автоматическая защита от всяких инъекций.
никакой бизнес-логики. просто из удобства получения данных.
есть немного с небольшим количеством "кода" sql, но это не бизнес-логика, это просто более оптимальная обработка данных.

в mssql хранимки даже компилируются, что явно ускоряет работу
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110364
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Ясно. Ни одной переменной или if в хранимке не писал.
О чем разговаривать) :)
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110367
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотря какая хранимка. Если билдер отчотов то может и инжекция пролезет.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110373
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,
для тебя if или переменная и уже бизнес-логика?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110376
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

мне показали инъкцию для mysql, но это надо постараться. для этого хранимку написать....
а так фигфам, проверено
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110387
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
PetroNotC Sharp,
для тебя if или переменная и уже бизнес-логика?
ну я писал а ты нет)))
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110406
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

ты раскручиваешь меня, чтоб я показал?
хорошо, уговорил.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110407
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Сокеты? Не надо! Только не это.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110417
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Сокеты? Не надо! Только не это.
ты чё фантазируешь? вроде про хранимки разговор был
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110426
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

Код: sql
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.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
PROCEDURE h20.menu(IN a_id int, IN a_level int, IN ntree_ready int, IN login_ varchar(20))
  DETERMINISTIC
BEGIN
  DECLARE done int DEFAULT 0;
  DECLARE a_role,
          a_parent_id,
          a_order,
          mn,
          a_action int;
  DECLARE a_name varchar(255);
  DECLARE a_action_string varchar(50);


  DECLARE cur1 CURSOR FOR
  SELECT DISTINCT
    menu.id,
    menu.parent,
    menu.name,
    menu.role,
    menu.`order`,
    menu.action,
    menu.action_string
  FROM menu
    INNER JOIN role_pages
      ON FIND_IN_SET(menu.action_string, (SELECT
          GROUP_CONCAT(role_pages.pages) AS expr1
        FROM role_pages
          INNER JOIN users
            ON role_pages.id_role = users.role
        WHERE users.login = login_))
      OR menu.action_string = ''
    INNER JOIN users
      ON users.role = role_pages.id_role
      AND menu.parent = a_id
      AND menu.action = 0
  ORDER BY menu.`order`;

  DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;

  IF ntree_ready = 1
  THEN
    DROP TABLE IF EXISTS menu_tree;

    CREATE TABLE menu_tree (
      id int(11) NOT NULL AUTO_INCREMENT,
      id_in int(11) NOT NULL,
      parent_id int(11) NOT NULL,
      name varchar(50) NOT NULL,
      role int(11) NOT NULL,
      nlevel int(11) NOT NULL,
      `order` int(11) DEFAULT NULL,
      action int(11),
      action_string varchar(50),
      PRIMARY KEY (id)
    )
    ENGINE = MEMORY
    AUTO_INCREMENT = 1
    AVG_ROW_LENGTH = 176
    CHARACTER SET utf8
    COLLATE utf8_general_ci;

  END IF;

  OPEN cur1;

  SET @@max_sp_recursion_depth = 10;


  REPEAT

    FETCH cur1 INTO a_id, a_parent_id, a_name, a_role, a_order, a_action, a_action_string;

    IF NOT done
    THEN

      INSERT INTO menu_tree (id_in, parent_id, `name`, role, `order`, nlevel, `action`, action_string)
        VALUES (a_id, a_parent_id, a_name, menu_tree.role, a_order, a_level, a_action, a_action_string);

      CALL menu(a_id, a_level + 1, 0, login_);


    END IF;

  UNTIL done

  END REPEAT;

  CLOSE cur1;

  SET @a = 0;

  IF ntree_ready = 1
  THEN
    SELECT
      d.id,
      d.id_in,
      d.parent_id,
      d.`name`,
      d.role,
      nlevel,
      IFNULL((SELECT
          nlevel
        FROM menu_tree
        WHERE id = d.id + 1), 0) AS b_level,
      d.`order`,
      d.`action`,
      d.action_string
    FROM menu_tree AS d
    ORDER BY d.id;
  END IF;

END



Код: sql
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.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
PROCEDURE xtest._menu(IN CharId_ int)
BEGIN
  SET @a = 1;
  SET @@group_concat_max_len = 42949672;


  SELECT
    users.role INTO @role
  FROM users
  WHERE users.ChatId = CharId_;


  SELECT
    CONCAT('<ul class="treeCSS"  id="divmenu">', GROUP_CONCAT(d SEPARATOR ''), REPEAT('</ul>', -1 + SUBSTRING_INDEX (GROUP_CONCAT(l SEPARATOR ','), ",", -1)), '<li data-action="page0.jsp"><span>выход</span></ul>') dd
  FROM (WITH RECURSIVE Rec (
          lev,
          id,
          name,
          id_parent,
          order_,
          ord,
          action
        )
      AS
      ((SELECT
              1 AS lev,
              _menu.id,
              spr_pages.name_menu AS name,
              IFNULL(_menu.id_parent, 0),
              CAST(LPAD(_menu.`order`, 3, 0) AS char(200)),
              _menu.`order`,
              spr_pages.name_file AS action
            FROM _menu
              INNER JOIN spr_pages
                ON _menu.action_file = spr_pages.id
            WHERE _menu.id_parent = 0
            AND _menu.role = @role
            ORDER BY _menu.`order`)
        UNION ALL
        SELECT
          Rec.lev + 1,
          _menu.id,
          spr_pages.name_menu AS name,
          _menu.id_parent,
          CONCAT(Rec.order_, ',', LPAD(_menu.order, 3, 0)) AS order_,
          _menu.order AS org,
          spr_pages.name_file AS action
        FROM Rec
          JOIN _menu
            ON Rec.id = _menu.id_parent
          INNER JOIN spr_pages
            ON _menu.action_file = spr_pages.id

        WHERE _menu.role = @role)
    SELECT

      CASE
        WHEN @a < lev THEN CONCAT('<ul><li data-lev="', lev, '" data-order="', Rec.ord, '" data-p_id="', Rec.id_parent, '" data-id="', Rec.id, '" data-action="', Rec.action, '" ><span>', Rec.name, '</span>')
        WHEN @a > lev THEN CONCAT(REPEAT('</ul>', @a - lev), '<li data-lev="', lev, '" data-order="', Rec.ord, '" data-p_id="', Rec.id_parent, '" data-id="', Rec.id, '" data-action="', Rec.action, '"><span>', Rec.name, '</span>')
        WHEN @a = lev THEN CONCAT('<li data-lev="', lev, '" data-order="', Rec.ord, '" data-p_id="', Rec.id_parent, '" data-id="', Rec.id, '" data-action="', Rec.action, '"><span>', Rec.name, '</span>')
      END AS d,
      @a := lev AS l

    FROM Rec
    ORDER BY Rec.order_, Rec.ord) AS ff
  ;

END


и где там бизнес-логика?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110428
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
и где там бизнес-логика?
в караганде вадя.
Теперь всю эту БЛ нужно написать не на ЯП субд а на ЯП java.
В бд только данные.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110429
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Кроме меню ничего не считал чтоле?)))
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110441
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Теперь всю эту БЛ нужно написать не на ЯП субд а на ЯП java.
зачем? хранимка возвращает данные в удобном для дальнейшем работы с ними
PetroNotC Sharp
Кроме меню ничего не считал чтоле?)))
просто 2 вида обработки
PetroNotC Sharp
В бд только данные.
а хранимка что обрабатывает? не данные?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110443
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Кроме меню ничего не считал чтоле?)))
ты просил пример - я показал.
что тебя не устраивает?
ну на (для затравки)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
PROCEDURE tan.page5_xxx50_listBox(IN param varchar(400))
  DETERMINISTIC
BEGIN

  SET @param = REPLACE(param, 'name', 'name_reagent');

  SET @sql = CONCAT('SELECT id, name_reagent as name FROM l_spr_name_reagent where', @param);

  PREPARE sqll FROM @sql;

  EXECUTE sqll;
  DEALLOCATE PREPARE sqll;


END


только не надо гнать, что тут можно вставить инъекции
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110483
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
А зачем придуриваться 5 постов вместо того чтобы сразу написать - да, я пишу логику на языке баз данных. И на java не желаю.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110500
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

я распределяю выполнение задачи на те части, которые специально заточены для этого.
если субд сможет максимально подготовить данные для минимальной их доработка в java, я выполню эту часть задачи в субд - она заточена для этих целей, и сделает это намного быстрее, чем на java.

и если я знаю, что можно обойтись без части кода на java - я не буду писать этот код.

и пока никто толком не ответил - зачем нужен лишний код у тс.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110509
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
и пока никто толком не ответил - зачем нужен лишний код у тс.

Вполне возможно у него на работе бл пишут на java.
Без хранимок.
Не дошло?
Жалуйся в спортлото.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110523
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Вполне возможно у него на работе бл пишут на java.
ты не понял вопроса - про хранимки это ответ тебе был, мне по-барабану как тс работает с базой, через хранимки или простыми запросами.

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

и вопрос был не к тс, а к сообществу.

и причём здесь бл? где ты её тут увидел?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110526
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Хранимки запрещает работодатель.
Ты же не работаешь.
Не веришь, задай опрос на форуме.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110528
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
И к тебе вопрос был тоже. Ты кроме меню хранимки писал?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110532
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Хранимки запрещает работодатель.
Ты же не работаешь.
да забудь про хранимки

вопрос про код!!!!
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110535
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
И к тебе вопрос был тоже. Ты кроме меню хранимки писал?
я тебе показал не только про меню.
ты либо не понимаешь что такое хранимки, либо ....
по большому счёту - хранимые процедуры это контейнер для запросов,
в них можно запихнуть как простейший запрос типа
select f from b;
так и код на языке sql соответствующего субд.

кто-то боится хранимок, кто-то не понимает, кто-то не умеет. я знаю людей у которых по 1000 хранимок.

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

в данном топике вопрос работы с базой не рассматривается.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110536
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Ну попробуй еще раз его сформулировать. С чистого листа.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110537
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
я тебе показал не только про меню.
не вижу
вадя
так и код на языке sql соответствующего субд.
нет. В оракле на языке PL
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110539
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110542
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
В оракле на языке PL
это тонкости

вот смотри 22393831
PetroNotC Sharp
Ну попробуй еще раз его сформулировать. С чистого листа.

зачем у тс код , который сначала записывает строку данных в объект

Код: java
1.
new Product(id, title, description, price, category, img);

потом из этого объекта
потом добавляет это в другой объект
Код: java
1.
 products.add(prod)

;
формирует строку из этого объекта

когда можно сразу 22393445

теперь вопрос понятен?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110543
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я предоставил код sql, который отформатирован ide.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110553
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Я же ответил.
Возможно в компании хп запрещены.
Тогда
PROCEDURE tan.page5_xxx50_listBox(IN param varchar(400))
Будет находится в классе про который ты спросил.
))))
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110577
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
PetroNotC Sharp
В оракле на языке PL
это тонкости

вот смотри 22393831
PetroNotC Sharp
Ну попробуй еще раз его сформулировать. С чистого листа.

зачем у тс код , который сначала записывает строку данных в объект

Код: java
1.
new Product(id, title, description, price, category, img);

потом из этого объекта
потом добавляет это в другой объект
Код: java
1.
 products.add(prod)

;
формирует строку из этого объекта

когда можно сразу 22393445

теперь вопрос понятен?


Тогда возникает запрос зачем вообще чтото перекладывать и генерить. Лучше сразу html генерить в БД и отдавать готовый снипет. А еще лучше как добавили продукт сразу генерить сниппет и хранить в бд готовые снипеты для отдачи так не нужно будет генерить для пользователя вообще, а потом можно вообще сразу после генерации сохранять их на диске в директории и расшарить ее в nginx как статику (тут вообще одни плюсы можно даже от БД вообще избавиться а скорости будут просто недостижимы). Самая мякотка зачем вообще вебсервер если можно в browser вообще в localStorage хранить и генерить прям на клиенте (ну а если кому еще надо отправить почтой). Открыл страницу и сразу увидел результат.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110581
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lleming

Тогда возникает запрос зачем вообще чтото перекладывать и генерить. Лучше сразу html генерить в БД и отдавать готовый снипет. А еще лучше как добавили продукт сразу генерить сниппет и хранить в бд готовые снипеты для отдачи так не нужно будет генерить для пользователя вообще, а потом можно вообще сразу после генерации сохранять их на диске в директории и расшарить ее в nginx как статику (тут вообще одни плюсы можно даже от БД вообще избавиться а скорости будут просто недостижимы). Самая мякотка зачем вообще вебсервер если можно в browser вообще в localStorage хранить и генерить прям на клиенте (ну а если кому еще надо отправить почтой). Открыл страницу и сразу увидел результат.
зачет))) +1
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110582
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming,
))
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110614
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
непнятно почему это вызывает такое оттрожение.

Код: java
1.
2.
3.
4.
5.
var products = new ArrayList();
while(rs.hasNext()){
    var prod = new Product(id, title, description, price, category, img);
     products.add(prod)
}



Откуда такое предвзятое отношение к спискам. На уровне jdbc такой list наврняка уже не binary они стримят прям в ResultSet десиализуют, наверняка там такой кэш из ArrayList<Tuple>. Просто его не видно.

Тогда если беспокоит видимость, лови Вадя скелетон

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
package org.myowndb;

class MyDriver implements java.sql.Driver{
            private final Driver source;
}
interface ExtendResultSet extends ResultSet{}
class MyResultSet<R> implements ExtendResultSet {
             private final ResultSet source;
             private final Converter<Tuple, R> converter;

             public List<Tuple> all(){
                  var list = new ArrayList<>();
                  while(source.hasNext()){
                          list.add(converter.convert(source.next());
                  }
                  return list;
             }
}



grable build install

В своем проект добавляем
Код: java
1.
    dependecies "org.myowndb:hidden-list-driver:0.0.1-SNAPSHOT"



и все что требовалось. Настраиваем свой дравйвер прокси. Никакие листы не создаются получаешь сразу готовый собранный лист и можно писать код без new ArrayList() и list.add();
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110620
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming,


я так понимаю никто не может объяснить, и пытаются всякими язвочками отшутиться.
что ж, это говорит о многом.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110625
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming,

ты не понял вопрос - не в самом листе дело, а в том, что можно вообще без него

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 <div class="card" style="width: 18rem;">
                    <img class="card-img-top" th:src=<%=rs.getString("image")%> alt="Card image cap">
                    <div class="card-body">
                        <h5 class="card-title" th:text=<%=rs.getString("title"%>></h5>
                        <p class="card-text" th:text=<%=rs.getString("description")%></p>
                        <div class="price">
                            <p th:text=<%=rs.getString("price")%></p>
                            <p>руб.</p>
                        </div>
                        <button class="btn btn-dark cart" th:data-id=<%=rs.getString("id")%>В корзину</button>
                    </div>
                </div>


вставка происходит из полей результсета
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110627
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
))) жги))
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110628
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming,

то, что в твоём примере не видно лист - не значит, что его нет
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110629
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,
что по-нормальному слабо объяснить?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110630
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
))) жги))
обязательно заполнять через дополнительный объект?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110631
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
PetroNotC Sharp,
что по-нормальному слабо объяснить?
22394014
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110632
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
PetroNotC Sharp
))) жги))
обязательно заполнять через дополнительный объект?
ты переключился на другого мембера и потерял контекст.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110635
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

ты чё уцепился за хранимки? результсет возвращает тот запрос что у ТС.
Код: java
1.
2.
3.
4.
5.
6.
 connection = DriverManager.getConnection(HOST, userName, password);
            Statement statement = connection.createStatement();
            ResultSet rs = statement.executeQuery("SELECT *FROM public.\"Product\"");
            while (rs.next()) {
                int id = rs.getInt("id_prod");
                String title = rs.getString("title");
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110636
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
ты переключился на другого мембера и потерял контекст.
на какого другого?
я этот вопрос с самого начала задал 22392093
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110639
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
ты чё уцепился за хранимки?
их запрещают обычно в паре с датасетами и рекордсетами.
Логика)
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110642
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Главное БИЗНЕС ЛОГИКА В ХРАНИМКАХ.
Без этого у тебя поделка студента.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110648
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю что SQL - это специальный язык для "бизнеса". И только в эру ORM его нивелировали
до уровня протокола копирования туда-сюда ентитей.

А если внутри SQL рассматривать всякие рекурсивные отношения - то можно объявить его
тьюринг-полным и решать соотв любые алгоритмические задачи. Возможно не так удобно
как в ФП-языках но можно.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110649
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
lleming,

то, что в твоём примере не видно лист - не значит, что его нет


в твоем примере лист спрятан в драйвере. У меня лист спрятан в "org.myowndb" у тебя спрятан в "org.postgresql.jdbc"

Можешь четкие критерий дать в каких package, использование ArrayList<>() считается а в каких нет. Если четко сможешь это описать то не откладывай, а закинь идею в jep на рассмотрение. Пусть сразу в компилятор это поведение зашили.

Код: java
1.
2.
3.
Exception in thread "main" java.lang.VadyaException: Illegal java.util.ArrayList usage in package "com.example",  list usage is only allowed "vadyan" package
	at com.example.task01.Test.dontUseList(Test.java:10)
	at com.example.task01.Test.main(Test.java:6)



Код: java
1.
   -Xlpallowed - overrides default package list "vadyan" where ArrayList is allowed to use
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110650
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я думаю что SQL - это специальный язык для "бизнеса". И только в эру ORM его нивелировали
до уровня протокола копирования туда-сюда ентитей.

А если внутри SQL рассматривать всякие рекурсивные отношения - то можно объявить его
тьюринг-полным и решать соотв любые алгоритмические задачи. Возможно не так удобно
как в ФП-языках но можно.


Так я вадяну вроде где кидал ссылку. на postgresql 9.6 добавил json, jsonb типы и тучу операций на них. На митапе чуваки рассказывали про nginx module с libpq. Можно вообще было бакенд убрать, и гонять nginx -> db -> nginx.
Я пробовал, то себе удовольствие, уже лучше hstore без того обилия скобочек и кавычек. Визуально хоть легче
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110668
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming
mayton
Я думаю что SQL - это специальный язык для "бизнеса". И только в эру ORM его нивелировали
до уровня протокола копирования туда-сюда ентитей.

А если внутри SQL рассматривать всякие рекурсивные отношения - то можно объявить его
тьюринг-полным и решать соотв любые алгоритмические задачи. Возможно не так удобно
как в ФП-языках но можно.


Так я вадяну вроде где кидал ссылку. на postgresql 9.6 добавил json, jsonb типы и тучу операций на них. На митапе чуваки рассказывали про nginx module с libpq. Можно вообще было бакенд убрать, и гонять nginx -> db -> nginx.
Я пробовал, то себе удовольствие, уже лучше hstore без того обилия скобочек и кавычек. Визуально хоть легче

Я не знаю как скейлится подобное решение. Обычно если хотят быстроты извлечения документов то
берут Mongo или CouchDb. А уж как появляются эти документы - это отдельный вопрос. Навреное
ближе к CQRS шаблону.

Просто есть у меня сомнение что классическую базу данных можно выставлять в сеть в сыром виде.
Или надо знать как умножить постгресс на 10 или на 100 когда "клиенты полезут". Разумеется
я имею в виду не покупку железа а просто добавление новых узлов в кластер.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110736
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
их запрещают обычно в паре с датасетами и рекордсетами.
Логика)
у ТС всё вроде ясно написано откуда и как он берёт данные - четко прописан
Код: java
1.
 ResultSet rs = statement.executeQuery("SELECT *FROM public.\"Product\"");


так что не фиг

lleming
в твоем примере лист спрятан в драйвере. У меня лист спрятан в "org.myowndb" у тебя спрятан в "org.postgresql.jdbc"

в каком драйвере? jdbc?
данные извлекаются в результсет это не лист. у тебя также происходит перенос из результсета в лист
Код: java
1.
2.
3.
                  while(source.hasNext()){
                          list.add(converter.convert(source.next());
                  }


lleming
Так я вадяну вроде где кидал ссылку. на postgresql 9.6 добавил json, jsonb типы и тучу операций на них. На митапе чуваки рассказывали про nginx module с libpq. Можно вообще было бакенд убрать, и гонять nginx -> db -> nginx.
Я пробовал, то себе удовольствие, уже лучше hstore без того обилия скобочек и кавычек. Визуально хоть легче
надо смотреть по месту - когда система будет тормозить- может стоит опуститься (или наоборот - дорости) и до такого.

но в данном случае - на ровном месте городятся тормоза и лишний код. ну просто видно что код лишний...
mayton
. Обычно если хотят быстроты извлечения документов то
берут Mongo или CouchDb. А уж как появляются эти документы - это отдельный вопрос. Навреное
ближе к CQRS шаблону.
не правильная формулировка - быстроты отображения. а она в свою очередь уже складывается из извлечения и обработки извлечённого. и что толку - ты быстро извлёк и долго обрабатываешь для отправки, в данном случае это и представлено - дополнительный, лишний код
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110740
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
у ТС всё вроде ясно написано откуда и как он берёт данные - четко прописан
Код: java
1.
 ResultSet rs = statement.executeQuery("SELECT *FROM public.\"Product\"");

он учится обходится без ХП.
Чтобы получать больше тебя).
Это тестовый код выше со звездочкой.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110750
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
он учится обходится без ХП.
ты достал с хранимками
где ты у тс увидел хранимки???
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110760
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
PetroNotC Sharp
он учится обходится без ХП.
ты достал с хранимками
где ты у тс увидел хранимки???
ты пьян сегодня?
КОД УЧЕБНЫЙ. Показывает как работать С КЛАССАМИ БЕЗ ХРАНИМОК.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110765
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
КОД УЧЕБНЫЙ. Показывает как работать С КЛАССАМИ БЕЗ ХРАНИМОК.
да причем здесь хранимки? что простой запрос , что хранимка возвращают результсет.
у тс простой запрос - его результат - результсет
данные из результсета тс заносит в лист - мой вопрос НАФИГА?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110769
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
)))))
Он не написал в вопросе форматирование даты в строку.
Как вариант. В результсете нет форматирования дат.
Допускаешь?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110783
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Вот второй вариант использования списка классов
JSP
<c:forEach var="itemsMy" items="$listClassxxxxx
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110791
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
вадя,
)))))
Он не написал в вопросе форматирование даты в строку.
Как вариант. В результсете нет форматирования дат.
Допускаешь?
мне наплевать на вопрос тс.у меня свой вопрос - зачем лиший код ?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110799
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Взаимно)
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110801
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

тс получил ответ
по его коду у меня вопрс
так что никто не может дать ответ?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110804
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
не правильная формулировка - быстроты отображения. а она в свою очередь уже складывается из извлечения и обработки извлечённого. и что толку - ты быстро извлёк и долго обрабатываешь для отправки, в данном случае это и представлено - дополнительный, лишний код

DBMS/CQRS - это вечная борьба снаряда и брони. И там нет единых верных решений.
Но если вы работаете с VK и Facebook то вы никогда не извлекаете данные из 1-й бд.
Там обычно - грид сложных кешей с репликациями. Но до того как мы докатимся
до такого ужаса - можно спокойно использовать DBMS в том (синхронном) виде
как нам проще.

Я просто усомнился что схема nginx <=> postgres способна решать все вопросы горизонтального
роста.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110812
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
PetroNotC Sharp,

тс получил ответ
по его коду у меня вопрс
так что никто не может дать ответ?
твой рекордсет тоже лишний. Можно без него.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110816
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Ну и у тебя не по коду вопрос а по архитектуре.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110833
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Ну и у тебя не по коду вопрос а по архитектуре.
ну если глобально подходить - то да.
PetroNotC Sharp
твой рекордсет тоже лишний. Можно без него.
если работать не через jdbc - то возможно.
mayton
Я просто усомнился что схема nginx <=> postgres способна решать все вопросы горизонтального
роста.
тут уже другие вопросы выступают на первое место, как безопасность, устойчивость .....
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110837
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Ну а по архитектуре не получается у тебя обсуждать).
Сам видишь:
"можно с рекордсетом.. Можно без него.."
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110843
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Ну а по архитектуре не получается у тебя обсуждать).
Сам видишь:
"можно с рекордсетом.. Можно без него.."
счас не тот уровень задачи. не известно что у тс вообще.
но из кода видно, что есть извлечение данных и отправка в браузер.
и есть промежуточные действия.
PetroNotC Sharp
"можно с рекордсетом.. Можно без него.."
это совсем в общем понимании. есть данные пришедшие из базы - их напрямую отправить формирование отображения, без промежуточных операций
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110847
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Тебе лучше html не показывать.))
Он застилает тебе все варианты.))
Бегом,бегом ,бегом отправить в html.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110854
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Бегом,бегом ,бегом отправить в html.
а тебе нравится ходить кругами?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40110965
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя

в каком драйвере? jdbc?
данные извлекаются в результсет это не лист. у тебя также происходит перенос из результсета в лист


думаешь в ResultSet данные из паралельной вселенной попадают ? Мне кажется вполне естественным что в драйвер не будет за каждой строкой в БД бегать а то знаешь ли соотноешние полезного трафика вместе с управляющим трафиком испортится, а скорее всего драйвер попроси или бд вернет на клиент сразу несколько строк которые в каком нибудь arraylist и закэшатся и resultset черпать свои данные будет оттуда.

Я понимаю конешно что это бесполезно объяснять что мол даже если и так то зачем перекладывать, но попробуй посмотреть сдругой стороны зачем переживать про создание arraylist когда надо переживать на качественном читаемом и легко поддерживаемом коде, ведь все равно там где внизу не один кэш.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111003
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming,
вот поводу кода. у тс надо анализировать описание его объета. далее нго листа, запонение листа, а так же ту чать (не показанная в вопросе} , которя заполняет его стоаницу (показан кусок)

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

драйвер возвращает тот объем, что прописан в настройках, и он не маленький.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111015
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
анализировать описание его объета.
ну конечно ты прав и все это лишнее при хранимках..
А они обязательно понадобятся.
Если хранимки нельзя то негде писать бл.
Смотри дальше собственного носа.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111019
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
lleming,
вот поводу кода. у тс надо анализировать описание его объета. далее нго листа, запонение листа, а так же ту чать (не показанная в вопросе} , которя заполняет его стоаницу (показан кусок)

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


не всегда меньше и быстрее значит лучше легче поддеживаемый код.

Где лучше:
Код: java
1.
2.
3.
4.
5.
6.
7.
rs.getString("pr_sbmtp")
rs.getString("cst_mon_pe");
rs.getString("prmt_bsprc");

product.getSubMortagePrice();
product.getConstantMontlyPrice();
produce.getPermanentBasePrice();



вадя

драйвер возвращает тот объем, что прописан в настройках, и он не маленький.

ну если ты делаешь select * from huge_table where id < 1000_000_000_000 setFeathcSize(Integer.MAX) и это прям в шаблон присать то result set не спасет
А если у тебя выборки ограничены разумным количеством то внезапно уже разницы особой нет.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111025
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

ты , что пристал с хранимками? у тс код без хранимок, и я не упоминал про них. хранимки я использую, потому что мне это удобно, и они автоматически защищают от инъекций. я рекомендую хранимки, но не настаиваю. без них вполне можно обойтись.
и отстань со своей бл , нету ее у тс. нет никакой бл в храниках, там простая обработка табличных данных.
если запрещены хранимки - более сложные проблемы придется решать в коде, но это отдельный разговор
и проблема тех, кто запрещает хранимки. заставляя эмулировать работу субд в коде
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111029
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
llemingавторГде лучше:
rs.getString("pr_sbmtp")
rs.getString("cst_mon_pe");
rs.getString("prmt_bsprc");

product.getSubMortagePrice();
product.getConstantMontlyPrice();
produce.getPermanentBasePrice();

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

при разумном размере при одном юзере да, но когда их твсячи эти незаметные моменты становятся слишком большими....
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111034
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming,

авторГде лучшедля меня первый вариант, потому как я вижу однозначное имя поля в запросе, и могу сразу понять что есть что , а не искать какому имени в коде соответствует поле а запросе....
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111037
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Не бывает программ без кода обработки. Страшное слово БЛ.
А ТЫ ДОКАЗЫВАЕШЬ - БЫВАЮТ))
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111039
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
lleming,

авторГде лучше
для меня первый вариант, потому как я вижу однозначное имя поля в запросе, и могу сразу понять что есть что , а не искать какому имени в коде соответствует поле а запросе....Конечно смотреть на классы тебе страшно. ООП тоже страшно.
Старовер при лучине
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111042
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,
смотреть на лишний код страшно.
классы ради классов?

а какая обработка в коде тс? переписывание данных ?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111043
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
llemingавторГде лучше:
rs.getString("pr_sbmtp")
rs.getString("cst_mon_pe");
rs.getString("prmt_bsprc");

product.getSubMortagePrice();
product.getConstantMontlyPrice();
produce.getPermanentBasePrice();

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

Только ты забываешь что в таком случаешь их нужно использовать только в одном месте в коде в других местах пользоваться доменной моделью. Или тест нужен всего один чтобы знать что модель собралась правильно а не тест на каждый случай где pr_sbmtp.

вадя

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


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

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

Из всего это не следуют что проблема именно arraylist. Это индуктивный вывод

Ну вот лови https://github.com/pgjdbc/pgjdbc/blob/801810a6955c80ec3050581e72cee9d2e2c3d992/pgjdbc/src/main/java/org/postgresql/jdbc/PgStatement.java#L167

Код: java
1.
2.
3.
4.
5.
 public ResultSet createResultSet(@Nullable Query originalQuery, Field[] fields, List<Tuple> tuples,
      @Nullable ResultCursor cursor) throws SQLException {
    PgResultSet newResult = new PgResultSet(originalQuery, this, fields, tuples, cursor,
        getMaxRows(), getMaxFieldSize(), getResultSetType(), getResultSetConcurrency(),
        getResultSetHoldability(), getAdaptiveFetch());




о ноу, о ноу, о ноу ноу ноу ноу ноу.

А посоны и не знали что тут код замедлили.
Напоминаешь адептов из секты list.toArray(new String[list.size()]); которым Шипилев подна...л
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111046
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
PetroNotC Sharp,
смотреть на лишний код страшно.
классы ради классов?

а какая обработка в коде тс? переписывание данных ?
Еще раз. Она в любом приложении есть.
В форуме опускают для примера.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111050
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и кратко. Перекладывание просто проще чем делать truly lazy object, своего рода safepoint можно остановить и посмотреть а точно ли в том самом стейте приложение в каком ожидается. Можно делать все lazy но сил уйден много на практике выгоды окажется не сильно много. Закон что именно 20% усилий делают 80% результата никто не отменял.


Но в любом случае спасиб хоть полез код посмотреть давно туда не лазил. Кстатит сами поля значение хранятся как byte array и конвертятся в string, int в момент вызова. Вот тут они(авторы драйвера) и заморочились.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111119
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming
Только ты забываешь что в таком случаешь их нужно использовать только в одном месте в коде в других местах пользоваться доменной моделью.
а в твоём случае надо следить за минимум актуальностью , а это ещё тот гемор
lleming
Опять абстрактная инфа, "если пользователей больше то сервер медленнее работает" это факт из которого можно сделать разные выводы
не надо примешивать другие факторы, их все не учтёшь.
lleming
Из всего это не следуют что проблема именно arraylist. Это индуктивный вывод
я не виню arraylist, я говорю , что в данном случае он лишний, а соответственно время его выполнение лишнее, которое при большом количестве юзеров будет влиять на быстродействии всей системы.
и судя по такому подходу таких лишних кусков кода множество - следовательно и тормозящих мест будет много.
lleming
Ну вот лови
если ты спрячешь резульсет за кучей кода - это не значит , что его не будет, как ни крути если используешь jdbc конечным результатом запроса будет результсет, пусть он будет в виде arraylist, или ещё каком. если ты его сможешь использовать сразу - да ради бога, но в коде его переписывают 2 раза - вот в чем проблема

PetroNotC Sharp
Еще раз. Она в любом приложении есть.
В форуме опускают для примера.
попридумывай ещё... хибер то же логику имеет- сначала записывает в лист - и только потом отдаёт, рассчитывая на какую-то логику....
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111129
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
попридумывай ещё... хибер то же логику имеет- сначала записывает в лист - и только потом отдаёт, рассчитывая на какую-то логику....
"а у соседа тоже дети....".
Какая разница что там у хибера.
Главное тебе некуда код девать.

...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111130
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
lleming
Только ты забываешь что в таком случаешь их нужно использовать только в одном месте в коде в других местах пользоваться доменной моделью.
а в твоём случае надо следить за минимум актуальностью , а это ещё тот гемор

но в одном месте а не в тысяче, т.е. гемора в тысяче мест меньше, легкость понимания в тысяче мест лучше.
вадя

lleming
Опять абстрактная инфа, "если пользователей больше то сервер медленнее работает" это факт из которого можно сделать разные выводы
не надо примешивать другие факторы, их все не учтёшь.

ну т.е. ты и сам не знаешь медленне или быстрее и какова цена того или иного решения. По сути ты говоришь что сервер будет медленее работать просто потому что будет, потому как Вадя сказал, доказательств и метрик нет. Стоимость использования тоже.
вадя

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

вот я и привел примеры где такой же кусок кода используется и твой кусок с перекладываем лишь малая часть того что где под ним происходит. Так накладные расходы могуть составлять малые доли а может и разочаровать тебя и вдруг перекладывать список может стать даже и быстрее, по неочевидным для тебя причинам а очевидным только jit или другим непостижимым для тебя образом. Пока не проверишь грошь цена таким заявлениям.

Вот вроде очевидно что без GC должно работать быстрее, но если выдать память побольше, паузы и трешхолды выкрутить чтобы gc очень редко запускался, против включенного gc с памятью достаточной для работы внезапно версия с GC по производиттельности выигрывает 5-10% против версии без запуска GC. Результут неочевидный если не знать что так внизу происходит, так и у тебя что внизу не знаю но точно уверен будет быстрее.
вадя

lleming
Ну вот лови
если ты спрячешь резульсет за кучей кода - это не значит , что его не будет, как ни крути если используешь jdbc конечным результатом запроса будет результсет, пусть он будет в виде arraylist, или ещё каком. если ты его сможешь использовать сразу - да ради бога, но в коде его переписывают 2 раза - вот в чем проблема

т.е перекладывать в arraylist в пакете org.postgresql.jdbc это ок а в org.tutorial очень плохо. Огласите весь список, пакеты где с твоей точки зрения перекладывать в arraylist это плохо, и где можно.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111140
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming,
я понял - для тебя дополнительный код не тратит на своё выполнение времени, ну что ж продолжай в это верить.

ты сам упомянул про GC - ну такт подумай : выделил место под объекты, объект. метод закончился - GC , будет работать над его очисткой ...
в моём случае - нет лишнего объекта - нет повода для работы GC
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111141
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming
Так накладные расходы могуть составлять малые доли а может и разочаровать тебя и вдруг перекладывать список может стать даже и быстрее, по неочевидным для тебя причинам а очевидным только jit или другим непостижимым для тебя образом. Пока не проверишь грошь цена таким заявлениям.
ну аргумент настоящего профи - добавим код и будет быстрее. а этот код с в ременем выполнения минус N секунд
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111144
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming
Так накладные расходы могуть составлять малые доли а может и разочаровать тебя и вдруг перекладывать список может стать даже и быстрее,
так ты уже прислушайся что ты говоришь
результсет - типа это аrraylist перекладывать его быстрее , так почему не перекладывать его сразу на место а не в другой аррэйлист?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111223
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
lleming
Пока не проверишь грошь цена таким заявлениям.
ну аргумент настоящего профи


спасибо за комплимент
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111224
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
ты сам упомянул про GC - ну такт подумай : выделил место под объекты, объект. метод закончился - GC , будет работать над его очисткой ...
в моём случае - нет лишнего объекта - нет повода для работы GC


Ну опять тупость просто. Перечитай это упоминание если опять не понял попроси рядом кого объянить что там написано,
кратко точто GC работает не обязательно делает приложение медленнее.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111225
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
lleming
Так накладные расходы могуть составлять малые доли а может и разочаровать тебя и вдруг перекладывать список может стать даже и быстрее,
так ты уже прислушайся что ты говоришь
результсет - типа это аrraylist перекладывать его быстрее , так почему не перекладывать его сразу на место а не в другой аррэйлист?


ну зачем тогда пользоваться arraylist в org.postgresql?

Дай угадаю ты в приложениям почемуто не стал unwrap connection делать и ответ запроса бд прям на уровне InputStream в шаблон загонять ведь так.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111235
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
так почему не перекладывать его сразу на место а не в другой аррэйлист?
ты пытаешься говорить про архитектуру.
Но в архитектуре не всегда "короткий путь значит быстрее".
Вот ведь парадокс то))
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111237
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне надоело слышать не относящиеся к вопросу отговорки.
я услышал всё, что угодно , кроме ответа на конкретный вопрос ....
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111241
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
мне надоело слышать не относящиеся к вопросу отговорки.
я услышал всё, что угодно , кроме ответа на конкретный вопрос ....


Если никто не понимает твоих вопросов то нужно позвать санитара и спросить не настало ли время принимать таблетки.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111301
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming
Если никто не понимает твоих вопросов то нужно позвать санитара и спросить не настало ли время принимать таблетки.
может наоборот? смотрите в упор на код и не видите лишнего?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111357
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
lleming
Если никто не понимает твоих вопросов то нужно позвать санитара и спросить не настало ли время принимать таблетки.
может наоборот? смотрите в упор на код и не видите лишнего?
Все мемберы вокруг? Да ну перестань.
Лучше попробуй написать систему без хранимок)
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111510
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Лучше попробуй написать систему без хранимок)
если какой-то неуч боится хранимок - пусть пишет без них, а заниматься хернёй я не намерен
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111678
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Лучше попробуй написать систему без хранимок)
вот пример ТС без хранимок

Код: 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.
......
    <section class="main-content">
        <div class="container">
            <%        try {
                    connection = DriverManager.getConnection(HOST, userName, password);
                    Statement statement = connection.createStatement();
                    ResultSet rs = statement.executeQuery("SELECT *FROM public.\"Product\"");
                    while (rs.next()) {
            %>
            <div class="row">
                <div class="col-lg-3 col-sm-6 mb-3" >
                    <div class="card" style="width: 18rem;">
                        <img class="card-img-top" src="<%=rs.getString("image")%>"  alt="Card image cap">
                        <div class="card-body">
                            <h5 class="card-title" ><%=rs.getString("title")%></h5>
                            <p class="card-text" ><%=rs.getString("description")%></p>
                            <div class="price">
                                <p><%=rs.getString("price")%></p>
                                <p>руб.</p>
                            </div>
                            <button class="btn btn-dark cart" data-id="<%=rs.getString("id")%>">В корзину</button>
                        </div>
                    </div>
                </div>
            </div>
            <%
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            %>
        </div>
    </section>
......

...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111679
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
PetroNotC Sharp
Лучше попробуй написать систему без хранимок)
если какой-то неуч боится хранимок - пусть пишет без них, а заниматься хернёй я не намерен

до свидания
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111681
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
до свидания
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111694
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

жаль что ты принял это на свой счёт
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111719
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
PetroNotC Sharp,

жаль что ты принял это на свой счёт


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

вадя

если какой-то неуч боится хранимок - пусть пишет без них, а заниматься хернёй я не намерен


Опять кривое умозаключение аппелирующее к эмоциям, если он пишет без хранимок это не значит, что он их боится.

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

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

Просто ты из категории сам гружу сам вожу сам копаю и устанавливаю канализацию, и тот факт что у тебя дома "шикарная" (на твой взгляд) канализация, очень маловероятно что твой опыт можно масштабировать до здания в 2куб/с отходов.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111721
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming
Вот я сам свидетель системы где хранимок больше чем ты книг и вообще строк прочитал в своей жизни, и внезапно их уже несколько лет целенаравленно выпиливают.
а я свидетель системы где больше 1000 и не ограничиваются этим.
кучу раз слышал противников хранимок, ноне разу не услышал из аргументов - отсюда и вывод.
но я в самом начале сказал - выбор работы с базой в данном вопросе не рассматриваю, про хрмнимки Петро сам начал.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111733
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
кучу раз слышал противников хранимок
дон кихот!
Слезь с ветряной мельницы.
Тут в топике нет противников хранимок.
Я начал в том смысле что в проектах и компаниях всегда выбор - ХП или JAVA.
Выбирай одно из двух и следуй дальше.
Не мешай другим.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111736
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
что в проектах и компаниях всегда выбор - ХП или JAVA.
а почему не вместе? распределив задачу на оба инструмента - только польза решаемой задачи!
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111737
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

но первоначальный вопрос был про код
и как его можно сократить я показал 22395540
зачем городить лишний код?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111742
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
PetroNotC Sharp
что в проектах и компаниях всегда выбор - ХП или JAVA.
а почему не вместе? распределив задачу на оба инструмента - только польза решаемой задачи!
для разговора нужно чтобы ты умел оба варианта. А ты не умеешь.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111743
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Ну и вакансию найди как пример. Где вместе))))
Ты же дома сидишь.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111744
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Ну и вакансию найди как пример. Где вместе))))
это не ответ.

PetroNotC Sharp
для разговора нужно чтобы ты умел оба варианта. А ты не умеешь.
я умею, просто выбираю наиболее быстрый для системы. в хранимке данные обрабатываются быстрее чес на java.
субд для этого заточены.
посмотри документацию на mssql сколько там возможностей для храимок.... ты не сможешь их реализовать на java.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111745
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

почему запрещают хранимки? не обучены? нет специалистов? боятся?
долго разрабатывать? дак - это от неумения/незнания.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111748
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
я умею
на пиво спорим?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111749
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Я не буду с тобой рассуждать пока не попробуешь)))
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111751
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Я не буду с тобой рассуждать пока не попробуешь)))
что попробовать?
вместо храники запрос?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111752
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Я не буду с тобой рассуждать пока не попробуешь)))
а что ты увиливаешь от первоначального вопроса про лишний код? а даже свой вариант показал, сравни по объёму (это к читаемости)
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111755
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
я умею, просто выбираю наиболее быстрый для системы
.

Ну выбираешь ты обычно так "белые овцы быстрее чем серые если солнце светит сзади ведь свет отражаясь от них их подталкивает" и делаешь вывод что стадо белых овец выгоднее гнать когда солнце светит сзади. Логически все верно, но такое себе рассуждение.

вадя

в хранимке данные обрабатываются быстрее чес на java.
субд для этого заточены.

разочарую тебя, но компиляторы тоже пилят чтобы побыстрее все работало и возможностей у них побольше.

вадя

посмотри документацию на mssql сколько там возможностей для храимок.... ты не сможешь их реализовать на java.


посмотри на apache common, spring, hadoop, akka, spark, mahout(список очень длинный) тут столько возможностей, врядли получится просто один раз дочитать описание возможностей всех этих java библиотек.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111756
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming
разочарую тебя, но компиляторы тоже пилят чтобы побыстрее все работало и возможностей у них побольше.
побольше чего? а субд пилят просто так, левой пяткой?
логику для компиляторы кто пилит? специ по ? только эмулируют , по мере своих способностей, думая что перещеголяют субд (потому как не знают субд)

вспомни топик Стаса, как он ратовал за хибер, пока не столкнулся с реальностью, так это была только маленькая часть что он узнал о субд.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111757
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming
тут столько возможностей, врядли получится просто один раз дочитать описание возможностей всех этих java библиотек.
а ты почитай про возможности субд, увидишь, насколько они больше могу по обработки данных чем твои библиотеки
lleming
разочарую тебя, но компиляторы тоже пилят чтобы побыстрее все работало и возможностей у них побольше.
да, но только то что им подсунул прогер.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111759
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
PetroNotC Sharp
Я не буду с тобой рассуждать пока не попробуешь)))
что попробовать?
вместо храники запрос?
БИЗНЕС ЛОГИКУ В JAVA.
Если криком норм?
Задача понятна?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111761
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
вспомни топик Стаса
стаса нет.
Все остальные могут и так и так. А ты только узко и однообразно.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111763
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
БИЗНЕС ЛОГИКУ В JAVA.
Если криком норм?
Задача понятна?
какую бизнес логику? о чем ты? пересылку из листа в лист?
на примере тс где ты увидел бизнес логику?
что ты называешь бизнес логикой?
обработку данных? зачем это делать в коде java, когда это оптимальнее делать в в специализированной среде?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111764
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Все остальные могут и так и так. А ты только узко и однообразно.
а ответить на вопрос про код так и не могут.
если б могли - не было б стока страниц.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111766
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
lleming
разочарую тебя, но компиляторы тоже пилят чтобы побыстрее все работало и возможностей у них побольше.
побольше чего? а субд пилят просто так, левой пяткой?

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

Простое гугление говорит что это не так. Из чего делаю вывод что плюс минус квалификация разрабов одинакова и возможно они даже плавают в течении карьеры.

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

вадя

логику для компиляторы кто пилит? специ по ? только эмулируют , по мере своих способностей, думая что перещеголяют субд (потому как не знают субд)

ну это опять про белых овец.

вадя

вспомни топик Стаса, как он ратовал за хибер, пока не столкнулся с реальностью, так это была только маленькая часть что он узнал о субд.

ну я ратую за hiber, проблем не имею, что я делаю не так. наличие хибера не освобождает от отвественности значит субд не надо знать.

вадя

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

с увовольствие бы почитал про субд(и читал кстати очень много как никак dba я в свою бытность побыл в postgresql правда не msql), к сожалению моей жизни не хватит дочитать описания доступных библиотек на java. Даже больше даже если бы я жил вечно я дочитал бы только когда разрбоатка на java прекратится ибо пишут их гораздо быстрее чем получается осваивать.
вадя

да, но только то что им подсунул прогер.

думаешь процедуры в субд илллюминаты подсовывают?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111768
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
PetroNotC Sharp
БИЗНЕС ЛОГИКУ В JAVA.
Если криком норм?
Задача понятна?
какую бизнес логику? о чем ты? пересылку из листа в лист?
на примере тс где ты увидел бизнес логику?
что ты называешь бизнес логикой?
обработку данных? зачем это делать в коде java, когда это оптимальнее делать в в специализированной среде?
не умеешь. И в жизни не писал. Пиво проспорил.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111769
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming,

и пять нет ответа на мой вопрос.

а ты хочешь сказать что на java ты обработаешь быстрее чем в субд? вспомни для начала быстродействие java со строками, со сравнением строк.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111770
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
не умеешь. И в жизни не писал. Пиво проспорил.
если тебя успокоит- не умею, не умею делать дрянь, потому как не хочу.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111773
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я выложил свой вариант кода тс - и ?
там нет хранимки, я не настаиваю на использование там храники.
где там бизнес логика?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111774
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
PetroNotC Sharp
не умеешь. И в жизни не писал. Пиво проспорил.
если тебя успокоит- не умею, не умею делать дрянь, потому как не хочу.
ну и хорошо.
Пожали руки и разошлись.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111775
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
ну и хорошо.
Пожали руки и разошлись.
и?
где ответ на мой вопрос?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111776
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
lleming,

и пять нет ответа на мой вопрос.

а ты хочешь сказать что на java ты обработаешь быстрее чем в субд? вспомни для начала быстродействие java со строками, со сравнением строк.


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

А что увидел ты?
Расскажи мне про реализацию алгоритма конкатенации в субд который невозможно повторить.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111777
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming
А что увидел ты расскажи, расскажи мне про реализацию алгоритма конкатенации в субд которую невозможно повторить.
на java? что ты можешь предложить кроме стрингбилдера?
да и то вариант
непрерывного
sb.append().append()...
все остальное медленно
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111778
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming
Я уже даже приводил ссылку на реализацию конкатенации строк одной из субд когда спор зашел
код на java?????
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111779
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
lleming
А что увидел ты расскажи, расскажи мне про реализацию алгоритма конкатенации в субд которую невозможно повторить.
на java? что ты можешь предложить кроме стрингбилдера?
да и то вариант
непрерывного
sb.append().append()...
все остальное медленно


Думаешь субд оптимизуешь помещая строки в паралельную вселенную и в конце материлизует оттуда? Неужно опять иллюминаты постарались?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111780
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
lleming
Я уже даже приводил ссылку на реализацию конкатенации строк одной из субд когда спор зашел
код на java?????


нет исходный код субд испльзуемый для конкатенации строк.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111781
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming
нет исходный код субд испльзуемый для конкатенации строк.
где?
lleming
Думаешь субд оптимизуешь помещая строки в паралельную вселенную и в конце материлизует оттуда? Неужно опять иллюминаты постарались?
оптимизирует обработку данных, тот же план запроса, та же компиляциz хранимых процедур в mssql, те же оконные функции, да ещё много чего.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111785
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
lleming
нет исходный код субд испльзуемый для конкатенации строк.
где?

да уже поднимался этот вопрос я специально посмотрел какой код выполняет concat (

вадя

lleming
Думаешь субд оптимизуешь помещая строки в паралельную вселенную и в конце материлизует оттуда? Неужно опять иллюминаты постарались?
оптимизирует обработку данных, тот же план запроса, та же компиляциz хранимых процедур в mssql, те же оконные функции, да ещё много чего.

думаешь если слова как магические заклинания произнес произойдет чудо ? Что мешает разработчикам компипиляторов или той же jdk оптимизировать обработку данных. Думаешь разработчики компиляторов не знают заклинаний?

Давай я накидаю, добавь себе в записную книжку в раздел мантры:
code inline, branch prediction, jit, loop unroll, lazy method linking, intrinsic function
тысячи их https://en.wikipedia.org/wiki/Optimizing_compiler
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111798
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
lleming,

и пять нет ответа на мой вопрос.

а ты хочешь сказать что на java ты обработаешь быстрее чем в субд? вспомни для начала быстродействие java со строками, со сравнением строк.

Товарищь вобщем-то прав. Многие СУБД плохо конкатенируют строки. И если в Java для этого есть билдер
и компиллятор который прогнозирует что здесь билдер будет лучше - то так оно и будет.

В СУБД таких механик обычно нет. Например Oracle/PLSQL в 99% случаев это даже не компиллятор.
Тоесть о таких техниках не речи.

И сама строка (VARCHAR2(x)) будет ограничена в 32 килобайта.

Архитектурный дефектец! Никто просто не знал что ты будешь формировать HTML в БД. А перескочить
через границу 32 килобайта можно очень легко.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111808
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
как минимум в mysql есть команды задающие размер текстовых полей для вывода.
формировать полностью html в базе нет смысла. а небольшое меню вполне. как вариант.
для хранения размер не ограничен, есть вариант даже для json.
я показал вариант с формированием html как вариант возможности. ну и выводить одной строкой тоже нет необходимости, а строк может быть много в субд нет ограничения.


но это опять отход от первоначального вопроса про код - заболтать оппонента сторонней проблемой, чтоб уйти от ответа на его вопрос.

а как не крути , что храники , что про простые запросы возращают данные.
и чем меньше они возращают тем лучше, возвращать миллион записей - очень дорого.

на примере кода тс - нет там работы со строками в запросе, а завернуть его в хранимку или оставить так - дело вкуса. просто когда все обращения к базе однотипны - удобнее. ну при некоторых изменениях, исправлениях в запросах (при которых не изменяется количество полей) не надо перекомпилировать весь код, просто поправить в субд.при отладке java кода можно просто вернуть необходимый набор без реального запроса. а сам запрос отлаживать/оптимизировать отдельно, параллельно. для этого даже не надо трогать java код.

и в очередной раз - где ответ на вопрос по коду тс?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111818
chron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя, мне кажется, не будет здесь ответа.
будет про параллельную вселенную, иллюминатов и хп.
понты, понты, понты.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111822
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chron
вадя, мне кажется, не будет здесь ответа.
будет про параллельную вселенную, иллюминатов и хп.
понты, понты, понты.
к сожалению, похоже на это....
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111846
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
mayton,
как минимум в mysql есть команды задающие размер текстовых полей для вывода.
формировать полностью html в базе нет смысла. а небольшое меню вполне. как вариант.
для хранения размер не ограничен, есть вариант даже для json.
я показал вариант с формированием html как вариант возможности. ну и выводить одной строкой тоже нет необходимости, а строк может быть много в субд нет ограничения.


но это опять отход от первоначального вопроса про код - заболтать оппонента сторонней проблемой, чтоб уйти от ответа на его вопрос.

а как не крути , что храники , что про простые запросы возращают данные.
и чем меньше они возращают тем лучше, возвращать миллион записей - очень дорого.

на примере кода тс - нет там работы со строками в запросе, а завернуть его в хранимку или оставить так - дело вкуса. просто когда все обращения к базе однотипны - удобнее. ну при некоторых изменениях, исправлениях в запросах (при которых не изменяется количество полей) не надо перекомпилировать весь код, просто поправить в субд.при отладке java кода можно просто вернуть необходимый набор без реального запроса. а сам запрос отлаживать/оптимизировать отдельно, параллельно. для этого даже не надо трогать java код.

и в очередной раз - где ответ на вопрос по коду тс?


вадя
lleming,

и пять нет ответа на мой вопрос.

а ты хочешь сказать что на java ты обработаешь быстрее чем в субд? вспомни для начала быстродействие java со строками, со сравнением строк.


Сам упомянул про строки, сам потерял контекст обсуждения (по обыкновению), сам возмутился что тема свернула не туда, хотя сам ее повернул в ту сторону.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111848
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
и в очередной раз - где ответ на вопрос по коду тс?

Она-ж пишет

Всем спасибо! Проблема решилась
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111850
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Она-ж пишет
дак я про свой вопрос
lleming
Сам упомянул про строки, сам потерял контекст обсуждения (по обыкновению), сам возмутился что тема свернула не туда, хотя сам ее повернул в ту сторону.
опять бла-бла
ты хоть читай всё прежде чем отвечать...
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111855
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зафлужено до предела. Уж не разобрать где кони-люди. Лучше подними свой вопрос отдельной темой.

Если что-то важное.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111859
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

вот мой вариант кода , вместо кода тс
22395540

-
Код: 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.
......
    <section class="main-content">
        <div class="container">
            <%        try {
                    connection = DriverManager.getConnection(HOST, userName, password);
                    Statement statement = connection.createStatement();
                    ResultSet rs = statement.executeQuery("SELECT *FROM public.\"Product\"");
                    while (rs.next()) {
            %>
            <div class="row">
                <div class="col-lg-3 col-sm-6 mb-3" >
                    <div class="card" style="width: 18rem;">
                        <img class="card-img-top" src="<%=rs.getString("image")%>"  alt="Card image cap">
                        <div class="card-body">
                            <h5 class="card-title" ><%=rs.getString("title")%></h5>
                            <p class="card-text" ><%=rs.getString("description")%></p>
                            <div class="price">
                                <p><%=rs.getString("price")%></p>
                                <p>руб.</p>
                            </div>
                            <button class="btn btn-dark cart" data-id="<%=rs.getString("id")%>">В корзину</button>
                        </div>
                    </div>
                </div>
            </div>
            <%
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            %>
        </div>
    </section>
......



зачем тс написал кучу лишнего?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111860
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яж говорю - чугунный лапоть. Этот код можно писать. Но его можно писать 1 раз чтобы отдать
и никогда больше не сопровождать. Это скромное мнение меня, который фронт не делал и ХЗ
как там у вас на фронте бывает. Но мне от такого кода становится ... не по себе и хочется
зайти в рюмочную в середине рабочего дня... А потом обновить резюме.

Just IMHO.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111862
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
вот мой вариант кода
тебя не возьмут на работу.
Хотя бы эта фраза понятна?
))
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111863
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю что если искать такой вот сельской простоты и краткости то может быть лучше
свичнуть проект на Node.JS ? Есть у меня предположение что так будет короче.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111865
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
и где там бизнес-логика?


а почему еще никто не сказал, что у вади там что-то довольно странное написано?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111870
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
вадя
и где там бизнес-логика?


а почему еще никто не сказал, что у вади там что-то довольно странное написано?


Поленился попросить сообщество сделать код ревью это примера.

Таще та посчитал бесполезно, Вадян не способен мыслить логически и воспринимать критику.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111873
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и в общем только бла-бла
никакой конкретики
вот то что у тс такой же код , но только где-то
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
<section class="main-content">
    <div class="container">
        <div class="row">
            <div class="col-lg-3 col-sm-6 mb-3" th:each="product : ${products}">
                <div class="card" style="width: 18rem;">
                    <img class="card-img-top" th:src="${product.image}" alt="Card image cap">
                    <div class="card-body">
                        <h5 class="card-title" th:text="${product.title}"></h5>
                        <p class="card-text" th:text="${product.description}"></p>
                        <div class="price">
                            <p th:text="${product.price}"></p>
                            <p>руб.</p>
                        </div>
                        <button class="btn btn-dark cart" th:data-id="${product.id}">В корзину</button>
                    </div>
                </div>
            </div>
        </div>
    </div>
</section>



поддерживать в нескольких местах проекта проще? в одном месте создаём объект , кге-то в руго из него всвлем
или когда всё в одном месте?
сразу видно сам запрос и куда вставляется.
нет лишних объектов.
конкретно что не нравится - в че сложно поддерживать?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111874
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
что у вади там что-то довольно странное написано?
и что же это "что-то"
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111875
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем здесь java вообще. это же перл из начала 2000х или тот же php 2.0.

Это уже было, Вадян скачай netbeans какой нибудь 3.6 версии. Если найдешь в истории интернета где (они раньше еще и диски присылали когда java tm принадлежал sun microsystems ). Там были готовые компоненты (драг энд дроп). Например компонент таблица маппилась на sql код прям в шалон и сам компонент генерил результат. По сути тоже самое что и здесь только более топорно, руками.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111879
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming,

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

то что "страница" тс из тех же 2000х , тот же сервлет - никого не смущает?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111881
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Не дана тебе архитектура. Не допускаешь? Хотя бы в мыслях?))
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111883
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня - дежа-вю. Мне кажется мы это уже обсуждали.

Зачем нам цирковые репризы? На "бис" вызывали?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111884
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
У меня - дежа-вю. Мне кажется мы это уже обсуждали.

Зачем нам цирковые репризы? На "бис" вызывали?
но я так и не получил ответа! одно бла-бла

если потребуется добавить поле - тс придётся менять в 2 файлах, в 3 местах
в моём варианте только в одном месте.
PetroNotC Sharp
Не дана тебе архитектура. Не допускаешь? Хотя бы в мыслях?))

а где у тс архитектура? в создании кучи файлов? кучи лишнего кода?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111885
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming
По сути тоже самое что и здесь только более топорно, руками.
заполнять напрямую из результсета топорно, а из кокого-то промежуточного объекта - не топорно, причем заполняется одно и тоже.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111887
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
mayton
У меня - дежа-вю. Мне кажется мы это уже обсуждали.

Зачем нам цирковые репризы? На "бис" вызывали?
но я так и не получил ответа! одно бла-бла

если потребуется добавить поле - тс придётся менять в 2 файлах, в 3 местах
в моём варианте только в одном месте.

PetroNotC Sharp
Не дана тебе архитектура. Не допускаешь? Хотя бы в мыслях?))

а где у тс архитектура? в создании кучи файлов? кучи лишнего кода?



Мусье Андрей Панфилов уже указал тебе что менять придется во всех шаблонах. Но ты пропустил это мимо ушей. Поле в БД только в одном шаблоне это либо частный случай либо приложение hello world. Это не интересно.
Легкие названия колонок я уже указал что это частный случай, изменение колонок на более читаемые прям сразу как захотелось тоже частный случай либо hello world. Это не интересно.

вадя

но я так и не получил ответа! одно бла-бла

в твое религии правильных ответа только два, и они не требует доказательств. (второй про вебсокеты это отдельная глава в священном писании).
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111888
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming
что менять придется во всех шаблонах
нафига иметь одно и тоже во многих шаблонаХ?
хорошо- изменили добавили одно поле, изменили в одном классе, но таблица для отображения встречается во многих страницах - там автоматом поправится?
lleming
Легкие названия колонок я уже указал что это частный случай, изменение колонок на более читаемые прям сразу как захотелось тоже частный случай либо hello world. Это не интересно.
кто мешает сделать лёгкие названия в резульсете?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111894
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
а где у тс архитектура?
ты в ней не шаришь. Поэтому не видишь
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111897
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
ты в ней не шаришь. Поэтому не видишь
расшарь мне её, сделай милость. или это будет только бла-бла?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111899
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
Андрей Панфилов
что у вади там что-то довольно странное написано?
и что же это "что-то"


У тебя там повсеместно дрисня написана...

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
  SELECT DISTINCT
    menu.id,
    menu.parent,
    menu.name,
    menu.role,
    menu.`order`,
    menu.action,
    menu.action_string
  FROM menu
    INNER JOIN role_pages
      ON FIND_IN_SET(menu.action_string, (SELECT
          GROUP_CONCAT(role_pages.pages) AS expr1
        FROM role_pages
          INNER JOIN users
            ON role_pages.id_role = users.role
        WHERE users.login = login_))
      OR menu.action_string = ''
    INNER JOIN users
      ON users.role = role_pages.id_role
      AND menu.parent = a_id
      AND menu.action = 0
  ORDER BY menu.`order`;



- кто в одном запросе у одинаковых роу-сорсов не ставит алиасы - тот лох
- использовать FIND_IN_SET вместо IN/EXISTS - это уже клиника: давайте строчки все склеим через запятую, а потом опять распарсим, производительность, ага...
- я так понимаю что в первом INNER JOIN role_pages по факту получилось декартово произведение посколько role_pages приклеиваются полностью в случае если menu.action_string куда-то там вошел, но проблему ты доблестно решил через DISTINCT и плевать на правильность данных

Код: sql
1.
SET @@max_sp_recursion_depth = 10;



разве в MySQL рекурсивные запросы не завезли? а почему во втором примере есть рекурсивный запрос?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
IF ntree_ready = 1
  THEN
    DROP TABLE IF EXISTS menu_tree;

    CREATE TABLE menu_tree (
      id int(11) NOT NULL AUTO_INCREMENT,
      id_in int(11) NOT NULL,
      parent_id int(11) NOT NULL,
      name varchar(50) NOT NULL,
      role int(11) NOT NULL,
      nlevel int(11) NOT NULL,
      `order` int(11) DEFAULT NULL,
      action int(11),
      action_string varchar(50),
      PRIMARY KEY (id)
    )
    ENGINE = MEMORY
    AUTO_INCREMENT = 1
    AVG_ROW_LENGTH = 176
    CHARACTER SET utf8
    COLLATE utf8_general_ci;

  END IF;



тут я конечно не спец в MySQL, однако:

- DDL приводит к неявному коммиту, т.е. у твоей нетленки какие-то невероятные побочки
- как оно будет работать при конкурентном доступе боюсь даже представить
- temporary tables в MySQL-таки есть
- отводить 4 байта под идентификаторы - это зашквар

ну и в общем:
- то то процедура иногда что-то возвращает, а иногда не возвращает ничего - просто замечательный паттерн я считаю
- DETERMINISTIC ты влепил видимо для ускорения, и плевать на конвенции
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111901
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
нафига иметь одно и тоже во многих шаблонаХ?

не знаю, нужно спросить у бизнеса зачем ему это, десятки отчетов, таблиц, выгруженных данных в csv. Мне это не интересно почему бизнес видит это так.

вадя

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

Нет от этого не спасет. Но вот переименование ide сделает за разработчика легко, переименование колонки в бд станет безопаснее, т..к шаблоны привязанны доменной модели а не к самой таблице.

вадя
кто мешает сделать лёгкие названия в резульсете?


Коорпоративные правила, наличие более одного разработчика в проекте(или страшнее наличие субподрядчика) с разным пониманием как именовать.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111902
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
PetroNotC Sharp
ты в ней не шаришь. Поэтому не видишь
расшарь мне её, сделай милость. или это будет только бла-бла?

Сначала ты. Ленивым бесполезно. Делай пример. Выше просил.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111903
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
FIND_IN_SET вместо IN/EXISTS - это уже клиника
не надо ля-ля
Андрей Панфилов
разве в MySQL рекурсивные запросы не завезли?
ты что думаешь, если завезли в 8+, то надо их применять в 5+?
Андрей Панфилов
- отводить 4 байта под идентификаторы - это зашквар
ага , стандартный инт. все все равно преобразуется к 4 байтам
Андрей Панфилов
- как оно будет работать при конкурентном доступе боюсь даже представить
представляешь - не приводит!
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111906
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming
не знаю
не знаешь - помолчи.
lleming
Нет от этого не спасет
так зачем?
lleming
Но вот переименование ide сделает за разработчика легко, переименование колонки в бд станет безопаснее, т..к шаблоны привязанны доменной модели а не к самой таблице.
переименование... проблема не в переименовании, а в добавлении.
lleming
Коорпоративные правила, наличие более одного разработчика в проекте(или страшнее наличие субподрядчика) с разным пониманием как именовать.
это что бред? про аласы слышал?
PetroNotC Sharp
Сначала ты. Ленивым бесполезно. Делай пример. Выше просил.
понял, про архитектуру - только бла-бла...
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111910
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
- то то процедура иногда что-то возвращает, а иногда не возвращает ничего - просто замечательный паттерн я считаю
тебе что, весь проект выложить , что такой глупости не писал?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111913
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
lleming
не знаю
не знаешь - помолчи.

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

вадя

lleming
Нет от этого не спасет
так зачем?

по той же причине как ремень безопасности не спасет от лоб в лоб с грузовиком. Но это не значит что пристегиваться не нужно. ваш кэп

вадя

lleming
Но вот переименование ide сделает за разработчика легко, переименование колонки в бд станет безопаснее, т..к шаблоны привязанны доменной модели а не к самой таблице.
переименование... проблема не в переименовании, а в добавлении.

а в удалении я так понял проблемы нет? или переменщении ? или конкатенации ?

вадя
lleming
Коорпоративные правила, наличие более одного разработчика в проекте(или страшнее наличие субподрядчика) с разным пониманием как именовать.
это что бред? про аласы слышал?

конешно слышал. Означает ли это что все разработчики об этом слышали ?
От общего к частному != от частного к общему - не перепутай
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111914
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
тебе что, весь проект выложить , что такой глупости не писал?
дурь здесь пишешь только ты, иди лучше изучай как хром с tls работает, а программировать тебе не стоит, совсем.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111915
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming
конешно слышал. Означает ли это что все разработчики об этом слышали ?
От общего к частному != от частного к общему - не перепутай
у вас такие разработчики?
lleming
а в удалении я так понял проблемы нет? или переменщении ? или конкатенации ?
ну хорошо что про удаление вспомнил, хотя я посчитал, что остальные в добавок к добавлению понимаются по умолчанию, и для понятливых людей нет смысла их перечислять
lleming
по той же причине как ремень безопасности не спасет от лоб в лоб с грузовиком. Но это не значит что пристегиваться не нужно. ваш кэп
ну да напишем кучу кода , а вдруг...
потом бедные поддерживатели кода будут гадать для чего это все написано.... что курил автор писав лишний код
lleming
зачем молчать. я не знаю что в голове у других людей
так зачем домысливать за других? есть конкретный код - конкретный вопрос
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111916
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
дурь здесь пишешь только ты, иди лучше изучай как хром с tls работает, а программировать тебе не стоит, совсем.
опят бла бла

а тс не дурь написал?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111922
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
lleming
конешно слышал. Означает ли это что все разработчики об этом слышали ?
От общего к частному != от частного к общему - не перепутай
у вас такие разработчики?

Таки да есть разные разработчики с разным уровнем знания и на большом проекте их может быть много.

вадя

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

IDE поможет и с удалением.
вадя

lleming
по той же причине как ремень безопасности не спасет от лоб в лоб с грузовиком. Но это не значит что пристегиваться не нужно. ваш кэп
ну да напишем кучу кода , а вдруг...
потом бедные поддерживатели кода будут гадать для чего это все написано.... что курил автор писав лишний код

ну и сколько у тебя в машине ремней безопасности для себя любимого? Хоть больше одного ?
вадя

lleming
зачем молчать. я не знаю что в голове у других людей
так зачем домысливать за других? есть конкретный код - конкретный вопрос



Затем что это прям и отписал что мне неитересна причина и я ее не знаю, по которой заказчику хочется иметь много функционала, я могу домыслить, но не хочу т.к. не связано с моей непосредственно работой. Но ты по обыкновению перевернул смысл задом наперед.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40111944
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

Прекратите, пожалуйста, ужасать сообщество.
Скоро у разработчиков кровь из глаз пойдет от Ваших примеров кода. А от упоминания слова "хранимки" глаз дергаться.

Все хорошо вовремя и к месту. Может, это Вы так изящно шутите? Тогда браво.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40112069
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
Андрей Панфилов
FIND_IN_SET вместо IN/EXISTS - это уже клиника
не надо ля-ля


ну давай проверим чтоли...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
mysql> create table q as WITH recursive numbers AS (select 0 as id union all select id + 1 from numbers where id < 100000) select * from numbers;
Query OK, 100001 rows affected (0.43 sec)
Records: 100001  Duplicates: 0  Warnings: 0

mysql> create index q_id on q(id);
Query OK, 0 rows affected (0.37 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> create table q1 as WITH recursive numbers AS (select 0 as id union all select id + 1 from numbers where id < 1000) select * from numbers;
Query OK, 1001 rows affected (0.03 sec)
Records: 1001  Duplicates: 0  Warnings: 0

mysql> create index q1_id on q1(id);
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0

Код: plaintext
1.
2.
3.
4.
5.
mysql> select * from q where exists (select q1.id from q1 where q.id=q1.id);
1001 rows in set (0.01 sec)

mysql> select * from q where find_in_set(q.id, (select group_concat(q1.id) from q1));
1001 rows in set (2.00 sec)

т.е. с твоей точки зрения модели/шаблоны - это полный отстой, хотя бэк прекрасно масштабируется, а вот задрочить запросами БД, которая масштабируется так себе - это нормально.

вадя
Андрей Панфилов
- как оно будет работать при конкурентном доступе боюсь даже представить
представляешь - не приводит!


сессия #1:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
mysql> create table q2(id int(11)) ENGINE = MEMORY;
Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> set autocommit=0;
Query OK, 0 rows affected (0.00 sec)

mysql> insert into q2(id) values (1);
Query OK, 1 row affected (0.01 sec)

сессия #2:
Код: plaintext
1.
2.
3.
mysql> drop table q2;

и здесь висим...

Прямо не знаю имеет ли смысл остальные перлы обсуждать и продолжать диалог, но в целом с тобой все понятно: ты проповедуешь какой-то экстремизм, но при этом технологиями не владеешь.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40112109
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
вадя
пропущено...
не надо ля-ля


ну давай проверим чтоли...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
mysql> create table q as WITH recursive numbers AS (select 0 as id union all select id + 1 from numbers where id < 100000) select * from numbers;
Query OK, 100001 rows affected (0.43 sec)
Records: 100001  Duplicates: 0  Warnings: 0

mysql> create index q_id on q(id);
Query OK, 0 rows affected (0.37 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> create table q1 as WITH recursive numbers AS (select 0 as id union all select id + 1 from numbers where id < 1000) select * from numbers;
Query OK, 1001 rows affected (0.03 sec)
Records: 1001  Duplicates: 0  Warnings: 0

mysql> create index q1_id on q1(id);
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0

Код: plaintext
1.
2.
3.
4.
5.
mysql> select * from q where exists (select q1.id from q1 where q.id=q1.id);
1001 rows in set (0.01 sec)

mysql> select * from q where find_in_set(q.id, (select group_concat(q1.id) from q1));
1001 rows in set (2.00 sec)

т.е. с твоей точки зрения модели/шаблоны - это полный отстой, хотя бэк прекрасно масштабируется, а вот задрочить запросами БД, которая масштабируется так себе - это нормально.

вадя
пропущено...
представляешь - не приводит!


сессия #1:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
mysql> create table q2(id int(11)) ENGINE = MEMORY;
Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> set autocommit=0;
Query OK, 0 rows affected (0.00 sec)

mysql> insert into q2(id) values (1);
Query OK, 1 row affected (0.01 sec)

сессия #2:
Код: plaintext
1.
2.
3.
mysql> drop table q2;

и здесь висим...

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


Опять бла-бла. Конкретный ответ будет?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40112152
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Избыточное цитирование - вижу.
Но в чём заключаетеся бла-бла-бла и кому это бла-бла-бла принадлежит - решительно непонятно.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40112167
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

Я думаю, забыл ник шутит. :)
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40112168
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Френдли файр. Усталая рука направила пулемет в своих. Бывает...
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40112177
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Нет-нет, я думаю это была ирония.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40112179
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или вадя хакнул чей-то акк.

Вот так-то... А вы его недооценивали
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40112192
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большой Синий Кит
mayton,

Нет-нет, я думаю это была ирония.


пытался проникнуть в мысли вади, притворившись им
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40112403
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так - был человек, макнули в профнепригодность - и нет человека. Будет скучно, я уже к ваде привык
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40112440
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пилит человек проекты в одно лицо - причём тут профнепригодность?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40112442
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,

Я искренне верю, что Вадя как настоящий профессионал своего дела отправился чинить баги, вернётся к нам как только починит
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40112539
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Пилит человек проекты в одно лицо - причём тут профнепригодность?

Пилить в одно лицо незазорно. Зазорно спорить с теми кто пилит не в одно. Я тоже умею копать, но врядли стану спорить с экскаватаром.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40112561
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник
Я тоже умею копать, но врядли стану спорить с экскаватаром.
О-хо-хонюшки...
Лунки для рассады в огороде вы тоже экскаватором делать будете?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40112602
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
забыл ник
Я тоже умею копать, но врядли стану спорить с экскаватаром.
О-хо-хонюшки...
Лунки для рассады в огороде вы тоже экскаватором делать будете?

Ладно, аналогия не удалась, не спорю. Лунки я сделаю себе сам, какие угодно, и может даже расскажу соседям что они зюс и как надо делать. Но вот на всемирную выставку агрономов учить всех вокруг я не поеду.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40112646
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник, это, батенька, мания величия. Про всемирность выставки.

P.S.
Уже в который раз хочется ругаться нецензурным матом на приводимые аргументы.
Не по вам конкрентно, но и по вам - тоже.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113368
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
После того как бедный вадя был измазан смолой а после вывалян в перьях и выставлен
в клетке на площади на всеобщее обозрение, давайте немного откат в сторону. Есть
принципы KISS, DRY, YAGNI.

И мне иногда кажется что они идут вразрез с правильным ООП. Вернее сказать даже
не с ООП а с support-radio. Или с некой метрикой которая характеризует, как дешево
СТОИТ внести изменения в ваш проект.

Тоесть это не ортогональные а коллинеарные метрики качества проекта. Хотите чистый
KISS - делайте как вадя. Хотите заложить эволюционные свойства в продукт - вносите
не-тестируемые никак изменения цель которых - просто придать проекту некий...
стандартный для ентерпрайза вид. И в этом смысле у нас нет rules. А есть скорее
рекомендации по тому как следует писать.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113438
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник
Опять бла-бла. Конкретный ответ будет?
вы как желтая пресса - выдираете из контекста и начинаете, начинаете....
как слепцы - вам дали потрогать хвост от слона - вы сделали вывод - что такое слон.

а на прямо поставленный вопрос - только глупые ухмылки и поливание грязью. и это ответы профессионалов?
уже просто не интересно.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113442
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
Прямо не знаю имеет ли смысл остальные перлы обсуждать и продолжать диалог, но в целом с тобой все понятно: ты проповедуешь какой-то экстремизм, но при этом технологиями не владеешь.
это похоже на байку про мужика, который зашёл в ванную побриться, а в это время жена задала ему вопрос, сама себе ответила, на этот вопрос рассердилась.... в итоге мужик вышел из ванны побритый и разведённый
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113443
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Можно подумать ты пробовал кроме хвоста хранимок что нибудь
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113474
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Можно подумать ты пробовал кроме хвоста хранимок что нибудь
в хранимках те же запросы плюс дополнительные возможности.
так что это намного перекрывает твоё "что-нибудь"
если ты имеешь в виду пост обработка результатов в коде java - так зачем делать двойную работу?
ещё раз - субд более заточены для работы с большими объёмами данных, чем java.
вывод большого количества записей из субд - очень длительная и затратная операция.
даже если надо дату привести к нужному формату - это можно сделать и запросе, да и числа также. и отдавать на отображение клиенту без допобработки в java.
логика в java нужна когда несколько клиентов одновременно пытаются редактировать одну запись - туе надо отображать - кто первый , чтоб другие видели (это как пример).
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113482
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
ещё раз - субд более заточены для работы с большими объёмами данных, чем java.
СУБД не заточены на "большие объёмы данных". СУБД заточены на конкретное (под)множество операций над данными.вывод большого количества записей из субд - очень длительная и затратная операция... и это вполне пофигу, если вытаскиваемые записи обрабатываются "конвейерным способом".даже если надо дату привести к нужному формату - это можно сделать и запросе, да и числа также. и отдавать на отображение клиенту без допобработки в java.Крайне спорные утверждения.
Просто неверные для целого ряда сценариев.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113486
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
СУБД не заточены на "большие объёмы данных". СУБД заточены на конкретное (под)множество операций над данными.
ага в субд можно хранить только пару тысяч записей
Basil A. Sidorov
. и это вполне пофигу, если вытаскиваемые записи обрабатываются "конвейерным способом".
ага, просто коннект к базе висит пока вытягивается
Basil A. Sidorov
Крайне спорные утверждения.
нуда , в мировом масштабе
Basil A. Sidorov
Просто неверные для целого ряда сценариев.
ну дак надо иметь голову с мозгами , а не тыкву. что и когда использовать.

и опять в сторону от вопроса.....
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113508
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cassandra написана на Java. H2, hsql, и многое другое.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113530
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
и опять в сторону от вопроса.....
Ещё со времён разборок "за кодировки" было понятно, что воспринимать чужие аргументы у вас не получается.
С другой стороны, если вам указывать некое направление, то, возможно, вы сможете разобраться самостоятельно.
Правда, похоже, уже и это не работает, поскольку, вероятно, вы успели набрать некую "критическую массу" заблуждений и шор.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113560
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Cassandra написана на Java. H2, hsql, и многое другое.
и что?
ты уверен что там используются не нужные куски кода , как у ТС?
и все специ здесь смогут повторить такой уровень кода?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113562
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Ещё со времён разборок "за кодировки" было понятно, что воспринимать чужие аргументы у вас не получается.
С другой стороны, если вам указывать некое направление, то, возможно, вы сможете разобраться самостоятельно.
Правда, похоже, уже и это не работает, поскольку, вероятно, вы успели набрать некую "критическую массу" заблуждений и шор.
а может стоит посмотреть на себя и убрать эти шоры у себя?
если такие профи - что стоит ответить на вопрос профессионально.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113575
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
если такие профи - что стоит ответить на вопрос профессионально.
Например, вы непоследовательны в двух соседних предложениях:субд более заточены для работы с большими объёмами данных, чем java.
вывод большого количества записей из субд - очень длительная и затратная операция.Если "заточены для работы с большими объёмами данных", то почему, вдруг, "очень длительная и затратная операция"?
По логике - операция совершенно нормальная. А следовательно "длительность" и "затратность" операции - вполне соразмерны "количеству данных".
Где исходный посыл из которого будет следовать, что НЕ "заточены" и что несоразмерно "затратная"?
Откуда следует, что операция над набором данных "схлопнется" в результат небольшого размера и никогда не потребуется "вывод большого количества записей"?

Если вы всё ещё не видите проблем своей аргументации и выводов, то мне рановато снимать собственные шоры.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113617
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Если "заточены для работы с большими объёмами данных", то почему, вдруг, "очень длительная и затратная операция"?
По логике - операция совершенно нормальная. А следовательно "длительность" и "затратность" операции - вполне соразмерны "количеству данных".
проверь на практике.
обработка "большого количества" и вывод "большого количества" - две совершенно разные операции.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113639
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
обработка "большого количества" и вывод "большого количества" - две совершенно разные операции.
У вас опять проблема с логикой.
"Вывод большого количества" - одна из (возможных) операций "обработки большого количества".
Более того - бывают ситуации, когда обработка большого количества данных занимает существенно больше времени, чем вывод (большого) результата этой обработки. И это - именно из практики. Не в MySQL, но тоже в СУБД :)
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113760
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
mayton
Cassandra написана на Java. H2, hsql, и многое другое.
и что?
ты уверен что там используются не нужные куски кода , как у ТС?
и все специ здесь смогут повторить такой уровень кода?

Мы залезли в какие-то дебри. Давай оттуда вылезать. Мне вобщем-то все равно какой стиль кодирования
ты выбрал. Если ты один в команде - то пускай оно так будет. Это твой саппорт.

Но лучше конечно не развивать твою идею по крайней мере в форуме Java. Уже давно прошло время когда
разработчик инлайнил циклы и функции чтоб достигать каких-то эффектов.

Современный компиллятор уже умнее нас. И он еще и много-уровневый. Тот-же GraalVM например.

И наша задача - наприсать ПРОСТО сцуко корректный код. И запустить его в эксплуатацию.
Желание оптимизировать на спичках в Java - контр-продуктивно. Пускай профайлер и опытная
эксплуатация покажут где у нас узкое место.

Вот С++ ники до сих пор циклы оптимизируют. Такая у них проф-деформация... мдя.

А желание создавать свои DSL и бизнес-языки - это очень гуд. Но в твоих разработках все равно этого
не наблюдается.

P.S. Лапоть новый запустили весом свыше 5 тонн....
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113799
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
твои слова правильные, вот только непонятно что хорошего в стиле ТС.
он в одном файле создает объект, потом в файле jsp заполняет страницу из созданного объекта.
чем плох результсет как объект из которого можно заполнить страницу?
зачем лишние действия в различных местах, и тем более в разных файлах?

в одном месте - всё наглядно, компактно, разобраться легко и просто - код меньше экрана, для любого изменения страницы - открыть один файл и произвести все изменения в одном месте, вероятность , что забудешь поправить ещё где-то нулевая.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113800
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Современный компиллятор уже умнее нас. И он еще и много-уровневый. Тот-же GraalVM например.
да , но он не уберёт объект, он оптимизирует его выполнение. но заполнение этого объекта и извлечение из него останутся
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113802
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
"Вывод большого количества" - одна из (возможных) операций "обработки большого количества".
опять в кучу и люди и кони, большое количество - когда оно необходимо для отображения - да затраты на его вывод - оправданы, но когда выводим большое количество и дополнительно обрабатываем, что бы уменьшить для отображения, в то время как эту дополнительную обработку можно произвести в субд - это очень плохо. да и такие операции как форматирование даты, чисел - в java нужны специальные библиотеки, такое можно сделать в субд.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113806
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
mayton
Современный компиллятор уже умнее нас. И он еще и много-уровневый. Тот-же GraalVM например.
да , но он не уберёт объект, он оптимизирует его выполнение. но заполнение этого объекта и извлечение из него останутся

Ну а что тебя именно беспокоит в этом коде? Тоесть как ты его предлагаешь рефакторить
сохраняя при этом хотя-бы Single-Resp principle. Тоесть не затаскивать в JSP
все вместе.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113898
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
когда выводим большое количество и дополнительно обрабатываем, что бы уменьшить для отображения, в то время как эту дополнительную обработку можно произвести в субд - это очень плохо
... поэтому изготовители "отчётников" вообще д..ры и нифига не умеют в эффективный код.
Вообще никто не умеет в эффективный код. Только талантливые кустари одиночки, которые, в меру сил, пытаются нести свет своих знаний людям.

P.S.
Когда-то давно я оптимизировал загрузку DOS так, что свободными оставались 619-620 КБ основной памяти и максимум расширенной.
Ещё я умел освободить несколько сот дополнительных килобайт для Windows 3.x.
Потом прошло лет шесть и мне представился случай "тряхнуть стариной".
"Командор, я тебя сделал. Всё как ты учил" (ц) городской вестерн "Львиная доля".
Итоговый вывод: "Ну и тормоз же этот i80386".

Прошло ещё почти двадцать лет и вот уже "новые люди" тоже страдают такой же фигнёй. Но нет - не ностальжи.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113905
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
mayton,
твои слова правильные, вот только непонятно что хорошего в стиле ТС.
он в одном файле создает объект, потом в файле jsp заполняет страницу из созданного объекта.
чем плох результсет как объект из которого можно заполнить страницу?
зачем лишние действия в различных местах, и тем более в разных файлах?

в одном месте - всё наглядно, компактно, разобраться легко и просто - код меньше экрана, для любого изменения страницы - открыть один файл и произвести все изменения в одном месте, вероятность , что забудешь поправить ещё где-то нулевая.
тем что такого кода нет в боевых системах. Он там с БЛ)))
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113912
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А всмысле что он и бизнес-логику и DTO положил два в одном? Ну может быть.

Но Elegant Objects Бугаенко думают иначе...

А у меня немножко глаз замылился. Я почему-то видел учебный туториал в стиле public-static-void-main, где
всё идет одной простынёй. Прототип типа...
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113918
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Я к тому что аффтар класс передает. К нему можно метод прицепом. А вадин датасет нерасширяем
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113925
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ему надо расширять?
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113944
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Выше сказал. Не бывает систем без БЛ.
Отсюда вывод - датасет не подходит.
Причем тут автор топика)))))
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113950
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Я к тому что аффтар класс передает. К нему можно метод прицепом. А вадин датасет нерасширяем
городить сейчас, где, в конкретном случае, вероятность расширения равна 0
да у тс учебный пример, но научившись так - пойдет и в дальнейшем.
mayton
А ему надо расширять?
вот и я о том же.
и где тут бизнес-логика? отобразить данные юзеру.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113951
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Выше сказал. Не бывает систем без БЛ.
кто тебе это сказал?
ну ка расшифруй своё понимание термина "бизнес-логика"
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113957
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Выше сказал. Не бывает систем без БЛ.

Это очень философский вопрос. Типа яйца или курицы. Мы на нём так далеко уедем
что забудем с чего топик начинался. Любое приложение имеет инпут, процессинг
и аутпут. Вот такие категории я думаю есть всегда.

Бизнес логика.... ммм.. лукаво это всё. Очень лукаво.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113966
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
PetroNotC Sharp
Выше сказал. Не бывает систем без БЛ.
кто тебе это сказал?
ну ка расшифруй своё понимание термина "бизнес-логика"
ты первый за надцать лет кто не знает что это.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113978
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Какая философия?
Где вообще писать java код в вадиной модели?
Больше спорящих нет кроме него.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113988
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
ты первый за надцать лет кто не знает что это.
если б ты знал -написал бы
PetroNotC Sharp
Где вообще писать java код в вадиной модели?
о каком коде ты говоришь? код ради кода? зачем код, когда можно без него обойтись и всё будет работать, даже быстрее
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113989
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Больше спорящих нет кроме него.
я не спою, я пытаюсь от профи получить ответ, но какие-то странные профи - всё увиливают от ответа.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113994
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
Какая философия?
Где вообще писать java код в вадиной модели?
Больше спорящих нет кроме него.

Я про код с 1 поста говорю.

Вадя пускай пишет в сервлетах. Мы вроде уже его обсудили.

Данте Алигьери, когда описывал 9 кругов ада забыл просто упомянть что
есть 10 круг. Специально для тех кто сервлеты простынёй пишет...
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113997
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Ну дак
Бл не знал
Классы не писал
ООП прокладка.
Че говорить тогда.)))
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40113999
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что говорить? Умные объекты. Бугаенко рулит.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40114008
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Специально для тех кто сервлеты простынёй пишет...
не надо говорить о том чего не знаешь. с тех пор как появились ws - всё намного упростилось. ни о каких простынях речи нет. из "сервлетов" - только фильтр.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40114083
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
mayton
Специально для тех кто сервлеты простынёй пишет...
не надо говорить о том чего не знаешь. с тех пор как появились ws - всё намного упростилось. ни о каких простынях речи нет. из "сервлетов" - только фильтр.


ну наконец то, долго ждал когда вебсокеты в топик добавят. осталось ардуино дождаться.
...
Рейтинг: 0 / 0
Не отображаются данные из БД на сайте
    #40114165
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming
ну наконец то, долго ждал когда вебсокеты в топик добавят. осталось ардуино дождаться.
если нечего толкового сказать - помолчи
...
Рейтинг: 0 / 0
304 сообщений из 304, показаны все 13 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Не отображаются данные из БД на сайте
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]