• Как запихнуть данные в модель?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Замапить легко
    @Entity
    public class Zone {
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        private Long id;
    
        @OneToOne(mappedBy = "zone")
        private ZoneDescription description;
    
        // Геттеры и сеттеры не указаны для краткости
    }

    @Entity
    public class ZoneDescription {
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        private Long id;
    
        @OneToOne
        private Zone zone;
    
        @ManyToOne(optional = false)
        private ZoneLanguage language;
    
        // Геттеры и сеттеры не указаны для краткости
    }

    @Entity
    public class ZoneLanguage {
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        private Long id;
    
    /*  Раскоментировать, если нужна двунаправленная связь
        @OneToMany(mappedBy = "language")
        private Set<ZoneDescription> descriptions = new HashSet<>();
    */
    
        // Геттеры и сеттеры не указаны для краткости
    }

    И потом так же легко в прикладном коде
    Zone zone = zoneRepository.getById(zoneId);
    ZoneDescription description = zone.getDescription();
    Ответ написан
    4 комментария
  • Как получить список IP адресов от DHCP сервера?

    @d-stream
    Готовые решения - не подаю, но...
    Предлагаю вначале забыть про программирование, C# и .NET и просто описать словами желаемое.

    Минимальное - получив от DHCP адрес и маску - можно получить предположительный размер сети - возможные адреса.

    К примеру DHCP выдал
    IP 192.168.199.48
    MASK 255.255.255.0
    GW 192.168.199.1

    тем самым можно предположить что речь идет о сети 192.168.199.0/24 с адресами от 192.168.199.1 до 192.168.199.254

    НО: какой именно диапазон из этих адресов DHCP выдает - вопрос к его настройкам. Возможно его пул от 192.168.199.47 до 192.168.199.49 а возможно и 192.168.199.2 до 192.168.199.254

    DNS - ну теоретически конечно клиенты могут регистрироваться в локальном DNS, а могут и нет....

    p/s/ можно конечно попинав DHCP (на его уровне) перебирая адреса получить ответы типа "адрес занят", "адрес недопустим", "адрес выдан" и косвенно сделать выводы, что:
    - такие-то адреса DHCP не выдает
    - такие-то мы заняли (за это могут побить подсвечником)
    - такие-то адреса были арендованы и возможно сейчас хост подключен, а может быть уже выключен...
    Ответ написан
    Комментировать
  • Как получить список IP адресов от DHCP сервера?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Никак.
    DHCP сервер выдает клиенту инфу, которая касается именно этого клиента, а не всех остальных участниках сети.

    Администратор может посмотреть информацию о текущих leases через DHCP админку, но leases это не список текущих IP, это список текущих leases. То есть клиент появился, запросил IP, поработал и отключился. IP все еще на нем "висит". Если подключится другой клиент, то освобожденный IP может быть выдан ему, в зависимости от expiration настроек. Но DHCP не обзванивает клиентов на тему "эй, ты онлайн или нет".
    И для этого нужно иметь права админа этого DHCP.

    Если вы админ - API доступен через тот же powershell - посмотрите Get-DHCPServerv4scope | Get-DHCPServerv4Lease.
    Ответ написан
    1 комментарий
  • Как получить список IP адресов от DHCP сервера?

    Маска - это ваша сеть. Если у Вас есть права на чтение DHCP - без каких-либо проблемм, Пош в помощь (Export-DhcpServer) - а т.к. пош нынче обращается напрямую к .NET, подобное и на нем можно реализовать без проблем.
    Если прав на DHCP нет - то печалька, надо собирать велосипед. Можете использовать сканеры сети (типа пингования), но опять же - не факт, что на компе не задизейблин пинг.
    Короче если прав на DHCP нет - гарантированно точные данные вы не получите. Плюс могут быть статические адреса с запрещенным echo reply на хосте - так и будут висеть камнем, фиг знает - работает там хост или нет, тем более если в днс запись будет.
    Ответ написан
    Комментировать
  • Cтоит ли учить C# по Шилдту?

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    Обязательно! Но если есть знания других языков программирования, то можно сразу Троелсена. Он сложнее на понимание, но если есть опыт чтения технической литературы, то сойдет. Последнее издание есть на русском, и оно по C# 6.0.
    Ответ написан
    Комментировать
  • Как определить список компьютеров в локальной сети без перебора?

    CityCat4
    @CityCat4 Куратор тега Сетевое администрирование
    //COPY01 EXEC PGM=IEBGENER
    На vbs :)
    Set objShell = CreateObject("Shell.Application")
    
    'Taking folder "Network" by CLSID (
    'See http://safezone.cc/threads/kratkij-spravochnik-po-clsid.20350/ to list CLSIDs
    Set objFolder = objShell.NameSpace("::{208D2C60-3AEA-1069-A2D7-08002B30309D}")
    
    ' Process each box in folder "Network"
    For Each objItem In objFolder.Items()
      strBoxName = compName(objItem.Name)
    
      If (boxAvailable(strBoxName)) Then
        Call checkService(strBoxName, strService, arrayNodeploy, strMailBody)
      End If  
    Next

    compName, boxAvailable и checkService - внутренние процедуры
    Ответ написан
    Комментировать
  • Как определить список компьютеров в локальной сети без перебора?

    fzfx
    @fzfx
    18,5 дм
    опросите на одном из компов состояние NetBIOS.
    Ответ написан
    Комментировать
  • При обработке исключения (InputMismatchException) брошенное Scanner'ом зацикливается программа?

    @1001001
    Scaner пытается считать ранее введенную строку (ожидая int), ловит исключение и вновь её же пытается считать.
    Если хотите оставить свой код, добавьте in.next() в catch блоки

    но лучше использовать hasNextInt(), и либо считывать int, либо выводить сообщение и считывать String
    Ответ написан
    Комментировать
  • Какие есть способы использовать левый IP при запуске браузера через софт?

    @Iamaltg
    Proxyfire может спарсить 1000 проксей за пол часа, еще на lolzteam форуме есть софтец который выдает больше 4к прокси, но для этого надо туда загрузить своих штук 100 проксей
    Ответ написан
    Комментировать
  • Почему в C++ указатели так себя ведут?

    15432
    @15432
    Системный программист ^_^
    int *aaa; //переменная с именем aaa типа "указатель на int", расположена в некоторой ячейке памяти, выделенной на стеке
        aaa = new int(6);  //присваиваем переменной aaa новое значение, а именно, адрес выделенной ячейки памяти в куче, содержащей значение 6
        qInfo() << aaa;       // 0x6a4e50   <- узнать тот самый адрес, что мы присвоили указателю
        qInfo() << *aaa;      // 6          <- перейти по этому адресу и извлечь значение 
        qInfo() << &aaa;      // 0x28fbe8   <- адрес ячейки, где лежит значение самой переменной aaa
        qInfo() << &*aaa;     // 0x6a4e50   <- перешли по указателю, который лежит в aaa (ячейка в куче, содержащая значение 6), потом узнали адрес этой ячейки, и конечно это тот самый адрес, по которому мы перешли
        qInfo() << *&aaa;     // 0x6a4e50   <- узнали адрес ячейки стека, по которому расположена переменная aaa, потом перешли по нему и извлекли значение переменной aaa. то же самое, что и просто обратиться к aaa
        qInfo() << *&*&*aaa;  // 6 тож самое что и выше, все &* нивелируют друг друга (переход по адресу и опять получение того же самого адреса обратно), остаётся только *aaa, ну а там лежит 6
    Ответ написан
    2 комментария
  • В C# при создании калькулятора возникла проблема: вывод переменной с результатом обсчета за пределы if смотрите в деталях моего вопросса?

    @Ambrosy
    Если uj объявлена до if'ов, тогда она должна быть видна и после этого блока кода. Подозреваю, что ни один if не проходит из-за неправильного сравнения.
    Попробуй заключить операцию в одинарные скобки, например
    if(sign == '+'){ ... }
    Удачи.
    Ответ написан
    2 комментария
  • Чем отличаются конструкторы с различными модификаторами доступа?

    @kvasek
    Попробуйте создать класс с одним конструктором типа private, затем создать новый экземпляр этого класса, и вы увидеть разницу.
    Если это вызовет недоумения типа зачем и где применять можете посмотрите на то как реализован singleton ну и есть еще много способов применения.
    Ответ написан
    Комментировать
  • Диалоговом окне, почему получаю исключение NulPointerException?

    thelongrunsmoke
    @thelongrunsmoke
    Программист
    findViewById надо вызывать на вью, в данном случае переменной linearlayout.
    Ответ написан
    1 комментарий
  • Как правильно оценить временную сложность алгоритма?

    @Mercury13
    Программист на «си с крестами» и не только
    В общем случае да. Но иногда подобные оценки можно упростить. И упрощения можно делать по двум статьям:
    1. Более точные оценки. В данном случае не могу придумать.
    2. Более простые оценки: ведь оценка — это символ Ландау O(f(·)), который с точностью до константы. Если, например, K<N, а L<M, то сложность будет просто N·M.
    Ответ написан
    Комментировать
  • В чем различия между массивами String [] args и String... args?

    tarzan82
    @tarzan82
    Запись вида methodName(T... args) называется varargs (Variable Arguments)
    Удобство в том, что можно передавать сразу аргументы и не создавать массив и количество аргументом может быть 0 или N. Пример:

    public static void vargs(final String... strings) {
    	System.out.println(strings);
    }
    
    public static void arrs(final String[] strings) {
    	System.out.println(strings);
    }
    
    public static void main(final String... args) {
    	vargs(); // ok
    	vargs("1", "2"); // ok
    		
    	arrs(); // compilation error
    	arrs(new String[] {"1", "2"}); // ok
    }

    Есть пара моментов: методы с varargs нельзя перегружать и varargs должен быть последним аргументом

    public static void manyParams(final String... strings, final Integer number) {
    	// compilation error
    }
    
    public static void manyParams(final Integer number, final String... strings) {
    	// ok
    }
    Ответ написан
    Комментировать
  • Как скрыть форму после нажатия кнопки "Открыть" в OpenFileDialog?

    andrewpianykh
    @andrewpianykh
    if (openFileDialog1.ShowDialog() == true)
    {
        this.Hide();
    }
    Ответ написан
    Комментировать
  • Как обрабатывать ответы с Arduino через программу Java?

    @vanyamba-electronics
    Использовать пакет Java RXTX.
    Ответ написан
    Комментировать
  • Лучше хранить результаты запроса в оперативной памяти, или каждый раз заново делать запрос к БД?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Зависит от многих условий. Однако, учтите, что:
    1. Запрос к базе дороже по ресурсам, чем собственная память. Памяти у вас на хосте обычно гигабайты, плюс локальный SWAP. Частые же запросы к базе создают на нее нагрузку и конкурируют с другими запросами.
    2. Доступ к собственной памяти во много-много-много раз быстрее доступа по сети.

    Отсюда вывод - кэширование необходимо и вы все делаете правильно.

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

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

    Что в переменной list[] для D:\?

    PS: Path separator в Java кроссплатформенный и вне зависимости от ОС следует использовать '/'
    Также, чтобы не отслеживать эти слэши при склеивании имен файлов, лучше использовать конструктор File(File, String)
    Ответ написан
    3 комментария