[바미] 인덱스가 불러 일으킨 커다란 해프닝
·
프로그래밍(Web)/업무관련
시작안녕하세요. 때는 저 저번주에 있었던 일입니다.  기존에 온프라미스 환경에서 서비스중인 프로젝트의 버전을 구 버전에서 신 버전으로 업데이트 해야하는 일이 있었습니다. 당연히 신버전은 DB 테이블도 달랐기 때문에 항상 최신 DB를 유지하고 있는 개발서버의 DB스키마를 덤프떠서 작업하려 했습니다.에러 발생...코드 최신화 후 덤프 띄운 DB도 적용시킨 뒤에 프로젝트를 재시작 시켰는데...기존에 5분마다 돌고 있던 로직부분에서 Lock wait timeout exceeded; try restarting transaction 에러 문제가 발생하게 되었습니다. 처음에는 '또 DB 커넥션 풀에서 문제가 발생했구나'라고 생각했습니다. 왜냐하면 이전에도 비슷한 형태로 발생한 일이 있었는데 그 때는 커넥션 풀에서 발..
[바미] 회귀 분석
·
프로그래밍(Web)/업무관련
요번 회사에서 예측 데이터를 계산하기 위해 사용하는 것 중 하나인데 개발하면서 회귀 분석에 대해 공부한 것들을 정리해볼겸 글을 쓰게 되었습니다.회귀 분석 (Regression Analysis)? 회귀 분석(Regression Analysis)은 통계학과 데이터 분석에서 가장 기본적인 도구 중 하나로 독립 변수(설명 변수)와 종속 변수(반응 변수) 간의 관계를 수학적으로 표현하는 방법을 사용하고 있습니다. 두 개 이상의 변수 간의 관계를 모델링하고, 이를 바탕으로 특정 변수를 예측하는 데 사용되는데 과거의 판매량의 데이터를 바탕으로 다음 달 매출을 예측하거나, 기온과 에너지 사용량 간의 관계를 분석하는 등에 사용됩니다. 실 예를 들어 공부 시간(독립 변수)과 시험 점수(종속 변수)의 관계를 나타낼 때 이 ..
[바미] 선형 보간법
·
프로그래밍(Web)/업무관련
데이터를 가지고 특정 기간별 통계, 분석을 내야할 때 특정 기간의 데이터가 null로 비어있는 경우 데이터를 자동으로 보정처리 해주면 편하겠다 싶을겁니다. 그 때 사용되는 보정 방법 중 하나가 선형 보간법이라는 방법인데 오늘은 선형 보간법에 대해 살펴보도록 하겠습니다.선형 보간법?선형 보간법은 두 개의 알려진 데이터 포인트 사이의 값을 추정하는 방법입니다이 방법은 계산이 간단하고 직관적이어서 여러 분야에서 널리 사용되고 있습니다. 예를 들어 두 점 (𝑥0, 𝑦0)와  (𝑥1, 𝑦1)이 주어졌을 때,  𝑥0와 𝑥1사이의 어떤 𝑥에 대한 𝑦값을 추정할 때선형 보간법은 아래와 같은 공식을 사용합니다. \( y = y_{0} - \left( y_{0} - y_{1} \right) \cdot \fr..
Git의 다양한 브랜치 병합 방법들
·
프로그래밍(Web)/업무관련
학습 배경 이직한 회사에서 rebase and merge라는 방식의 merge 방법을 채택하고 있었는데 나에겐 rebase and merge라는 개념이 생소하여 학습하게 되었다. Merge 일반적으로 많이 사용되는 병합이며, 커밋 이력을 모두 남길 때 사용한다. 서로 다른 브랜치에서 작업을 했거나, 작업 내용을 합쳐야 하는 경우 merge를 해주면 됨 브랜치 상태 확인 Checkout한 브랜치를 기준으로 —merged, —no-merged 옵션을 사용하여 merge가 된 브랜치인지 아닌지 필터링할 수 있다. git branch --merged git branch --no-merged Merge 하기 ‘현재' 브랜치에서 [브랜치 명]의 변경사항을 병합 예를 들어 master브랜치와 test 브랜치가 있다고..
OpenVPN Options error: --up script fails with './update-resolv-conf': 지정된 파일을 찾을 수 없습니다. (errno=2) 해결방법
·
프로그래밍(Web)/업무관련
script-security 2 up ./update-resolv-conf down ./update-resolv-conf import하려는 파일코드에서 위 코드를 삭제해주면 정상적으로 사용자 암호를 입력하라는 창이 뜨며 해결됩니다
VisualVM 실행 시 Cannot find java 1.8 or higher 에러 뜰 때
·
프로그래밍(Web)/업무관련
위와 같은 에러 창이 뜨는 경우 다운받은 VisualVM 폴더에 들어 간 뒤 etc 폴더에 들어감. 그 다음 visualvm.conf파일을 연 뒤, 밑으로 내리다 보면 visualvm_jdkhome 부분이 있을텐데 주석 제거하고 자신의 JDK경로를 입력하면 실행된다.
Eclipse Memory Analyzer를 사용하여 메모리 누수 파악하기.
·
프로그래밍(Web)/업무관련
Java 프로세스를 다루는 Linux서버를 운영하다 보면 종종 OutOfMemory(OOM)에러를 만날 때가 있어요. 보통 OOM에러가 발생하면 시스템 자원이 소멸되어 "bash fork retry no child process" 에러로 이어지더군요. 그래서 아래와 같은 쉘 스크립트 코드를 추가하여 Java 프로세스를 실행시키더라도 "bash fork retry no child process" 에러가 발생 했을 시점엔 사용 가능한 시스템 자원이 충분하지 않아서 JVM(Java Virtual Machine)에서 덤프 파일을 생성하는 데 실패했어요. 그래서 제가 찾은 방법은 OutOfMemory(OOM)에러가 발생하기 전 힙 덤프 파일을 생성하여 메모리 누수가 되는 부분을 찾아 예방하는 방법외엔 없더라구요...
[바미] Java - BigDecimal 반올림 메소드 주의사항.
·
프로그래밍(Web)/업무관련
버전이 업데이트 되면서 'ROUND_'로 시작하는 메소드 명들은 BigDecimal.ROUND_UP 올림 BigDecimal.ROUND_DOWN 버림 BigDecimal.ROUND_HALF_UP 반올림(5이상) BigDecimal.ROUND_HALF_DOWN 반내림(5이하) RoundingMode으로 사용하는 부분은 아래로 대체되었다. RoundingMode.UP RoundingMode.DOWN RoundingMode.HALF_UP RoundingMode.HALF_DOWN http://cris.joongbu.ac.kr/course/java/api/java/math/RoundingMode.html
[바미] linux서버 용량 관리하기.
·
프로그래밍(Web)/업무관련
안녕하세요. 회사 내에서 서비스를 운영하기 위해 많은 서버들이 사용되고 있는데요. 그 중에 37GB정도의 용량을 가진 Java 서버의 메모리가 80%넘게 찼다는 봇 알림을 받게 되었어요. 제일 처음 했던 것은 가장 많은 용량을 차지하는 디렉토리를 알아보기 위해 각 디렉토리마다 들어가 아래와 같은 'df' 명령어를 사용하였어요. du -ah | sort -n -r | head -n 10 위의 코드를 사용하면 해당 디렉토리 안에 용량을 가장 많이 차지하는 것 Top10을 뽑아줘서 굉장히 유용했어요. 그 결과 가장 많이 나온 디렉토리는 jar파일들을 저장하고 있는 디렉토리와 log를 쌓고 있는 디렉토리였어요. 로그 파일 정리하기 먼저는 로그를 쌓고 있는 디렉토리에 가서 오래된 log파일들을 정리했고, 그 결과..
Bami
'프로그래밍(Web)/업무관련' 카테고리의 글 목록