Задать вопрос
  • Куда надо устанавливать Python и его библиотеки?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Я устанавливаю в корень диска, так как пробелы или нелатинские символы в пути к интерпретатору - это потенциальный головняк.
    Ответ написан
    4 комментария
  • Профориентация и выбор дальнейших путей развития?

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

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

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

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

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

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

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

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

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

    В нашей отрасли много тех, кто не программировать не может. Вы всегда будете проигрывать в конкуренции с ними.
    Ответ написан
  • Возможно ли в android studio сделать что то подобное как grad-cam в python?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Надо понимать, что вычислительные и энергетические ресурсы мобильного устройства ограничены. Даже если можно, не стоит этого делать. Лучше на том же питоне сделать web-сервис, а мобильник использовать в качестве клиента.
    Ответ написан
    Комментировать
  • Как найти удалённую работу с 20+ лет опыта в разработке?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Но в 2024-м что-то изменилось.

    Везде закрутили гайки из-за непрекращающегося заграничного DDoS'а, крупных взломов и повышенного внимания органов к переводам денег за границу.
    Ответ написан
    Комментировать
  • Что изучать дальше?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Куда двигаться дальше senior разработчику? Новый язык, технологии, opensource, стартап? Восемь лет прошло с того моего ответа, всё ещё не понимаю, как можно попасть в такую ситуацию.
    Ответ написан
    5 комментариев
  • Для чего нужен 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 автоматически конфигурирует обслуживание статики подходящим для большинства случаев образом. Во-вторых, если уж лезть в это, то следует задать явные маппинги адресов на пути, а не разрешать дефолтному сервлету обслуживать любой запрос, для которого нет обработчика, как запрос к статике.
    Ответ написан
    Комментировать
  • Как понять сколько max соединений в pgxpool-е тебе нужно?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега PostgreSQL
    Седой и строгий
    Количество соединений в пуле зависит от того, сколько у вас соединений вообще может держать СУБД, какие накопители использует сервер баз данных, сколько экземпляров вашего сервиса запущенно одновременно, сколько ядер доступно каждому сервису и сколько соединений с БД может одновременно захватывать один поток. Проще говоря, нет универсального значения, надо считать для каждого отдельного случая.
    Ответ написан
    2 комментария
  • Сайты для государственных учреждений нужно делать только на Битриксе?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Нет.
    Ответ написан
    Комментировать
  • Как сконвертировать список в JSON?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    from itertools import batched
    
    a = ['A', 123, 'B', 321, 'C', 1234]
    b = dict(batched(a, 2))
    Ответ написан
    Комментировать
  • IT с медицинским образованием - реально?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Все специалисты ИТ смежные, почти никто не работает в чисто ИТ, все занимаются автоматизацией какой-то области человеческой деятельности. Естественно, чем лучше знаешь прикладную область, тем лучше решения способен разрабатывать. Так что в автоматизации медицины образование и опыт врача будут полезны. Однако, они не обязательны, многие из нас регулярно прикладную область меняют и изучают новую с нуля.
    Ответ написан
    Комментировать
  • Выбор специальности образования на магистратуре?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Даже на наличие диплома мало кто смотрит, а уж тем более на то, что в нём написано.
    Ответ написан
    Комментировать
  • Что нужно знать middle и senior golang developer?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Грейды - это не про знания, а про опыт и сформированный им майндсет. Чётких границ и однозначных критериев у грейдов нет.
    Ответ написан
    5 комментариев
  • Говорят,что не надо знать матем. при изучении программирования, но почему все задачи математические?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Потому что эти задачи придумали те, кто любит раздувать собственную важность и претендовать на обладание сакральным знанием. Попробуйте сменить источник учебного материала.
    Ответ написан
    Комментировать
  • В асинхронной функции при создании массива он будет асинхронным или обычным python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Глобальные переменные - зло сами по себе, а в конкурентном окружении и подавно.
    Ответ написан
    3 комментария
  • Где найти курсы повышения квалификации по профстандартам?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Архитектор - это такой специалист ИТ, который на протяжении многих лет решал множество разнообразных проблем, в результате чего приобрёл огромный уровень насмотренности, и к нему естественным образом начали ходить за советом и помощью программисты, админы, безопасники, менеджеры и вообще все. Естественно, такому нигде не учат. Профстандарт придумали только для того, чтобы госуха могла на него в документах ссылаться.
    Ответ написан
  • HeadHunter наоборот. Где найти?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Тоже hh.ru, как и любой другой подобный сервис, только когда соискатель опытный. Выкладываешь резюме и к тебе по 2-3 рекрутёра в неделю сами ломятся с предложениями. Я например, последний раз сам искал вакансии в 2006-м.
    Ответ написан
    3 комментария
  • Как увеличить квоту API?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Разработка программ - это не только написание кода, но и решение проблем на всех этапах жизненного цикла. Раз ИИ пишет программу с нуля, то пусть и проблему с квотами решит. Задайте этот вопрос ему.
    Ответ написан
    5 комментариев
  • Как цикл for влияет на формирования списка?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Дело не в цикле for. Функция pair возвращает генератор, а генератор можно обойти только один раз.
    Ответ написан
    Комментировать
  • Как расти джуну?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Наработать годик опыта и поискать хорошую компанию.
    Ответ написан
    Комментировать