| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- JavaScript
- springboot
- Java
- MySQL
- useEffect
- docker
- nodejs
- VSCode
- NCP
- mybatis
- IntelliJ
- tibero
- gson
- dbeaver
- database
- Spring
- kubectl
- Kubernetes
- gradle
- nginx
- BPMN
- react
- maven
- Git
- SAP
- Windows
- Linux
- LOG4J
- log4j2
- JPA
- Today
- Total
목록전체 글 (269)
두 손끝의 창조자
작성한 테스트 스크립트를 많은 호스트가 실행을 하게 해서 타겟에 부하를 주고 그 결과를 모니터링 하는 솔루션이다. 크게 콘트롤러와 에이젼으로 구성된다. 콘트롤러는 웹 애플리케이션인데 테스트 스크립트를 생성하고 실행을 구성한다. 에이전트는 가상 사용자를 만들어서 부하를 발생시킨다. 콘트롤러에서 에이전트를 지정하고 에이전트에게 스크립트를 실행하게 하는 구조이다. 스크립트 Jython, Groovy 스크립트를 사용할 수 있다. IDE에서 Groovy 스크립트를 개발 및 테스트를 할 수 있고 이것을 에이전트에게 실행시킬 수있다. 다운로드 Releases · naver/ngrinder (github.com) Releases · naver/ngrinder enterprise level performance test..
persistence.xml 없이 자바로 속성 설정해서 사용하려면 @Bean public EntityManagerFactory entityManagerFactoryForMysql(DataSource dataSource) { final Properties properties = new Properties(); properties.put( "hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect" ); // MySql5x 쓴다면 properties.put( "hibernate.user_sql_comments", "true" ); properties.put( "hibernate.format_sql", "true" ); properties.put( "hibernat..
MyBatis Mapper 스캔은 스캔을 설정한 패키지와 하위 패키지를 검색하여 등록하거나, 베이스 패키지와 그 하위 패키지를 검색하여 매퍼로 등록한다. 별도 설정을 하지 않으면 하위 패키지내에 있는 인터페이스는 모두 매퍼로 등록을 한다. 지원낭비이자 이중 빈 등록으로 인한 문제가 생길 수 있다. 매퍼 인터페이스를 한 군데 정해서 지정하면 간단하게 해결되지만 기능 별로 다른 패키지에 매퍼가 있을 경우는 좀 곤란하다. 패턴으로 매퍼의 위치를 지정할 수 없기 때문이다. 매퍼 스캔 옵션에 annotationClass 를 Mapper.classs 를 지정하면 @Mapper 애노테이션이 있는 인터페이스만 매퍼로 등록한다. 참고로 매퍼 xml을 지정하고, namespace에 인터페이스를 정확하게 입력했다면 그 인터..
톰캣을 intellij에서 실행하면 로그에 한글이 깨질 수 있다. -Dfile.encoding=UTF-8를 Run/Debug Configurations 에 VM options에 추가할 것
ITemplateResolver 를 ClassLoaderTemplateResolver 를 사용한다. public ITemplateResolver templateResolver() { ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver(); templateResolver.setPrefix("templates/"); templateResolver.setSuffix(".html"); templateResolver.setTemplateMode(TemplateMode.HTML); templateResolver.setCacheable(false); return templateResolver; }