Форум программистов, компьютерный форум, киберфорум
Java: Spring, Spring Boot
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
-13 / 6 / 6
Регистрация: 04.08.2015
Сообщений: 622

Запуск приложения Spring и файл log4j.xml

18.09.2018, 13:21. Показов 820. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В сети имеется пример Spring+Extjs https://avaldes.com/spring-mvc... extjs-gui/
Компилируется в Intellij Idea 2018.2
Но при запуске выходит не на свою home страницу, а на заставку Tomcat (картинка внизу).
Конфигурационные файлы проректа
web.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
 
    <!-- Appenders -->
    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        <param name="Target" value="System.out" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%-5p: %c - %m%n" />
        </layout>
    </appender>
    
    <!-- Application Loggers -->
    <logger name="com.avaldes.tutorial">
        <level value="info" />
    </logger>
    
    <!-- 3rdparty Loggers -->
    <logger name="org.springframework.core">
        <level value="info" />
    </logger>
    
    <logger name="org.springframework.beans">
        <level value="info" />
    </logger>
    
    <logger name="org.springframework.context">
        <level value="info" />
    </logger>
 
    <logger name="org.springframework.web">
        <level value="info" />
    </logger>
 
    <!-- Root Logger -->
    <root>
        <priority value="warn" />
        <appender-ref ref="console" />
    </root>
    
</log4j:configuration>
root-context.xml
XML
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    
    <!-- Root Context: defines shared resources visible to all other web components -->
        
</beans>
dispatcher-serwlet.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:beans="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/mvc 
        http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context.xsd">
 
    <!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure -->
    
    <!-- Enables the Spring MVC @Controller programming model -->
    <annotation-driven />
 
    <!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
    <resources mapping="/resources/**" location="/resources/" />
 
    <!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
    <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <beans:property name="prefix" value="/WEB-INF/views/" />
        <beans:property name="suffix" value=".jsp" />
    </beans:bean>
    
    <!-- Define the MongoTemplate which handles connectivity with MongoDB -->
    <beans:bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
        <beans:constructor-arg name="mongo" ref="mongo" />
        <beans:constructor-arg name="databaseName" value="gcdr" />
    </beans:bean>
    
    <!-- Factory bean that creates the MongoDB instance -->
    <beans:bean id="mongo" class="org.springframework.data.mongodb.core.MongoFactoryBean">
        <beans:property name="host" value="localhost"/>
    </beans:bean>
    
    <!-- Use this post processor to translate any MongoExceptions thrown in @Repository annotated classes -->
    <beans:bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/>
   
    <context:component-scan base-package="com.avaldes" />
    
</beans:beans>
Имеется еще файл log4j.xml в отдельной папке resources
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
 
    <!-- Appenders -->
    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        <param name="Target" value="System.out" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%-5p: %c - %m%n" />
        </layout>
    </appender>
    
    <!-- Application Loggers -->
    <logger name="com.avaldes.tutorial">
        <level value="info" />
    </logger>
    
    <!-- 3rdparty Loggers -->
    <logger name="org.springframework.core">
        <level value="info" />
    </logger>
    
    <logger name="org.springframework.beans">
        <level value="info" />
    </logger>
    
    <logger name="org.springframework.context">
        <level value="info" />
    </logger>
 
    <logger name="org.springframework.web">
        <level value="info" />
    </logger>
 
    <!-- Root Logger -->
    <root>
        <priority value="warn" />
        <appender-ref ref="console" />
    </root>
    
</log4j:configuration>
Подскажите пожалуйста в чем хитрость. Почему проект запускается на заставку Tomcat, а не на свою домашнюю страницу?
Миниатюры
Запуск приложения Spring и файл log4j.xml  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.09.2018, 13:21
Ответы с готовыми решениями:

Gitlab CI pipeline + Spring boot (запуск приложения и тесты)
Добрый день! У меня есть Spring Boot приложение и написанные для него тесты, которые нужно прогонять после запуска приложения. Я хочу,...

Spring Framework - запуск примеров Spring
Здравствуйте, уважаемые форумчане, хочу освоить Spring Framework, прошу помощи у тех, кто знаком с этой технологией. Собственно есть...

Ведение лога приложения (log4j на Lotusscript)
Предлагаю обсудить ведение лога приложения в лотусе! Что мы имеем? К примеру, для java - отличные библиотеки, не нужно...

