• Как правильно разносить код в JavaFX+FXML с моделью MVC?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    domanskiy, пытайтесь и осваивайте, только перед этим почитайте книгу, статью о MVC, что это, зачем, как и где применяется, как используется в java и в javafx в частности. Скажу даже по другому, MVC это обобщенный принцип, а вот его реализаций в подходе уйма.
    Сам вопрос противоречит вообще всему.

    Если утрировать то примерно так образно будет выглядеть один из вариантов MVC в javafx:
    К примеру программа которая должна читать\сохранять файл, и выводить содержимое в таблицу на форме.
    M (Model) - скажем будет DataModel.class. В нем 3 функции loadData(), saveData() и getData(). Реализует полностью логику работы Как читать\писать файл. Как переварить данные, сложить\умножить\...
    V (View) - это непосредственно то как что то будет отображено на форме, т.е. это сам FXML файл или класс описывающий интерфейс, где какая кнопка, как она выглядит. Предоставляет ListView и пару кнопок для обращения к себе. Абсолютно ничего не знает откуда и как берутся данные для отображения(т.е. совсем).
    С (Controller) - к примеру DataController.class. Этот класс знает только что предоставил View (опять же просто знает что там есть UI который сам нарисует) и пару кнопок, опять же не знает как они выглядят, где они находятся. Также знает где взять данные (из DataModel) но абсолютно не знает как она их получает. По итогу, тут идет стык Представления и Данных. Просто берет из DataModel методом getData() данные и передает их в View в listView. Берет событие кнопки load и вызывает в DataModel метод loadData(). При этом еще раз, контроллер понятия не имеет, где там кнопка на форме, как добываются данные, ему это до фени.
    Как итог каждая часть не зависит от другой. Надо чтобы вместо получения данных из файла они брались из БД или телепатией? Не вопрос, просто переделай DataModel.class , все остальные части программы даже не поймут что что то изменилось. Надо вместо JavaFX отдать данные в виде вэб странички? Пожалуйста меняй View и опять же ничего другого переделывать не надо.

    А теперь возвращаемся к началу, бегом читать литературу.

    А и еще на за метку, любые длительные работы надо выполнять в фоне и дозаполнять ими форму. Если же данные влияют на отображение то для этого существуют прелоадеры (вот запускаешь ты свою IDE и видишь сначала квадратик с картинкой и прогресбаром и только следом отображается окно программы).
    Ответ написан
    1 комментарий
  • Роутер+ внешний HDD + qBittorrent + Samba закачка торрентов на Ubuntu?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Вы монтируете диск через nautilius, он в свою очередь через gvfs, точка монтирования у него гдето типа /run/user/username/gvfs или в похожем месте, давно не пользовался и не помню точно где еще может быть.
    Либо тыкайте носом qBittorrent в это место, но предварительно не забудьте через nautilius смонтировать диск.
    Либо более правильный вариант смонтируйте самба шару через fstab в фиксированное место, ну как пример /samba/myshare4torrent.
    Ну и как сказали выше в qBittorrent пропишите путь по умолчанию в это место.
    Отдельно добавлю что для шары в линуксах лучше использовать NFS, он быстрее будет, нативный и проще в настройках и управлении. Windows кстати тоже умеет к NFS шарам подключаться но скорости\нагрузки не мерил.
    Ответ написан
    1 комментарий
  • Где взять полные либы Телеграм бота для Java?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Сделай проект на мавене, все зависимые либы подтянутся.
    Ответ написан
    Комментировать
  • Как вы выбираете совместимые с linux серверные материнские платы?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Как правило linux заработает где угодно впринципе.
    Стоит обращать внимание на "обвес" материнки и ЦП, а также "фич". К примеру не любой raid контроллер будет работать нормально или вообще работать и не посыпется при очередной обнове ядра\дров. Поддержка разных фич материнки, ну к примеру SuperDoctor (пример очень плохой но посыл думаю поймете). Есть всякие фичи завязанные на поддержке их ЦП+ чипсета+ ОС (как пример intel quicksync).
    Если сервер для общих задач то берите любую мамку и не парьте голову.
    Хотя другой вопрос а нафига это надо? Для конторы брать такое старье, ну это прям такое и крайность. Для дома? это шумно, горячо и бессмысленно.
    Гонка за числом ядер для производительности? Опять же очень спорный вопрос т.к. на старых камнях большее число ядер проигрывает современным десктопным камням с меньшим числом ядер.
    Если конечно это старье можно забрать прям за копейки, вот совсем то да это аргумент. У нас вон недавно 3 сервера DL380 G5 списали и пытались сплавить по 7к рублей с полным фаршем но без веников, год висели и так никто и не забрал. В итоге так по запчастям что продали что растащили местные. Хотя на итаниуме сервак быстро утащил тип, но я так думаю это какой то энтузиаст был. И это далеко не в крупном городе.
    Ответ написан
    2 комментария
  • Файловый сервер на Linux с разграничением прав - в сети Windows?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Ставьте дебиан.
    Если дебиан с графикой то для простоты управления можете накатить gadmin-samba. Настроете все привычно натыкав мышкой.
    Если ресурсы ограничены то дебиан без графики, если мышку очень хочется то ставьте на него Webmin и настраивайте в браузере своем.

    Еще забыл вариант самый близкой к виндам, дистрибутив opensuse, там свой инструмент есть графический для настройки почти всего что угодно. Идеально для тех кто мало знаком с линуксами но быстро сориентируется по привычке.
    Ответ написан
    Комментировать
  • Какая будет структура программы?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Раз сомневаетесь то то покажите что у вас уже есть и что не нравится. Пока вопрос выглядит как задание и может улететь в бан.
    Ответ написан
  • Как подружить iOS с Ubuntu (Linux)?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Можете попробовать поискать какой софт работает с либой libimobiledevice.
    IOS закрытая платформа которая еще и пресекает любые попытки разработок стороннего софта\реализаций их протоколов\ использования не публичных api. Поэтому ничего особо и нет из такого софта, партия сказала хочешь синхронизацию купи макбук.
    Ответ написан
  • Как написать UDP сервер работающий без Bind?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    У вас ни разу не широковещался. У вас unicast.
    Вам нужен broadcast чтобы вещать на всю свою подсеть.
    Другой вариант multicast, в отличии от бродкаста меньше сеть жрать будет.

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

    PS Почитал ваш коментарий. Как заметил Армянское Радио никак это ломаетконцепцию. Обходят это другим путем если очень сильно надо.
    1) Условно говоря делаете фиксированный порт на СТОРОНЕ_А, на нем слушаете бродкаст.
    2) На СТОРОНЕ_Б при запуске шлете бродкаст пакет на этот фиксированный порт сообщая серверу на каком порту слушает пакеты.
    3) СТОРОНА_А ловит этот пакет и начинает вещать на порт, аналогично слушает со всех остальных СТОРОН
    Ответ написан
    Комментировать
  • Как происходит общение двух программ через порт USB?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Если никогда не имели дел с USB то можете сразу забыть эту затею впринципе особенно с питоном, драйверов особо не напишите как и железа.
    Ваш вариант это банальные USB-RS232 адаптеры коих тонны, единственное ищите те которые "изкоробки" заработают с штатными дровами линукса без шаманств. И можете общаться строками\байтами на любых языках да еще с сотнями тысяч мануалов.
    Ответ написан
    3 комментария
  • Unreal Engine или Unity?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Что лучше Cola или Pepsi ? Объективно и конструктивно сможете сами понять почитав базовые особенности каждого движка. Кроме того этот вопрос обсасывался тут множество раз и достаточно воспользоваться поиском.
    Ответ написан
    Комментировать
  • Зачем учить jvm языки кроме Java?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Вот есть напиток кофе. одним подавай кофе со сливками, другим с молоком, третьим с сахаром а четвертым вообще двойной крепости и без кофеина.
    Тут таже ситуация. Если Вам привычнее java пишите на ней т.к. вакансий все еще очень много, хочется нового ну кто Вам запрещает?
    Ответ написан
    Комментировать
  • Как делать что-то при открытие окна в JavaFX FXML?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    В случае с FXML из конструктора контроллера еще нельзя обращаться к fxml элементам, зато есть метод initialize() который отрабатывает уже после инициализации всего fxml, используйте его.
    Ответ написан
    2 комментария
  • Как найти эффективное решение задачи (Java)?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Виктор Мальков,
    еще в копилку, не короче но вызовет приступ у ненавистников лямбд и стримов
    IntStream.rangeClosed(1, n).forEach(i -> {
                IntStream.rangeClosed(1, n).forEach(j -> 
                    System.out.print((i + j) % 2 == 0 ? '*' : '-'));
            System.out.println();});


    Еще изврат, правда будет работать только с нечетными числами но зато в один цикл! =).
    IntStream.rangeClosed(1, n*n).forEach(i -> System.out.print(i % n != 0 ? (i % 2==0 ?'*':'-') : '\n'));
    Ответ написан
    Комментировать
  • Как связать таблицу где ее pk ключ является составным от pk внешней таблицы и поля cамой таблицы??

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Мы тут в первую очередь чтобы помочь в решении проблемы которая уже возникла, а тут скорее голая просьба решить задачу. Где Ваши попытки? Где суть проблемы по итогам Ваших проб и ошибок?
    Есть гениальная поговорка хоть и не помню дословно но помню смысл "Попробуй объясни обезьяне суть проблемы и получишь ответ на свой вопрос", как то так. Так к чему я, попробуйте для начала сами себе объяснить вопрос, возьмите бумажку и на ней начеркайте что есть и как хотите, хоть текстом хоть диаграммой, попробуйте в живую объяснить суть девушке\жене\ребенку\брату\другу. Уверен что ответ сам придет, вот если по какой то причине даже так не осеняет то уже с результатами умозаключений идите сюда.
    Без обид но я крайне часто вижу тенденцию, что все обленились и гораздо проще бежать спрашивать ответ, вместо того чтобы хоть чуть чуть напрячь извилины и попробовать пораскинуть мозгами с разных сторон. А что случится если внезапно окажитесь без интернетов да без опытных умов вокруг и спросить будет негде?
    Ответ написан
    3 комментария
  • (Java) Как отсортировать этот массив объектов?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Читать основы, и даже не jav'ы в частности.
    Ответ написан
    3 комментария
  • Java проблемы с кодировкой, поможете?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    ReversedLinesFileReader(File file, int blockSize, String encoding)
              Creates a ReversedLinesFileReader with the given block size and encoding.
    Ответ написан
    1 комментарий
  • Наследование методов Java?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Thread myThread = new Thread() {
        public void run() {
           //тут код ваш
        }  
    };

    Или вот так с лямбдами
    Thread myThread  = new Thread(() -> {
        //тут код ваш
    });
    Ответ написан
    3 комментария
  • Можно ли в Linux запустить процесс при OOM?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Правильнее будет найти первоисточник проблемы, перегрузка сети\цп\озу\io. Дальше отталкиваться уже от нее. А если совсем правильно то найти это проблему, найти причину и устранить ее т.к. скорее всего она будет крыться в кривых конфигах.
    Ответ написан
    6 комментариев
  • (VoIP)Существует ли бесплатный аналог Protei?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Мой Вам совет, не связывайтесь со звездочкой тем более с такими масштабами! Бесплатный не значит что в данной ситуации лучше, найти того кто осилит содержать подобное что у вас сейчас ... это нормально смогут единицы. Лучше платите за ТП и верните телефониста назад любым способом, вам это еще аукнется не раз, помяните мое слово. На крайний случай хотя бы за оверпрайс его верните на время и пусть обучит своего последователя.
    Ответ написан
    4 комментария