Задать вопрос
  • "прикладной код Java" - это что?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    В тексте вопроса написано много чепухи. Java может использовать внешнюю память. Кажется еще
    в Java 8 для Apache Ignite (и других NoSQL систем) были попытки использовать неуправлямую
    память через ByteBuffer. История где-то об этом сохранилась я думаю.

    Начиная с JDK-14 (могу ошибаться) завезли Foreign Memory API который оперирует с памятью
    более продвинуто.

    По поводу
    в Java не надо следить за памятью

    - неправда. Следить за памятью надо всегда. Иногда это делает разработчик (для С/C++)
    а иногда это делает GC или умные механизмы borrow-checker (Rust).
    Если не следить то долго работающие процессы пожирают всю память ОС
    до тех пор пока не будут убиты через ОС OOM killer. Возможно под слежением
    имелись в виду накладные расходы на работу GC? Но эта проблема специфична
    только для приложений которые активно делают new и переживают хотя-бы одну
    эпоху. Кроме того в Java есть несколько разных GC которые просто обнуляют
    все тезисы например 2000х годов и обсуждать их надо уже совсем как другие
    алгоритмы которые имеют другие свойства. Грубо говоря знания по GC очень
    сильно устарели после G1, Shennandoh e.t.c. Нужно учить заново всё.

    прикладной код Java - заменить на “прикладной код движка Java”

    Это вообще невозможно прокомментировать т.к. идет жонглирование терминами без
    определений. Что такое движок в данном случае - непонятно?

    В любом случае тебе надо звать в студию этого загадочного Романа и не плодить свои домыслы.
    Ответ написан
    2 комментария
  • Как настроить resolv.conf?

    @BurundukBurundukov
    Для NetworkManager в rpm/rhel based дистрибутивах воспользуйтесь конфигурацией ipv4.dns-options Пример: nmcli con mod CON_NAME ipv4.dns-options “timeout:1 rotate”. После перезагрузки можете проверить что в resolv.conf будут вноситься нужные параметры
    Ответ написан
    Комментировать
  • Bitbucket фсе, блокирует российские IP?

    @Nikita44
    Лайфхак - на битбакет можно зайти с www

    на здоровье
    Ответ написан
    2 комментария
  • Уже наступили реали, когда можно спокойно сменить прошивку телевизора?

    @tukreb
    Нет и вряд ли когда либо наступят.
    Единственное правильное решение, покупать "тупой" телевизор, а к ней приставку на Андроиде, и самое главное это вам обойдётся чуть ли не в 2 раза дешевле.
    Ответ написан
    1 комментарий
  • В чем причина низкой производительности IPSec на Mikrotik RB952UI-5AC2ND-TC?

    CityCat4
    @CityCat4 Куратор тега VPN
    Жил да был черный кот за углом...
    Нет аппаратного шифрования, следовательно шифрование нагружает процессор микротика. Когда рассчитвают именно на туннели по IPSec, обычно берут модели с аппаратным шифрованием. Можно попробовать установить со стороны микротика шифрование попроще - aes128-cbc и PFS modp1024, но особо прорывного действия я не оиждаю.
    Прорывным действием будет только замена на модель с аппаратным шифрованием.
    Ответ написан
    Комментировать
  • Как перенаправлять авторизованных пользователей на домашнюю страницу?

    azerphoenix
    @azerphoenix Куратор тега Spring
    Java Software Engineer
    Давно писал вот, такой код.
    Должен сработать.

    @GetMapping("/")
      public String homepage(Model model) {
    
        // Проверяем авторизован ли пользователь и если авторизован, то редиректим его в /dashboard
        if (SecurityContextHolder.getContext().getAuthentication() != null
            && SecurityContextHolder.getContext().getAuthentication().isAuthenticated()
            && !(SecurityContextHolder.getContext().getAuthentication()
                instanceof AnonymousAuthenticationToken)) {
    
          return "redirect:/dashboard";
        }
    
        return "index";
      }
    Ответ написан
    2 комментария
  • Нужно ли переносить центр с L3 на маршрутизатор?

    @SunTechnik
    Зависит от того, какие роли вы планируете возложить на pfSense.
    Если планруется, что он будет иметь доступ ко всем vlan и рулить доступом между vlan - то, возможно, придется перенести.
    Если же pfSense отвечает тоолько за выход в internet или vpn, то пусть Aruba остается в своей роли. Надо только на ней default (или необходимые) маршруты добавить..
    Ответ написан
    Комментировать
  • Критика кода возможна?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Тут вместо цепочки if можно switch-case использовать.

    @Override
        public void notification(Event event) {
            if (event.type() == EventType.REDRAW_REQUEST) {
                printField(event.field());
                return;
            }
    
            if (event.type() == EventType.BOMB_OPENED) {
                System.out.println("You opened bomb. Game failed");
                printField(event.field());
            }

    И в других местах - похожие косяки.
    Ответ написан
    Комментировать
  • Можно ли роутер и коммутатор соединить двумя и более проводами, для увеличения скорости?

    @TheBigBear
    СтарОдмины мы
    Можно
    И Микротик, и этот D-Link умеют LACP
    А не хотите купить кабель прямого подключения SFP/SFP+ MikroTik XS+DA0001 и получить 10 Gbit? (или подобный совместимый)
    В обоих железках я так понимаю SFP порты простаивают
    Ответ написан
    1 комментарий
  • Можно ли роутер и коммутатор соединить двумя и более проводами, для увеличения скорости?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    LACP, Link Agregation, Bonding и подобные запросы в гугл пробывали? можно с добавлением подстроки mikrotik+d-link
    Ответ написан
    Комментировать
  • Можно ли роутер и коммутатор соединить двумя и более проводами, для увеличения скорости?

    Melkij
    @Melkij
    DBA для вашего PostgreSQL?
    trunk/bonding/teaming/LACP
    https://ru.wikipedia.org/wiki/%D0%90%D0%B3%D1%80%D...

    Для вашего коммутатора заявлен LACP (802.3ad), микротик его тоже имеет. Попробуйте настроить.

    Если просто включите второй кабель без настройки - получите петлю и сеть ляжет.
    Ответ написан
    Комментировать
  • Крестики-нолики.Проблемы с ходом Х?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нет-нет дружище этот код надо выбросить. Переписывать или улучшать его нет смысла. Он плох. У тебя есть координатная сетка. Но ты почему-то не пользуешся этим а вычисляешь какие-то частные случаи.

    Вообще в изучении программирования - копирование чужого кода - это не плохо. Это вполне себе метод. Только скопировать нужно разобравшись как новый код работает. И сравнить его со своим решением. Я тоже так делал когда изучал бейсик для БД1001 или для Sinclair. Я просто копировал всякие текстовые игры-квесты и потом изменял и улучшал их.

    Найди любые крестики-нолики на С++. И в качестве критерия - код должен быть хотя-бы короче чем твой.
    Ответ написан
    Комментировать
  • Почему лямбда не работает, хотя версия джавы должна это позволять?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Если используется система сборки maven или gradle, то номер версии java устанавливается через соответствующие конфиги.
    Конфигурация проекта в idea будет работать только во время редактирования кода, а во время компиляции и выполнения - будет использоваться конфигурация системы сборки проекта.

    После изменения версии java нужно будет пересобрать проект.
    Ответ написан
    Комментировать
  • Сказано, что различие между for и while в пространстве видимости. Что это значит?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Наверное имеется в виду это. Вот тут переменная i может быть использовани и после цикла.

    int i = 0;
    while(i<10) {
     doSomething(businessObj[i]);
     j++;
    }
    i = 0;


    Кострукция for - замыкает область видимости и переменную не видно. Хотя в наше
    время код больше тяготеет к более function-style кодингу когда итератор
    или параметр цикла вообще не нужен. У нас есть некий foreach и он делает все что надо.
    Ответ написан
    4 комментария
  • В чем смысл do while? Как его можно использовать?

    mayton2019
    @mayton2019
    Bigdata Engineer
    do-while удобно применять когда например есть пользовательский ввод и есть реакция на ошибу. Где нужно ввод
    повторить. Например

    do {
      s = input("Enter your bidthday: ")
    } while(!isValidDate(s));

    Еще я использовал для простого I/O когда надо что-то по-символьно читать и проверять
    что файл не закончился (результат не отрицательный).

    В последних версиях Scala (3.x) мусье Одерский внезапно зобанил оператор цикла с постусловием.
    Я уж не помню как он это аргументировал.

    В качестве альтернативы предлагалось делать такой композитный предикат который делает
    сначала действие а потом проверяет.

    while ({ <body> ; <cond> }) ()

    Еще дальше пошел Дейкстра. Он придумал специальный вид do-while для конечных автоматов.
    Такой себе гибрид do-switch-case-while. Где можно как в DSL описать исходящие переходы.
    Правда я не помню где он его реализовал.

    UPD: Ошибочка. Не Вирт а Дейстра. Путаю их.
    Ответ написан
    Комментировать
  • Что написать на C++ для практики?

    mayton2019
    @mayton2019
    Bigdata Engineer
    У меня периодически возникает одна и таже задача - очень быстро искать нужный текст в логах. Логи большие. Могут быть по терабайту. Россыпь файлов типа

    application/log-2023-02-16-12-30.log
    application/log-2023-01.gz

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

    Вот есть сделать предложение - создать утилиту igrep (index-grep) которая при первом пуске - быстро проиндексирует по датам и словам.
    И при полседующих будет искать быстро. И диапазон учитывать например.

    Классический греп не подходит. Он все равно ищет линейно. Не учитывая даты. А мне надо так.

    $ igrep time=-12h level=ERROR Tomcat Network Error
    Вот. Здесь я как-бы захотел поискать все события за 12 часов назад уровня ошибки и содержащие
    два ключевых слова.

    Сами файлы обычно внутри структурированы так. Это почти всегда шаблон.
    2023-02-16T00:00:01,000 [Info] Server started.
    Есть метка времени. Уровень события. И текст события. Много-строчники (стектрейсы) можно соединять в одну строку. О длине самих файлов - ничего не известно. Могут быть от мелких (дневных) до архивов.

    Вот такая вот задача. На мой взгляд - практичная. И есть где позаниматся оптимизацией. Дисковая
    оптимизация. Индексные структуры. И размышления на тему как вообще в одном тексте искать
    другой текст.

    UPD.
    Ответ написан
    Комментировать
  • Какой из способов создания оффлайн биткоин-кошелька самый безопасный?

    mayton2019
    @mayton2019
    Bigdata Engineer
    У меня возникал аналогичный вопрос но не в части кошельков а в сервисах двухфакторной автентификации для мобил. Вот потеряю допустим телефон. Какова процедура восстановления? Это головняк. Даже чтоб восстанавливать что-то их бэкапа - надо себя идентифицировать или предьявлять мастер-пароли которые очень длинные.

    К слову я ничего не придумал. Немного замкнутый круг получается. Самый простой и надеждый способ - все таки использовать мнемонические фразы из стандартного bip39. Эти фразы выжечь у себя татуировкой на руке или блин заказать себе жетон на шею с гравировкой. Или как Киану Ривзу прошить в мозг под гипнозом. Вобщем нужно такое хранилище чтоб.... ну короче лучше сейфа и бумагами я пока ничего не придумал. Звучит смешно но бумага оказывается надежнее чем жесткие диски сидюки и кассеты стриммера.

    Археологи подтвердят.
    Ответ написан
    Комментировать
  • Жесткий диск во время работы издаёт звук (такой как при включени и выключении) - «высокочастотный свист». Что может быть причиной?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это как в автомобиле. Если что-то застучало или загремело - срочно на СТО. Учитывая что это HDD механического типа - далее ситуация будет ухудшаться. Я-бы сделал сразу полный бекап всего. Чтоб потом не плакать слезами. И в ремонт.
    Ответ написан
    Комментировать
  • Стоит ли переписывать старый проект на .NET6 (на голом энтузиазме)?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Бизнес должен понимать что вы ему предлагаете. По сути эту идею можно продвинуть только под соусом разработки новой фичи. В противном случае у вас будет сильное непонимание. Все что вы предлагаете - это NFR. Не-функциональные требования. Шестая версия дотнет. Асинки. Обжекты. Бизнес не понимает как ему это дальше продавать.

    Я-бы сказал что просто так взять всё и переписать - это гиблое дело. Пойдут баги и бизнес попросит либо срочно исправлять либо откатить это назад до старой версии. Это - фиаско. Очень часто бывает так что старый и плохой код завязывается на какое-то странное поведение API которое плохо документировано и чёрт-пойми-как-работает. Но работает. Я много таких аномалий видел. И ты его исправляешь по фень-шую как должно быть и становится ... (!) еще хуже. Особенно большая беда с мультипоточкой и интеграцией например с операционкой или сторонними нативными либами.

    Если вы имеете силы и смелость - то пишите план (желательно на пол-года) на рефакторинг. Шаг-за шагом. Сначала - покрытие всего тестами. Потом миграция версий тоже мелкими шажками. И все это (!) параллельно с разработкой новой фичи которую бизнес одобрит. Только так.
    Ответ написан
    Комментировать