9
-13 / 6 / 6
Регистрация: 04.08.2015
Сообщений: 622
18.09.2018, 15:51  [ТС]
Это контроллер
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
/**
 * Handles requests for the application home page.
 */
@Controller
public class RestController {
    
    private static final Logger logger = LoggerFactory.getLogger(RestController.class);
 
    @Autowired
    private IssuerRepository issuerRepository;
    
    /**
     * Simply selects the home view to render by returning its name.
     */
    @RequestMapping(value = "/", method = RequestMethod.GET)
    public String home(Locale locale, Model model) {
        logger.info("Default Home REST page. The client locale is {}.", locale);
 
        Date date = new Date();
        DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
 
        String formattedDate = dateFormat.format(date);
 
        model.addAttribute("serverTime", formattedDate );
 
        return "status";
    }
    
    @RequestMapping(value="/issuers", method=RequestMethod.GET)
    @ResponseBody
    public multipleIssuerResponse getAllIssuers() {
        logger.info("Inside getAllIssuers() method...");
 
        List<Issuer> allIssuers = issuerRepository.getAllIssuers();
        multipleIssuerResponse extResp = new multipleIssuerResponse(true, allIssuers);
 
        return extResp;
    }
 
    @RequestMapping(value="/issuer/{ticker}", method=RequestMethod.GET)
    @ResponseBody
    public singleIssuerResponse getIssuerByTicker(@PathVariable("ticker") String ticker) {
        Issuer myIssuer = issuerRepository.getIssuerByTicker(ticker);
 
        if (myIssuer != null) {
            logger.info("Inside getIssuerByTicker, returned: " + myIssuer.toString());
        } else {
            logger.info("Inside getIssuerByTicker, ticker: " + ticker + ", NOT FOUND!");
        }
 
        singleIssuerResponse extResp = new singleIssuerResponse(true, myIssuer);
        return extResp;
    }
 
    @RequestMapping(value="/issuer/delete/{ticker}", method=RequestMethod.DELETE)
    @ResponseBody
    public restResponse deleteIssuerByTicker(@PathVariable("ticker") String ticker) {
        restResponse extResp;
 
        Issuer myIssuer = issuerRepository.deleteIssuer(ticker);
 
        if (myIssuer != null) {
            logger.info("Inside deleteIssuerByTicker, deleted: " + myIssuer.toString());
            extResp = new restResponse(true, "Successfully deleted Issuer: " + myIssuer.toString());
        } else {
            logger.info("Inside deleteIssuerByTicker, ticker: " + ticker + ", NOT FOUND!");
            extResp = new restResponse(false, "Failed to delete ticker: " + ticker);
        }
 
        return extResp;
    }
 
    @RequestMapping(value="/issuer/update/{ticker}", method=RequestMethod.PUT)
    @ResponseBody
    public restResponse updateIssuerByTicker(@PathVariable("ticker") String ticker, @ModelAttribute("issuer") Issuer issuer) {
        restResponse extResp;
 
        Issuer myIssuer = issuerRepository.updateIssuer(ticker, issuer);
 
        if (myIssuer != null) {
            logger.info("Inside updateIssuerByTicker, updated: " + myIssuer.toString());
            extResp = new restResponse(true, "Successfully updated Issuer: " + myIssuer.toString());
        } else {
            logger.info("Inside updateIssuerByTicker, ticker: " + ticker + ", NOT FOUND!");
            extResp = new restResponse(false, "Failed to update ticker: " + ticker);
        }
 
        return extResp;
    }
 
