일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 디버깅
- thread pid
- 괌여행
- 리눅스
- C
- 인화여고
- Listen
- spacse
- 인천
- core file
- 노트북 배터리 교체
- 20.04
- ubuntu
- 껍질없는
- whatis
- 옛날 탕수육
- 괌
- linux
- 와각칼국수
- vi
- 출력
- 노트북 정보
- 칼국수
- 차량진단
- IPv6
- 다수 클라이언트
- __func__
- gdb tip
- kdumo
- vcore
- Today
- Total
목록20년차 개발자 (14)
극히 개인적이고 극히 대단하지 않은
1. IPv6 주소 생성하기 생성 /sbin/ip -6 addr add / dev 삭제 /sbin/ip -6 addr del / dev 2. IPv6 주소가 잘리지 않게 netstat 확인 /bin/netstat -ant /bin/netstat -ant -T ubuntu에서는 -T 옵션이 없어졌다. 대신 -W 옵션을 사용하면 동일한 결과를 얻을 수 있다.
일반적으로 RTP와 SRTP를 구분하는 제일 쉬운 방법으로 패킷의 사이즈를 비교한다는 것은 여러 포스팅에 많이 올라와 있다. 즉, RTP와 SRTP로 통화를 하는 경우에 wireshark에는 모두 RTP로 표기되지만, 10 byte의 사이즈 차이가 있으며, 10 byte 큰 패킷이 SRTP, 작은 패킷이 RTP로 판단하면 문제가 없다. 그런데, IPv6와 IPv4가 혼재된 상황에서는 단순히 wireshark의 캡춰창에 나타난 사이즈만으로 비교했다가는 혼란에 빠질 수 있다. 아래 캡춰 화면에서 보면 IPv6의 RTP 패킷의 사이즈가 236 byte로 IPv4의 SRTP의 길이인 226 byte보다 오히려 10 byte 더 크게 보인다. 위 캡춰화면에서 IPv6는 RTP로 통신하고 있고, IPv4는 SRTP..
vim은 사용자가 다 알기도 어려울만큼의 다양한 기능을 제공한다. 하지만, 사용자가 원하는 기능을 구현할 수 있게 script와 함수기능을 제공한다. 링크를 확인 http://learnvimscriptthehardway.stevelosh.com/chapters/00.html
Thread-unsafe한 특성 때문에 multithread 프로그램을 작성하는 경우에는 localtime()함수대신 localtime_r()함수를 사용하는 것이 안전하다. 기존 소스에 있는 localtime() 함수를 localtime_r()로 바꾸는 경우에 주의해야 할 사항이 있다. localtime() 함수는 struct tm 구조체의 내용을 구하여 그 포인터를 반환하여 주기 때문에 struct tm에 대한 포인터 변수로 그 결과를 받아도 상관없지만, localtime_r() 함수의 경우에는 struct tm의 구조체를 생성한 후, 그 포인터를 함수의 인자로 넣어줘야 하기 때문에 호출 전에 struct tm 실체가 존재하여야 한다. 즉. struct tm *myStruct; ... myStruct ..
일반적으로 시각정보를 얻기위해 gettimeofday, time, localtime 등의 함수를 많이 쓰게 되는데, 이 함수들은 기본적으로 과거의 특정시점(1970년 1월1일 0시)을 기준으로 시간 값을 얻어오기 때문에, 두 시점의 시간 간격을 측정하여 동작을 하는 프로그램에 있어서 시각이 변경되면 절대적 시간 간격을 측정할 수가 없게되고 이로 인하여 원하지 않는 오류가 발생할 수 있다. 예를 들어 사용자의 사용시간에 따라 과금을 하는 프로그램이 있는데, 사용자는 1시간을 사용을 했지만, 사용시간 중에 시각을 30분 앞으로 당겼다면, 이 사용자는 30분만 사용한 것으로 과금이 될 것이다. 이런 오류를 극복하기 위하여 clock_gettime 함수를 사용하면 된다. clock_gettime의 prototy..
1 리눅스 시스템 명령어 중에 lsof라는 명령이 있다.시스템을 모니터링하다가 이상 동작이 감지되는 경우, 현상의 원인을 알아내기 위해 사용하는 수십가지 기본 명령어들 중의 하나이며, 각 프로세스가 열고 있는 file descriptor를 파악할 수 있어 유용한 명령이다. 그런데, 여기에 출력되는 command가 기본적으로 9자 까지만 허용되어있다. 이 것이 일반적으로는 별다른 고난을 주지는 않지만, 우리 회사처럼 프로세스 이름의 작명에 철학을 가진 경우에는 문제가 되는 경우가 있다. 우리회사는 개발한 프로세스의 이름을 '회사고유의 접두사'_'프로세스 서비스 분류'_'프로세스 고유명' 으로 정의하고 있다. 그러다보니, 프로세스명의 9자를 훨씬 넘어가는 것은 물론이고, 동일한 접두사와 동일한 분류를 가지는..