본문 바로가기

Programming/Tip&Informaion

(69)
[실수노트] crontab이 실행이 안 되나? 타임존 문제 ec2를 받은 뒤, 주기적으로 실행하는 프로그램을 위해 crontab을 설정했다. 근데 아무리 설정해도 crontab에 설정한 프로그램이 실행되지 않았다. 혹시나 타임존을 확인해봤지만 KST로 나온다. 그래도 몰라 crontab의 시간을 현재시간에서 9를 빼서 설정하니 실행이 된다. cron이 실행된 후에 로컬 시간을 변경하여서, cron은 이전의 타임존을 갖고 있던 것 같다. sercice crond restart 로 재시작하니 잘 작동한다.
[gradle] gradlew 사용 시 사용자 args 넘겨주기 (vm option) jasypt로 암호화를 진행 후에 암호화 password를 실행 시점에 넘겨주려고 했다. 메이븐에선 mvn -Djasypt.encryptor.password=password 형태로 하면 된다고 해서 똑같이 gradlew bootRun -Djasypt.encryptor.password=password 로 했는데 안 된다. 해결법 1. build.gradle 수정 bootRun { systemProperty "jasypt.encryptor.password", findProperty("jasypt.encryptor.password") } 추가한 뒤, gradlew bootRun -Pjasypt.encryptor.password=password 로 하면 된다. (D 대신 P 주의)
[실수노트] kafka consumer 무한 루프 kafka로 데이터를 전송했었는데, 데이터가 잘못된 경우가 발생했다. 받는 쪽에서는 무한 retry하도록 설정되어 있었다. 그래서 처음에는 consumer를 죽이고, 메시지만 미리 받아놓고 consumer를 재실행하자고 했는데, 웹이랑 하나의 어플리케이션으로 되어있어서 부담스러워 했다. 그래서 생각한 게 일단 retension을 아주 짧은 시간으로 바꿔서 메시지를 없애는 방식을 이용했다. 메시지가 전부 사라진 다음에 결국 서버재배포를 하긴 했지만.
[ssh] ssh 이중 연결 설정하는 법 ssh를 사용하다보면 자주 사용하는 포트나 주소를 저장해서 사용하는 경우가 있다. 그럴 때 ~/.ssh/config 파일에 저장해서 보통 사용한다. abc_host 서버에 포트가 1234 일 경우 ~/.ssh/config 파일에 Host abc HostName abc\_host Port 1234이런 식으로 저장하면 $ssh abc 1234로 접속이 가능하게 된다. 근데 서버 환경에 따라 단말기 - 중계서버 - 원하는 서버 이런 식으로 접근을 해야하는 경우가 있다. 이 경우에는 ssh를 2번 입력해야하는데, 이것도 config 파일 수정을 통해 한 번에 해결이 가능하다. 개발서버(abc_host), 원하는서버(target_server) 라고 하면 Host abc_host Port 1234 Host targ..
갤럭시 카메라 32mp 저장 오류 갤럭시 폰으로 사진을 찍고 있다가 크게 놀라는 일이 있어 핸드폰을 세게 쥐었더니 그 후로 카메라 촬영 시에는 문제 없는데 저장한 사진을 보면 사진의 색이 빨갛게 깨져서 나오고 실루엣으로 보면 3개로 나눠져서 나오는 것처럼 보였다. 증상을 자세히 보면 카메라 실행 시 보이는 화면은 이상 없음 전면 카메라 모드 시, 저장하면 깨짐 후면 카메라 모드 시, 이상없음 전면 카메라 동영상 모드 시, 이상없음 하드웨어 자체 문제는 아닌 것 같은데 전면 카메라로 사진을 찍을 때만 문제가 발생했다. 그래서 보정처리 등에서 문제가 생겼다고 판단하여 설정을 이리저리 만져봤지만 똑같았다. 그러다 해상도에서 32mp에서 다른 해상도로 바꾸니 잘 나왔다. 어쨌듬 한 시름 놓았는데, 그래도 완전히 되살리고 싶어 고민을 하다 어플리..
[colab] cuda error device-side assert triggered 모델 학습 후, 예측을 진행하려 하니 cuda error device-side assert triggered 오류가 나왔다. 구글링 결과 batch 사이즈를 줄이라고 했는데, 내 경우에는 줄여도 되지 않았다. 다른 글을 찾아보니, class의 불균형 문제 때문에 그럴 수도 있다고 한다. python의 imblearn 라이브러리를 활용해서 oversampling이나 undersampling을 통해 class의 개수를 비슷하게 맞춰주니 잘 작동했다.
[arch] repository mirror list 갱신 (reflector) reflector를 사용해 repository mirror 서버 갱신 우선 /etc/pacman.d/mirrorlist 파일을 백업을 해놓는다. 예시1. 가장 최근에 싱크된 미러 5개 (속도 순) # reflector --verbose --latest 5 --sort rate --save /etc/pacman.d/mirrorlist 예시2. HTTP나 HTTPS로 싱크된 200개 (속도 순) # reflector --latest 200 --protocol http --protocol https --sort rate --save /etc/pacman.d/mirrorlist 예시3. 12시간 이내에 싱크된 HTTPS 미러 (한국이나 일본) (속도 순) # reflector --country "South Ko..
vscode ssh를 통한 ssh 연결 vscode를 사용해서 원격 서버의 host를 마치 로컬인양 사용할 수 있다. 윈도우면 wsl이나 다른 os는 ssh나 docker를 활용하여 사용한다. vscode 확장 중에서 remote development 확장을 설치하면 된다. (이 확장이 remote wsl, remote ssh, remote docker 등이 함께 묶여있는 거라 위에를 따로 받아도 될 듯 하다.) 개인적으로 인터넷이 안 되는 내부망에서 ssh로 다른 서버를 연결하고 또 여기서 ssh를 통해서 다른 서버에서 접속라여 작업을 해야하는 상황인데, java 같은 언어를 terminal 환경에서만 하려니 너무 불편하여 이 방법을 사용하게 되었다. 일단 vscode를 다운받아 로컬에 설치한 뒤, remote development 확장도 ..