    @RequestMapping(value="/issuer/addIssuer", method=RequestMethod.POST)
    @ResponseBody
    public restResponse addIssuer(@ModelAttribute("issuer") Issuer issuer) {
        restResponse extResp;
 
        if (issuer.getTicker() != null && issuer.getTicker().length() > 0) {
            logger.info("Inside addIssuer, adding: " + issuer.toString());
            issuerRepository.addIssuer(issuer);
            extResp = new restResponse(true, "Successfully added Issuer: " + issuer.getTicker());
        } else {
            logger.info("Failed to insert...");
            extResp = new restResponse(false, "Failed to insert...");
        }
 
        return extResp;
    }
}
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
18.09.2018, 16:04
зайди в мэнеджжерАпп, посмотри куда задеплоилось, там обычно имя сервлета в пути указывается
0
-13 / 6 / 6
Регистрация: 04.08.2015
Сообщений: 622
19.09.2018, 08:29  [ТС]
Да. Спасибо. Не туда деплоилось.
Приложение запустилось. Но почему-то с проблемой (на картинке)
Java
1
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0': Initialization of bean failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping found. Cannot map 'restController' bean method
Базу Mongo я подключил. Правда пока толком не разобрался в установках в dispatcher-servlet.xml, в частности в этих
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
...
    
    <!-- Define the MongoTemplate which handles connectivity with MongoDB -->
    <beans:bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
        <beans:constructor-arg name="mongo" ref="mongo" />
        <beans:constructor-arg name="databaseName" value="gcdr" />
    </beans:bean>
    
    <!-- Factory bean that creates the MongoDB instance -->
    <beans:bean id="mongo" class="org.springframework.data.mongodb.core.MongoFactoryBean">
        <beans:property name="host" value="localhost"/>
    </beans:bean>
    
    <!-- Use this post processor to translate any MongoExceptions thrown in @Repository annotated classes -->
    <beans:bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/>
...
Я так понимаю, что имя базы должно быть gcdr?
Как понять взаимодействует-ли приложение с базой?
Миниатюры
Запуск приложения Spring и файл log4j.xml  
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
19.09.2018, 10:13
Цитата Сообщение от VlGuvin Посмотреть сообщение
Ambiguous mapping found. Cannot map 'restController'
///
0
-13 / 6 / 6
Регистрация: 04.08.2015
Сообщений: 622
19.09.2018, 19:29  [ТС]
Двусмысленный маппинг...
Не врубаюсь. Где искать?
Приложение выходит на заставку index.jsp.
В отладчике, в контроллер RestController даже не заходит.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
19.09.2018, 19:52
ну где искать в контроллере ясен перец, get и add, например, проверь

Добавлено через 58 секунд
Цитата Сообщение от VlGuvin Посмотреть сообщение
в контроллер RestController даже не заходит.
как он будет туда заходить, если ambiguous mapping
0
-13 / 6 / 6
Регистрация: 04.08.2015
Сообщений: 622
19.09.2018, 21:46  [ТС]
Закомментировал все в контроллере
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/**
 * Handles requests for the application home page.
 */
@Controller
public class RestController {
    
//  private static final Logger logger = LoggerFactory.getLogger(RestController.class);
//  
//  @Autowired
//    private IssuerRepository issuerRepository;
    
