본문 바로가기

분류 전체보기

(55)
log 남기기( 일반 log 로그 / error 로그) 프로젝트 관련해서 log를 일반로그와 error 로그를 관리하고 싶다는 요청이 들어왔고 logback.xml 파일을 사용한 로깅 설정이 되어있지 않았다. logback-spring.xml 파일을 통한 설정을 진행했고 소스 코드는 아래와 같다. logback-spring.xml %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n ${filePath}/app.log ${filePath}/app.%d{yyyy-MM-dd}.%i.gz 1GB 10 %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n ${filePath}/error.log ERROR ACCEPT DENY ${filePath}/error-%d{yyyy..
jar 파일 데몬으로 돌리는 법 보통 백그라운드에서 데이터를 실행할 때는 명령어 마지막에 & 를 붙여서 실행 $ java -jar my-app.jar & 하지만 위 명령어대로 하면 애플리케이션의 로그를 볼 수 없음. 따라서 nohup 을 사용함. nohup 에 대한 자세한 설명과 & 와의 차이점은 https://joonyon.tistory.com/98 에 잘 정리되어있으니 참고. 1. nohup 으로 백그라운드 실행 $ nohup java -jar my-app.jar & [1] 97569 nohup: ignoring input and appending output to 'nohup.out' 2. nohup 로그 조회 이제 nohup.out 파일에 기록되는 로그를 확인할 수 있습니다. # 로그 조회 $ cat nohup.out # 로그 ..
마리아db 방화벽 해제 https://lastcard.tistory.com/156 MySQL 외부접속 권한 설정, 변경 및 제거 MySQL 설치 후 외부에서 접속하기 위해 접근 허용 IP를 등록하는 방법입니다. ◎ MySQL Database 설정 > 권한확인 - 처음 설치 후 로컬에서 접속하여 권한을 확인해보면 localhost 또는 127.0.0.1만 등록되어 lastcard.tistory.com 유지보수 요청이 들어와 마리아 db에 접근했으나 Connection timed out 에러가 발생했다. 무엇이 문제인지 모르겠던 상황에서 갑자기 방화벽 문제 일 수도 있겠다는 생각이 들었다. 역시는 역시나!! 위에 방화벽 해제에 대한 설명이 잘 되어있으니 참고하기 바란다.
배포관련 jar 에러 (manifest 속성이 없습니다) 대성 프로젝트 진행 중에 배포를 테스트 할 일이 생김.. jar 파일을 만들었으나 계속 manifest 속성이 없습니다 에러가 발생했다. 원인을 알아보니 라이브러리가 없는 빈 껍데기 jar라고 한다. 그럼 어떻게 해야 라이브러리가 포함된 jar를 만들 수 있을까? https://batory.tistory.com/464?category=1010326
한글 -> url로 보낼때 인코딩 해야하는 이유 프로젝트를 진행하면서 utf-8로 변환했는데 url 에 querystring에 들어갈때는 url encoding이 되어서 들어가진다. 여기서 드는 의문?! 그럼 왜 url 인코딩을 해야하는 것일까? URL encoding은 문자나 특수문자를 웹 서버와 브라우저에서 보편적으로 허용되는 형식으로 변화하는 메커니즘으로, URL에 쓰인 텍스트를 모든 브라우저에서 똑바로 전송하기 위해 존재하는 것이다. URL은 아스키코드를 이용해 인터넷을 통해서만 전송할 수 있다. 그러나 URL에 아스키코드외의 문자가 포함될 수 있기 때문에 유효한 아스키코드 형식으로 변환해야 한다. 예를 들어, GET 메소드로 id=?hong, pw=&zone의 데이터를 보내기 위해서는 http://example.com/?id=%3Fhong&p..
API 개발 관련 이슈 모음 위와 같이 error message 와 errorCode를 전달하면 개발하는데도 편리했다. if (currentUser == null) { log.error("status = {}, message = {}", "401", "접근 권한이 없습니다."); return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body(new ErrorResponse("접근 권한이 없습니다.","401")); } new ErrorResponse 부분만 확인하면 된다. @Getter @Setter public class ErrorResponse extends BasicResponse{ private String errorMessage; private String errorCode; pu..
LocaldateTime 잘못 들어오는 에러 해결 LocalDateTime 기본으로 적용되는 날짜표시 포맷 2021-07-06T14:32:27.002333 저 T는 날짜 뒤에 시간이 온다는 것을 알려주는 ISO 날짜 형식이라고 함.. 저 T를 포함한.. 밀리세컨드등이 너무 거슬려서... LocalDateTime format을 바꾸려고 함.. LocalDateTime의 format을 지정해주는 기본 형식 String dateTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss")); BaseTimeEntity 원래 코드 import lombok.Getter; import org.springframework.data.annotation.CreatedDate; im..
jpa orderby - querydsl 사용 프로젝트 진행 중, 최신, 오래된, 조회수, 이름 순으로 클릭시 정렬이 이루어져야한다는 요구사항을 받았다. QueryDsl을 사용해서 해당 문제에 접근하니 처음에 어떻게 처리하지에 대한 답답한 부분이 있었으나 아래와 같은 방식으로 해결했다. 저와 같은 문제를 가지고 있는 분들은 참고하면 도움이 될것이다. private static Pageable getPageable(String collectionSort) { Pageable pageable = PageRequest.of(0,9, Sort.by("collectionId").ascending()); if ("latest".equals(collectionSort)) { pageable = PageRequest.of(0,9, Sort.by("collectio..
jpa 페이징 (블로그 추천) https://ivvve.github.io/2019/01/13/java/Spring/pagination_3/ 스프링 부트, JPA, Thymeleaf를 이용한 페이징 처리 3 - 페이징 구현 (서버) Entity는 생성했고 view도 어느정도 구색을 갖췄기 때문에 DB에서 데이터를 가져다 view에다 보내는 코드가 필요하다.이 프로젝트에서는 MyBatis와 같이 직접 쿼리를 작성하여 페이징 게시판을 개발하 ivvve.github.io 페이징 관련해서 정리가 잘 되어있는 블로그다. Pageable에 대한 기본 설명도 덧붙이고 있어서 많은 참고가 되었다.
query dsl 설정 및 에러정리 https://todayproject.tistory.com/entry/8 [JPA] QueryDsl Maven 설정 QueryDSL이란 Querydsl 정적 타입을 이용해서 SQL과 같은 쿼리를 생성할 수 있도록 해 주는 프레임워크다. 문자열로 작성하거나 XML 파일에 쿼리를 작성하는 대신, Querydsl이 제공하는 플루언트(Fluent) API todayproject.tistory.com 배포시에 아래와 같은 에러발생. How to fix dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream. while using maven surefire plugin 3.0.0-M4 출처: https://gonsday.t..