Задать вопрос
  • Как работает асинхронность в Spring MVC?

    @shushara4241
    Добрый вечер!
    В контроллерах getDefer1, 2, 3 вы блокируете поток томкета, правильнее будет переделать на какой-нибудь вариант типо такого:
    @GetMapping("/defer")	
    DeferredResult<String> getDefer() {
        DeferredResult<String> result = new DeferredResult<>();
        CompletableFuture.runAsync(() -> {
            try {
                Thread.sleep(30000);
                result.setResult("defer");
            } catch (InterruptedException e) {
                result.setErrorResult("Timeout");
            }
        }, mvcTaskExecutor());
        return result;
    }

    Так должно работать так как вы хотите. С async не работает, потому что спринг не умеет перехватывать вызовы @Async внутри одного класса, нужно чтобы обязательно был другой бин
    Ответ написан
    Комментировать
  • Как учить понять школьную геометрию?

    Adamos
    @Adamos
    Уверенность знания математики приходит в три ступени.
    1. Прочитал учебник и вроде бы понял.
    2. Прорешал задачник и вроде бы справился.
    3. Решая практическую задачу, смог свести ее к этому разделу математики и решить. Вот теперь - понял.
    Ответ написан
    Комментировать
  • Выбор специальности образования на магистратуре?

    @Drno
    Просто для справки - у множества ИТшников, в том числе высокого уровня, даже вышки никогда не было...
    Ответ написан
    Комментировать
  • На Q&A пробираются рекламные боты?

    TosterModerator
    @TosterModerator Куратор тега Хабр Q&A
    Модератор Хабр Q&A
    Возможно криминал, по коням!

    Что делать?
    Ничего не надо делать, все под колпаком и эти боты прекрасно видны модераторам. Но поскольку ресурсов на системное решение проблемы пока не выделяют, они неспешно обрабатываются руками.
    Ответ написан
    Комментировать
  • Какую платформу выбрать для создания MVP?

    Adamos
    @Adamos
    Битрикс - это не платформа, а решение. Делать на нем что-то свое - это больше борьба с тем, что накостыляли кодеры Битрикса. А когда он надоест, все наработки можно будет спустить в унитаз, потому что больше они ни к чему не подойдут.
    Озвученная Ларавель - хороший фреймворк, но готовые писать на голом фреймворке не задают таких вопросов. Вам, полагаю, стоит посмотреть CMS на базе Ларавели.
    Самому мне нравится OctoberCMS, точнее, сейчас - ее бесплатный форк WinterCMS. Каталог готовых плагинов, среди которых немало бесплатных, тут: https://octobercms.com/plugins
    Ответ написан
    4 комментария
  • Возможно ли перевестись из МТИ в более престижный ВУЗ?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    95% учёбы в любом ВУЗе - это собственные усилия учащегося (тыц). Особенно в IT - там я бы сказал даже все 99%. КПД ВУЗов по подготовке квалифицированных специалистов в IT процентов 10 в лучшем случае. И то, эти 10 процентов - это самоучки, которым и самим интересно учиться и развиваться в данном направлении (а некоторые уже даже работают по специальности). А вот возможности и особенности перевода имеет смысл спрашивать в справочной или на кафедре самого ВУЗа - там подскажут более точно.
    Ответ написан
    Комментировать
  • Как скачать видео, начинающееся с blob?

    @TheSima
    Гуглится именно эта страница, но нормального ответа так и нет(не у всех Chrome), решил дополнить от себя.
    Для видео с протоколом HLS решение такое(источник):
    1) Определить m3u8 "список" для того видео, которое хотите скачать. Обычно это делается так:
    - Включаем режим разработчика в браузере и открываем(в этом режиме) вкладку Сеть.
    - Открываем страницу с видео
    - В появившихся строчках ищем "что-то".m3u8 (можно написать .m3u8 в строку фильтра во вкладке Сеть)
    Например: http://example.com/video_url.m3u8
    Это и будет нужная ссылка на "список"
    2) Скачать ffmpeg (и распаковать):
    Windows: можно здесь(ссылка устарела), здесь скачать из Assets файл ...-full_build.zip или 7z по вкусу, распаковать. Открыть папку bin, зажать Shift и кликнуть правой кнопкой в пустое место в окне папки bin, нажать "Открыть окно команд".
    Linux: я думаю, ребята разберуться ;)
    3) Скачать видео с помощью ffmpeg :
    Ввести следующую команду, заменив ссылку из примера на ссылку из пункта 1:
    ffmpeg -i "http://example.com/video_url.m3u8" -c copy -bsf:a aac_adtstoasc "output.mp4"

    output.mp4 - будет ваше видео) имя файла в команде можно менять ;)
    Ответ написан
    2 комментария
  • Есть ли в питоне файл проекта?

    @Everything_is_bad
    https://packaging.python.org/en/latest/guides/writ...

    закольцовывание ссылок
    это про что? если про циклический импорт, так это сигнал что есть проблемы проектирования, а не про описание проекта.
    Ответ написан
    Комментировать
  • Неправильный тип данных Rust?

    vabka
    @vabka Куратор тега Rust
    Мне кажется, тебе достаточно явно написали в сообщении, что тебе пришёл Result, а не str, как того ждёт serde_json.
    Обработай ошибку, достань Message, и из него уже строку доставай.

    Я понимаю, возможно мой вопрос глупый. Но разве сложно рассказать как это делается или дать ссылку на соотвествующие материалы. Спасибо.

    Да пожалуйста) https://doc.rust-lang.org/book/ch09-02-recoverable...
    Ответ написан
  • На чём создать прогу для обработки больших данных?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Лучше для чего именно? В общем случае - на том, что знаете или что интересно было бы изучить.
    Ответ написан
    2 комментария
  • Артефакты на экране. Что делать?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Сделать скриншот - это сразу отметёт половину случаев.
    Если артефакты и на скрине - умерла видеокарта. Если скрин хороший - помер монитор/кабель.
    Попробовать ещё запустить другую ОС, liveUsb любой сделать и попробовать, или просто в BIOS настройки зайти и там посмотреть - это может быть глюк операционки или драйверов.
    Ответ написан
    Комментировать
  • Почему не запускается WebAssembly PWA страница?

    Fragster
    @Fragster
    помогло? отметь решением!
    Судя по ошибке надо сделать простейшую публикацию на веб сервере а не запускать как файл. Да, придется разогнать IIS, apache или nginx (я на винде использую IIS, ибо проще всего, но кому-то может быть проще apache в составе чего-то типа wampserver).
    Ответ написан
    2 комментария
  • Почему при проверке Decimal на принадлежность возвращается false?

    @Everything_is_bad
    заново читаем учебник или доки
    1. выясняем что именно делает is
    2. делаем правильно isinstance(a, Decimal)
    Ответ написан
    Комментировать
  • А return 0(1) * _getch(), есть ли смысл от такой конструкции?

    @Furax
    Похоже на неуклюжую попытку игнорировать результат вызова функции _getch() и не словить предупреждений.

    Синтаксис "0(1)" специфичен для Visual Studio. Clang 18.1.3 и GCC 13.3.0 его не понимают. Писать на C++ так, чтобы при переносе на другую платформу приходилось править синтаксис, - довольно плохая практика (обычно находится и так достаточно проблем, чтобы их ещё руками плодить). С другой стороны, функция _getch() объявлена в conio.h, которого на том же линуксе нет, поэтому, возможно, переносимость и не была целью.

    Кстати, за более чем 15 лет на C++ вижу такой синтаксис впервые. Повод задуматься о том, насколько он будет понятен следующему разработчику.
    Ответ написан
    1 комментарий
  • Можно ли стать бекэндером без фронтенда?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Конечно можно. Бэкенд+фронтенд это уже фуллстэк. Но самые примитивные и базовые знания лучше все-таки иметь.
    Ответ написан
    Комментировать
  • Есть ли преимущества от удаления поля id при создании таблицы?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Вникаете в предметную область той задачи, для которой эта таблица используется. Всё, ответ найден.

    Нет ничего удивительного в таблицах, у которых нет поля id. В предметной области может быть достаточно хороший естественный ключ.

    С точки зрения производительности - да, конечно, есть смысл не хранить ненужные данные. Меньше строка => меньше таблица => в тот же объём RAM влезает больше кеша и меньше IO. Немного, правда, чистыми 8гб на каждый миллиард строк получается всего для bigint. Но если поле больше ни для чего не нужно, то почему бы и нет?
    Ответ написан
    Комментировать
  • Как определить причины низкой производительности postgres?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Вы смотрите на совершенно бесполезный график. Смотрите на полезные.

    Если у вас табличка с 10 индексами и к ней select * from foo where id = ? - то это минимум 11 AccessShareLock. Совершенно логично, что чем больше параллельно нагрузки - тем больше вы увидите AccessShareLock. И дальше куда с этим? Вот и получается совершенно бесполезный график. А задирание max_connections сделает только хуже.

    Посмотрите график CPU, есть ли в принципе CPU свободный (помним что у вас наверняка есть HT, значит 100% утилизации недостижимы, реальный потолок окажется где-то в районе 70-90%)
    Посмотрите графики латентности IO. Если проседает латентность чтения или записи под нагрузкой - то это будет причина замедления. СУБД очень чувствительны к латентности.
    Дальше графики pg_stat_activity с разбивкой по state. Если растут idle in transaction - проверять как дела на приложении, а так же сеть.
    Конечно, графики по pg_stat_statements. top5 запросов по времени выполнения, для начала.
    И проверить наличие корреляции с графиком длительности самой старой транзакции.
    Ответ написан
    4 комментария
  • Стоит ли скрывать пункт про образование в резюме?

    Ну, скроете вы его, а дальше HR либо на этапе первичного разговора, либо уже на собеседовании спросит всё равно. Надеяться, что удастся убедить при живом общении можно, но, учитывая огромный пул одинаковых кандидатов, шансы невелики. Поэтому я бы советовал быть максимально прозрачным и написать какой-то сопроводительный текст, объясняющий ситуацию. Тогда на собеседование вас позовут люди, которых ваша учёба не пугает по каким-то причинам — сэкономите время и себе, и другим.
    Само по себе отсутствие диплома почти никого не отпугнёт, а вот дополнительная занятость вполне может. Если даже вы успешно такими манёврами куда-то пробьётесь, есть шансы быстро вылететь, когда люди поймут, что получили не то, на что рассчитывали, и придётся уже это объяснять на следующих собеседованиях.
    Ответ написан
    4 комментария
  • Attempt to invoke virtual method 'void android.widget.Button.setVisibility(int)' on a null object reference?

    @evgez
    Ошибка возникает из-за того, что вы пытаетесь получить доступ к элементам интерфейса через findViewById() до установки макета активности с помощью setContentView(). В результате переменные driverRegBtn, quest и другие остаются null, и попытка вызвать методы на этих объектах приводит к крашу.

    Исправьте порядок вызовов в onCreate():
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 1. Сначала устанавливаем макет
        setContentView(R.layout.activity_driver_reg_login);
        
        // 2. Теперь инициализируем элементы интерфейса
        driverRegBtn = findViewById(R.id.driverReg);
        quest = findViewById(R.id.quest);
        driverEmail = findViewById(R.id.driverEmail);
        driverPassword = findViewById(R.id.driverPassword);
        signInBtn = findViewById(R.id.signIn);
        statusDriver = findViewById(R.id.statusDriver);
        
        // 3. Теперь можем работать с элементами
        driverRegBtn.setVisibility(View.INVISIBLE);
        
        // Остальной код (EdgeToEdge и т.д.)
        EdgeToEdge.enable(this);
        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
            Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
            return insets;
        });
    }


    Убедитесь, что в вашем XML есть все указанные элементы с правильными android:id.

    Для элементов, которые могут быть скрыты/показаны, проверьте начальное состояние видимости в XML (например, android:visibility).

    Используйте аннотацию @Nullable или @NonNull для переменных представлений, чтобы получить подсказки от Android Studio.
    Ответ написан
    1 комментарий
  • Необходимо ли наличие диплома магистратуры, аспирантуры для пути с разработки в высший менеджмент?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    В банке просто так тебе занять должность C-grade не дадут :) Даже с дипломом академика. В конторах пониже - не обязательно. Вообще магистерский диплом и далее - он не роялит в бизнесе совершенно, только в науке. В бизнесе ценится умение добиваться поставленных задач.
    Вот ты приходишь, тебе дают отдел - десяток балбесов-программистов, каждый со своими уникальными заморочками. И тебе нужно пасти этих котов, чтобы от них был результат. Есть результат - ты хороший руководитель, вот тебе премия и все такое. Нет результата - ты хреновый руководитель. Чем тебе тут диплом аспиранта поможет?
    Ответ написан
    Комментировать