유사한 기능을 하는 함수인 split와 explode.. 꽤 많은 루프를 돌아야 하는 상황에서 성능을 고려하지 않을 수 없었습니다. 그래서 간단하게 테스트 진행. 테스트 코드는 아래와 같이 단순 문자열을 "="로 구분 (100만번 반복) 위와 같이 split와 explode 함수를 각각 100만번 루프 돌린 결과 explode의 결과 # php aa.php X-Powered-By: PHP/5.2.6 Content-type: text/html; charset=utf-8 1.3024411201477 sec split의 결과 # php aa.php X-Powered-By: PHP/5.2.6 Content-type: text/html; charset=utf-8 1.7867012023926 sec 결과적으로 ex..
입사 후 TTA를 가본 것은 이번이 처음이다, 개발자가 성능측정을 위해 사이트에 나가는 것은 흔치 않은 일이기 때문에.. 뭐 어쨌든 이번에는 여건이 그렇게 되서 가게 되었는데, 한번 측정에 수백만원의 돈이 걸린 일이니, 당일 성능측정을 정상적으로 끝내지 못하면 그 또한 다소 피곤한일.. 측정은 Avalnache를 이용한 CPS(connect/second), CCS(concurrent session)과 SmartFlow를 이용한 PPS(packet/second), 총 3가지 였다. (1G측정.. 10G측정이었다면 IXIA를 사용했겠지..?) 평소에 계측기를 다뤄보긴 했지만 심도있지 않았기 때문에(계측기를 조금 다룰 줄 아는 사원에게 증상 재현을 위해 잠깐 배우는 정도) TTA 담당자분의 계측기 세팅은 실로..
넋두리 [명사] 1.불만을 길게 늘어놓으며 하소연하는 말. 2.굿을 할 때에, 무당이나 가족의 한 사람이 죽은 사람의 넋을 대신하여 하는 말. 멍청한 사람과 공동으로 무엇인가를 개발하는 것도 짜증나고 이래저래 부딪히겠지만, 의욕없는 사람, 혹은 귀차니즘에 빠져있는 사람과는 정말 무엇인가를 하고 싶지 않다. 오늘 다시 한번 뼈져리게 느낌... 자기쪽 버그 수정하기 귀찮아서 반대쪽에 억지로 값 변경 해달라고... 결국 자기쪽은 손 안대고 코 푼.. 아니 버그를 푼건가.... 적당히 하지.. 너무 노골적이니까 짜증나네... 이것이 진정 개발자 마인드 맞나.. 오대수 마인드... "오늘도 대충 수습하면서 살자" 그런식으로 할꺼면, 적어도 남한테 피해는 주지 말자
gethostbyname() 함수 몸통을 좀 수정 할 일이 있어서 glibc를 빌드 하는데, configure에서 발생되는 에러입니다. configure: error: you must configure in a separate build directory 직역하면 반드시 다른 디렉토리에서 configure하라는 뜻인데 아래와 같은 방법으로 해결 하도록 합니다. $mkdir test $cd test $../configure checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu configure: running configure fragment for add-on nptl checking sy..
리눅스는 resolver가 DNS를 풀이하는데, 설정 파일은 [ /etc/resolv.conf ]에 위치하고 있습니다. 간략한 파일 편집을 위한 옵션은 여기를 참고하도록 합니다, DNS는 nameserver option을 사용해서 세팅하게 되는데 형식은 아래와 같습니다. $ cat /etc/resolv.conf nameserver 192.168.0.1 nameserver 192.168.0.2 nameserver 192.168.0.3 하지만 이 설정에도 임계치가 있으니... 앞서 링크에서 설명되어 있지만 MAXNS 값은 현재 3으로 에 선언되어 있습니다. (모든 커널이 꼭 그러한것은 아닙니다) 이 값으로 인해서 [ /etc/resolv.conf ] 에 nameserver option으로 아무리 많은 값을 ..
Windows XP는 기본적으로 IPv6 서비스를 제공하지 않습니다,고로 command창에서 IPv6 서비스를 install하고 설정 할 수 있어야 합니다.(User interface는 따로 제공하지 않음) 일단 명령 프롬프트로 접속하도록 합니다. 1) cmd 진입2) netsh 모드 진입3) interface 모드 진입4) ipv6 install install이 완료되면 로컬 영역 연결 속성에서 정상적으로 IPv6 서비스가 설치 되었는지 확인합니다.(IPv4처럼 클릭을 해서 세부적인 설정을 하는 것은 불가능 합니다) 5) ipv6 모드 진입6) add address 명령어로 적당한 IP 설정(시스코 장비 처럼 ?에 대한 help를 제공하므로 어렵지 않게 설정 할 수 있습니다) 7) IP설정 이후에는 그..
iptables 참고자료 리눅스 2.4 패킷 필터링 하우투
이번 회식은 사당에 있는 [참치樂락]에서 진행 되었습니다, 뭐 보통 그러하듯이 무한 리필이 일단은 강점!! 하지만, 정말 맛있고 비싼 부위(?)는 초반에만 나오고 리필용 참치는 다소 싼(?) 부위로 채워집니다. 일단 외관을 살펴봅시다, 사당역 5번 출구로 나와 골목으로 들어서면 어렵지 않게 간판을 찾을 수 있습니다. 올라가는 계단에서 기념 촬영, 미리 방으로 예약을 해둬서 직원의 안내를 받고 이동 할 수 있었습니다. 이미 기본 세팅 되어 있는 상태, 두사람 앞에 김 뭉퉁이가 주어집니다, 회만 먹을 경우 다소 느끼함을 느낄 수 있으므로 김은 필수. 가격표는 각 자리마다 깔려있으니 참고하도록 합니다, 배가 고팠던건지.. 뭔지.. 바로 나오는 호박죽이 참 맛있게 느껴짐.. 하지만 참치를 위해.. 두 숟가락 정..
예비군 6년차.. 8시간 향방기본훈련은 부천예비군훈련장에서 받게 되었다. 무슨 철새도 아니고 매년 훈련 받는 장소가 달라지는지.. (잦은 주소 이동 때문..) 여튼 오르막길이 많아서 꽤 힘들었고, 교통편이 썩 좋지 못하다는 단점이 있는 훈련장. 사실 교통 좋은 훈련장은 극히 드물지만, 부천역에서 마을버스(015)를 타거나, 자가를 이용해야 한다, (자세한 위치는 2번 출구에서 에스컬레이터로 1층으로 내려온 뒤에 길 따라 우측 코너를 돌면 정류장이 있다. 시간이 넉넉하지 못한 경우에는 맞은편에서 타야 훈련장이 조금이라도 가까우니 참고!) 자가 이용시에 마땅한 주차장이 마련 되어 있지 않으니 유념하기 바람. 일단 추억을 남길 겸 사진 투척 (문제의 소지가 있는 사진은 투적하지 않습니다^^;) 도착한 사람들은..
일반적으로 회선 점검을 위해 L3 에서 ping 명령어를 사용. 이때 기본적인 ping 명령은 아래와 같습니다. (일반적인 윈도우나 리눅스의 ping과 같습니다.) BottomL3>ping ? WORD Ping destination address or hostname ip IP echo ipv6 IPv6 echo tag Tag encapsulated IP echo BottomL3>ping xx.xx.xx.xx Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to xx.xx.xx.xx, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1..
바로가기 ㅇㅇ
우연찮게 회사와 연계가 되어 몬타비스타 교육을 다녀왔습니다, 임베디드 프로그래밍에서 사용되는 문법이나, 리눅스 체계에 대한 전반적인 이야기가 있었는데, 리눅스에 대해 무뇌한 이라면 모를까.. 살짝 지루한 감도 있었습니다. /proc에는 뭐가 있는 둥.. oom killer.. timer, signal.. 물론 호기심을 돋구는 부분도 있었는데, gdb 활용을 위해 target board에 gdbserver를 올리는 것이나, 평소 살짝쿵 궁금했던 static/shard library building. PPT를 묶어 놓은 스프링 노트를 받아왔으니 이따금씩 봐야겠습니다, 그나저나, 아직까지도 페도라니, 우분투니.. 몬타비스타니.. 무엇이 특장점이고 단점을 모르니.... 모자라네요, 끝도 없이.... 에고고..
※ memory_get_usage (PHP 4 >= 4.3.2, PHP 5)memory_get_usage -- Returns the amount of memory allocated to PHP Descriptionint memory_get_usage ( void ) Returns the amount of memory, in bytes, that's currently being allocated to your PHP script. memory_get_usage() will only be defined if your PHP is compiled with the --enable-memory-limit configuration option. ※ ini_set('memory_limit', '..M') (PHP 4..
◆ kmalloc : 연속적인 메모리 공간 사용: 최대 32 * PAGE_SIZE(4096byte) = 32*4096byte = 131,072 byte: 그 이상의 할당을 시도 할 경우 정상적인 예외처리가 지원하지 않는다면 프로그램이 비정상 종료 될 수 있음.: 이는 미리 slab에 지정 되어 있는 사이즈의 최대 cache가 131,072이기 때문, 즉 include/linux/kmalloc_sizes.h의 편집을 통해 값을 조정 할 수도 있다. (커널에서 확인은 cat /proc/slabinfo): 4K가 초과되는 경우 garbage collector가 동작하고 메모리를 더 확보하기 위한 시도가 있다고 하는데 확인 못함: 함수 형태 static inline void *kmalloc(size_t size..
기본적으로 dhcp discover message는 다른 서브넷으로 넘어가지 못하므로, 이를 위해 dhcp relay 기능이 고안되었습니다, 간략한 동작 모드를 살펴보고 주의점을 알아봅니다. 대략 동작은 위와 같습니다. (각 Message에 대한 의미는 여기를 참고하도록 합니다.) 꼭 기억해야 될 사항은 분명 서브넷은 넘어가지만 Offer Message나 Ack에서 dhcp server는 relay agent(A) 아이피에 대한 routing을 참조로 나가지는 않는다는것과 (단말 to dhcp relay agent 사이의 라우팅 참조), (dhcp server에서 offer msg나 ack를 보낼때 단말 쪽 라우팅을 참조하지 못할 경우 port unreachble을 맛 볼 수도 있습니다.) dhcp se..
모 개그맨이 신인시절 코너 도중 NG를 내고 무대에서 내려올 때 무서운 고참 개그맨의 호통의 예상되자.. 바로 무릎 꿇고 "영혼을 팔아서 웃기겠습니다"라는 절실한 발언을 내뱉었다고.... 네.. 그렇습니다.. 영혼을 팔아서 프로그래밍하겠습니다.. (아, 그렇다고 지금까지 건성건성 했다는건 아니고요..) 요즘 이래저래 작성한 코드에서 [dynamic|critical] 한 bug나 exception이 발생되는 것을 보고... 푸념(?)하는 것이 아닌, 조금은 더 좋은, 열정적인 개발자가 되길 희망하는 차원에서 작성된 글 입니다. 더욱 욕심 많은 개발자가 되어야겠지요... 발전은 욕심에서 비롯 된다는 mind입니다..헤
mysql 에서 제공 된다니.. 놀랍습니다.. 활용하면 끝도 없는 Query... mysql> select num from my_table; +-----+ | num | +-----+ | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 | | 10 | | 11 | +-----+ 11 rows in set (0.00 sec) mysql> select num from my_table where num & 2; --> 10 (2진수) +-----+ | num | +-----+ | 2 | --> 10 | 3 | --> 11 | 6 | --> 110 | 7 | --> 111 | 10 | --> 1010 | 11 | --> 1011 +-----+ 6 rows in set (..
linux-3.0.4 에서 x86_64 관련 신나게 2.6 kernel 에 포팅 해 놓고, 이런저런 테스트 이유로 i386, mips compile해보니... 비정상적으로 동작 하는것 투성이... 포팅 끝마친 x86_64만 정상으로 되네;; 포팅한 부분이 한두개가 아니라.. 어디서부터 뭘 어떻게 debuging 해야 할 지 ... 까마득.. 진작에 CONFIG로 포팅 하는 것들 막아 놓고, 수정한 변수나 함수 ifdef 해놨으면... 지금 이 고생은 안했을 텐데..... 아쉽다........... 매일 머리로만 활용하자 활용하자 하지말고.. 제때 써먹고 습관 들이자... 쫌 !!
- Total
- Today
- Yesterday