callback 이란 나중에 다시 불린다는 의미인데, 이것은 뭔가를 처리해달라고 요청한 다음 무작정 기다리는 것이 아니라 다 되면 불러달라는 고객 중심적인 처리 방식이다. callback이 아름다운 것은 callback을 등록한 뒤, 괜한 일로 시간을 낭비하지 않겠다는 것이며, 그것은 이 사회를 말하자면 아쉬운 놈이 계속 칭얼대야 돌아가는 것 보다 한 번 얘기 했을 때, 다음에 확인해오는 끝까지 믿음직한 서비스가 만연해 있는 것을 말한다. 프로그램을 설계할 때도, 적절한 callback을 구사하면 확장성이 고려되었다는 인상을 짙게(!) 풍길 수 있다. 자칫 쓰지도 않을 확장을 고려하느라 시간을 낭비하기도 하지만, 미학에는 시간을 다투어 개발하는 것보다는 만들어진 결과로 판단하는 경우가 많으므로 논외로 하..
결혼이 만 6년을 향해 간다. 예전의 날카로운 것은 사라져가고, 점점 둥글둥글 시키는대로, 나아가 알아서 산다. 아내는 은연중에 나를 samdolite(삼돌라이트)하여 완벽한 samdolitee(삼돌라이티이)의 생활을 하게 만드는 samdoliter(삼돌라이터)다. 처음엔 결혼했으니 samdolish(삼돌리쉬) 생활을 마음에 두고, 내 생활을 고쳐나가다가, 점점 samdolity(삼돌러티)를 높혀가더니, 완전 samdolization(삼돌라이제이션)을 이룬것 같다. 이젠 주위의 갓 결혼한 남편들의 samdolic(삼돌릭)한 경우를 보면 앞이 뻔해 보인다. samdolite: vt. 누군가를 삼돌이로 만들다. samdolitee: n. 그렇지 않던 사람이 점점 삼돌이화 되어 가는 대상 samdoliter:..
갑자기 방문자 수가 며칠전부터 늘었다. 13일과 14일은 주말이었는데, 이렇게 늘다니, 주말은 원래 20,30%감소하기 마련인데, 오히려 4배 이상이 늘었다. 1. count 알고리즘이 정교하지 못한것이다. 2. 검색 로봇이 며칠째 기승을.... 3. 뭔가 낚일만한 문서가 검색되고 있다. 뭘까... 도메인을 바꾸기 전에도 180정도였는데... 리퍼러 분석도 그다지 신통하지 않다. 다른 날보다 더 새로운 리퍼러들도 없고, 무언가 리퍼러 없이 바로 들어 오는 트래픽이 늘어난 것 같은데...
소켓 프로그램에서 송수신으로 가장 많이 사용되는 것은 recv,send 와 recvfrom, sendto 일 것이다. 전자를 TCP 용 후자를 UDP 용으로 흔히 알고 사용하는데, 그 이유는 연결지향형이 아닌 경우 매 패킷마다 주소지가 다른 데이터가 올라 올 수 있기 때문에 주소를 받거나 보낼 수 있는 시스템 콜을 사용하게 된다. UDP의 경우 기대되는 데이터의 흐름은 다음과 같다. 서버 1. UDP 서버가 대기 2. 패킷 및 클라이언트 주소 수신 3. 클라이언트 주소로 응답 송신 클라이언트 1. 서버주소 및 요구사항 송신 2. 패킷 및 서버 주소 수신 여기서 주의할 점이 클라이언트가 데이터를 송신하고서 recvfrom 으로 대기하고 있다면, 서버가 아닌 다른 누군가가 패킷을 쏜다면 (이것은 네트웍 중간..
아쿠아리얼 스키니쉬 디지멀 이펙트라는 말은 약 35분 전에 만들어진 신조어다. 그 뜻은 어떤 느낌에 대한 효과를 설명하기 위함인데, 이 글을 읽고 있는 당신은 끝까지 눈을 뗄 수 없을 것이다. 효과 재현법. 1. 상온의 물을 준비한다. 상온의 물은 전날 저녁 1.7 liter 들이 주전자에 물을 채워서 끓인 다음 500 ml 정도를 마신 뒤 밤새 식힌다. 식힐 때, 옆에 있을 필요는 없다. 2. 머그컵을 준비한다. 컵을 들고 몸무게를 잴 때, 평소보다 300g 이상 더 나가야한다. 3. 아내 혹은 같이 자는 사람에게 자신을 일찍 깨워달라고 한다. 혼자 일어나도 될 수 있을 것 같은데, 그런 경우 아쿠아리얼 스키니쉬 디지멀 이펙트의 효과는 반감하니 참고하시길 바란다. 4. 밤에 잠을 잘 때, 약간 덥게 자..
TCP/IP 서버를 만들때는 다음과 같은 방법으로 만들게 된다. 1. 소켓 생성 2. bind 3. listen 4. accept 로 클라이언트 소켓 생성 소켓 프로그램을 처음하는 사람들이 겪게 되는 의문 중의 하나는 무엇에다가 묶고(bind), 듣기전까지는 어떤 일이 일어나길래 들어야(listen)하는가인데, 여기에는 발상의 전환이 필요하다. 일반적으로 파일을 열고 파일에서 읽는 과정을 생각해보면, 이미 경로라는 구별되어 있는 개체가 존재하고 그것을 다루기 위한 기술자(descriptor)를 만들어 기술자를 모든 파일 관련 입출력 함수에 인자로 넘기게 되는데, 소켓 프로그램은 그 반대라는 것이 중요하다. 기술자(socket)를 먼저 만들고, 그 기술자를 구별될 수 있는 경로 혹은 주소에 가져다가 붙이는..
- Total
- Today
- Yesterday
- SVN
- tattertools
- url
- JavaScript
- TCP/IP
- 퀴즈
- 디버깅
- VIM
- 구근
- 대화
- perl
- 덴드롱
- Subversion
- 벤자민
- 오픈소스
- 커피
- 킹벤자민
- Tattertools plugin
- MySQL
- writely
- 수선화
- nodejs
- BlogAPI
- ssh
- SSO
- 클레로덴드럼
- OpenID
- Linux
- 식물
- macosx
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |