일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- windows forms
- paramiko
- Visual Studio
- 오류
- label
- Selenium
- ubuntu
- pytorch
- YOLO
- LIST
- error
- 컨테이너
- C++
- 기타 연주
- pandas
- pip
- mysql
- VS Code
- OpenCV
- JSON
- C
- Python
- C#
- Numpy
- 채보
- Linux
- 프로그래머스
- SSH
- 핑거스타일
- Docker
- Today
- Total
목록Web/Spring Boot (6)
기계는 거짓말하지 않는다
서버에서 클라이언트로 단방향 통신이 필요할 때가 있다. 일반적으로 풀링 방식을 사용하게 되면 비효율적일 수 있는데, 실시간 알람, 이벤트 등을 위해 Server-Sent Events(SSE)를 사용할 수 있다. 주의점은 SSE에서 DB 관련 작업을 하지 않아야 하고, 타임아웃 또는 complete 후 재 연결 시 데이터 유실이 가능하다. Controller connect 후 emitter를 반환해야 한다. 또한 connect 후 더미 데이터를 한 번 전송해야 503 에러를 방지할 수 있다. connect 외에 함수에서 반환할 경우 타임아웃까지 계속해서 대기 상태가 된다. connect의 id는 고유해야 한다. id 값으로 중복 요청을 방지할 수 있다. 아래 코드는 샘플이며, 재 연결 유실 처리, 중복 요..
session connect를 할 때, 다음과 같은 오류가 발생했다. com.jcraft.jsch.JSchException: Algorithm negotiation fail at com.jcraft.jsch.Session.receive_kexinit(Session.java:529) ... jdk 1.8 버전을 사용하고 있었고 jsch는 0.1.55였다. 더 높은 버전 0.1.72를 사용하여 해결하였다. gradle에 다음 의존성을 추가했다. dependencies { implementation 'com.github.mwiede:jsch:0.1.72' ... JCE(Java Cryptography Extension)도 추가로 설치했었는데, JCE만 설치했을 때는 해결되지 않았다. Java Cryptogra..
application.properties 외부 설정 파일의 spring.jpa.hibernate.ddl-auto 속성을 지정하여 DB 초기화 설정을 할 수 있다. 모드 DB 구조 변경 여부 설명 create O 시작 시에 스키마를 모두 삭제하고 다시 생성 create-drop O SessionFactory가 닫힐 때, 스키마 삭제 update O 존재하지 않는 경우 스키마를 생성하거나 업데이트 함. Entity와 비교하여 컬럼 추가, 삭제 하며 기존 스키마를 삭제 하지 않는다. validate X SessionFactory 시작 시 Entity와 비교하여 스키마가 다르다면 예외가 발생한다. none X 비활성화
값을 받지 못하면 org.springframework.web.bind.MissingServletRequestParameterException 이 발생한다. Parameter 가 필수적이지 않다면 @RequestParam 의 required 를 false로 설정. - One Parameter Controller @RestController @RequiredArgsConstructor public class HomeDataController { @PostMapping("/test/sendData") public String sendData(@RequestParam(value="data") String data) { return "return: " + data; } } HTML 보내기 받은 데이터 결과 데이터..
아래는 오류 메시지이다. WARN 29148 --- [io-8080-exec-10] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'GET' not supported] 또는 Request method 'POST' not supported 여러가지 이유가 있지만 근본적인 원인은 Controller가 @RestController 라면 @PostMapping 또는 @GetMapping 과 @Controller 라면 @RequestMapping 의 RequestMethod.POST or GET 사용시 HTML의 데이터를 보내..
Stack trace 가 많이 찍혀도 봐야한다. 첫 줄에 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' ~ org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: missing table [테이블 이름] 정곡으로 테이블이 없다고 알려준다. Caused by, 즉 원인을 쭉 읽으면 끝 부분에 Schema-validation: missing table [테이블 이름] 이라고 나와있다. 따로 협업 시 잠깐 잊게되면 발생할 수 있는 문제 중 하나이다. @Entity 선언이 됐을 경우 ..