Задать вопрос
  • Профориентация и выбор дальнейших путей развития?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Еще один важный критерий который мне сильно отсеивает количество вакансий это только аккредитованные IT-организации.

    Чему вы удивляетесь, если сократили количество потенциальных нанимателей с семи миллионов до двухсот тысяч? К тому же, это сделали не только вы, поэтому в эти двести тысяч ИТ-компаний сейчас ломятся кучи таких же бедолаг, а счастливые обладатели аккредитации выбирают лучших из лучших.

    Еще заметил что очень мало стало джуниорских вакансий.

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

    Вообще сейчас по моему какой-то кризис в IT

    Нет, у крепких мидлов и тем более сеньоров всё замечательно.

    Вдобавок начинает ИИ наступать нам на пятки

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

    Я начинаю, мне вроде интересно, но потом интерес угасает, потому что мне то за это никто не платит.

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

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    • Перегрев
    • Помирает видеокарта
    • Помирает БП
    • Косяк в драйверах

    Проверьте для начала температуры видеокарты, если высокие - заменить термоинтерфейсы. Далее проверьте напряжение по всем линиям, особенно на 12 вольт без нагрузки и под нагрузкой. Если напряжение выходит за пределы допустимых - менять БП. Если обновлялись драйверы - откатить на более старую версию. Если всё в норме - значит пришло время отправления в электронный рай для видеокарты или ещё чего-то.
    Таблица допустимых напряжений блока питания стандарта ATX

    Линия напряжения
    	+12В 	        +5В 	        +3.3В 	        +5VSB 	        -12В
    Диапазон отклонений
        ± 5% (± 0.6В) 	± 5%(± 0.25В) 	± 5%(± 0.165В) 	± 5%(± 0.25В) 	± 10%(± 1.2В)
    Минимальное напряжение
    	11.4В 	        4.75В 	        3.135В 	        4.75В 	        10.8В
    Максимальное напряжение
    	12.6В 	        5.25В 	        3.665В 	        5.25В 	        13.2В
    Ответ написан
    2 комментария
  • Для чего нужен DefaultServletHttpRequestHandler?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Spring
    Седой и строгий
    Чтобы разобраться в каком-то вопросе, нужно его декомпозировать и очистить изучаемую область от лишних элементов. Поэтому делаем минимальный проект с голым Spring MVC, без всяких там Boot'ов и Thymeleaf'ов.
    Структура каталогов:
    .
    │   pom.xml
    │
    └───src
        └───main
            ├───java
            │   └───com
            │       └───example
            │               Config.java
            │               DumbInitializer.java
            │
            └───webapp
                    test.txt

    pom.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
             http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.example</groupId>
        <artifactId>q1395400</artifactId>
        <version>1.0-SNAPSHOT</version>
        <packaging>war</packaging>
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <maven.compiler.source>21</maven.compiler.source>
            <maven.compiler.target>21</maven.compiler.target>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>jakarta.servlet</groupId>
                <artifactId>jakarta.servlet-api</artifactId>
                <version>6.1.0</version>
                <scope>provided</scope>
            </dependency>
    
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>6.2.6</version>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.4.0</version>
                </plugin>
                <plugin>
                    <groupId>org.eclipse.jetty</groupId>
                    <artifactId>jetty-maven-plugin</artifactId>
                    <version>11.0.25</version>
                    <configuration>
                        <webApp>
                            <contextPath>/</contextPath>
                        </webApp>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </project>

    Config.java
    package com.example;
    
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
    import org.springframework.web.servlet.config.annotation.EnableWebMvc;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
    
    @Configuration
    @EnableWebMvc
    public class Config implements WebMvcConfigurer {
        @Override
        public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
            configurer.enable();
        }
    }

    DumbInitializer.java
    package com.example;
    
    import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
    
    public class DumbInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
        @Override
        protected Class<?>[] getRootConfigClasses() {
            return null;
        }
    
        @Override
        protected Class<?>[] getServletConfigClasses() {
            return new Class[] { Config.class };
        }
    
        @Override
        protected String[] getServletMappings() {
            return new String[] { "/" };
        }
    }

    Запускаем командой mvn jetty:run-war, открываем в браузере адрес http://localhost:8080/test.txt и видим содержимое файла test.txt. Без строки configurer.enable() получили бы 404.

    Обычно трогать DefaultServletHttpRequestHandler вообще не приходится. Во-первых, Boot автоматически конфигурирует обслуживание статики подходящим для большинства случаев образом. Во-вторых, если уж лезть в это, то следует задать явные маппинги адресов на пути, а не разрешать дефолтному сервлету обслуживать любой запрос, для которого нет обработчика, как запрос к статике.
    Ответ написан
    Комментировать
  • Как определить свой уровень программирования?

    @Everything_is_bad
    твой уровень программирования "школьник 9го класса, изучающий полгода java"
    Ответ написан
    1 комментарий
  • Где найти драйвера ATI Radeox 1900XTX Windows 11?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Последние официальные драйвера под эту карточку вышли в 2010 году под Windows Vista. Если в Windows 11 они не встают, то придётся страдать. Ну или закопать стюардессу.
    Ответ написан
    2 комментария
  • Как работает асинхронность в 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 внутри одного класса, нужно чтобы обязательно был другой бин
    Ответ написан
    Комментировать
  • На Q&A пробираются рекламные боты?

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

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

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Вот так и 20 лет назад на стабильность драйверов ATI жаловались в основном пользователи nvidia. Как так, почему - тайна скрытая мраком, маркетингом и фанатиками.

    Где-то с 2011 года я, получается, непрерывно пользуюсь AMD GPU на десктопе. Никаких проблем от видеодрайвера у AMD под linux. А уж после закапывания fglrx и установка сократилась до одного non-free пакета с firmware.
    Ответ написан
    Комментировать
  • Есть ли возможность в России подключить иностранный интернет через тарелку в данный момент?

    Sanes
    @Sanes
    Это тупиковая идея. Есть масса других способов получить IP. Тот же VPN или Proxy.
    Ответ написан
    4 комментария
  • Зачем аннотацию применять к самой себе?

    @shushara4241
    Смысл есть, когда вы пишите аннотацию для аннотаций и необходимо применять ее и к самой аннотации. Самый яркий пример - @Retention и @Target. Для самих @Retention и @Target аннотаций они тоже необходимы, т.к. применяется к аннотациям. Вот такая рекурсия. На практике же крайне специфичный кейс
    Ответ написан
    Комментировать
  • Очень низкая upload скорость на macbook air m1 2021?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Ну так подключите мак шнурком через адаптер - и если это поможет, чините вайфай.
    Ответ написан
    1 комментарий
  • Очень низкая upload скорость на macbook air m1 2021?

    GavriKos
    @GavriKos
    Маки по умолчанию коннектятся к 5 Ггц сети. И очень неохотно перелазят на 2.4. Вполне может быть дело в этом. Причем тут может быть виновато как окружение (5Ггц хуже распространяется), так и дохлость роутера в этом вопросе.
    Как проверить - разделить сети, ну или отключить 5 Ггц вообще, и потестить уверенно на 2.4.
    Ответ написан
    9 комментариев
  • Можно ли портировать прошивку на другой чипсет?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Возможно всё. Вопрос лишь в трудозатратах и целесообразности. Если у вас есть время и возможности этим заниматься - то кто ж вам запретит? Берёте и делаете.
    Ответ написан
    Комментировать
  • Как подключить монитор в компьютер без видеовыхода?

    @Drno
    Плата есть. называется видеокарта)
    Ответ написан
    Комментировать
  • Какая видеокарта подойдет к gigabyte x79 ud3?

    @Aptwel
    Вопрос не совсем корректный. Под какие цели? Какой процессор? Блок питания сколько ватт? Какое разрешение дисплея? Если опустить все эти вопросы, то любая современная карта будет у вас работать, главное что бы у вас БП подходил под требования карты + разъёмы были, а так чем дороже, тем лучше карта
    Ответ написан
    7 комментариев
  • Почему Comparator является функциональным интерфейсом, если он имеет два абстрактных метода?

    Потому что метод equals не его личный, а из Object'а. И остается только один метод compare
    Ответ написан
    1 комментарий
  • Как мгновенно выключить питание ATX из Windows?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Подключаешь к компьютеру матричный принтер, желательно А3 формата, он помассивней, привязываешь к каретке принтера веревкой вилку кабеля питания выключаемого компьютера, отправляешь на этот принтер печать строки «выключи меня скорееееееееееееееееееееееееееееееее» и всё.

    Есть альтернативный вариант: напротив кнопки питания на блоке питания выключаемого компьютера ставится выключающий компьютер с CD-дисководом. На выключающем компьютере даёшь команду выдвинуть лоток CD-дисковода, тот нажимает на кнопку питания выключаемого - профит!

    Также есть любопытный приборчик fingerbot - управляемый беспроводной палец для нажатия физических кнопок. Поищи, их сейчас много продается разных. У меня такой управляет кнопкой подсветки на кухонной вытяжке (неохота лезть внутрь, приклеил fingerbot-а).
    spoiler
    6783664121fcf184378883.jpeg
    больше года полёт нормальный.
    Ответ написан
    2 комментария
  • Кто нибудь объясните мне про индексы в БД, я не вижу в них никакого смысла?

    GavriKos
    @GavriKos
    если ты все равно при разработке проекта не можешь знать, какие данные будут самыми запрашиваемые для редактирования или для запросов.

    Почему это не знаешь? Это вполне себе анализируется на этапе бизнес-требований. Конечно потом индексы можно и нужно пересматривать, но и в начале вполне это может быть понятно исходя из ТЗ.

    Потом я прочитал что в век быстрых компьютеров, оптоволокна, быстрого более 1000мбит интернета и прочего, в индексах смысл теряется, и они могут замедлить работу твоей базы данных.

    В век быстрых компьютеров еще и растет само по себе количество информации. И потребность оптимизации никуда не делась. К тому же - это бизнес - так что если добавив индекс можно сэкономить на инфраструктуре - то кнчн лучш едобавить индекс, а не вкидывать бабки в дорогое железо.
    Ответ написан
    Комментировать
  • Почему ответ на русском языке в терминале VSC не принимается и просто скипается?

    @rPman
    Добавь в switch case секцию default: и выведи на экран что у тебя в age (что бы увидеть невидимые символы типа табуляция, \n и т.п, сериализуй его чем то типа json или если у тебя java 15 версии String.escape() ) либо отладкой проанализируй содержимое после ввода слова с консоли.

    Еще момент, у тебя switch подчеркнут варнингом, скорее всего из-за отсутствия default, но есть еще вариант, на сколько я знаю до кажется 7 версии строки в switch использовать нельзя (в том же c++ это вообще было типа не ошибка, но строки не сравнивались, а использовались указатели на них, соответственно это работало как ожидается только для констант) может оно об этом тебе и говорит?

    upd. в windows, java Scanner нужно принудительно указать в какой кодировке будет поступать ввод, что бы она корректно конвертировала во внутреннее представление, можно это сделать так
    Scanner scanner = new Scanner(System.in, "CP866");
    или при запуске приложения
    java -Dfile.encoding=cp866 Switch
    Ответ написан
  • Какой выбрать роутер для обхода блокировок?

    @mltk
    Есть почти специальный роутер :) для обхода блокировок -- Routerich

    Там сразу OpenWRT в дружелюбном обличии, есть даже мастер настройки как на каких-нибудь длинках.
    Все возможные пакеты, которые могу понадобиться для обхода уже установлены.

    Включить обход блокировок -- скопипастить одну команду.

    Но самое главное -- это поддержка и комьюнити -- t.me/routerich

    Купить можно на озоне или по предзаказу в телеграме по ссылке выше с бесплатной доставкой в ближайший СДЭК.

    P.S. технически это аналог роутера Xiaomi AX3000T, только в Роутерич в добавок есть ещё порт USB 2.0 -- можно воткнуть LTE-модем и т.п. Цены смотрите сами, на мой взгляд это оправданная доплата за USB, отсутствие необходимости что-то прошивать/выбирать правильную прошиваемую ревизию железа Сяоми, а так же за поддержку/комьюнити в телеге.
    Ответ написан
    Комментировать