    /**
     * Simply selects the home view to render by returning its name.
     */
    @RequestMapping(value = "/", method = RequestMethod.GET)
    public String home(Locale locale, Model model) {
//      logger.info("Default Home REST page. The client locale is {}.", locale);
//      
//      Date date = new Date();
//      DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
//      
//      String formattedDate = dateFormat.format(date);
//      
//      model.addAttribute("serverTime", formattedDate );
        
        return "status";
    }
    
//  @RequestMapping(value="/issuers", method=RequestMethod.GET)
//  @ResponseBody
//  public multipleIssuerResponse getAllIssuers() {
//      logger.info("Inside getAllIssuers() method...");
//
//      List<Issuer> allIssuers = issuerRepository.getAllIssuers();
//      multipleIssuerResponse extResp = new multipleIssuerResponse(true, allIssuers);
//      
//      return extResp;
//  }
//  
//  @RequestMapping(value="/issuer/{ticker}", method=RequestMethod.GET)
//  @ResponseBody
//  public singleIssuerResponse getIssuerByTicker(@PathVariable("ticker") String ticker) {
//      Issuer myIssuer = issuerRepository.getIssuerByTicker(ticker);
//      
//      if (myIssuer != null) {
//          logger.info("Inside getIssuerByTicker, returned: " + myIssuer.toString());
//      } else {
//          logger.info("Inside getIssuerByTicker, ticker: " + ticker + ", NOT FOUND!");
//      }
//      
//      singleIssuerResponse extResp = new singleIssuerResponse(true, myIssuer);
//      return extResp; 
//  }
//
//  @RequestMapping(value="/issuer/delete/{ticker}", method=RequestMethod.DELETE)
//  @ResponseBody
//  public restResponse deleteIssuerByTicker(@PathVariable("ticker") String ticker) {
//      restResponse extResp;
//      
//      Issuer myIssuer = issuerRepository.deleteIssuer(ticker);
//      
//      if (myIssuer != null) {
//          logger.info("Inside deleteIssuerByTicker, deleted: " + myIssuer.toString());
//          extResp = new restResponse(true, "Successfully deleted Issuer: " + myIssuer.toString());
//      } else {
//          logger.info("Inside deleteIssuerByTicker, ticker: " + ticker + ", NOT FOUND!");
//          extResp = new restResponse(false, "Failed to delete ticker: " + ticker);
//      }
//      
//      return extResp;
//  }
//  
//  @RequestMapping(value="/issuer/update/{ticker}", method=RequestMethod.PUT)
//  @ResponseBody
//  public restResponse updateIssuerByTicker(@PathVariable("ticker") String ticker, @ModelAttribute("issuer") Issuer issuer) {
//      restResponse extResp;
//      
//      Issuer myIssuer = issuerRepository.updateIssuer(ticker, issuer);
//      
//      if (myIssuer != null) {
//          logger.info("Inside updateIssuerByTicker, updated: " + myIssuer.toString());
//          extResp = new restResponse(true, "Successfully updated Issuer: " + myIssuer.toString());
//      } else {
//          logger.info("Inside updateIssuerByTicker, ticker: " + ticker + ", NOT FOUND!");
//          extResp = new restResponse(false, "Failed to update ticker: " + ticker);
//      }
//      
//      return extResp;
//  }
//
//  @RequestMapping(value="/issuer/addIssuer", method=RequestMethod.POST)
//  @ResponseBody
//  public restResponse addIssuer(@ModelAttribute("issuer") Issuer issuer) {
//      restResponse extResp;
//      
//      if (issuer.getTicker() != null && issuer.getTicker().length() > 0) {
//          logger.info("Inside addIssuer, adding: " + issuer.toString());
//          issuerRepository.addIssuer(issuer);
//          extResp = new restResponse(true, "Successfully added Issuer: " + issuer.getTicker());
//      } else {
//          logger.info("Failed to insert...");
//          extResp = new restResponse(false, "Failed to insert...");
//      }
//      
//      return extResp;
//  }
Не помогает. Ошибка Ambiguous
Java
1
2
3
4
5
6
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0': Initialization of bean failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping found. Cannot map 'restController' bean method 
public java.lang.String com.avaldes.tutorial.RestController.home(java.util.Locale,org.springframework.ui.Model)
to {[/],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}: There is already 'homeController' bean method
public java.lang.String com.avaldes.tutorial.HomeController.home(java.util.Locale,org.springframework.ui.Model) mapped.
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
Откуда в проекте еще один контроллер типа There is already 'homeController' bean не понимаю...
Поиск по проекту не дает результатов.
Невидимка.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
19.09.2018, 21:56
mvn clean install
1
-13 / 6 / 6
Регистрация: 04.08.2015
Сообщений: 622
19.09.2018, 22:30  [ТС]
Вроде пошло.
В директории с проектами имеется проект с homeController.
Как деплоились вместе два контроллера с разных проектов которые в разных папках - загадка...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.09.2018, 22:30
Помогаю со студенческими работами здесь

Файл Resourse. Запуск приложения вне среды Qt
Добрый день. В своем проекте использую файл ресурсов, в котором прописаны jpg файлы. При запуске в QtCreator все хорошо работает, jpg...

Запуск Java приложения, через файл *.bat
Здравствуйте, подскажите какие строки нужно прописать в *.bat файле для запуска Java приложения через прокси!? Спасибо!

Запуск консольного приложения и ввод параметров через bat-файл
Здравствуйте! Имеется консольная программа в которую вводится 46 значений. По своей невнимательности часто пропускаю/ввожу с ошибками....

Как при загрузке приложения в treewidget загрузить xml файл?
Здравствуйте! Подскажите пожалуйста как загрузить в treewidget загрузить xml/ Я прочитала много информации(и тут и в гугле, но что...

Запуск приложения от имени другого пользователя через BAT файл, с сохранением путей для Log & INI файлов
Запуск приложения от имени другого пользователя через BAT-файл, с сохранением путей для Log &amp; INI файлов. Проблема: На ПК имеется...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru