Проблема в том что, Из-за больших обращений в сторонний API, программа работает слишком долго(5-7 минут) при запуске на прод получаю 504 Gate away.
Flux<>
При каждом итерации цикла используя WebClient стучится с параметром в сторонний API с БД и получает некие данные обратно.
public String translate(String en) {
for (Map.Entry<String, String> d : dictionary.entrySet())
System.out.print(d.getValue() + " ");
return en;
}
Add a new method translate(String en) which take some string in English, and returns
its translation in Russian as the value of the type String.
public MyTranslator(HashMap<String, String> dictionary) {
this.dictionary = dictionary;
}
как правильно нужно написать метод транслейт, что бы он находил в словаре нужно слово, обьеденял с другими и выводил в консоле, как указано в задании?
public String translate(String en) {
return this.dictionary.get(en);
}
Add code to read string from console and pass it into translate method. Print result to
console.
Scanner, System.in
@GetMapping("/json")
public String getJSON2() {
return "{ \"id\": 10, \"name\": \"Clementina DuBuque\", \"username\": \"Moriah.Stanton\","
+ " \"email\": \"Rey.Padberg@karina.biz\", "
+ "\"address\": { \"street\": \"Kattie Turnpike\", "
+ "\"suite\": \"Suite 198\", \"city\": \"Lebsackbury\", "
+ "\"zipcode\": \"31428-2261\", \"geo\": { \"lat\": "
+ "\"-38.2386\", \"lng\": \"57.2232\" } }";
}
data: { command: "GetDriverInfo" },
, а главное зачем и как она должна быть обработана контроллером.console.log(response.driverVer);
, если такого параметра driveVer у вас нет в json. @Embeddable & @Embedded
<dependency>
<groupId>com.vladmihalcea</groupId>
<artifactId>hibernate-types-52</artifactId>
<version>2.2.2</version>
</dependency>
@Type(type = "jsonb")
@Column(columnDefinition = "jsonb")
private List<Child> children;
findAllByDateEventBetween(@Param("end_date") LocalDate date, @Param("end_time") LocalTime time);
@SpringBootApplication
@EnableJpaAuditing
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
@Entity
@EntityListeners(AuditingEntityListener.class)
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private Long id;
@CreatedDate
@Column(updatable = false)
private LocalDateTime created;
@LastModifiedDate
private LocalDateTime lastModified;
}
Могу ли я прямо обратиться к репозиторию Entity A из Service B?
Или мне надо это делать вот так Service B -> Service A -> Repository A?
Optional<T>
из репозитория и в случае, если объект не найден, то на сервисном уровне выбрасываете исключение orElseThrow()
. Ну а далее ExceptionHandler ловит исключение и отдает соответствующий код ошибки и сообщение на фронт.ServiceA {
@Autowired
RepoB repoB;
@Autowired
ServiceB serviceB;
// 1 вариант
List<Job> doSomeJob1(String email){
User user = repoB.findUserByEmail(email).orElseThrow(UserNotFoundException::new);
return user.getJobs();
}
// 2 вариант
List<Job> doSomeJob2(String email) {
User user = serviceB.getUserByEmail(email);
return user.getJobs();
}
RepoB {
Optional<User> findUserByEmail(String email);
}
ServiceB {
@Autowired
RepoB repoB;
User getUserByEmail(String email){
return repoB.findUserByEmail(email).orElseThrow(UserNotFoundException::new);
}
}
Проблема в том, что у меня все сервисы DTOшки, а для работы Service B нужны нормальные объекты, что делать в таком случае? Неужели создавать отдельные точно такие же методы просто без конверта в дто?
+----------+------------+----------+
| order_id | product_id | quantity |
+----------+------------+----------+
| 1 | 2 | 10 |
| 2 | 3 | 11 |
+----------+------------+----------+
Product {
long productId;
}
Order {
long orderId;
}
OrderData {
Order order;
Product product;
int quantity;
}
Product {
long productId;
}
Order {
@MapKeyColumn(name = "product_id")
@Column(name = "quantity")
Map<Long, Integer>
}
Условно есть страница с кнопкой и полем, я нажимаю на кнопку и выводится скажем "Hello World".
Ставить это приложение на сервер или что-то подобное естественно не планирую, все будет запускаться локально.
Что для этого нужно? Какие классы/библиотеки/фреймворки для этого нужно использовать?
я могу написать приложение на джава, могу сверстать страницу, а как это "присоединить" не понимаю
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
// Создаем фильмы
Cinema cinema1 = new Cinema("Титаник", 2194);
Cinema cinema2 = new Cinema("Аватар", 2810);
Cinema cinema3 = new Cinema("Тёмный рыцарь", 1084);
Cinema[] cinemas = new Cinema[]{cinema1, cinema2, cinema3};
// Находим фильм с большим доходом
String cinemaTitle = findHighestGrossingFilm(cinemas);
System.out.println(cinemaTitle);
}
/**
* Метод находит фильм с большим доходом
* @param cinemas массив фильмов для сравнения
* @return название фильма с большим доходом
*/
public static String findHighestGrossingFilm(Cinema ... cinemas) {
Cinema cinemaWithMaxIncome = Arrays.stream(cinemas).max(Cinema::compareTo).get();
return cinemaWithMaxIncome.name;
}
}
class Cinema implements Comparable<Cinema> {
String name;
int income;
public Cinema(String name, int income) {
this.name = name;
this.income = income;
}
// Имплементируем интерфейс Comparable и сравниваем income объектов
@Override
public int compareTo(Cinema c) {
return Integer.compare(this.income, c.income);
}
}
Я мечтаю стать Java Senior разработчиком , писать приложения под андроид и т.д
Можно ли стать Senior разработчиком буквально за пол года - год такого обучения ?