powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Тяпничный список инжекторных движков
25 сообщений из 130, страница 2 из 6
Тяпничный список инжекторных движков
    #40058104
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolchanov,

>аннотоации занимали целый экран.
Разве они секретны? Был бы интересен пример абстрактный.
На посмотреть.
...
Рейтинг: 0 / 0
Тяпничный список инжекторных движков
    #40058167
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolchanov
>Может у вас там где-то явный косяк в инфраструктуре/архитектуре

Проблема в самом слабом звене - людях.
Spring boot очень мощный и вариабельный, и позволяет декларативно для run-time стадии описыывать кучу вещей.
Я 100% уверен, что хороший программист, который понимает что стоит за каждой аннотацией, и как она влияет на производительность сможет написать на spring boot сервис, который будет стартовать приемлемо быстро.

Но в "кровавом enterprise", где тысяи разработчиков всегда приходит ОН, разработчик уровня:

>разрабам и так хватает жести с докером и кубернетис ,всеми этими облачными деплоями и тд

Я видел реальный spring-boot код (не могу его показать по юридическим причинам), в котором только в одном Configuraton классе аннотоации занимали целый экран.
- Никто не понимает как это работает
- Никто не может быстро туда внести изменения

Есть известная фраза - хороший фреймворк позволяет легко делать правильные вещи, и тяжело неправильные.
Когда я только узнал о существовании spring (не помню, был это уже 1.0 или нет), он позиционировался как non-intrusive фреймворк. В коде приложения не должно быть упомнинания spring, только внешний DI. И это было очень круто.

Сейчас spring-boot из-за большого количества фич и возможностей просто провоцирует писать приложения, которые стартуют 1-2 минуты, и бороться с этим очень сложно.
Проще выбрать другой фреймворк, в котором тяжелее писать неправильные вещи, или даже другой язык, где не может быть spring из-за особенностей языка.

Наш опыт на наших реальных микросервисах, а не на "сферическом коне в вакууме", показывает улучшение время старта в 10-30 раз на quarkus.
На другой исходной кодовой базе с другими программистами эта пропорция будет другой.


ну вот кварка и появился на этой теме. типа спринг жирный на те вам на микропрофайле новый будущий спринг. юзайте пока холестерином не покрылся. ))
...
Рейтинг: 0 / 0
Тяпничный список инжекторных движков
    #40058171
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нда. А прошло то от поклонов спрингу и микроХХХ, пара тройка лет.
...
Рейтинг: 0 / 0
Тяпничный список инжекторных движков
    #40058192
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А сколькой фреймворков было похоронено? А кто вообще помнит JSF?

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

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

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

Ты как всегда... Принёс в топик свой гнев и горе.

Что у тебя там за жесть с докером?

да я тут решил немного разобораться с докером и кубернетис
вообщем что сейчас нужно - есть простое спринг бут приложение с бд постгрес
нужно чтобы все это дело крутилось в докер контейнере
с помощью докер файла я сделал образ приложения
а вот что дальше - смотрю по гайдам не очень получается
делаю как тут 1 в 1
https://medium.com/@isurunuwanthilaka/docker-zero-to-hero-with-springboot-postgres-e0b8c3a4dccb
и после запуска docker-compose up получаю ошибку

ERROR: for postgres Cannot create container for service postgres: Conflict. The container name "/postgres" is already in use by container "97107d0e2c1735bc1d77ac7e79349c1cbb5e8e07de736db60767839882e165da". You have to remove (or rename) that container to be able to reuse that name.
...
Рейтинг: 0 / 0
Тяпничный список инжекторных движков
    #40058304
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
После того как ты поработал с контейнером - его надо остановить.

Код: java
1.
docker container stop ...



И после этого запускать новый и опционально указывать имя.

Код: java
1.
..... --name .....
...
Рейтинг: 0 / 0
Тяпничный список инжекторных движков
    #40058306
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
А сколькой фреймворков было похоронено? А кто вообще помнит JSF?

Ну я помню.

На JSF базируется ADF, т.ч. долгая (и нудная) жизнь ADF-JSF'у гарантированна ))) Десятки компаний из Fortune-500 не могут ошибаться )))
...
Рейтинг: 0 / 0
Тяпничный список инжекторных движков
    #40058307
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
После того как ты поработал с контейнером - его надо остановить.

Код: java
1.
docker container stop ...



И после этого запускать новый и опционально указывать имя.

Код: java
1.
..... --name .....


я все делал как там написано -создал конейнер с постгрес- создал там бд
и получаю эту ошибку
...
Рейтинг: 0 / 0
Тяпничный список инжекторных движков
    #40058308
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
Мастер ты из топика про СПИСОК балаган превращать.
В любую тему: "я тут картошку выращиваю....
...
Рейтинг: 0 / 0
Тяпничный список инжекторных движков
    #40058310
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp, не переживай так. Я же сам его спросил.
...
Рейтинг: 0 / 0
Тяпничный список инжекторных движков
    #40058311
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
mayton
После того как ты поработал с контейнером - его надо остановить.

Код: java
1.
docker container stop ...



И после этого запускать новый и опционально указывать имя.

Код: java
1.
..... --name .....


я все делал как там написано -создал конейнер с постгрес- создал там бд
и получаю эту ошибку

Так дай ему новое имя. Или имя-счетчик.
...
Рейтинг: 0 / 0
Тяпничный список инжекторных движков
    #40058314
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
asv79
пропущено...

