Задать вопрос
  • Как правильно написать функцию запоминания лица?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    images = ["KnowFace/al.jpg", "KnowFace/pp.jpg", "KnowFace/mm.jpg"]
    for img in mages:
        i = face_recognition.load_image_file(img)
        i_encoding = face_recognition.face_encodings(i)[0]
    Ответ написан
    2 комментария
  • Влияет ли на ресурс максимальная производительность?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Повлияет, но не сильно. Современный процессоры, даже выставив "максимальные" частоты, сами умеют ее снижать время от времени. На самом деле, если процессор ничего не считает, то его частота будет снижаться автоматически , в зависимости от режима работы быстрее или медленнее, и какими скачками.
    Больше всего ресурсе сказываются два параметра - ток и теплота. Чем сильнее ток, тем сильнее проводники притягиваются друг к другу, в результате, со временем в них появляются микротрещины, сила тока при этом возрастает еще больше. Прибавив сюда тепловой нагрев и увеличение диффузии в проводниках - процессор (и не только) может достаточно быстро выйти из строя. С другой стороны, обычно до этого должно пройти пару лет такого интенсивного использования....
    С другой стороны, даже производители не всегда знают - на какой ресурс рассчитаны их изделия. Даже относительно неполная эмуляция куска чипа занимает на хорошем кластере неделю. Но обычно, если соблюдается токовый и температурный режимы, ничего страшного не происходит и пределах гарантийного срока эксплуатации.
    Ответ написан
    Комментировать
  • Как внести различающиеся данные в одну строку при частичном совпадении в столбцах?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Сделать dict, где ключом будет tuple из первых двух столбцов, а значение - set из строк. Очень хорошо подойдет dict.get((route,car), set())

    ЗЫ. ну как-то так
    dataset = [
        ["route1","car1","alex"],
        ["route1","car1","boris"],
        ["route2","car1","alex"],
        ["route2","car1","boris"],
        ["route1","car1","john"],
        ["route3","car2","alex"],
        ["route1","car2","alex"],
        ["route1","car3","alex"],
        ["route1","car2","alex"],
        ["route1","car2","alex"],
        ["route3","car1","alex"],
    ]
    
    outdataset = {}
    
    for route,car,driver in dataset:
        key = (route,car)
        _d = outdataset.get(key,set())
        _d.add(driver)
        outdataset[key] = _d
    
    for route,car in outdataset.keys():
        print(route,car,", ".join(outdataset[(route,car)]))


    route1 car1 john, alex, boris
    route2 car1 alex, boris
    route3 car2 alex
    route1 car2 alex
    route1 car3 alex
    route3 car1 alex
    Ответ написан
    Комментировать
  • Java. Как подключить клиента к серверу через Socket?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    1) ваш сервер должен быть доступен из интернета, иметь марштутизмруемый ip-адрес.
    2) на вашем комьютере нужно разрешить порт сервера на фаерволе.

    Другими словами, если хотите чтобы подключались к вашему серверу извне, то и размещайте его где нибудь на виртуалке у провайдера виртуальных машин с выделенным IP-адресом.
    Ответ написан
    Комментировать
  • Как war файл вернуть в java приложение?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Если архив (war-файл) упакован без исходников, то только пройти его обратно декомпилятором. Разархивировать его можно утилитой jar. Собственно он из себя представляет простой zip-архив.
    Декомпилировать можно через java-decompiler.github.io
    Ну и обзор по декомпиляторам https://javahungry.blogspot.com/2018/12/8-best-jav...
    Да, при декомпиляции скорее всего потеряются названия переменных. Но это лучше, чем ничего!
    И да, pom.xml придется нарисовать заново!
    Ответ написан
    1 комментарий
  • Почему отваливается локальная сеть?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Никто не упоминает, а зря - проблемы могут быть в простом конфликте IP-адресов из-за плохо настроенного DHCP. И как раз этот случай подходит под втык/выток кабеля, при этом компухтер просто заново получает новый IP-адрес от DHCP-сервера.
    Ну и конечно, могут быть проблемы в проводах (кабели, обжим, коммутаторы и т.д.), плохом качестве и неумелом построении самой сети, драйверах и карточках.
    Как минимум - запускаете терминал (cmd.exe) и смотрите утилитой ipconfig состояние линка. Также смотрите состоятие сетевой карты - там пунктик есть соответствующий. Пингаете ближайшие компухтеры и роутеры.
    Ответ написан
    Комментировать
  • Как запустить web приложение на weblogic?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Вот, здесь все очень подробно написано - https://dev64.wordpress.com/2012/03/23/simple-serv...
    В самом конце статьи Вы получаете war-файл - это и есть упакованное web-приложение (веб сервис).
    Разворачиваете ваш файл в weblogic по этой инструкции - https://www.oracle.com/webfolder/technetwork/tutor...
    Ответ написан
    3 комментария
  • Почему интерфейс listIterator не срабатывает второй раз?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Потому что итераторы помнят свое состояние, и второй раз в эту воду не войти - нужно еще раз брать итератор!
    Ответ написан
    Комментировать
  • Как сделать чтобы прогрессбары запускались по очереди, после того как завершится предыдущий?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Почитайте про блокирующие очереди java-online.ru/concurrent-queue-block.xhtml
    Ответ написан
    Комментировать
  • Какую сборку ПК выбрать для запуска нескольких виртуальных машин?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Виртуалки требуют потоки, поэтому чем больше потоков и ядер, тем лучше, в разумных пределах. Памяти - исходя из требований виртуалок, обычно по паре гиг на виртуалку хватает.
    Исходя из всего этого я бы взял xeon 2620 v4 и памяти 32 гиг.
    Ответ написан
    Комментировать
  • Какой метод лучше для (де)маршализации xml в Java?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Тут все зависит от объема самих xml. Если они маленькие и влезают в память, то все очень просто - через ObjectMapper и jackson. Как раз этот метод хорошо подходит для POJO-классов с аннотациями.

    Если же пишете свой сервис - забросьте XML, идете в JSON!

    Ну а если невзначай нужно запарсить туда-обратно википедию, придется немного поизвращаться со StAX/SAX. Тогда парсером читаем.пишем кусочки через тот-же jackson напиример.
    Ну и вот - https://habr.com/ru/post/339716/

    Вообще-то лучше забить на XML, а использовать json/json-schema/avro/protobuf/grpc/kryo, но все зависит от задачи. От XML не уйти, если нужно общаться с суровым мохнатым энтерпрайзом - сочувствую, и если это SOAP, то смотреть в сторону Apache CXF! Сочувствую еще раз!
    В зависимости от задачи можно использовать подпорки из spring и/или даже apache camel.

    В общем, огласите задачу подробнее, будет и ответ конкретнее.
    Ответ написан
    Комментировать
  • Как сделать доступ к HashMap с других классов?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Делаете клас-сиглтон и в него кладете все что вам нужно пошарить (инициализируете все в приватном конструкторе).
    public final class Singleton {
    
        private static Singleton instance;
    
        private  final ConcurrentHashMap<UUID, Person> cache; // не static!
    
        public Map<UUID, Person>  getCache() {
            return cache;
        }
        private Singleton() {
             this.cache = new ConcurrentHashMap<>()
        }
    
        public static Singleton getInstance() {
            if (instance == null) {
                instance = new Singleton();
            }
            return instance;
        }
    }

    И использование
    Map<UUID, Person> cache = Singleton.getInstance().getCache();


    Ну и на почитать - https://refactoring.guru/ru/design-patterns/single...

    Вобще-то лучше избегать синглтонов, а использовать так называемую технику DI, например с использованием spring или guice (мой выбор). Но начать стоит именно с синглетонов.

    Ну и конечно стандартный синглтон достаточно простой, можно еще сделать его ленивым и наворотить еще штук 20 строчек кода - тут головы взрывались на эту тему лет 10 назад.
    Ответ написан
    2 комментария
  • Не обнаруживается метод Main в java?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Сделать класс SDemo3 публичным!
    Ответ написан
    Комментировать
  • Можно ли использовать это решение вместо аннотаций?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Да, без проблем! Я часто именно так и делаю. Все равно используется рефлексия, что в аннотациях, что при конструировании напрямую.
    За аннотации - можно аннотировать все что угодно, хоть класс, хоть параметр, хоть функцию.
    Без аннотации - нужно придерживаться какого-то интерфейса, особенно, если функции - классы, а так - все едино.

    PS. Собственно в конце статьи и указано практически тоже самое
    Абсолютно бесспорно, что данную задачу можно решить множеством других путей. Да, всё что можно сделать при помощи аннотаций/рефлекций можно сделать и без них, вопрос лишь в удобстве, оптимальности и размерах кода, конечно же, совать Аннотацию везде где есть малейший намек на то, что получится её использовать - тоже не самый рациональный вариант, во всем нужно знать меру =). Но при написании API, Библиотек или программ, в которых возможно повторение однотипного (но не совсем одинакового) кода, аннотации - бесспорно оптимальное решение.
    Ответ написан
    1 комментарий
  • Как увеличить количество hdd дисков на материнке?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Берете sata-sas экспандеры и вешаете на них диски грозьями! Можно до 250 штук навесить! Есть еще мультипликаторы типа таких https://m.habr.com/ru/post/120629/
    Ответ написан
    Комментировать
  • Как сделать сквозную аутентификацию пользователя из Windows-домена на сайте с Flask + Nginx?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Посмотрите на keycloak. Это SSO приложение, может обьединить и авторизацию и разные источники., привязывается и к ldap и к windows и к kerberos... Для фласка нужно сделать авторизацию по jwt и openid через keyckoak.
    Ответ написан
  • Процессор и память ??

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Архисложный вопрос! А ответ еще сложнее. Если заглянуть в спецификацию процессора https://ark.intel.com/content/www/ru/ru/ark/produc... , то там черным по-русски будет стоять 1333 частота системной шины, сиречь - памяти. Поэтому только 1333 (или ниже) память и подойдет.
    Да, понимая сложность вопроса, завидую, если эту память где найдете еще в живом виде.
    Ответ написан
    1 комментарий
  • Как настроить сеть при установке Debian 10?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Похоже, что ваш DHCP сервер не выдал вам default gateway. Если сеть без выхода в интернет, то ничего страшного. Если с выходом, то можно попробовать самому установить командой ip route add 0.0.0.0/0 via IP-адрес-роутера. Для этого переключитесь на другую консоль клавишами Ctrl-Alt-F2-5
    Такж еможно посмотреть, что за адрес выдался ip a
    Ответ написан
    Комментировать
  • Почему провайдеры в РФ не используют DOCSIS для частного сектора?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Проблема с DOCSIS одна, нужно менять все активное и пассивное оборудование в доме, начиная от репитеров и "крабов" и заканчивая усилителями сигнала. По стоимости это обходится выше, чем прокладка того же эзернет или оптики в отдельные квартиры. А если учесть что даже в новых молодежных домах покрытие едва ли доходит до 25% квартир активных абонентов, то игра здесь совсем не стоит свеч. Кажется только один провайдер в Москве работал с данной технологией, да и то потом от нее отказался.
    Так что осталось всего две технологии GPON и ethernet.
    За рубежом ситуация несколько иначе, там пассивное-активное оборудование в основном заменялось кабельными компаниями, поэтому DOCSIS как-то прижилась, да и то практически вытеснена GPON.
    Ну и по скоростям DOCSIS и GPON или тот же ethernet - боольшая разница. А оптика сейчас - дешевле грязи.
    Ответ написан
    Комментировать
  • Как получить звук с аудиовыхода java?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    В яве с медиа-api есть проблема. Но не все так плохо.
    Если ява на андроиде, то все хорошо, но это не ко мне...
    Если просто ява, то есть такая штука - gstreamer, а к нему неплохой биндинг для явы - https://github.com/gstreamer-java/gst1-java-core и примеры - https://github.com/gstreamer-java/gst1-java-examples
    Под линуксом все отлично работает, я сам занимаюсь звуком, написал с использованием gstreamer и java несколько приложений. Работает под OSX и линукс. Под виндовс тоже вроде бы работает.
    Также с gstreamer можно работать на питоне, буквально 5 дней назад написал приложение, которое берет звук с микрофона и постит в shoutcast сервер. Вот примеры - https://github.com/GStreamer/gst-python/tree/maste...
    Вообще, с gstreamer можно работать на любых языках программирования, от C/C++ до Rust
    - https://gstreamer.freedesktop.org/
    Вообще, gstreamer очень мощная вещь, можно и в аудио, и в видео, и туда и обратно, с потоками и без.
    Задавайте вопросы, если что.

    PS. Да, java + gstreamer - вещь не для начинающих, нужно сначала хотя бы прочесть учебник по gstreamer, он заточен на C/C++, иначе ничего понятно не будет. С другой стороны, ничего сложного и нет, главное въехать в парадигму пайплайнов и шины сообщений.

    Да, что касается линукса, то звук можно перехватить практически из любого приложения через pulseaudio, а уже затем через pulsesrc плагин забрать в gstreamer и свое приложение.
    В винде тоже самое можно попробовать сделать через directshow + gstreamer.
    Ответ написан
    2 комментария