• При запуске сервера через jar файл пишет ошибку, как исправить?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    В pom.xml добавьте
    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.0</version>
    </dependency>
    Ответ написан
    Комментировать
  • Как сделать такое приложение?

    profesor08
    @profesor08
    Ничего сложного. Сгенерируй какой-то граф (матрицу со связями), нарисуй его на канвасе, как угодно, хоть сеткой. Далее при движении мышки по канвасу, у тебя будут доступны ее координаты. Возми окружность радиусом 200 пикселей и проверяй, входят ли координаты точек в нее, если да, то на сколько близко они к центру, это и будет размер точки. Расстояние от одних координат до других = гипотенуза(x2 - x1, y2- y1)
    Ответ написан
    5 комментариев
  • Как исправить ошибку: "IllegalStateException: closed" при создании JSONObject?

    zagayevskiy
    @zagayevskiy Куратор тега Java
    Android developer at Yandex
    https://square.github.io/okhttp/3.x/okhttp/okhttp3...
    Читаем до просветления.
    The response body can be consumed only once.
    А ты делаешь это дважды.
    Ответ написан
    1 комментарий
  • Как сделать, чтобы колонка была по всё ширине?

    @zelan
    Кратко обо мне не получится.
    Одна колонка будет растягиваться на всю ширину.
    TableView table = new TableView<Object>();
    table.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
    
    TableColumn column = new TableColumn("asda");
    table.getColumns().add(column);


    Если добавите еще колонок, то по умолчанию они будут делить доступную ширину между собой. Количество занимаемой ширины зависит от значения максимальной ширины колонки. Если первая колонка на максимуме занимает 3000px, а вторая 6000px, то первая будет занимать 1/3, а вторая 2/3.

    В целом лучше поставь SceneBuilder и экспериментируй там. Все возможные настройки там есть, нагляднее будет.
    Ответ написан
    3 комментария
  • Как сделать, чтобы при перезапуске сервера postgreSQL не обнулялся??

    В application.properties нужно пррописать свойство
    spring.jpa.hibernate.ddl-auto=create
    Похоже по умолчанию стоит
    spring.jpa.hibernate.ddl-auto=create-drop
    Ответ написан
  • Как заработать школьнику на программировании?

    Будем честны друг с другом, не каждый опытный программер может реально зарабатывать фрилансом.
    На питоне заказов мало. В России фриланс это в 30% кидалово, в 50% мозгоебство на уровне профи.
    Тебе это надо? Чтобы за половину от реальной зарплаты джуна тебе все мозги выносили?

    Будь я сейчас в школе я бы занялся тремя вещами:
    1. Спорт
    2. Девушки
    3. Подготовка в нормальный вуз(берлинский технический например).

    От того что ты будешь зарабатывать 10 - 20 тысяч в твоей жизни ничего не изменится. Я думал что закончу универ, буду получать зп 20 и всё будет в шоколаде. Я получаю сейчас примерно в 2 раза больше моих хотелок. За год устал пропивать их, уже купил все ништяки что хотел. На что-то большее не хватит, квартиру и авто купить хорошую нужно или годами так же сидеть и себя ущемлять, либо получать зп в разы больше.

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

    Сорян если огорчаю.

    Но программирование и электроника это реально профессии будущего, которые даже в РФ будут нормально получать.

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

    Я вот в школе когда был напросился ходить в универ на интересные лекции . Учился потихоньку, сверстники смотрели как на сумашедшего=))))
    Ответ написан
    1 комментарий
  • Взаимодействие со всеми элементами у которых одинаковый id?

    Sanasol
    @Sanasol Куратор тега JavaScript
    нельзя просто так взять и загуглить ошибку
    не может быть id одинаковым.
    Ответ написан
    5 комментариев
  • Базовая подготовка для машинного обучения?

    sim3x
    @sim3x
    Найдите курс по ML, проходите и учите все что не знаете
    Ответ написан
    Комментировать
  • Как добавить в menu элемент item в android?

    @subway
    1.
    Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        menu.add(Menu.NONE, nav_share, Menu.NONE, "Share");
        super.onCreateOptionsMenu(menu, inflater);
    }

    Параметры которые нужно передать в метод add(int groupId, int itemId, int order, CharSequence title)
    2. ID динамически нельзя менять, можно удалить элемент меню и добавить новый с новым заголовком и ID. А просто текст можно обновить программно
    public class MyFragment extends Fragment {
      private Menu menu;
      @Override
      public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
         this.menu = menu;
         super.onCreateOptionsMenu(menu, inflater);
      }
    
      private void updateTitle () {
         MenuItem shareItem = menu.findItem(R.id.share);
         shareItem.setTitle("Поделиться");
      }
    }

    Также можно попробовать onPrepareOptionsMenu() который вызывается каждый раз когда открываете меню.
    Ответ написан
    6 комментариев
  • Можно ли ещё оптимизировать текстовое задание??

    longclaps
    @longclaps
    Джавист из меня никакой, решил попрактиковаться.
    Вот тебе java-реализация на HashMap, переписанная с питонной:
    import java.io.*;
    import java.util.*;
    
    class CountedWord {
        int c;
        String w;
    
        public CountedWord(String s) {
            String[] l = s.split(" ", 2);
            this.c = Integer.parseInt(l[1]);
            this.w = l[0];
        }
    }
    
    public class Main {
        public static int TEN = 10;
    
        public static void main(String[] args) throws Exception {
            long start = System.nanoTime();
            HashMap<String, CountedWord[]> prefixMap = new HashMap<>();
            BufferedReader data = new BufferedReader(new FileReader("test.in"), 0x10000);
            for (int i = Integer.parseInt(data.readLine()); i > 0; i--) {
                CountedWord cw = new CountedWord(data.readLine());
                String prefix = cw.w;
                for (int le = prefix.length() - 1; le >= 0; le--) {
                    CountedWord[] buf = prefixMap.get(prefix);
                    if (buf == null) {
                        buf = new CountedWord[TEN];
                        buf[0] = cw;
                        prefixMap.put(prefix, buf);
                    } else { // это даже не сортировка вставкой, а просто вставка
                        int j = TEN - 1;
                        if (buf[j] != null && cw.c <= buf[j].c)
                            break; // уже на этом префиксе cw.c оказался меньше всех
                        while (buf[--j] == null) ;
                        j++;
                        while (j-- > 0 && buf[j].c < cw.c) buf[j + 1] = buf[j];
                        buf[j + 1] = cw;
                    }
                    prefix = prefix.substring(0, le);
                }
            }
    
            for (int i = Integer.parseInt(data.readLine()); i > 0; i--) {
                String prefix = data.readLine();
                System.out.println(String.format("     ~ %s", prefix));
                CountedWord[] buf = prefixMap.get(prefix);
                if (buf == null) continue;
                for (int j = 0; j < TEN; j++) {
                    CountedWord cw = buf[j];
                    if (cw == null) break;
                    System.out.println(String.format("%6d %s", cw.c, cw.w));
                }
            }
            System.out.println(String.format(
                    "\nit takes %.3f sec", 1e-9 * (System.nanoTime() - start)));
        }
    }
    Ответ написан
    2 комментария
  • Какую сортировку применять?

    longclaps
    @longclaps
    Кто ж знает, что ты там нарешал. По идее, нужно было бы по набору слов построить префиксное дерево, в каждом узле которого - однобуквенный префикс (в корне префикс не нужен), количество начинающихся с него и его родителей слов и ссылки (не более 26 - по числу букв алфавита) на дочерние узлы.
    При вызовах нужно выбрать ветвь перфикса и отсортировать её дочерние узлы. Для столь коротких массивов актуальна сортировка вставкой (да-да), но если хочешь попонтоваться - выбери что-то еще.
    Ответ написан
  • Как сравнивать картинки??

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Если вопрос стоит в нахождении нескольких отличии между двум полностью идентичными картинками, то библиотеки не нужны
    import java.io.File;
    import java.awt.Color;
    import java.awt.image.BufferedImage;
    import javax.imageio.ImageIO;
    
    public class ImageSimilarity {
        public static BufferedImage getDifferenceImage(BufferedImage img1, BufferedImage img2) {
            final int w = img1.getWidth(),
                      h = img1.getHeight(), 
                      highlight = Color.MAGENTA.getRGB();
            final int[] p1 = img1.getRGB(0, 0, w, h, null, 0, w);
            final int[] p2 = img2.getRGB(0, 0, w, h, null, 0, w);
    
            for (int i = 0; i < p1.length; i++) {
                if (p1[i] != p2[i]) {
                    p1[i] = highlight;
                }
            }
    
            final BufferedImage out = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
            out.setRGB(0, 0, w, h, p1, 0, w);
            return out;
        }
    
        public static void main(String[] args) throws Exception {
            ImageIO.write(
                getDifferenceImage(
                    ImageIO.read(new File("img1.png")),
                    ImageIO.read(new File("img2.png"))),
                "png",
                new File("diff.png"));    
        }
    }


    Библиотеки нужны для более сложных задач, типа нахождения разницы между двумя фотографиями одного места, сделанными в разное время. Приведённый выше код тупо зальёт итоговое изображение пурпурным туманом. Для таких случаем уже нужны библиотеки типа OpenCV или OpenIMAJ.
    Ответ написан
    21 комментарий
  • В каких местах ставить исключение??

    AxianLTD
    @AxianLTD
    Это вопрос проектирования архитектуры приложения и поэтому религиозный вопрос. Задайте вопрос себе - кому и как вы будете отдавать сообщения об ошибках и как их обрабатывать (продолжать, перезапускать, уничтожать что-то т.п., на что влияет данная ошибка)? В зависимости от этого будете выбирать место для throw и catch.
    Ответ написан
    4 комментария
  • Можно сделать чтение со страницы в несколько потоков??

    xez
    @xez Куратор тега Java
    TL Junior Roo
    "можно ли сделать чтение со страницы в несколько потоков?" - на счет этого стоит подумать еще до написания кода.
    Предположим у вас есть книга, и вы решили ее читать одновременно какой-то компанией. Как бы вы это организовали?
    Первое, что приходит в голову - найти ответственного "диспетчера", который будет выдавать порции страниц каждому участнику.
    Но что, если книга не разделена на страницы? Как ее делить тогда? Получается, нужно чтобы вначале ее кто-то прочитал, потом поделил, потом уже раздал части. Но зачем тогда читать уже прочитанную книгу (если, конечно, цель только в самом факте чтения)?
    Ответ написан
    5 комментариев
  • Как закрыть соединение в mongodb??

    jaxtr
    @jaxtr
    JavaEE/Spring-разработчик
    Как вариант - использовать для работы Spring Data MongoDB. Эта библиотека предоставляет пул соединений и контролирует открытые соединения.
    Ответ написан
    1 комментарий
  • Как исправить чтение страницы??

    @sirs
    Попробуйте использовать это

    final String answer = StringEscapeUtils.unescapeJava(inputText);
    Ответ написан
    Комментировать
  • Как загрузить страницу http?

    @hoarywolf
    Смотреть какой ajax вызывается при прокрутке страницы и вызывать его самостоятельно.
    Ответ написан
    Комментировать