반응형

분류 전체보기 144

JAVA CSV파일 엑셀 다운로드 후 시간 표기 오류

CSV로 파일을 만들때 앞에 =" 뒤에 " 값을 주면 CSV값에는 해당문자들이 포함되있지만 실제 보이는 값에는 해당문자가 빠져있다. EX) sb.append("=\""+ur.getDate()+ " " + ur.getTime()+"\""+","); 출처 https://blog.naver.com/tear230/220562618850 엑셀에서 CSV파일을 열때 숫자를 문자열로 인식 # CSV파일로 작성된 데이터를 엑셀프로그램으로 열어서 확인하는 경우 숫자타입을 강제로 문자열로 인식... blog.naver.com

[Linux] curl 주요 옵션

주요 options (http/https 관련 옵션만 정리) -k --insecure https 사이트를 SSL certificate 검증없이 연결한다. wget 의 --no-check-certificate 과 비슷한 역할 수행 -l --head HTTP header 만 보여주고 content 는 표시하지 않는다 -D --dump-header 에 HTTP header 를 기록한다. -L --location 서버에서 HTTP 301이나 HTTP 302 응답이 왔을 경우 redirection URL 로 따라간다. --max-redirs 뒤에 숫자로 redirection 을 몇 번 따라갈지 지정할 수 있다. 기본 값은 50이다 curl -v daum.net 을 실행하면 결과값으로 다음과 같이 HTTP 302 ..

OS/Linux 2022.03.11

[Linux] SMTP 메일 서버 설정 sendmail

[Linux] SMTP 메일 서버 설정 sendmail sendmail 관련 패키지 설치sendmail 을 사용하기 위해서는 아래의 3개의 패키지를 설치 sendmail - 메일 전송 에이전트 sendmail-cf - sendmail을 재설정 하는데 필요한 파일들 sendmail-devel yum install sendmail sendmail-cf sendmail-devel2. sendmail sendmail.cfsendmail에서는 릴리즈 제한을 위해서 로컬에서만 메일을 발송하도록 하고 있다 릴레이는 허용하지 않고, 어디에서나 메일 클라이언트(아웃룩)을 통해서 발송할 수 있도록 설정을 변경 아래 파일의 해당 행을 다음과 같이 변경 # vi /etc/mail/sendmail.mc 52줄 : TRUST_A..

OS/Linux 2022.03.08

[curl] timeout 설정

[curl] timeout 설정 curl 커맨드는 Response가 돌아올 때 까지 기다리는데, DEFAULT_CONNECT_TIMEOUT 은 5분으로 설정 행 발생으로 인한 서버 비정상 상황 대비해 connect-timeout 시간을 --max-time 옵션으로 직접 요쳥 STATUS=$(curl --max-time 10 -s -o /dev/null -w "%{http_code}" -X POST $CHANGE_REST_API ) if [ $STATUS -eq 200 ]; then log "change call" fi ※ (connect-timeout 옵션은 작동을 안해서 --max-time 으로 설정) - 나중에 미작동 이유 확인 필요

OS/Linux 2022.03.08

[MySQL] Lock wait timeout exceeded

기존에 정상적으로 동작하던 API에서 간헐적으로 Timeout Error가 발생하기 시작했다. Cloudwatch Log에서 다음과 같은 에러 메시지를 확인하였고, 외부 연동 포인트가 아닌 DB에서 발생한 문제 임을 알게 되었다. Lock wait timeout exceeded; try restarting transaction Lock Timeout이 발생하는 원인 1. Transaction 수행 시간이 긴 경우 Lock Timeout이 발생하는 것은 하나의 Transaction이 처리되는 데에 시간이 오래 소요되는 경우이다. 실제로 에러가 간헐적으로 발생하는 API는 Bulk 요청이 주로 이뤄지는 API들이다. Bulk 요청이기 때문에 Transaction 관리를 보다 철저하게 처리해주었는데, Tran..

MySQL Lock 상황 문제 해결

최근 중국어 공부에 집중하느라 개발 관련해서는 느슨하게 지내고 있었는데 장애 처리 상황이 발생하여 해결했던 내용을 공유합니다. 장애 상황 외부에서 받은 데이터를 DB로 업로드 하는 프로그램이 있는데 평소에 잘 실행되던 프로그램이 특정 파일에 대해서만 저장이 되지 않는 문제가 발생하였습니다. 이 프로그램은 Spring Boot로 만들어진 프로그램으로 에러 메시지는 다음과 같은 에러 메시지가 나타납니다. Lock wait timeout exceeded; try restarting transaction 이런 상황이 되면 많은 개발자의 반응은 "조금 전까지 잘 돌아가던 프로그램이었어요! 왜 안돌아가는지 모르겠어요?" 일 것입니다. 그리고 timeout이 발생했으니 DB 서버 성능에 문제가 있는 것이 아닌가 하는..

리눅스 서버 시간 동기화

1. 서버에 원격 접속 한 후, 해당 서버에 rdate를 설치 yum -y install rdate # rdate를 설치 Ubuntu 계열 apt-get -y install rdate # rdate를 설치 2. 타임 서버를 time.bora.net으로 설정하고, 타임 서버로부터 시간을 할당받아 하드웨어 시간으로 세팅 rdate -s time.bora.net && hwclock -w # time.bora.net으로부터 시간을 받아오기 # 하드웨어 시간을 해당 시간으로 설정 3. 시간이 제대로 동기화 되었는지 확인합니다. date ## 시간 조회 ### 조회 결과 예시 ### 2022. 01. 11. (화) 11:11:11

OS/Linux 2022.01.13

[Solaris] 보안 정책 ( 로그인 / 패스워드 / root ), 계정 expire

[Solaris] 패스워드 정책 1. 보안 정책 파일 수정 # vi /etc/security/policy.conf LOCK_AFTER_RETRIES=YES * 계정 잠금 ( Account Locking ) : Login 중 반복적인 실패가 발생할 경우 해당 Account 를 정지하는 기능 2. /etc/default/login 환경 파일 수 RETRIES=5 // 연속 오류 입력 허용 : 5회 이내 3. Locking 정보 제거 # passwd -u Account * 패스워드 조합 1. 설정 파일 : /etc/default/passwd 2. 설정 옵션 Option Description MINWEEKS 비밀번호를 바꾸지 못하는 일 수를 주 단위로 설정, /etc/shadow 파일에서는 하루 단위로 설정이 ..

OS/Solaris 2022.01.11

[MySQL] isolation level 종류 및 특징

※ isolation level (Transaction 격리 수준) - 동시에 여러 트랜잭션이 처리될 때, 특정 트랜잭션이 다른 트랜잭션에서 변경하거나 조회하는 데이터를 볼 수 있도록 허용할지 말지를 결정 하는 레벨 - 격리 수준 : Read Uncommitted, Read Committed, Repeatable Read, Serializable - 격리 수준이 높아질수록 동시성도 떨어지는 것이 일반적 Read Uncommitted (Dirty Read) Read Committed ※ Repeatable Read : 하나의 트랜잭션 내에서 동일 select 쿼리를 실행했을 때는 항상 같은 결과를 가져와야 한다는 정합성 정의 (select를 한 후 재차 하는 사이에 데이터 변경이 있어서 동일 select ..

반응형