목록웹개발 (자바, 스프링, React)/웹개발 (20)
개발 공부
--## 오류 이클립스에서 svn 업데이트 시 아래 오류 발생 Some resources were not updated. svn: E155004: There are unfinished work items in ' svn project path '; run 'svn cleanup' first. --## 해결 1. SQLite 설치 1. sqlite 설치 홈페이지 접속: http://sqlitebrowser.org/ 2. 하단 스크롤 하여 해당하는 운영체제의 최신버전 다운로드 참고로 정식 배포는 [ Version x.xx.x released ] 와 같이 업로드 되며 클릭하여 들어가면 중반에 Downloads 목록 있음 여기서 msi는 윈도우 설치파일 zip는 바로 실행할 수 있는 exe 포함 2. 문제되는 ..
param으로 건낸 Map에 keyProperty에 작성한 변수가 set된다. ...sql... ...sql... *parameterType, resultType 은 사전에 정의 필요
JS 웹소켓 https://niceman.tistory.com/109 JS, JAVA(javax.webSocket), C# 웹소켓 예제 https://milkoon1.tistory.com/92 스프링 웹소켓 https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#websocket 제우스,웹투비 웹소켓 https://technet.tmaxsoft.com/upload/download/online/jeus/pver-20171211-000001/web-engine/chapter_websocket.html#sect_spring_websocket
이클립스 실행 시 오류 발생 Failed to load the JNI shared library "C:\Program Files (x86)\Java\jdk1.6.0_45\bin\_\jre\bin\client\jvm.dll". 이는 64bit 환경에서 32bit의 Java 를 사용하여 발생 64bit Java를 설치 후 다시 설정해준다
이클립스 시작 시 에러 발생 An error has occurred. See the log file C:\Users\username\eclipse-workspace\.metadata\.log. 해당경로 파일 확인 아래 에러 발생 java.lang.NoClassDefFoundError: org/w3c/dom/stylesheets/StyleSheet 이는 구버젼의 eclipse를 JAVA9 이상의 환경에서 실행할 때 나는 오류로 JAVA_HOME을 변경해주면 된다. 아래는 전문 !SESSION 2021-07-20 08:56:46.581 ----------------------------------------------- eclipse.buildId=4.4.2.M20150204-1700 java.version..
소켓 통신 과정 중 데이터를 주고 받을 때 InputStream.read() 와 OutputStream.write() 로 데이터를 주고 받음을 이해했다. 이를 구현한 JAVA 소스를 보던 중 한가지 의문점이 들었다. A - B 간의 socket 통신에서 1. A가 B 와의 Socket 통신을 요청 2. B가 accept 3. A가 B에게 OutputStream.write() 로 데이터 요청 정보를 송신 4. B가 InputStream.read() 로 데이터 요청 정보 수신 5. B가 필요한 비즈니스 로직 수행 5. B가 A에게 OutputStream.write() 로 데이터를 송신 6. A가 InputStream.read() 로 요청한 데이터를 수신 위와 같은 flow에서 서버 A가 OutputStrea..
[구성] 1. Controller - Service - ... - @RestController로 설정하는 경우 자동으로 responseBody 설정이 된다. 2. @ControllerAdvice, @ExceptionHandler 를 설정한 advice + Error를 컨트롤할 ErrorResponse 객체 - @RestControllerAdvice로 설정하는 경우 자동으로 responseBody 설정이 된다. 3. ResponseBodyAdvice를 implement하는 result wrapper - ResponseBodyAdvice 는 @ResponseBody가 설정된 controller가 return 할 때 실행된다. - Exception advice 이후에 실행된다. (설정 순서 조정 가능) - @..
@CreatedBy, @CreatedDate, @LastModifiedBy and @LastModifiedDate와 같이 기본적으로 Spring Data에서 제공하는 어노테이션이외에 soft delete 등의 경우에 사용할 수 있는 방법 1. entity에 markedAsDeleted라는 삭제 확인 boolean 값 설정 2. entity에 @EntityListeners(DeletionListener.class) 설정3. DeleteionListener.class 에서는 @preUpdate가 설정되어있고 if문으로 1번의 boolean 값을 확인하고 true이면 delete 관련 field 수정 참고 : https://code-held.com/2020/01/28/additional-auditing/
static final String AB = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; static SecureRandom rnd = new SecureRandom(); String randomString(int len){ StringBuilder sb = new StringBuilder(len); for(int i = 0; i < len; i++) sb.append(AB.charAt(rnd.nextInt(AB.length()))); return sb.toString(); } 여기서 java.security.SecureRandom 은 java.util.Random과 다르게 난수를 생성할 때 seed로 시간을 이용하여 유니크함을 보..
@ResponseStatus(value = HttpStatus.BAD_REQUEST) With {@code HttpServletResponse.sendError}, the response is considered complete and should not be written to any further. Furthermore, the Servlet container will typically write an HTML error page therefore making the use of a {@code reason} unsuitable for REST APIs. For such cases it is preferable to use a {@link org.springframework.http.ResponseE..