Задать вопрос
  • Зачем нужны анонимные классы в java и как к ним обратиться?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Это у вас не анонимный класс, а внутренний класс. Обращаться к нему можно из любого места внешнего класса, ну и из самого себя.
    А анонимный класс, как следует из названия, имени не имеет. И создается например из интерфейса, реализуя его методы на месте.

    Внутренние классы могут быть закрытыми (private/protected) по умолчанию и видны будут только из внешнего класса, либо быть публичными (public static) и быть доступны всему приложению. Обычно используются, чтобы не раздувать структуру файлов-классов и для внутреннего применения в качестве временных хранилищ и оберток.

    Анонимный же класс создается на месте использования и служит для применения в конкретном месте приложения. В примере ниже мы в переменную threadзаписываем инcтанс нового класса, наследуемого от Thread с перегруженным методом run

    class MyThread  
    { 
        public static void main(String[] args) 
        { 
             // Создаем расширение стандартного класса Thread с переопределением метода run()
             Thread thread = new Thread()
            { 
                public void run() 
                { 
                    System.out.println("Child Thread"); 
                } 
            }; 
            thread.start(); 
            System.out.println("Main Thread"); 
        } 
    }
    Ответ написан
    Комментировать
  • Маркировка x86 это номенклатура а не физическая величина?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    X86 это система команд 32-х оазрядных процессоров Интел. X64 система команд, изначально придуманная компанией AMD, и потом лицензированная Интел. В результате мы можем встретить и описание amd64. Но все это относится только к процессорам интел и amd, в привычном нам понимании. Есть и spark64, и mips64 и даже arm64 и ppc64, которые никакого отношения к ним не имеют.
    Ответ написан
    Комментировать
  • Разряд и бит это одно и тоже?

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

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Технически, процессор в 64 бита исполняет только 64-разрядные команды. Но в некоторых процессорах есть блок трансляции команд из 32 бит в 64, который можно включить программно. Так вот, операционная система по заголовку файла определяет исполняемый тип программы, и если файл в 32 битной адресации, взводит разрешает использовать блок трансляции для данной программы.
    Конечно же все гораздо сложнее, и для исполнения 32 программ нужны и библиотеки в формате 32 бит, и нужно знать как работает транслятор памяти, и блоки защиты адресов, и планировщик процессов и куча всего прочего, типа выборки адресов из памяти. Но собственно, это к делу не относится.
    Ответ написан
  • Как сравнивать None Python и NULL SQLite?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    А все потому, что нужно использовать prepared statement! Подозреваю, что мускул zetcode.com/db/mysqlpython
    Где-то посередине..
    Ответ написан
  • Как лучше использовать Django + несколько SSH подключений?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Запускайте на каждое ssh-соединение по отдельному потоку. Потоки синхронизируйте через внешнюю шину сообщений, например можно ее реализовать через redis, просто и дешево.
    Ответ написан
    Комментировать
  • Как на macOS создать виртуальный порт с переадресацией данных на IP?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Можно использовать netcat (nc). Кажется эта утилита есть по умолчанию. Если нет, оставить из brew. Но она консольная.
    Ответ написан
    Комментировать
  • Вопрос по Java - swing?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    А почему бы не взять javafx? Там можно вполне использовать CSS для обрамления label. Ну и с событиями, как мне кажется, там полегче.
    Вообще-то есть предложение, если на javafx, то сделать (нарисовать) клавиатуру в SVG, и показываать ее либо через webview, либо через SVGPath, либо вообще рендерить через batic. Ну и сделать массив с координатами каждой кнопки!
    Ответ написан
  • Увеличить скорость сетевого соединения до 1Гб/с?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    1) Чтобы сделать бондинг, нужен УПРАВЛЯЕМЫЙ коммутатор. Ваш не годится. Точнее - все же лучше управляемый с поддержкой 802.3ad LACP
    2) Скорость в 100Мб ненормально, но весь вопрос как и чем измеряете. Рекомендую освоить iperf и потестить скорость с коммутатором и без (прямым соединением двух адаптеров).
    3) Есть утилита ethtool, через нее можно посмотреть на какой скорости подключился адаптер к коммутатору. Почитать как можно например здесь - lexpr.ru/ethtool
    4) Дело может быть и в полохо или неправильно обжатых кабелях. Как минимум см пункт 3.
    5) Про virtio Уже Вам написали.
    6) Да, в виртуалку можно прокинуть полностью физический адаптер (и даже из одного адаптера сделать несколько виртуальных!). Для этого сервер должен уметь VT-d/IOMMU (включается в BIOS), а адаптеры - SR-IOV/VFIO.
    Ответ написан
    Комментировать
  • Как реализовать планировщик выполнения скрипта на Python?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Для простых случаев - python-rq, для тяжелых - celery.
    Ответ написан
    Комментировать
  • Как и чем правильно чистить контакты SD-карт, чтоб их не повредить?

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

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Вы наверное поставили серверный вариант системы, без графического интерфейса. Если так и задумано, то что вы хотели делать?! Если не так, то проще перставить систему в десктопной версии.
    Но можно выполнить следующую команду и допоставить desktop sudo tasksel Из появившегося списка. Да, команда попросит ввести пароль повторно.
    Ответ написан
    1 комментарий
  • Какой сервер хранения данных выбрать?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Рекомендую посмотреть в сторону распределенных хранилищ, в частности - собрать CEPH-кластер. Серверов у вас много. Вы их свяжете между собой 10G сетью, поставите iSCSI на раздачу, а в некоторых случаях, если клиенты будут под linux, то и напрямую подключите. Будет у вас распределенное хранилище на все диски сразу. Можно будет сделать и кеширование на SSD, и прозрачное добавление дисковых ресурсов, и прозрачное восстановление и кучу всего хорошего.
    Есть, правда, небольшие требования к серверам, по гигабайту RAM на терабайт диска. Если втыкаете 24 диска по терабайту, то ставите 24 гига памяти. Но это не проблема. При этом вам совсем будут не нужны RAID-карты, достаточно обыкновенных HBA и экстендеров. За каждым диском отдельно будет следить и администрировать сам CEPH. Он же будет делать дублирование и распределение данных по дискам и серверам кластера. Производительность будет заведомо лучше, чем при записи на отдельный сервер, так как запись.чтение происходит параллельно на несколько серверов кластера.
    Дополнительно получите снапшоты, гибкость управления и очень хорошую отказоустойчивость.
    Ответ написан
    Комментировать
  • Вопрос по Eclipse IDE, не компилируется?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    А что Вы хотите от данного класса? У него нет метода main, соответственно как приложение его запустить нельзя. Он не наследует никаких классов, и тоже не будет никак запущен.
    Другими словами - данный класс нужно запускать к каком-то окружении. Вариантов два - сделать метод main public static void main(String[] args) { .... }, или запустить его из другого класса, который будет импортировать и сoздавать объект вашего Person.
    Ну, можно написать unit-test, в рамках другого тест-класса.
    Ответ написан
  • Нормально ли падение скорости WiFi в 5ГГц диапазоне на 100Мбит/с через стену толщиной всего в один кирпич?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Да, все нормально у вас. Чем выше гигагерцы, тем непрозрачнее стены! Если бы была бетонная стена, вообще, дай бог получить бы и 50 мегабит. 5гигагерц работают только на прямой видимости!
    Ответ написан
    Комментировать
  • Почему возникает ошибка при установке фреймворка twisted?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Все очень просто. Вы пытаетесь запустить его под питоном3, а он на это не рассчитан - только питон2.
    Ну и в современном мире уже есть куча альтернатив, асинхронность уже есть в третьем питоне изначально, и появились такие библиотеки, как asyncio и aiohttp, пользуйте на здоровье, с ними и проще и кода меньше.
    Ответ написан
  • Большая ли разница в написании приложения на java под десктоп и web?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Да, разница обычно большая. Но есть фреймворки, которые облегчат переход на WEB, и работающие на похожих принципах. Рекомендую посмотреть на Apache Wicklet https://wicket.apache.org/ и на Vaadin - https://vaadin.com/
    Ответ написан
    Комментировать
  • Как запустить внешнюю программу?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Я же вам ответил! Берите asyncio. И не дублируйте вопросы. И в питоне нет эвентов в понимании nodejs. Но есть async await. Пока не разберетесь с асинхронным программированием в питоне и асинхронными библиотеками, то смысла что-то подсказывать не будет.
    Ответ написан
    3 комментария
  • Стоит ли начинать с Ардуино, если хочешь познать мир микроконтроллеров на хорошем уровне?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Берите STM32, причем любой. Это достаточно современное семейство процессоров, с хорошими возможностями, как по энергопотреблению, так и по периферии. Обучающих материалов масса, но нужно прикладывать руки. Можно даже на нем запустить какую нибудь RTOS.
    Ответ написан
    Комментировать
  • Почему сокет не присылает больше 1 строчки в Python?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Потому что нужно читать в цикле! Иначе получаете только часть того, что успело поступить.
    conn, addr = s.accept()
    while 1:
        data = conn.recv(1024)
        if not data:
            break
        conn.sendall(data)
    conn.close()
    Ответ написан
    Комментировать