전체 글
Altibase Memory Tablespace Table을 Disk Tablespace로 이관 1. 왜 이관해야 했는가? 내가 참여하고 있는 프로젝트에선 Altibase의 Memory Tablespace만을 사용하고 있다. 비교적 적은 양의 Data만을 Altibase에 넣고 있었다고 생각하여 가끔 상태확인과 서버리소스 모니터링만 하고 DBMS에 대한 주기적인 모니터링을 하지 않았었다. 이런 오만함에 결국 Memory Tablespace의 사용률이 95퍼센트 근처에 도달해 있었다.(SWAP을 비정상적으로 많이 사용하고 있을 때라도 확인했어야 했다) 몇 번의 회의를 거듭하여 Altibase의 Memory Tablespace의 사용률을 줄이기 위해 몇 가지 방안이 나왔고 처리방법을 정했다. 서버들의 Sca..
KMP (Knuth-Morris-Pratt) Algorithm KMP 알고리즘은 주어진 문자열(M)에서 찾고자 하는 문자열(N)을 빠르게 찾아내는 알고리즘이다. KMP 알고리즘은 O(N+M)으로 문자열을 전체비교하는 문자열 완전검탐색 (Brute Force, 시간복잡도 : O(NM))보다 더욱 빠르게 원하는 문자열을 검색할 수 있다. KMP 알고리즘 이해 KMP 알고리즘의 이해는 다음 글들을 참고하면 좋을 것 같다. KMP : 문자열 검색 알고리즘 문자열 검색이 뭐지? 워드프로세서를 사용할 때 찾기 기능을 사용한적 있을 겁니다. 브라우저에서도 Ctrl+F 단축키를 눌러 검색할 수 있습니다. 아래 이미지는 브라우저에서 "테이프"를 검색했을 bowbowbow.tistory.com [알고리즘/ 파이썬] KMP..
발생 업무 중 과거 데이터들을 수집하기 위한 스크립트를 작성하고 실행시키니 다음과 같은 오류 발생 sqlDeveloper에선 발생하지 않으나 python의 cx_Oracle에서 실행할 때만 발생 해당 쿼리는 월 1일 ~ 월 말일 조건이 다수 존재하는 쿼리 원인파악 해당 에러는 말 그대로 date형 컬럼을 변환할 때(보통 to_date) 년도가 -4713에서 9999 사이의 값, 0이 아닌 값이여야 한다는 에러 테이블의 컬럼 타입과 입력한 데이터 타입이 다를 경우 데이터의 크기가 오라클의 MAX값을 초과한 경우 나의 경우는 datetime 객체를 std_date에 그대로 넣어버려서 문제가 발생 문제해결 --std_date : 기준년월 1일 SELECT data1, data2, date_data FROM s..
Paramiko Welcome to Paramiko! Paramiko는 클라이언트와 서버 기능을 모두 제공하는 SSH 프로토콜의 순수 Python 구현체(C와 Rust 확장을 사용하지만 암호화를 위해 사용) 일반적으로 원격 쉘 명령 실행과 파일전송과 같은 일반적인 클라이언트에 사용 Python 2.7 이상, 3.4 이상 사용할 수 있음 설치 python -m pip install paramiko 사용 연결 import paramiko client = paramiko.SSHClient() username = 'username' password = 'password' user_info_dict = { 'username' : username, 'password..
발생 paramiko를 설치하던 중 다음과 같은 오류가 발생했다. Could not build wheels for pynacl, bcrypt which use PEP 517 and cannot be installed directly pep 517을 사용하면서 직접 설치할 수 없는 휠을 만들 수 없다고 한다. 해결 ERROR: Could not build wheels for bcrypt which use PEP 517 and cannot be installed directly python -m pip install --upgrade pip python -m pip install --no-use-pep517 bcrypt, pynacl 다음과 같이 입력하면 될 줄 알았지만 pip 업그레이드만으로 해결되었다. ..
문제 Windows Docker를 WSL2기반으로 사용하고 있다. 그러던 중 마우스가 끊기는, 메모리가 부족할 때 발생하는 현상이 생겨서 작업관리자를 켜보니 Vmmem이라는 프로세스가 메모리를 미친듯이 점유하고 있다. 해결 인터넷 서치 중 비슷한 경우가 많은 것을 알게되고 그중 한 블로그에 들어가 해결방법을 찾았다. 쏘닉.log 파일탐색기를 열어 %USERPROFILE%를 입력하던 C:\Users\ 에 자기 계정 디렉토리에 들어간다. 해당 경로에 .wslconfig라는 이름의 파일을 만들고 다음과 같은 내용을 넣는다. [wsl2] memory=8GB # WSL 2 VM에 할당할 메모리 swap=0 # WSL 2 VM에 추가할 스왑 공간(스왑 파일 없음의 경우 0) localhostForwarding=tr..
문제 Ubuntu 20.04 LTS 버전에는 기본으로 python3가 설치되어 있다. 문제는 내장 python3는 있으나 pip, venv가 설치되어 있지 않다. $ python3 -m pip /usr/bin/python3: No module named pip 해결 Microsort 공식 홈페이지에는 WSL2의 Python3에 pip와 venv를 설치하게 안내하고 있다. https://docs.microsoft.com/en-us/windows/python/web-frameworks 먼저 apt를 업데이트해준다. $ sudo apt update & sudo apt upgrade 그 다음 apt로 python3-pip를 설치한다. $ sudo apt install python3-pip 추가적으로 venv(파..
1. 오류 발생 평소처럼 코딩하고 수정하기를 반복하며 테스트 하던 중 갑자기 코드 수정사항이 적용되지 않았다. 2. 과정 Project -> Clean 후에 서버 재실행 ( 실패 ) Update Maven Project(Alt + F5) 후에 서버 재실행 ( 실패 ) Window - Preference 에 Server -> Runtime Environment 에서 Tomcat Server 런타임 환경설정 삭제 후 재등록 ( 실패 ) 기타 구글에서 본 내용들 해도 바뀌지 않았었다. 아무리 봐도 톰켓문제인 것 같은데 ... 3. 해결 Workspace 에 해당 프로젝트 디렉토리에서 .metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/{해당프로젝트}..