Ответы пользователя по тегу Java
  • Как заставить адаптер брать данные из ArrayList в обратном порядке?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Отнаследоваться от ArrayList и переопределить метод get? Или добавить новый метод getReverse ? Не совсем уловил проблему Вашу, сложность в том что нельзя менять ArrayList или адаптер?
    Ответ написан
    Комментировать
  • Одинаковые куски кода в разных классах допустимо или нубство?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Сильно рекомендую почитать "Паттерны проектирования" (O'relly Эрик и Элизабет Фриман), очень много подобных вопросов исчезнет сразу и писать будет намного проще.
    Для Вашей ситуации предусмотрены абстрактные классы. К примеру:
    public abstract class MyClass{
    //Ваши общие методы реализованны тут
    // Подсчет тока по каждому двигателю
        private float getCurrent(int engine){
            float phasesA = calculatePhaseForEngine(0, MassCurrentsPhases, engine);
            float phasesB = calculatePhaseForEngine(1, MassCurrentsPhases, engine);
            float phasesC = calculatePhaseForEngine(2, MassCurrentsPhases, engine);
    
            return (phasesA + phasesB + phasesC) / 3;
        }
        // Подсчетываем ток по выбраному двигателю
        private static float calculatePhaseForEngine(int i, float[] MassCurrentsPhases, int currentEng) {
            return MassCurrentsPhases[3 * currentEng + i];
        }
    public abstract void doSomething(); //Такие методы наследники будут обязаны реализовать
    }

    Дальше наследуетесь от абстрактного класса и реализуете методы которые отличаются логикой. Кода становится меньше, читается и понимается лучше и накосячить уже сложнее т.к. общие методы гарантировано у всех одинаковые.
    Ответ написан
    Комментировать
  • Передача callback'a методу в качестве параметра, нормальная практика или костыль?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    А что конкретно вы хотите получить или сделать callback'ом? Передать ссылку на некий объект и выполнить некую логику или же просто вернуть обратно ответ с учетом переданных данных?
    Или передать некий волшебный метод которым воспользуется тот кто его принял?
    Ответ написан
    Комментировать
  • Как разобраться с памятью в java?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    2.Есть ли способы более экономично с памятью работать?

    - Как и советовали отказаться от явы.
    - Накинуть еще оперативки
    - Оптимизировать код(не говнокодить)
    - Кластеры?
    - Вынести часть логики в native
    - Вынести данные в бд?
    - Переписать более оптимизированно используемую либу?
    Ответ написан
    Комментировать
  • Программирование под windows на java?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    у меня слабый комп 1 гб оперативки

    Я так понимаю у вас вин7 на этом компе. Тогда рекомендую поставить WinXP, лагов станет во много раз меньше. Хотя еще более хорошим вариантом был бы Puppy Linux и нетбинс в него, загружаться сможешь прямо с флешки или сд диска.
    Ответ написан
    Комментировать
  • Как правильно дампить процесс в JVM?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    docs.oracle.com/javase/7/docs/technotes/tools/shar...
    NOTE: This utility is unsupported and may or may not be available in future versions of the JDK. In Windows Systems where dbgeng.dll is not present, 'Debugging Tools For Windows' needs to be installed to have these tools working. Also, PATH environment variable should contain the location of jvm.dll used by the target process or the location from which the Crash Dump file was produced.
    Ответ написан
    Комментировать
  • Как связать "bytes getBytes()" в Java и "bytearray()" в python?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Вопрос поставлен непонятно.
    Что Вы хотите связать именно?
    Из питона передать байты в яву?
    или же прочитать байты в яве точно так же как в питоне?
    или же прочитать байты в питоне как в яве?
    Откуда читаете сами байты?
    Как байты НУЖНО представить для вашей задачи?
    Ответ написан
    Комментировать
  • Как устроенно онлайн телевидение?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Работает это через IP-tv, RTSP или другие протоколы.
    Контент берут по разному:
    1) С тех же сайтов телевизионных каналов, они как правило вещают себе на сайт свой же канал.
    2) Подключаются дома цифровое тв(очень многие провайдеры сейчас вещают именно по IP-tv) и просто ретранслируют его себе на сервер откуда уже перегоняют куда угодно дальше.
    3) Подключают дома тв, ставят кучу тв тюнеров, собирают потоки себе на сервер и перегоняют дальше куда угодно.

    Самый надежный но одновременно и затратный 3й способ. 1й способ сломается когда обновят сайт\апи\сервер и т.д., придется снова изучать что поменялось. 2й способ не особо надежный т.к.(сугубо личные впечатления) провайдеры очень не качественно проталкивают IP-tv и постоянно возникают какие либо проблемы, то картинка замерзнет, то звук пропадет и т.д.
    Вот например можете поковырять страничку официальную с каналом Россия 1 live.russia.tv/index/index/channel_id/1
    C вашей ссылки тоже интересный пример как они ссылку на плейлист попытались сныкать:
    gg='//62.210.127.74';ff='http';dd='s/01/inde';fff=ff+':'+gg+'/hl'+dd+'x.m3u8?m'+k+ll+'1463510293'

    Ответ после дико сложной расшифровки "62.210.127.74/hls/01/index.m3u8?mkll1463510293"

    С авторским правом в большинстве случаев все очень плохо.
    Ответ написан
    1 комментарий
  • Стоит ли сейчас изучать Kotlin?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Java наврядли куда то исчезнет, а вот котлин вполне еще может умереть. Кроме того котлин очень молодой, документации, библиотек еще мало(я говорю именно о библиотеках написанных на котлине а не на яве).
    Если есть желание идти в ряду с первопроходцами то можете учить или же примкните к мамонту яве которая обкатана годами и почти все проблемы решены или легко решаются в гугле.
    Ответ написан
    3 комментария
  • HTML+CSS+ Язык программирования = Хороший проект

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    А у меня другое мнение.
    PHP есть и будет всегда, заказов на него тьма, доход будет небольшой но всегда. Учится легко, документации в т.ч. на русском много. Вполне можно работать самому на себя. Проекты на php как правило не особо сложные и типичные, скажем так Easy. Специалистов тоже много и всегда можно пнуть одного разраба и взять другого который возьмется за работу чуть дешевле(пыхари, не обижайтесь но это действительно так). Конкуренция среди разработчиков тоже огромная. Вывод простой, учить легко, работа есть всегда, проекты выполняются довольно быстро и достаточно 1 разработчика, можно начинать зарабатывать буквально через месяц после освоения базовых знаний языка. Заработок сильно врядли будет увеличиваться, можно брать только количеством выполненных заказов.
    Java, именно для сайтов это монстр уровня корпораций. Заказов очень мало(для 1 индивидуального разработчика), но цены как правило на несколько порядков круче чем для PHP проектов. Заказы как правило очень сложные, но и в десятки раз интереснее т.к. каждый проект это что то уникальное. Работать индивидуально практически нереально из за объемов проектов. Учиться надо очень много и долго, знать огромное количество технологий и фреймворков практически наизусть. Конкуренция довольно маленькая т.к. все идут работать в большие конторы. Заработок намного интереснее, есть куда расти в карьере, зп будет увеличиваться вместе со знаниями. Сложность Nighmare.
    Ruby\Go и много других сравнительно молодые языки или же непопулярны. Сложность сильно варьируется, заработки тоже сильно плавают. Работать одному можно, но не всегда. Заказы относительные т.к. по большей части ищут что то доработать или переделать и очень редко сделать что то с нуля. Сложности все и сразу. Языки как правило интересные, технологии в них еще интереснее.
    Ответ написан
    Комментировать
  • Как гарантировать срабатывание самописного будильника?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Нынче многие производители смартфонов на андроиде очень любят переписывать куски андроида. Для примера приведу прошивки emui в которых есть хитрый тасккиллер. Он отправляет проги в глубочайший сон и потихоньку копит все события для программы в очереди, потом программа пробуждается по включению экрана или ее запуску и в программу сыпится вся очередь событий которая накопилась.
    Выглядит это ужасно со стороны разработки приложений, но со стороны пользователя круто потому что дико экономит заряд акума. Возможно у вас схожий случай и просто в прошивке похимичили китайцы\индусы?
    Ответ написан
  • На чем построить гибкий интерфейс для Desktop приложения на JAVA?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Какое то у Вас невнятное изложение вопроса. Пишете что нравился делфи с расстановкой компонентов мышью а перед этим хотите гибкости html+css.
    Подход делфи и аже чуть больше даст обычный awt\swing, можно накладывать скины на него или скажем переопределить метод paint у компонента и сделать его каким душа желает.
    Если привычен css то смело берите JavaFX и "расстановщик компонентов мышью" Scene builder, тогда из коробки будет css хоть и кастрированный немного.
    Если же хочется только и только чистый html+css то ответом выше написали. WebView из JavaFX и пачечку костылей в него.
    Ответ написан
    Комментировать
  • Как запустить java сервис в фоновом режиме?

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

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    П.С. На дроиде использовал d2xx - очень понравилась в работе.

    Так пользуйся FTD2xxj на ПК FTD2xxj
    Ответ написан
  • Проинстанцировать?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Проще говоря создать экземпляр класса. SomeClass sm = new SomeClass();
    Ответ написан
    Комментировать
  • Какой топовый процессор выбрать для разработки (i7-6700K vs i7-6700T) и в тоже время бесшумный?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Поэтому, хотелось бы в первую очередь узнать совета у разрабатывающих на Java - насколько влияет процессор на скорость компиляции.

    Тоже долго думал в свое время что взять и как лучше. В итоге отказался от интела и взял amd fx8320 чисто потому что параллельность всеравно лучше. К нему 16гб оперативки и SSD на 512 гб. Кулер взял DEEPCOOL Frostwin V2, несмотря на монструозность старый винт хрустит громче чем работает этот кулер. На остатки денег взял неплохой 22 дюймовый монитор который поворачивается в альбомную\ландшафтную ориентацию.
    В итоге хоть проц и проигрывает i7 но работать очень приятно, нет никаких тормозов, куча софта очень спокойно работает скопом, работает пара виртуалок которым отданы пара ядер(это кстати критичный момент был для меня и еще один плевок на интелов). NetBeans работает очень шустро, андроид студия тоже летает. Проиграл только с эмуляцией андроида т.к. она заточена под интелы, но это решилось установкой android x86 на ноутбук 2й системой.
    Ответ написан
    Комментировать
  • Как создать модальное окно в JavaFX, SceneBuilder?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Давно не смотрел что там в FX но раньше модальных окон не было.
    Варианты такие:
    1) Подменять стадию в сцене.
    2) Вызвать модальное окно свинга, а потом запускать FX окно.
    3) Возможно что в FX появились модальные окна.
    4) Создать окно FX, убить его и создать другое. Тут я думаю и так все понятно.
    Ответ написан
    Комментировать
  • Несколько вопросов по клиент-серверному соединению?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Чтобы понять принципы делай как можно проще. Например:
    1) Представь свою структуру данных точными последовательностями. Скажем у тебя это данные типа "фамилия", "имя", "возраст","в_браке". Типы будут такие string, string, int, boolean. 4 поля данных.
    2) Теперь тебе надо сереализовать твою структуру. Переводишь все ("фамилия", "имя", "возраст","в_браке") в байты.
    3) На клиенте подключаешься к сокетному серверу, открывается соединение. Берешь первое поле "фамилия" (помним что это у тебя уже байты), считаешь его размер(скажем получилось 17 байт). Переводишь число(int) 17 в байты. Пишешь в сокет серверу байтовое число 17. Затем пишешь туда же все свои 17 байт данных. Повторяешь такое со всеми данными.
    4) Сервер запущен и ждет соединения. Клиент подключился, сервер начинает ждать данные. Помним что в п1. у нас заранее известна структура данных. Начинаешь читать из сокета байты размерами int. Прочитал получилось число 17. Читаешь из сокета 17 байт, получилось поле "фамилия", снова читаешь из сокета байты размером int. Узнал из него сколько байт надо прочитать и читаешь их. Таким образом делаешь 4 раза(см. п.1). Теперь остается перевести данные из байт в string, string, int, boolean и получишь на сервере "фамилия", "имя", "возраст","в_браке".
    5) Сервер отключает клиента или скажем по такому же принципу шлет ответ.
    Все выше написанное сильно кривое но для понимания как работает передача данных по сети самое то.
    Что бы перестать бояться сокетов и понять их, представь что это обычные файлы, которые ты открываешь, пишешь и читаешь.
    Ответ написан
  • Быстрая разработка для Android, но не на Java, технологии?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Если пишите сугубо для внутренних нужд то зачем тогда вообще нативно? Подняли веб сервер в локалке, в нем страничку с плеером. На телефоне ярлык на эту страничку с рабочего стола или приложений. Никаких лишних телодвижений ненужно и будет работать быстро на андроиде и ios.
    Еще вариант сделать плейлист и скармливать его плееру на мобиле.
    Ответ написан
    Комментировать
  • Как выполнить зарос на url c https с невалидным сертификатом?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Надо в JVM импортировать этот не валидный сертификат.
    stackoverflow.com/a/12146838/6193104
    Ответ написан
    Комментировать