• Какой взять кейс под Raspberry Pi model B совместно с 2.5' HDD?

    CRImier
    @CRImier
    Хм, печально, но таких маловато по поиску =( А самодельный не рассматриваете случаем?
    www.raspberrypi.org/phpBB3/viewtopic.php?t=29667 - вот собираются делать, правда, не знаю, дошло ли дальше прототипа.
    www.kickstarter.com/projects/kwang/mini-itx-mother... - вот, было на Кикстартере, можно поискать ещё - но тоже огромная коробка, как и предыдущая =)

    Как вариант, есть много людей, которые засовывали Pi в сломанные Apple TV/Mac Mini/тому подобное. Можно поискать на ss.lv или на Латгальском рынке в Риге =)
    Ответ написан
    2 комментария
  • Калькулятор на Android крашится при отображении результата.В чем причина?

    @AlexeyVD
    Вы бы хоть стэктрейс сюда скопировали, или сами могли бы его посмотреть и решить проблему.
    View.setText() принимает либо CharSequence, либо id ресурса, а вы туда int'овый результат пытаетесь засунуть.
    Ответ написан
    3 комментария
  • Не работают связи в jpa. Как описать связи сущнойстей?

    @aol-nnov
    не в тему совсем, но, всё же.. :)

    прикрути к проекту lombok - портянки уйдут, а суть останется. очень удобно!
    Ответ написан
    2 комментария
  • Как понять запись в коде JAVA?

    evgeniy8705
    @evgeniy8705
    Повелитель вселенной
    int[] arr = new int[] { 1, 2, 3, 4, 5 };
    
    for (int value : arr) { // перебор всех значений массива arr начиная с нулевого и до последнего включая
        System.out.print(value); // 12345
    }
    
    System.out.println("");
    
    // тоже самое можно переписать так:
    
    for (int i = 0; i < arr.length; i++) {
        System.out.print(arr[i]); // 12345
    }
    Ответ написан
    Комментировать
  • Как понять запись в коде JAVA?

    dima_meln
    @dima_meln
    Студент, Java Junior
    Почитай о foreach и Iterator
    Ответ написан
    Комментировать
  • В чем ошибка сборки многомодульного приложения?

    AlexZaharow
    @AlexZaharow
    O Keep Clear O
    Давно с модулями не работал, но может быть в данном случае ошибка не в модульности? На практике maven при сборке берёт зависимости из репозитория. Сначала проверяется локальный репозиторий, если не найдено, то идёт в глобальный (возможно, что вы не настраивали корпоративный, чтобы выполнить в него deploy). Но команду для модуля 1 "mvn install" всё-таки сделайте, чтобы положить модуль 1 в локальный репозиторий. Теперь при сборке модуля 2 maven найдёт модуль 1 в локальном репозитории (в теории). Попробуйте.

    What is the difference between “mvn deploy” to a l...

    В принципе можно настроить pom модуля 1 класться в локальный репозиторий после сборки. Почитайте про цели сборки.
    Ответ написан
    Комментировать
  • Где размещать переменные: класс или метод?

    @Quieteroks
    php программист
    Переменные в методе, на то они и переменные.
    Поля класса в классе, на то они и поля.

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

    Почитайте про ООП в целом. Тут Вам поможет понимание инкапсуляции. Все, что не инкапсулируется, может быть объявлено как переменная в области видимости конкретного метода. А уровень доступа к переменной очень хорошо объясняется путем понимания области видимости.
    Ответ написан
    Комментировать
  • Где размещать переменные: класс или метод?

    compilator
    @compilator
    Java developer
    Внутри метода размещаются переменные, которые необходимы и будут использоваться только во время выполнение этого метода. Внутри класса размещаются переменные, которые говорят о состоянии объекта, порожденного из этого класса. И как правило эти переменные делают приватными + создают геттеры и сеттеры для них. В вашем примере, размер кошки говорит о ее "состоянии", поэтому разумно хранить переменную в классе.

    public class Cat {
    private int size;

    public int getSize() {
    return size;
    }

    public void setSize(int size) {
    if(size <= 9) throw new IllegalArgumentException("Cat size should be more than 9");
    this.size = size;
    }
    }
    Ответ написан
    Комментировать
  • Отличия абстрактного класса от интерфейса?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    В чем отличие абстрактного класса от интерфейса в Java?


    Все упирается в понятие "тип". В былые времена, то есть во времена языка Simula, из которого черпали вдохновение создатели C++, были только классы. И на классах базировалась система типов. Причем механизм наследования был реализован так, как реализован, исключительно для экономии памяти, которая в те времена была очень дорогой.

    Для того чтобы достичь полиморфизма, мы должны иметь возможность объявлять абстрактные типы. Мол "любая хрень которая имеет такой тип будет работать как надо". Потому в языках типа C++ появились абстрактные классы. Поскольку иногда нам хочется делать композицию абстрактных типов, в C++ реализовали множественное наследование.

    В Java, которая во многом черпала вдохновения из C++ и smalltalk, решили ввести еще одну сущность - интерфейсы. Это был своего рода упрощенный способ задать абстрактный базовый тип. По итогу чтобы не решать проблему бриллианта (или ромба) от множественного наследования было решено отказаться и дать возможность классам имплементить несколько интерфейсов.

    За счет этого мы получаем возможность делать композицию типов как мы захотим. То есть вся разница сводится к тому, что при наследовании от абстрактного класса, мы именно наследуем классы, в то время как интерфейсы позволяют нашим классам имплементить абстрактные типы.

    В целом абстрактные классы нужны тогда, когда вам нужно наследование. Обычно это в ситуациях, когда у вас есть несколько классов, которые должны иметь общий абстрактный тип (то есть нельзя выделить наиболее слабого по ограничениям предка). Например если мы делаем цепочку классов String <- Email, то тут нет смысла в абстрактных классах так как тип String уже включает в себе подмножество типов Email.

    В целом в java8 уже ввели возможность интерфейсам иметь базовую реализацию, так что не удивлюсь если со временем от ключевого слова extends в принципе откажутся, избавившись от лишней сущности.

    Так же рекомендую к прочтению: www.javaworld.com/article/2073649/core-java/why-ex...
    Ответ написан
    9 комментариев
  • Есть ли на Java игровой движок уровня Unity?

    lxsmkv
    @lxsmkv
    Test automation engineer
    libgdx, jmonkey
    но вряд ли это то на что вы надеетесь, хотя на libgdx пишут игры под андроид
    вот еще, тут можно глянуть https://en.wikipedia.org/wiki/List_of_game_engines
    Ответ написан
    3 комментария
  • Каким образом после преобразования long в Long я смог получить null?

    @parkito
    Современный JVM очень хорош. В 99,999999 % ошибку в приложении нужно искать в своем коде. Если у вас многопоточное приложение, то в том что повторить баг не удается нет ничего удивительного.
    Ответ написан
    Комментировать
  • Каким образом после преобразования long в Long я смог получить null?

    Olej
    @Olej
    инженер, программист, преподаватель
    Возможно ли, что это редкий косяк JVM?

    Практически исключено.

    Или какие еще могут быть варианты?

    Возможно, это косяк в вашем коде ... и не столь редкий. ;-)
    Ответ написан
    Комментировать
  • C чего начать программировать под Android на Kotlin?

    OnYourLips
    @OnYourLips
    Начинайте с Java.
    Статья по основам пути Java-разработчика: https://habrahabr.ru/post/203688/
    Kotlin - язык для Java разработчиков, без знания Java не справитесь.
    Ответ написан
    Комментировать
  • На чем пишут автомобильный софт?

    leahch
    @leahch
    Я мастер на все руки, я козлик Элек Мэк :-)
    На яве делают обычно GUI + медиацентр. Да и то не всегда на яве. Сам медиациент общается с автомобилем по шине CAN, иногда, в редких случаях еще и по ethernet (привет Tesla). На шине CAN сидят бортовые компьютеры, датчики, компьютеры управления подвеской, тормозами, мотором. Всё это хозяйство может быть реализовано как в железе ПЛИС (verilog), так и на SOC (пишется на C/C++).
    В современном авто от двух до 15 компухтеров разного назначения, а то и больше.

    Вот, достаточно внятная статья - auto.howstuffworks.com/under-the-hood/trends-innov...
    Ну а вообще, по ключевому слову automotive
    O! www.cvel.clemson.edu/auto/systems/auto-systems.html - тыкаем на картинке в компоненты и читаем!
    Ответ написан
    Комментировать
  • Как поменять профессию с Java программиста на кибернетика?

    @Tiberal
    1. Открыть гугил
    2. Найти НИИ или КБ, которое занимается тем, что тебе интересно
    3. Топаешь в отдел кадров(на хх такие конторки редко резюме выкладывают, т.к. один фиг никто не идет)
    4. Устраиваешься на работу за гроши (возьмут, я гарантирую это)
    5. Начинаешь работать, с грустью понимаешь что устаревшая элементная база и бюрократизированный техпроцесс - это совсем не то что ты хотел.
    6. Ишачишь несколько лет пока тебе, возможно, предложат что то интересное
    7. ПРОФИТ... нет профита

    З.Ы. как хорошо, что я переучился и сбежал с такой конторки
    Ответ написан
    3 комментария
  • Почему запрещен remove в for/in?

    leahch
    @leahch
    Я мастер на все руки, я козлик Элек Мэк :-)
    Потому что вы режете сук, на котором сидите.
    The iterators returned by this class's iterator and listIterator methods are fail-fast: if the list is structurally modified at any time after the iterator is created, in any way except through the iterator's own remove or add methods, the iterator will throw a ConcurrentModificationException. Thus, in the face of concurrent modification, the iterator fails quickly and cleanly, rather than risking arbitrary, non-deterministic behavior at an undetermined time in the future.


    List<String> names = ....
    Iterator<String> i = names.iterator();
    while (i.hasNext()) {
       String s = i.next(); // must be called before you can call i.remove()
       // Do something
       i.remove();
    }
    Ответ написан
    Комментировать
  • Нужен ли JavaFX?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Много сталкивался с разными гуями. Конкретно на jav'e в основном используют awt\swing . Софта десктопного немало есть, тот же openoffice.
    Конкретно JavaFX для написания софта годится тоже очень хорошо но еще лучше для написания гибридного софта(этакое веб приложение с нативным функционалом, в пример тот же стим). Т.е. используются javafx формы совместно с webview. При этом отображается некий кусок страницы к примеру чат\список игр и прямо в коде страницы впендюрины кнопки которые дергают нативный функционал уже не веба а конкретно этой машины(игру там запустить или добавить игру во вкладку формы где список игр и т.д.). Поэтому Java и JavaFX вполне себе заслуживают место под солнцем но надо понимать что для каждой задачи больше подходит совй язык. Если вы хотите писать игру то тут однозначно с++\mono , если же софтина будет корпоративного уровня и важна масштабируемость и расширяемость то java\c#, если что то для себя или просто забавы ради то выбор не принципиален вообще.
    Ответ написан
    5 комментариев
  • На чем лучше и быстрее написать парсер (PHP)?

    glebovgin
    @glebovgin
    Full Stack Web Developer
    За годы парсинга данных я пришел к простому набору:

    Curl + tidy + DOMXpath
    Ответ написан
    Комментировать
  • Почему параметры, выставленные в MySQL, не всегда работают в JAVA?

    Vamp
    @Vamp
    Проблема не в java, а в самом запросе. Если вы не перечисляете колонки, данные для которых вы хотите указать, то mysql считает, что вы собираетесь указать данные для всех существующих в таблице колонок. Независимо от того, есть там default значение или нет.

    Для решения вашей проблемы необходимо явным образом перечислить колонки:
    INSERT = "INSERT INTO users (login, password, email, group, ip, country, city) VALUES (?, ?, ?, ?, ?, ?, ?)";

    Все колонки, явным образом не перечисленные в запросе, получат значение по умолчанию, если оно было определено при создании таблицы для них.
    Ответ написан
    1 комментарий