я все делал как там написано -создал конейнер с постгрес- создал там бд
и получаю эту ошибку

Так дай ему новое имя. Или имя-счетчик.

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

Код: 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.
version: "3"
services:
  postgres:
    image: postgres:latest
    network_mode: bridge
    container_name: postgres
    volumes:
      - postgres-data:/var/lib/postgresql/data
    expose:
    - 5432
    ports:
      - 5432:5432
    environment:
         - POSTGRES_PASSWORD=admin
         - POSTGRES_USER=postgres
         - POSTGRES_DB=testdb
    restart: unless-stopped
# APP*****************************************
  springbootapp:
    image: springbootapp:latest
    network_mode: bridge
    container_name: springbootapp
    expose:
      - 8080
    ports:
      - 8080:8080
    restart: unless-stopped
    depends_on:
      - postgres
    links:
      - postgres
volumes:
  postgres-data:
...
Рейтинг: 0 / 0
Тяпничный список инжекторных движков
    #40058317
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для компоуза насколько я помню имя не надо. Указывается репозитарий и тег. Для последнего постгреса
это будет "postgres:latest". И для твоего несчастного приложения "springbootapp:latest"

И компоуз поднимается не через docker start а как-то по другому не помню щас как.
...
Рейтинг: 0 / 0
Тяпничный список инжекторных движков
    #40058318
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Для компоуза насколько я помню имя не надо. Указывается репозитарий и тег. Для последнего постгреса
это будет "postgres:latest". И для твоего несчастного приложения "springbootapp:latest"

И компоуз поднимается не через docker start а как-то по другому не помню щас как.

как это не надо - а кто базу то создат?
https://medium.com/@isurunuwanthilaka/docker-zero-to-hero-with-springboot-postgres-e0b8c3a4dccb

вот делаю все по шагам 1 в 1
...
Рейтинг: 0 / 0
Тяпничный список инжекторных движков
    #40058319
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton


И компоуз поднимается не через docker start а как-то по другому не помню щас как.

docker-compose up
но не понятно при чем тут вообще это
...
Рейтинг: 0 / 0
Тяпничный список инжекторных движков
    #40058321
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Компоуз поднимает сразу пачку докеров. Причем с определенной логикой зависимостей.

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

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

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

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


Код: java
1.
2.
3.
4.
5.
sudo -u postgres bash
psql

CREATE USER axon WITH PASSWORD 'pwd123';
CREATE TABLESPACE axon_space OWNER axon LOCATION '/bigdata/pg/axon';



дальше - под подльзователем БД.


Код: java
1.
CREATE DATABASE axondb OWNER axon TABLESPACE axon_space; 
...
Рейтинг: 0 / 0
Тяпничный список инжекторных движков
    #40058347
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
В постгресе база создается командой от суперпользователя postgres:


Код: java
1.
2.
3.
4.
5.
sudo -u postgres bash
psql

CREATE USER axon WITH PASSWORD 'pwd123';
CREATE TABLESPACE axon_space OWNER axon LOCATION '/bigdata/pg/axon';



дальше - под подльзователем БД.


Код: java
1.
CREATE DATABASE axondb OWNER axon TABLESPACE axon_space; 


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

вот эти скрипты на создание юзера и самой бд - куда и когда их прописать?
...
Рейтинг: 0 / 0
Тяпничный список инжекторных движков
    #40058348
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть две стратегии куда складывать твою базу. В файловую систему докера. Или во внешнюю ФС.

Куда ты хочешь?
...
Рейтинг: 0 / 0
Тяпничный список инжекторных движков
    #40058350
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Есть две стратегии куда складывать твою базу. В файловую систему докера. Или во внешнюю ФС.

Куда ты хочешь?

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

https://stackoverflow.com/questions/26598738/how-to-create-user-database-in-script-for-docker-postgres

Но докер-файловая система не очень быстрая. Могут быть performance issues.
...
Рейтинг: 0 / 0
Тяпничный список инжекторных движков
    #40058355
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Попробуй вот эту инструкцию.

https://stackoverflow.com/questions/26598738/how-to-create-user-database-in-script-for-docker-postgres

Но докер-файловая система не очень быстрая. Могут быть performance issues.

никуа не получается- пишут что надо инит файл
я сделал как там - ошибка нет такой базы при запуске докер композ

сама ошибка
Код: java
1.
2.
3.
4.
5.
Unable to obtain connection from database: FATAL: database "testdb" does not exist
backend-1_1  | ----------------------------------------------------------------------------------
backend-1_1  | SQL State  : 3D000
backend-1_1  | Error Code : 0
backend-1_1  | Message    : FATAL: database "testdb" does not exist



сам файл init.sql
Код: java
1.
2.
3.
4.
admin@testdev:~/test$ cat init.sql
CREATE USER postgres WITH PASSWORD 'postgres';
CREATE DATABASE testdb;
GRANT ALL PRIVILEGES ON DATABASE testdb TO postgres;



а это кусок докер -композа
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
services:
  postgres:
    image: postgres:13-alpine
    restart: unless-stopped
    networks:
      - test-net
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_DB=testdb
    volumes:
      - database-data:/var/lib/postgresql/data/
      - ./init.sql:/docker-entrypoint-initdb.d/init.sql
    ports:
      - "5432:5432"
...
Рейтинг: 0 / 0
25 сообщений из 130, страница 2 из 6
Форумы / Java [игнор отключен] [закрыт для гостей] / Тяпничный список инжекторных движков
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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