컴퓨터공학19 [log4j.xml] 스프링의 디버깅 로그 자세히 띄우기 목차 Log Level trace > debug > info > warn > error > fatal trace log가 가장 많이 발생하고 fatal log로 갈수록 적게 발생한다. 일반적으로 개발 환경에서는 debug레벨의 로그들을 확인해가며 개발하고, 운영 서버는 로그가 너무 많이 출력되면 서버의 속도가 저하되기 때문에 error레벨의 로그만 출력되도록 한다. 출력될 Log Level 설정하기 src/main/resources/log4j.xml 파일 안에 3rdparty Loggers라는 항목이 있을 것이다. log4j.xml파일을 변경하지 않았다면 모두 info로 설정되어 있을 텐데 조금 더 자세히 출력하고 싶을 경우 내가 출력하고 싶은 이들의 level value를 debug로 변경하면 된다. .. 2023. 12. 10. [crontab] Linux에서 일정 시간마다 프로그램 실행되도록 설정하기 목차 CRON이란 Unix계열 컴퓨터 운영체제의 시간 기반 스케쥴러이다. 특정 프로그램을 시간, 날짜 간격에 주기적으로 실행할 수 있도록 스케쥴링 하기 위해 cron을 사용한다 30분에 한번씩 외부 데이터를 가져와서 DB에 넣는 프로그램을 수행한다거나 파일 백업을 수행할 때 유용하게 사용될 수 있다. CRON 스케쥴링 명령어 CRON 어플리케이션 설정 명령어 crontab -e : 실행할 크론 명령 수정 crontab -l : 실행할 크론 명령 확인 crontab -r : 크론 명령 제거 수행할 작업 설정 명령어 * * * * * hello.sh --> 1분마다 hello.sh를 실행 0 4 * * * hello.sh --> 매일 04시에 hello.sh를 실행 0 4 * * 1-5 hello.sh --.. 2023. 12. 8. 테스트 도구 Junit 목차 junit을 잘 활용하면 브라우저에 접속하지 않아도 테스트를 할 수 있다. Library 설정 Junit Library추가 junit junit 4.12 test spring-test Library추가 org.springframework spring-test 5.2.25.RELEASE test 테스트 파일 생성 및 실행 테스트 파일 생성 src/test/java에 테스트파일을 생성한다 클래스명으로 Test라는 이름을 쓰면 안된다 Junit의 anootation명이 Test이기 때문에 에러가 난다! import org.junit.Test; public class tempTest { @Test public void test() { System.out.println("실행하고자 하는 테스트메소드 작성").. 2023. 12. 7. Interceptor 목차 Interceptor의 개념 쇼핑몰 사이트를 만들 경우, 장바구니, 찜하기, 주문 페이지에 들어가려면 반드시 로그인이 되어있어야 한다. 이때 아래 코드와 같이 각 맵핑 메소드마다 session을 체크해 접속을 체크할 수도 있다. @GetMapping("/member/regist.do") public String regist(HttpSession sess) { /* 로그인 여부 체크 */ if(sess.getAttribute("loginSess") == null) return null; return "member/write"; } 그러나 이 경우 장바구니, 찜하기, 주문 페이지 등 로그인을 요구하는 모든 페이지에서 Session을 체크하는 코드를 추가해야 한다. 이렇게 모든 메소드에 Session체크.. 2023. 12. 5. [백준 11726, 11727] 2 * n 타일링 https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 2 * i 크기의 직사각형을 주어진 타일들로 채우는 방법의 수를 k[i]라고 하자. 이때 우리가 사용할 수 있는 가장 작은 블록의 단위는 2 * 1 블록인 "l"과, 2 * 2 블록인 "="일 것이다. 2 * 2 블록 중 "ll"블록은 2 * 1블록 두 개로 만들 수 있기에 이 블록은 가장 작은 단위의 블록이 아니다. 또한, 1 * 2블록인 "-" 역시 이 블록 하나만으로는 2 * i 크기의 직사각형을 완전히 채울 수.. 2023. 7. 23. 데이터의 검색(query) - 2 중급편 aggregation function avg, min, max, sum, count등의 명령어를 통해 해당 속성들에 대한 보다 자세한 정보를 추출할 수 있다. select부에 사용한다. select avg(salary) from ~~~~//연봉의 평균 select count(*) from ~~~//총 튜플의 개수 group by 해당 속성이 일치하는 튜플들을 그룹으로 묶는 것 select dept_name, avg(salary) from instructor group by dept_name 위와 같이 학과명 별로 그룹으로 묶은 후, 해당 그룹의 평균 연봉을 계산할 수 있다. 이때 주의할 것이있다. group by에 의해 하나의 튜플로 묶인 경우, 한 튜플의 한 속성에는 하나의 값만 올 수 있다. 가령, .. 2022. 8. 1. 이전 1 2 3 4 다음