일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- SSH
- LIST
- Linux
- C#
- pytorch
- 오류
- ubuntu
- pip
- Numpy
- 핑거스타일
- Python
- pandas
- 컨테이너
- label
- mysql
- Visual Studio
- OpenCV
- windows forms
- YOLO
- C++
- 기타 연주
- error
- JSON
- VS Code
- 프로그래머스
- Docker
- paramiko
- Selenium
- 채보
- C
- Today
- Total
목록분류 전체보기 (322)
기계는 거짓말하지 않는다
HTTP 상태 코드(HTTP Status Code)는 HTTP 요청에 대한 응답 상태를 3자리 숫자로 표현한다. 아래는 일반적으로 사용되는 몇 가지 HTTP 상태 코드의 목록이다. 1xx (Informational): 요청을 받았고 프로세스를 계속 진행 100: Continue 101: Switching Protocols 2xx (Successful): 요청 성공적으로 처리 200: OK 201: Created 202: Accepted 204: No Content 206: Partial Content 3xx (Redirection): 클라이언트 추가 조치 필요 301: Moved Permanently 302: Found 303: See Other 304: Not Modified 307: Temporary..
서버에서 클라이언트로 단방향 통신이 필요할 때가 있다. 일반적으로 풀링 방식을 사용하게 되면 비효율적일 수 있는데, 실시간 알람, 이벤트 등을 위해 Server-Sent Events(SSE)를 사용할 수 있다. 주의점은 SSE에서 DB 관련 작업을 하지 않아야 하고, 타임아웃 또는 complete 후 재 연결 시 데이터 유실이 가능하다. Controller connect 후 emitter를 반환해야 한다. 또한 connect 후 더미 데이터를 한 번 전송해야 503 에러를 방지할 수 있다. connect 외에 함수에서 반환할 경우 타임아웃까지 계속해서 대기 상태가 된다. connect의 id는 고유해야 한다. id 값으로 중복 요청을 방지할 수 있다. 아래 코드는 샘플이며, 재 연결 유실 처리, 중복 요..
시스템이 부트(boot) 또는 리부트(reboot) 될 때 cron 서비스로 간단하게 명령어를 등록하는 방법이다. 우선 cron 서비스가 동작하고 있어야 한다. sudo service cron status crontab을 실행한다. # root sudo crontab -e # 또는 일반 유저 crontab -e 명령어를 등록한다. 꼭 @reboot를 작성해야 한다. @reboot /경로/myscript.sh
session connect를 할 때, 다음과 같은 오류가 발생했다. com.jcraft.jsch.JSchException: Algorithm negotiation fail at com.jcraft.jsch.Session.receive_kexinit(Session.java:529) ... jdk 1.8 버전을 사용하고 있었고 jsch는 0.1.55였다. 더 높은 버전 0.1.72를 사용하여 해결하였다. gradle에 다음 의존성을 추가했다. dependencies { implementation 'com.github.mwiede:jsch:0.1.72' ... JCE(Java Cryptography Extension)도 추가로 설치했었는데, JCE만 설치했을 때는 해결되지 않았다. Java Cryptogra..
nvidia-smi 명령어를 이용하여 그래픽카드 정보와 사용량을 알려고 할 때, 몇 초 느리게 출력되면서, GPU 사용량이 높게 출력되는 것을 볼 때가 있다. GPU persistence 모드라는 것이 있는데, 이 모드가 아닐 경우 GPU가 유휴 상태에 있다가 깨어나면서 오래 걸리는 것이고 순간적으로 GPU 사용량이 증가한다. nvidia-smi --help | grep persistence 위 명령어를 입력해서 보면 persistence mode라는것이 확인 된다. sudo nvidia-smi -pm 1 위 명령어를 이용하여 persistence mode를 사용하도록 만든다. 다시 nvidia-smi를 입력해 보면 빠르게 출력되는 것을 볼 수 있다. nvidia-smi is slow on Ubuntu ..
현재 마운트 된 스토리지가 HDD 인지 혹은 SSD 인지 확인하고 싶을 경우 아래 명령어로 확인이 가능하다. lsblk -o name,rota | tail 이때, ROTA 값이 0이면 SSD이고, 1이면 HDD이다.
특정 패턴이 포함된 줄에서 특정 패턴의 문자만 교체하는 것이 아닌 해당 줄 전체를 바꿔야 할 때가 있다. 다음과 같은 temp.txt 파일에서 특정 패턴(DEF)이 포함된 줄 전체를 REPLACED LINE으로 바꾸고 싶을 경우 line1 ABC line2 DEF line3 GHI line4 ABCDEF line5 DCBA 예를 들어 line2 DEF와 line4 ABCDEF, 두 줄이 REPLACED LINE으로 바뀌게 하려면 다음과 같이 활용할 수 있다. # sed '/pattern/c\change string' temp.txt sed '/DEF/c\REPLACED LINE' temp.txt 위 명령어는 우선 삭제된 결과를 출력하고 실제로 삭제 후 저장까지 완료하고 싶으면 -i 옵션을 사용한다. se..
다음과 같은 temp.txt 파일에서 특정 패턴(DEF)이 포함된 문자열을 한 줄만(2번째 라인) 삭제하고 싶을 경우 line1 ABC line2 DEF line3 GHI line4 ABCDEF line5 DCBA 다음과 같이 활용할 수 있다. 단, GNU sed가 아닌 표준 sed 이면 명령어가 적용되지 않을 수 있다. # sed '0,/pattern/{/pattern/d}' temp.txt sed '0,/DEF/{/DEF/d}' temp.txt 위 명령어는 우선 삭제된 결과를 출력하고 실제로 삭제 후 저장까지 완료하고 싶으면 -i 옵션을 사용한다. sed -i '0,/DEF/{/DEF/d}' temp.txt