리눅스의 메모리 메커니즘은 application에서 메모리를 사용하고 반환할 때에 바로 소진되지 않고, cache되어 있다, 그리고 cache를 재사용하는것이 리눅스의 기본적인 동작인데, 강제로 cache를 비우는 방법을 알아봅니다. 우선 cache는 /proc/sys/vm/drop_caches 경로에 있고, 이 경로에 1~3의 값 입력을 통해 cache가 비워지게 됩니다. 그렇다면 각 number에 대한 의미를 알아봅니다. 1 : To free pagecache 2: To free dentries and inodes 3: To free pagecache, dentries and inodes This is a non-destructive operation and will only free things t..
Sigma 70-300 apo 망원 렌즈 밖에 없던 터라.. 뭔가 조합이 아쉬운 점이 많았다, 이를테면.. 가까운 사물을 찍을 수 없다는 점과, 동영상 촬영에 무리가 있다는 점, 그리고 어두운 곳에서.. 한없이 작아지는 내 70-300 렌즈... 그래서!! 그 모든 부분을 커버하기 위해 고른 렌즈는 바로바로 Canon EF50mm f/1.8 II (일명 쩜팔) 인터넷 평이 너무 좋고, 평소 눈 여겨 보던 렌즈인 터라, 의심할 여지가 없이 지르기로 결심, 마침 신도림 테크노마트를 지나는 길이라 바로 구입했다, 인터넷으로 구매하는것과 가격차이가 크지 않았으므로, 기왕이면 오프라인을 좋아하는 ... 우선 구매하자마자 테스트샷, (바디를 들고 있던터라 바로 테스트샷이 가능했다) 이건 렌즈 박스 , 역시 아웃포커..
회선 대역폭을 측정하기 위한 툴로 다양햔 open-source가 존재합니다. 이번 포스팅은 그 중 가장 강력한(?) 툴인 iperf를 설명하고자 합니다 (굉장히 주관적인 생각). 우선 source는 여기에서 다운 받고 compile은 README에 있는 내용처럼, ./configure -- configure for your machine make -- compile Iperf 두가지만 해주면 됩니다. 간단하지 않은가요? compile 이 완료되었으면 회선 대역폭을 측정하고자 하는 장비(혹은PC)에 compile의 결과물인 iperf를 넣어주기만 하면 준비는 끝입니다. 이제 옵션을 알아 볼텐데, document 보다 더한 설명이 어디있을까요, 우선 document 를 참조합니다, 자세하게 옵션에 대해 설명..
보통 구조체의 사이즈라 하면 구조체 내에 선언되어 있는 모든 변수의 총합을 TOTAL로 여깁니다. 얼핏 보면 당연한 결과지만, 컴파일러는 그렇게 못합니다. 이는 컴파일러 내에서 구조체 관련 루틴을 수행할 때에 좀 더 빠른 연산을 위함인데, 그렇다면 어떻게 다른지 알아봅니다.#include typedef struct test{ int a; long c; char b; char d:1, e:1, f:1, g:2, i:1, k:1; long h; } test; int main(void) { test k; k.g=1; // printf("a:%d \n",k.g); printf("size : %d\n",sizeof(k)); return 0; } 간단한 코드입니다, test struct의 사이즈는 얼마일까요? 64..
pthread_cond_wait는 thread를 휴먼 상태로 만듭니다(해당 라인에서 thread의 동작이 멈추는 상태). 이 말은, 일종의 sleep 상태라고 생각해도 되는데, 휴먼 상태에 빠져 있는 이 thread는 다른 thread에서 pthread_cond_signal을 이용해서 깨웁니다 (깨워지게 되면, 그때 부터 pthread_cond_wait 의 다음 라인 코드가 실행됩니다). 그렇다면 다수의 pthread_cond_wait가 존재한다면, pthread_cond_signal은 어떤 pthread_cond_wait를 깨울까요? 답은 아래 있습니다. 일단 함수 생김새를 살펴보면 아래와 같고, int pthread_cond_signal(pthread_cond_t *cond); int pthread_..
자주 사용할 일이 없다보니.. 자주 잊고 구글링을 통해 정보를 얻게 되는데 이번 포스팅을 통해 구글링이 아닌 블로그를 통해 정보를 얻어야겠습니다, mysql 접속 mysql -u 유저 -p 패스워드 db 목록 확인 show databases; 특정 db 사용 use databases; 테이블 목록 확인 show tables; 테이블 상태 체크 check tables 테이블명 테이블 repair repair tables 테이블명 테이블 구조보기 desc 테이블명 테이블 내용 전체보기 select * from 테이블명 테이블의 특정 필드 보기 ( 콤마로 필드 구분, 또한 where 연산 가능) select 필드1,필드2 from 테이블명 특정 테이블 내용을 파일로 select * from 테이블명 into ..
마땅히 취미 생활이 없었던 터라 겸사겸사 카메라(Canon 500D) 구입ㅋㅋㅋ 주변에서는.. 취미의 대가 치고는 좀 무리하는것 아니냐 했지만... 열심히 일한 내게 간만에 포상 ~ 기다리던 카메라 드디어 배송 완료 v'ㅁ'v (사실 2틀 정도 걸렸나) 생각보다 바디가 작다, 히히 귀엽네 정면 샷ㅋㅋ 목줄도 이쁘게 연결하고, 다른 DSLR과 비슷한.... 디스플레이.. (앗 범블비 아이폰 +_+) 기본 번들을 포기하고 구매한 시그마APO 70-300 망원 'ㅁ'v 요건 생각보다 좀 길다 ㅋㅋㅋㅋ 아이폰으로 찍은 사진인데, 요것도 접사 모드 동작하니까 아웃포커싱이 되네... 뜬금 없지만 역시 대세는 애플.. 시대는 아이폰을 기억하겠지, 애플을 기억하는것이 아니라... 마운트 시키고 기념ㅋ 조만간 거울샷도 ..
우선 정보통신표준위원회를 참고해보면 2010-12-23 제개정일로 DTLS에 대한 정의가 담겨 있습니다, 출처 : http://www.tta.or.kr/index.jsp 표준번호 : TTAE.IF-RFC4347 제개정일 : 2010-12-23 한글 표준명 : 데이터그램 전송계층 보안 (DTLS) 프로토콜 영문 표준명 : Datagram Transport Layer Security 한글 내용요약 : DTLS 프로토콜은 데이터그램 프로토콜을 위한 통신 프라이버시를 제공한다. 이 프로토콜은 클라이언트/서버 응용 프로그램이 통신하는 과정에서 도청, 간섭, 위조를 방지하기 위해서 설계되었다. DTLS 프로토콜은 전송 계층 보안(TLS) 프로토콜에 바탕을 두고 있으며 동등한 안전성을 보장한다. 기초적인 전송의 데이..
◈ decompress 확장자 : .tar (묶음 개념) tar xvf 확장자 : .tgz || .tar.gz (묶음이 압축되어 있는 개념) tar xvfz (tar의 버전에 따라서 z옵션이 f보다 앞에 있어야 인식하는 경우도 있습니다.) x : extract v : verbose f : file z: gzip ◈ compress 확장자 : .tar (묶음 개념) tar cvf 확장자 : .tgz || .tar.gz (묶음어서 압축하는 개념) tar cvfz tar cvfz c : create v : verbose f : file z: gzip MAN tar NAME tar - The GNU version of the tar archiving utility SYNOPSIS tar [options] Ope..
printk("[%s %d] %s call %p \n", __FILE__, __LINE__, __FUNCTION__, __builtin_return_address(0)); __FILE__ 해당 코드의 파일 위치 출력 __LINE__해당 코드의 라인 출력 __FUNCTION__해당 함수 출력 __builtin_return_address(unsigned int level)해당 함수를 콜한 주소 출력 (level은 call stack 위치, 0->바로 호출한 함수 1-> 그 함수를 호출한 함수) 출력 결과 [include/net/dst.h 238] dst_input call 4033efac
DHCP messages Message Use ------- --- DHCPDISCOVER - Client broadcast to locate available servers. DHCPOFFER - Server to client in response to DHCPDISCOVER with offer of configuration parameters. DHCPREQUEST - Client message to servers either (a) requesting offered parameters from one server and implicitly declining offers from all others, (b) confirming correctness of previously allocated addre..
편집모드 (i,o 등로 입력할 수 있는 상태) 명령 모드(편집모드에서 esc key를 누른상태) 기 타 A 현재라인의 끝부터 문자 삽입 a 커서 다음부터 문자 삽입 I 현재라인의 처음부터 문자 삽입 i 커서 이전부터 문자 삽입 O 커서의 윗라인에 새로운 라인첨가 (처음부터 문자 삽입) o 커서의 아래 라인에 새로운 라인첨가 (처음부터 문자 삽입) r 커서위치의 한문자 치환 R 커서위치에서부터 계속 치환 cw 한 단어 치환 C 한 라인 치환 c$ 현재부터 라인끝까지 치환 cG 현재부터 파일끝까지 치환 cL 현재부터 화면 끝까지 치환 c) 현재 구 치환 c} 현재 절 치환 ~ 소문자와 대문자 서로 치환 xp 두 문자 자리바꿈 n>> n(숫자)만큼 이동 CTRL + I tab ..
심심할때 한번씩 보면 재미있는 Linux man page..이번에는 iptables 공략입니다, iptables(8) - Linux man page Name iptables - administration tool for IPv4 packet filtering and NAT Synopsis google_protectAndRun("render_ads.js::google_render_ad", google_handleError, google_render_ad);iptables [-t table] -[AD] chain rule-specification [options]iptables [-t table] -I chain [rulenum] rule-specification [options]iptables [-t ta..
#define SIGRTMIN 32 #define SIGRTMAX _NSIG #define _NSIG 64 정규 시그널(sig.1~31)의 action및 Comment는 아래와 같이 확인 (시그널 번호는 하드웨어 구조에 따라 다릅니다) # Signal name Default action Comment POSIX 1 SIGHUP Terminate Hang up controlling terminal or process Yes 2 SIGINT Terminate Interrupt from keyboard Yes 3 SIGQUIT Dump Quit from keyboard Yes 4 SIGILL Dump Illegal instruction Yes 5 SIGTRAP Dump Breakpoint for debuggi..
# /etc/services:# $Id: services,v 1.40 2004/09/23 05:45:18 notting Exp $## Network services, Internet style## Note that it is presently the policy of IANA to assign a single well-known# port number for both TCP and UDP; hence, most entries here have two entries# even if the protocol doesn't support UDP operations.# Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports# are in..
리눅스 커널의 이해저자다니엘 보베이, 마르코 체사티 지음출판사한빛미디어 | 2006-09-29 출간카테고리컴퓨터/IT책소개리눅스 커널이란-. 커널은 말 그대로 메모리에 상주하여 시스템 ... 커널 교과서라고 해도 손색이 없는 도서, (절대 입문 서적은 아닙니다) 번역판으로 보다가 의아한 부분은 원서의 설명을 보는것이 깔끔합니다. 사실 중간중간 억지 번역이 조금 있기 때문에 정확하게 의미 전달이 되지 않아 뜻이 모호한 부분이 종종 있습니다. 이를테면, 11장 "pending signal queue"나, "shared pending signal queue"모두 번역판에는 "대기중인 시그널 큐"로 되어 있습니다, 분명 둘은 다른것인데 말이지요... 여튼 참고하도록 합시다,
우선 마운트 상태를 체크하기 위한 명령어로 df 로 확인합니다. $ df Filesystem 1k-blocks Used Available Use% Mounted on /dev/ram0 63461 37406 22779 62% / /dev/hdc3 248895 66914 169129 28% /xxx/xxx /dev/hdc4 427824 311440 94295 77% /yyy/yyy none 65536 13072 52464 20% /zzz/zzz 원하는 unmount 영역은 hdc3이지만, umount 명령 실행시 실제로 umount가 되지 않음을 알 수 있습니다. $ umount /dev/hdc3 umount: cannot umount /usr/local: Device or resource busy 이럴때 ..
linux 코딩시에 유용한 errno... 대략 errno.h 파일을 include 하고 사용할 수 있습니다. // 경로 : linux/include/asm-generic/errno-base.h #define EPERM 1 /* Operation not permitted */ #define ENOENT 2 /* No such file or directory */ #define ESRCH 3 /* No such process */ #define EINTR 4 /* Interrupted system call */ #define EIO 5 /* I/O error */ #define ENXIO 6 /* No such device or address */ #define E2BIG 7 /* Argument list..
- Total
- Today
- Yesterday