• Как найти upnp устройства в сети?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    1) Почитать спецификацию upnp
    2) Понять что железки спамят бродкастом по udp на 1900 порт
    3) Слушать 1900 udp порт

    Или поискать библиотеки в которых реализовано выше написанное.
    Ответ написан
    Комментировать
  • Как легко обмениваться сообщениями между Java приложениями?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Если нужна минимальная задержка то нужно отказываться от json в пользу бинарников, например protobuf. Максимально все урезать в сообщениях оставив только действительно важное. Желательно задействовать чистый udp по возможности, или если критичны потери взять tcp.

    Как вариант действительно простого решения можно попробовать kryonet, там и сериализатор из коробки довольно удобный.
    Ответ написан
    Комментировать
  • Как организовать ldap на базе ubuntu server?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    По хорошему как минимум нужно отказаться от убунты в сторону centos\debian\rhel, курить тонны манов и делать как надо. Как таковой универсальной инструкции не найти чтобы раз и заработало, будет куча подводных камней и несостыковок.
    Вариант чуть проще взять OpenSUSE, у нее есть графические оснастки для управления таким дерьмом не вникая в конфиги.
    Еще есть Zentyal но там могут быть проблемы с лицензией, когда трогал ее то там все очень интересно было в этом плане.
    Еще есть такая штука https://www.turnkeylinux.org/domain-controller , но лично я ей не пользовался, очень тепло о ней отозвался знакомый.
    Ну и как вариант на чем угодно поднять контроллер и налепить сверху webmin у которого есть дополнения для домена.
    Ответ написан
    Комментировать
  • Как смонтировать папки в Linux as Non root?

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

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Раз коснулись строк то:
    - как они хранятся в jvm
    - где они хранятся в jvm
    - почему так сделали
    - чем отличается создание строки через String str = "stroka" от String str= new String("stroka")
    - много много таких же особенностей о которых нужно знать.
    Касательно строк в целом очень строго необходимо понимать как они работают т.к. с ними придется часто работать, кроме того незнание как они работают крайне сильно бьет по производительности программы.
    Ответ написан
    4 комментария
  • Java ключевое слово this, как работает?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Если я правильно настроился на волну тс то разжую доступными словами.
    Для начала нужно чтобы было правильное понимание происходящего в java а именно:
    1) в java всё есть объект, вот прям все все* . Это означает что абсолютно что угодно отнаследовано от класса Object
    2) есть(могут быть) различия того что именно содержится в классе в исходном коде и коде при выполнении программы а также после ее компиляции. Если простым языком то это может предстать так
    - в коде у класса есть только метод foo()
    - после компиляции оказывается что в нем после некоторых событий типа аннотаций появляется еще и метод bar(). Тут важно то что он появится * у всех инстансов от этого класса
    - при выполнении может оказаться так что метод foo() будет подменен другим кодом. Это уже рефлексия.
    - при выполнении может оказаться что у НЕКОТОРЫХ инстансов класса внутри окажется еще и метод mymethod(). Т.е. не у всех а именно у некоторых инстансов.
    3) при выполнении программы * для абсолютно всего ВСЕГДА создается явно или не явно инстанс, даже для статического класса. Т.е. ты в коде может и не создавал инстанс явно через new, это было сделано рантаймом гдето в недрах явы!
    4) статический класс отличается от обычного только тем что статический всегда указывает только и только* на 1 единственный инстанс
    5) super() , означает что будет вызов метода\конструктора РОДИТЕЛЯ
    6) super , БЕЗ СКОБОК, означает переход к переменным РОДИТЕЛЯ. Также можно вызвать и метод РОДИТЕЛЯ.
    7) this всегда указывает именно на текущий инстанс класса. Другими словами представь что класс это область видимости и когда ты пишешь this ты явно говоришь что это относится именно к этому инстансу а не классу.

    *гуру молчите что это не совсем так в особенных фундаментальных моментах
    инстанс - экземпляр класса, т.е. грубо говоря он создается через new явно или не явно

    Если всеравно непонятно то могу набросать примером простеньких. Также рекомендую почитать
    это и примеры тут

    Обобщая выше сказанное(с нюансами):
    - в java ВСЁ и ВСЕГДА это инстанс какого либо класса
    - исходя из пункта выше ВСЕГДА на любой класс существует хотябы один инстанс
    - исходя из пункта выше часто бывают случаи когда необходимо обратиться к переменной\методу родителя через super. Также возникают необходимости обратиться к методу\переменной именно этого конкретного инстанса или передать этот инстанс куда либо дальше не имея ссылки на этот инстанс.
    Ответ написан
  • Существуют ли платформы для обучения системному администрированию?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Виртуалки. Если хочется убить сразу много зайцев то устройся на работу подкопи рублей 15-20, купи xeon ядер на 10 и все остальное к нему у китайцев. Получишь:
    1) Неплохой комп себе любимому
    2) Пощупаешь безопасно серверное железо
    3) Надрочишься с виртуалками, а это нынче очень важно
    4) Сделаешь любой стенд в виртуалках и потыкаешь в ней все что хочется.
    Ответ написан
    1 комментарий
  • Что делают программисты на Unity целый день на работе?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Все как и везде. есть некий внутренний ресурс типа гитлаба в котором есть списки задач и списки багов. Тот кто старше рисует и назначает задачи, вот это джунам а это мидлам, так же с багами. Кодер пришел, открыл гитлаб и берет себе задачу или баг и бодается с ним.
    Сами задачи соответсвенно распределяются по сложности тем самым джунам\мидлам и т.д.
    В день необходимо сделать N задач а как ты их будешь делать уже твои проблемы. К примеру знаю что в эпаме такая ситуация, сделал быстро можешь даже домой свалить а если не успел то будь добр ишачь до последнего.
    Ответ написан
    Комментировать
  • Какие АТС у провайдеров связи?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Абсолютно разные, начиная от древних и заканчивая современными, так же и астериски\фрисвитчи и им подобные.
    Ответ написан
  • Когда подключать обработчики событий в JavaFX, если цели событий появляются динамически?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    А в чем сокральный смысл перетыкивать и создавать кучи обработчиков? Судя по коду у вас абсолютно одинаковый результат т.е.
    1) Нажали плюсик, появилась кнопка-картинка
    2) Нажали кнопку-картинку , выбрали картинку, появилась кнопка "ок"
    3) Кнопка "ок" делает System.out.println("Add activity");

    Отсюда следует что смысла так городить тоже нет потому как проще пойти другими путями =) Какими рекомендую пораскинуть мозгами самим. Только подскажу наводкой, классы можно переопределять и наследовать, можно хранить ссылку на выбранный объект и плясать от нее, можно объявить EventHandler и просто давать ссылку нужным компонентам а не создавать и плодить кучи EventHandler'ов.
    Ответ написан
  • Что можно использовать на VPS для быстрого развертывания из git репозитория?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    git pull && npm run build && /etc/init.d/supervisor restart site
    По желанию обернуть это в скрипт. Т.е. создать текстовый файл с расширением .sh внутри написать
    #!/bin/sh
    git pull && npm run build && /etc/init.d/supervisor restart site

    Дальше запускать его командой ./имя.sh . Желательно дать права на выполнение перед этим chmod +X имя.sh
    && управляющий оператор, т.е. если git pull выполнится без ошибок то выполнится npm run build, если npm run build выполнится без ошибок значит выполнится /etc/init.d/supervisor restart site. Если на любом этапе команда завершится ошибкой то последующие команды не будут запускаться.
    Ответ написан
    Комментировать
  • Как автоматически примонтировать папку после авторизации пользователя?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Autofs.
    Ответ написан
    Комментировать
  • Общий номер с переадресацией и минимальными вложениями?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Никак, забесплатно нынче даже навоза ненайдешь..
    Ответ написан
    2 комментария
  • Возможно добавить AUR или Arch linux репозиторий?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    В целом можно к любой но это будет крайне сложно и костыльно, кроме того работать также как в арче оно не будет по большей части т.к. очень вероятно что после установки гит версии какойнибудь мезы или llvm система вообще помрет.
    У каждого GNU/Linux своя философия и особенности устройства внутри. Все эти особенности какраз в том какое ядро и опции в нем, а также весь остальной софт с утилитами вокруг ядра. Отличается набор утилит, их версий и версий зависимостей при сборке.
    Ответ написан
    Комментировать
  • Как очистить таблицу TableView.Java?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    TableView только отображает данные из коллекции, следовательно отчисть коллекцию и все. Если пихаешь данные странными образами то коллекцию можно вытянуть и и почистить типа такого tableView_твой_инстанс.getItems().clear()
    Ответ написан
    2 комментария
  • Линукс, как написать свой "паровозик"?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Самый простой способ.
    1) Считаем число символов в терминале по высоте и ширине.
    2) Прикидываем сколько кадров будет анимация.
    3) Рисуем(пишем в блокноте) анимацию символами\буквами\цифрами с максимальной шириной и высотой полученными на шаге 1 и в числе кадров полученными на шаге 2.
    4) Получится к примеру 2 кадра.
    5) Пишем простой скрипт в котором используется минимальное число простейших консольных комманд в следующем виде:
    for (цикл равный числу кадров)
       clear (отчистить экран)
          for (цикл равный числу строк в кадре)
             echo (строка кадра)
       sleep (время в секундах которое надо подождать до следующего кадра)
    Ответ написан
    Комментировать
  • Как оптимизировать Unity проект для Samsung Gear VR так, чтобы при повороте головой ничего не тормозило (высокополигональных моделей нет)?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    1 Occlusion Culling
    2 Frustum Culling
    3 Не делать супермешы в которых вообще все. Плохой пример, один меш в котором весь декор комнаты. Хороший, каждому элементу декора комнаты свой меш.
    4 удалять в мешах неведимые полигоны. Как пример ящик, если не предполагается что он может быть перевернут то значит необходимо в его меше удалить всю нижнюю часть.
    5 меши которые будут созданы динамически заранее подгружать.
    Ответ написан
    Комментировать
  • Как вывести значение в ячейку TableView?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    nameM.setCellValueFactory(new PropertyValueFactory("имя_поля_в_MusicStruct"));
    Ответ написан
    3 комментария
  • Как с библиотекой java jlayer player проиграть отрывок песни?

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

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Самый самый простой способ во всех планах с наименьшим числом телодвижений:
    1) Купить Kingston DT2000/16GB или аналогичное. Хардварное шифрование, пинкод чтобы расшифровать, если пинкод ввели 10 раз неправильно данные уничтожаются без возможности восстановления.
    2)* Взять любой удобный дистрибутив и желательно заточенный под liveusb. Можно собрать самому или взять нечто готовое https://en.wikipedia.org/wiki/List_of_Linux_distri...
    3) Поставить и настроить в этом дистре весь необходимый софт.
    4) Перенести в tmpfs все что необходимо (с помощью overlayfs\unionfs).

    *можно затолкать все в cpio при должной сноровке но вопрос удобства обновлений\перенастройки\установки софта будет неудобным. В этом плане overlayfs\unionfs которая W делает в tmpfs намного удобнее, надо что то обновить\перенастроить\установить то просто отмонтируем оверлей и все.

    При желании для хранения пользовательских файлов можно кудалибо смонтировать через EncFS (на раздел этой же флешки\хард\да хоть на webdav от какого нибудь яндекса) нужную директорию.
    Ответ написан