• Как выбрать значение по наибольшему ключу из объекта json?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Традиционный ответ: Не хранить в JSON данные, которые для этого не предназначены.
    А хранить их нормально - в предназначенной для этого связанной таблице.
    Ответ написан
    Комментировать
  • В чем разница между str и &str?

    vabka
    @vabka Куратор тега Rust
    В принципе тут уже есть хорошие ответы, но я перефразирую, чтобы было чуть понятнее другим.

    str - это встроенный тип, который представляет из себя последовательность из байтов utf8.
    Размер значения str не известен во время компиляции, а по тому нигде его нельзя применить в чистом виде (только как содержимое какого-нибудь типа-указателя)
    Можно провести аналогию с массивом (только в случае массивов размер таки известен, но его тоже достаточно редко используют в таком чистом виде)

    &str - это ссылка на эту последовательность байт.
    Это может быть ссылка на содержимое String или ссылка на строковый литерал (&'static str)

    Кстати, String под капотом - это Vec<u8>
    Ответ написан
    Комментировать
  • Аналог use(express node.js) для проброса на контроллеры в spring?

    @twolegs
    Насколько я понимаю, аналогом экспрессовких мидлвар в спринге будут интерсепторы:
    https://docs.spring.io/spring-framework/docs/curre...
    Ответ написан
    Комментировать
  • Java или Php библиотека для генерации Excel-формы договоров по шаблону?

    @LuchS-lynx
    инженер-ПТО
    Осуществима ли впринципе генерация чего-то подобного уже готовыми API для работы с Excel/Word?

    Могу порекомендовать свою программку, распространяемую бесплатно, на макросах VBA

    Программа №2 - "Автоматизированное заполнение документации" для заполнения Ваших шаблонов и документов.
    https://vk.com/wall-157151692_129
    Начиная с версии 0.3.1 эта программа является, по совместительству, инструментом создания расширений для программы "Строительство и Автоматизация ИД.
    Видео-инструкция для работы с этой программой:
    https://www.youtube.com/watch?v=6V9QPaEwalA


    Ссылки на Хабр:
    https://m.habr.com/ru/post/344956/
    https://habr.com/ru/post/359218/
    Ответ написан
    Комментировать
  • Как заменить java 11 на java 8 в debian?

    @sand3001
    Всего по немногу
    sudo update-alternatives --config java
    Ответ написан
    Комментировать
  • Hibernate, как инициализировать вычисляемое поле в Entity?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Хочу добавить в этот класс поле, которого нет в базе

    Подозреваю, что вам нужно сделать следующее:
    1) создать поле с аннотацией @Transient
    Например,
    @Transient
    private long calc;

    https://stackoverflow.com/questions/2154622/why-do...
    Таким образом это поле не будет хранится в БД.

    ...которое вычисляется на основе других полей.

    2) К этому полю добавить аннотацию @Formula
    https://thorben-janssen.com/hibernate-tips-calcula...

    Прочитайте вот, эту статью - https://vladmihalcea.com/how-to-map-calculated-pro...

    Другой вариант выполнить пункт 1. Но вместо использования аннотации @Formula создать метод с аннотацией @PostConstruct и затем уже инициализировать ваше поле с нужным значением
    Ответ написан
    1 комментарий
  • Можно ли тестировать при помощи Python приложение, написанное на Java?

    @beem7
    Можно. Так делают. Еще и пытаются утверждать, что питон для тестов подходит лучше, так как якобы на нем писать быстрее и проще. Но на деле питон - это лишняя сущность в проекте и я бы за такое змею в кровать подкладывал, любителям развести зоопарк технологий.
    Ответ написан
    Комментировать
  • Зачем нужны интерфейсы при реализации внедрения зависимостей?

    sanya_misharin
    @sanya_misharin
    Это делается для того чтобы твой класс в который ты внедряешь зависимость, он не был привязан к реализации
    Например у тебя есть класс, который хочет что то кешировать, ты в него внедряешь кеш интерфейс, но от того какой ты будешь использовать кеш класс не зависит, это все должно делаться в настройках, сегодня ты кешируешь в файл, завтра в редис и так далее

    Это все называется полиморфизмом
    Ответ написан
    Комментировать
  • Какой курс java выбрать?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Курсы не нужны. Либо вы за тот же год можете самостоятельно "вкатиться" по книгам, либо ИТ просто не для вас.
    Ответ написан
    Комментировать
  • Выбивает ошибку в классах Java, что изменить или почитать на будущее?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Прочитайте любую книгу по Java.
    Можете начать с Г. Шилдт - Руководство по Java для начинающих.
    А насчет ошибки:
    у вас в одном java файле (Main.java) содержится 2 public класса
    public class Main{} 
    public class BANKACCOUT{}

    Также обратите внимание на Java naming convention. Вместо названия класса BANKACCOUT должно быть BankAccount
    Ответ написан
    Комментировать
  • Почему конструктор в классе-оболочке не рекомендуется использовать с JDK9?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Современные архитектурные принципы отдают предпочтения фабричным методам. Правила хорошего тона требуют, чтобы конструктор не занимался ни чем, кроме инициализации полей. Фабричный метод же может делать очень много дополнительных операций, вроде интернирования. Фабричный метод может осуществлять операции на уровне экземпляров, например возвращать синглтон. Фабричный метод может возвращать не только экземпляр класса, но и его подтипы. Фабричные методы могут иметь говорящие имена. И т.д. и т.п.
    Ответ написан
    Комментировать
  • Можно программировать на Kotlin без java?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Можно. Разрешаю
    Ответ написан
    3 комментария
  • Каким образом лучше создать администратора в Spring Boot проекте?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Приветствую, коллега!
    Да, Spring посложнее, чем Django. Но раз тебе удобно писать именно на нем, то конечно же стоит писать backend на нем.
    И да, если уж делать проект по-хорошему, то тебе нужен Spring Security. Тебе нужно создать роль ADMIN.
    Так как проект простой, то можешь использовать In-Memory Auth.
    Так как ты пишешь REST, то скорее всего тебе нужно будет реализовать jwt auth.
    Чтобы по умолчанию при старте приложения создать пользователя, можешь имплементировать интерфейс CommandLineRunner и в методе run() создать юзеров и сохранить в БД.

    P.S. БД необязательно.
    Ответ написан
    Комментировать
  • Как вывести строку в нужном формате?

    Вам нужно вернуть str, или как выше уже писали repeat.toString(); чтобы не создавать новую строку в методе.
    Ответ написан
    Комментировать
  • Как вывести строку в нужном формате?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    У вас проблема в методе repeatChar()

    Если сам алгоритм реализован правильно, то вам нужно просто вернуть строку
    public static String repeatChar (String s) {
        StringBuilder repeat = new StringBuilder();
        for(int i = 0; i < s.length(); i++){
            for(int j = -1; j < s.indexOf(s.charAt(i)); j++){
                repeat.append(s.charAt(i));
            }
        }
        return repeat.toString();
    }


    А то получается. что вы принимаете аргумент s и возвращаете тот же аргумент, вместо StringBuilder repeat
    Ответ написан
    Комментировать
  • Как использовать мои ArrayList в другом Java классе?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Вам стоит почитать про поля класса и их геттеры/сеттеры, конструкторы класса, инициализацию полей класса, их видимость. ( Например здесь - developer.alexanderklimov.ru/android/java/class.php или https://metanit.com/java/tutorial/3.1.php )
    Например можно переделать ваш класс так (это очень на скорую руку, так чтобы было понятней).

    package com.antek.memgen.gui;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    public class Objects {
    
    	public static class ItemsNames {
    
    		private Map<String, List<String>> laptops = new HashMap<>();
    		private Map<String, List<String>> phones = new HashMap<>();
    
    		public ItemsNames() {
    			List<String> dell = new ArrayList<>();
    			List<String> hp = new ArrayList<>();
    			List<String> apple_comps = new ArrayList<>();
    
    			List<String> nokia = new ArrayList<>();
    			List<String> xiaomi = new ArrayList<>();
    			List<String> apple_phones = new ArrayList<>();
    
    			// initialize computers
    			dell.add(0, "DELL Inspiron");
    			dell.add(1, "DELL Latitude");
    			hp.add(0, "HP Pavilion");
    			hp.add(1, "HP_Omen");
    			apple_comps.add(0, "McBook Air 11");
    			apple_comps.add(1, "McBook Air 13");
    
    			// initialize phones
    
    			nokia.add(0, "Nokia 3310");
    			nokia.add(0, "Nokia 5.1");
    			xiaomi.add(0, "Xiaomi redmi note 3 pro");
    			xiaomi.add(1, "Xiaomi Mi 9T Pro");
    			apple_phones.add(0, "Iphone 8S");
    			apple_phones.add(0, "Iphone 11 Pro");
    
    			laptops.put("dell", dell);
    			laptops.put("hp", hp);
    			laptops.put("apple", apple_comps);
    
    			phones.put("nokia", nokia);
    			phones.put("xiaomi", xiaomi);
    			phones.put("apple", apple_phones);
    		}
    
    		public List<String> laptopNames(String brand) {
    			return laptops.get(brand);
    		}
    
    		public List<String> smartPhonesNames(String brand) {
    			return phones.get(brand);
    		}
    
    	}
    
    	public static void main(String[] args) {
    
    		// Simple tests
    
    		ItemsNames items = new ItemsNames();
    
    		items.laptopNames("apple").forEach(System.out::println);
    
    		items.smartPhonesNames("apple").forEach(System.out::println);
    
    	}
    
    }
    Ответ написан
    2 комментария