- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- view 획득
- pid 찾아 kill
- 가변영역 스크롤
- springboot 재가동
- sql exception
- Activity 전체화면
- 파티션 빠른 삭제
- 스크롤적용
- springboot
- 말줌임 CSS
- CentOS
- MariaDB
- c언어
- 터치좌표 view
- 시간대별 통계
- MySQL
- SQL
- 시간대 테이블생성
- kill -9
- rn
- mybatis exception
- CSS
- 코드로 서버 재실행
- group by
- MFC
- reactnative
- Back 키 클릭 감지
- vc++
- ffmpeg
- 피쉬랜드
목록springboot (11)
개발은 하는건가..
springboot 에서 다른 서버로 http 요청이 필요할 때 RestTemplate 을 이용해서 간단하게 요청 및 응답 수신이 가능하다. 구현 함수 예) public ResponseEntity sendHttpPostMessage(String url, MultiValueMap param, Class tClass) { HttpHeaders httpHeaders = new HttpHeaders(); // 필요한 헤더 항목을 추가 httpHeaders.add("", ""); HttpEntity entity = new HttpEntity(param, httpHeaders); RestTemplate restTemplate = new RestTemplate(); return restTemplate.exchange..
개발모드와 상용 모드에 따라 DB 주소, 파일 업로드 경로와 같이 다르게 설정되어야 할 경우 application.properties 를 구분해야 할 경우 다음과 같이 application.properties 에는 공통 속성만 정의하고 개발과 상용 application.properties 구분하여 관리한다. # application.properties 파일. # Profile (dev=development build, prod=product build) spring.profiles.active=dev # !! Version is automatically updated by gradle. info.build.version=1.0.0 # Common properties server.port=16300 ser..
Springboot 를 배포 후 종종 변경되는 일부 컨텐츠 파일만을 교체해야 할 경우 static 리소스 안에 뒀을 경우 다시 빌드 하고 배포를 해야하기 때문에 그런 파일들을 별로도 외부의 고정된 경로에 두어 파일만 교체 할 수 있도록 할 경우의 방법이다. 아래와 같이 임의 클래스를 생성후 @Configuration 어노테이션 추가 후 WebMvcConfigurer 인터페이스를 상속 후 ResourceHandler 와 ResourceLocations 를 등록해주면 된다. import java.util.concurrent.TimeUnit; @Configuration public class ResourceConfiguration implements WebMvcConfigurer { @Override publ..
IntelliJ 환경에서 self-signed 인증서를 이용한 https 적용 1. IntelliJ 툴에서 터미널로 진입하여 다음 커맨드 실행 (기본적으로 현재 프로젝트 root 로 시작함) keytool -genkey -alias linemac-ssl -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 365 * -alias 명과 -keystore 파일명 -validity 기간은 원하는대로 설정한다. 2. 정상적으로 실행 시 아래와 같은 입력 항목이 나타나며 적절한 값을 입력한다. 3. 완료가 되면 해당 위치에 keystore 파일이 생성이 되며 이 파일을 resource 폴더로 이동 시킨다. 4. applicatio..
@Controller 에서 요청 별로 공통 속성을 추가할 경우 다음과 같이 @ControllerAdvice 클래스를 생성하여 @ControllerAdvice 어노테이션 추가 후 @ModelAttribute 를 추가하고 전달된 Model 파라메터에 필요한 속성들을 추가한다. @ControllerAdvice public class CommonControllerAdvice { @ModelAttribute public void handleRequest(HttpServletRequest request, Model model) { String requestURI = request.getRequestURI(); // 다음과 같은 식으로 공통으로 사용될 속성들을 추가한다. model.addAttribute("appVe..
mybatis 사용 중인데 저 에러가 나와서 한참 당황했다. 보통 mapper xml 의 쿼리의 resultType 으로 지정된 타입과 쿼리 결과 값이 안맞을 때 발생하는데 이번엔 그 경우가 아니였음. 아래와 같이 DTO 을 정의하고 String 타입의 value 를 int 타입으로도 설정할 수 있는 함수를 오버로딩 해놨었는데 mapper xml 에서 쿼리 실행 후 결과를 저 놈을 통해서 할당하면서 타입이 맞지 않아 발생했던 것이다. 이 경우 뭔가 방법이 있을것 같긴한데 방법을 찾아보는 귀찮음에 비해 크게 이득이 없기에 setValue(int) 을 setIntValue(int) 로 변경하였다. // ---- DTO Class ------- @Setter @Getter public class Propert..
templete/error 경로에 에러 페이지가 없는 경우 아래 처럼 오류 내용이 모두 표시 된다. status 코드와 에러 종류, 메세지 정보만 표시되면 되는데 stackstrace 까지 모두 표시된다. [에러내용 예시] 더보기 { "timestamp": "2022-03-10T02:05:23.246+00:00", "status": 400, "error": "Bad Request", "trace": "org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'deviceId' for method parameter type String is not present\r\n\tat org.spri..
> org.apache.logging.log4j.LoggingException: log4j-slf4j-impl cannot be present with log4j-to-slf4j log4j 취약점으로 버전을 올렸더니 빌드 시 위와 같은 오류가 떴다. log4j-slf4j-impl 과 log4j-to-slf4j 가 같이 사용할 수 없다고 한다. build.gradle 에 아래와 같이 configuration 을 추가하면 된다. configurations { all { exclude group: 'org.apache.logging.log4j', module: 'log4j-to-slf4j' } } 현재 내 프로젝트에서는 logback 를 사용하지 않고 있었기에 상관 없지만 springboot 에서 기본으로 l..
IntelliJ ultimate 상용버전은 springboot 프로젝트 생성 기능을 제공하지만 무료인 community 버전은 그게 없다. 그래서 기본 틀이 갖춰진 기존 샘플 프로젝트를 import 하여 프로젝트명과 패키지명을 변경하여 프로젝트를 구성할 때의 방법을 정리해보았다. 물론 https://start.spring.io/ 에 접속하여 프로젝트 파일을 생성하여 사용하는 방법도 있지만 그건 조만간 해볼 예정이다. # 프로젝트명 변경 1. [File] > [Project Structure] > [Project] > (Project name) 이름을 변경한다. 2. IntelliJ 를 종료한다. 3. 프로젝트 root 디렉토리로 이동하여 아래 파일을 열어 프로젝트명을 동일하게 수정한다. /settings..
Hikari Pool 사용시 해당하는 DB pool 설정 입니다. application.properties 파일에 다음과 같은 항목들을 설정합니다. # pool 요청 타임아웃, 최대 풀 개수가 모두 사용 중일 경우 대기 시간 (ms 단위) spring.datasource.hikari.connection-timeout=20000 # 커넥션이 유요한지 검사 시 대기 시간, connectionTimeout 보다 작아야 한다 (ms 단위) spring.datasource.hikari.validation-timeout=10000 # 최대 풀 갯수 spring.datasource.hikari.maximum-pool-size=6 # 최소 유지 풀 갯수 (기본:maximum-pool-size) spring.dataso..
application.properties 파일 내에 해당 옵션 추가 (설정하지 않을 경우 autoconfigure.web.ServerProperities 에 정의된 값으로 설정됨.) # 서버 구동 포트 server.port = 포트 # 최대 생성 가능한 스레드 생성 수 server.tomcat.threads.max = 200 # 기본 생성 스레드 수 server.tomcat.threads.min-spare = 10 # 최대 수용 커넥션 server.tomcat.max-connections = 2048 # 작업 큐 사이즈 server.tomcat.accept-count = 100 # 연결 대기 시간 ms server.tomcat.connection-timeout = 10000 # Http Post 요청 시..