✍ 금요일 오후 에러 발생했음. ☁ Tomcat로그를 보니 응답은 성공으로 주지만 소요 시간이 최소 10초 이상이 걸리고있는 상황이었다. ☁ 이전에는 잘 동작하더니 갑자기 느려지는 상황.. ☁ 특히 오래걸리는 API를 살펴봤고 LOG를 기록하는 테이블에 접근하기만 해도 속도가 현저히 떨어지는 현상이 있었다. ☁ DB와 관련된 문제임을 확인하고 바로 DB 상태를 체크. ☁ 전에도 이런 현상이 있던 적이 있어서, ☁ 1. 인덱스를 설정한 값이 잘못되었는지 체크. ☁ 2. API에서 쓰는 쿼리가 지나치게 속도를 많이 잡아먹는 지 체크. ✍ 위 두가지 상황은 아니었고, 2021년도 자료를 백업하고 테이블을 정리하려 했다. ✍ 자주 수정이 일어나는 데이터가 많은 테이블이면서, 또 INSERT를 많이 처리하는 테이..
✍ 막무가내로 알고리즘 문제를 풀다가 깨달았다. ✍ 내가 스택 이라는 자료구조를 많이 써보지 않았다는 것. 그래서 정리하고 넘어가려고 한다. ✍ 왜 정리하고 알고리즘 문제를 풀려고 하는가? ✍ 여러 자료구조와 알고리즘은 관련성이 크다. ✍ 문제를 풀고싶다? --> 고민한다 --> 무슨 방법으로 풀까 ? --> 이런 컬렉션을 쓰면 좋겠다! ✍ 를 생각하게된다. ✍ 하지만 그냥 구현 할 때 습관적으로 ArrayList를 쓰거나 대충 HashMap을 쓰거나.. ✍ 아닌 경우 TreeMap을 쓰거나 밖에 없다.. 부끄럽다.... 오늘은 크게 나누고 좀 더 세세한 정리를 기록하는 게 낫다고 본다. 크게 보자. 선형 - 비선형이 있다. 선형 : 리스트(llist) / 큐(queue) / 덱(deque) 비선형 : ..
✍ 아무것도 안입는 경우를 생각하는 게 조금 어려웠다. ✍ 옷의 가지수를 계산해서, map 타입에 ( key(의상종류) , value(개수) )를 넣어야 할 것이라고, 생각했지만 ✍ 안입는 경우가 있다는 것을 계산에 넣지 못 한 점이 아쉬웠음. ✍ 따라서 ( 의상 종류 , 개수+1 ) 로 계산하고, ☁ 전체 경우의 수 중에 하나도 ( 아무아무것ㅎ도 안입는 경우) 는 빼려고 했다. ☁ 아무것도 안입는 것 = 아무것도 안입고 + 아무것도 안입고 ... 이므로 1가지 경우의 수만 나오기 때문에.. public static int Solution (String[][] clothes) { int answer = 0; String[] tt = new String[clothes.length]; Map tempMap ..
✍ 최근에 로그4j2 이슈로 인해 패치를 했었음. 크론탭 확인 $ crontab -l 크론탭 수정 $ crontab -e ☁ 그래서 정리도 하고 설정도 좀 바꾸려한다. 로그파일이 너무 많아지고 용량도 많아져서 문제가 되기 전에 처리하자. $ crontab -l 명령어를 쳐서 크론탭 설정이 어떻게 되어있는지 위치부터 확인한다. 관리자 계정으로 크론탭을 확인. log4j 설정에 따라 파일이 넘어가는 시점에서 크론탭이 돌면서 파일을 tar.gz로 압축 백업을 했겠는데. 현재 패치 이후에는 👉 크론탭 설정을 바꾸던가.. log4j2 설정을 바꿔서 써지는 이름을 바꿔서 해결한다. 👉 **.log-%d{yyyy-MM-dd}-%i 로 수정했음. 해결되었다면, 다음 크론탭이 동작하는 시간에 제대로 되는지 확인 해봐야 ..
✍ 레벨 2 의 전화번호 목록 문제 / 프로그래머스 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 👉 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 solution 함수를 작성해주세요. 맨 앞 문자열이 다른 번호의 접두어인가? 를 체크하는 문제 public static boolean solution (String[] phone_..
✍ 운영서버 데이터를 개발서버로 마이그레이션 ✍ DB의 파일을 export 하는 과정 생략 ** 테이블 중에는 CLOB 타입이 포함된 테이블이 존재한다. ☁ ERROR : ORA-00958: tablespace 'tableSpace_name1' does not exist 가 발생했다면, import 하려고하는 테이블스페이스 정보를 동일하게 맞춰줘야 한다. ☁ 필요한 테이블 스페이스정보를 맞춰줘야 하므로 신규 생성.
✍ 권한 오류 == 실행권한이 없다고 생각했다. 따라서 chmod를 사용해서 실행권한을 주려고 했다. 찾아낸 오류 원인은 다음과 같다. $ vi -b myScript.sh 명령어를 입력한다면.. 👉 윈도우에서 작성한 파일은 ^M 개행문자가 삽입되어 있음을 확인 할 수 있다. 삭제해주자.
✍ 로그 파일을 매일 혹은 3일 단위로 압축해서 특정 경로에 백업 배치파일이라면 ☁ cmd/k는 작업이 끝난 경우 cmd 창을 유지하는 명령어라고 한다. 결론이 급하다면 여기부터 봐야한다. 이게 최종 배치 코드니깐 @echo off @echo 로그백업 배치 파일 실행. set datefull=%date:-=% set timefull=%time: =0% set timefull=%timefull::=% set target_backup_dir=D:\home\logs_bak\%date:~0,4%%date:~5,2%%date:~8,2%\ rem # 오늘 날짜 기준 Ex) yyyyMMdd_logs.zip형식으로 디렉토리 생성. MKDIR D:\home\logs_bak\%date:~0,4%%date:~5,2%%dat..