개소리 왈왈2009. 6. 19. 10:21
구글 애널리틱스를 설치해서 3일째 분석중이다.
(이전글과는 너무 다른 모습일려나?)

아무튼 내 블로그는 거의 대부분의 검색유입이다.



1위는 구글 검색 유입
2위는 다음 검색 유입
3위는 직접 주소를 입력(혹은 즐겨찾기?) 해서 오는 유입


그나저나 방문시간이 짧다는 것과, 방문자별 페이지수가 적은건 좋게 받아 들여야 할지
나쁘게 받아 들여야 할지 참.. 애매하다.

'개소리 왈왈' 카테고리의 다른 글

구차니 패닉  (10) 2009.06.20
개발자도 밥 시간은 지켜야지!!!  (2) 2009.06.19
네이년 검색 유입을 노려야 하나?  (0) 2009.06.19
오늘의 유머 - 개발자 이야기  (0) 2009.06.18
예비군 훈련 공지  (2) 2009.06.18
Posted by 구차니
개소리 왈왈2009. 6. 19. 10:08
문득 Kay~ 님의 블로그에서 네이버 / 다음 검색 유입 키워드가 상반된다
이야기를 보고 내 검색유입을 보았더니.. 네이버는 전혀 없다 -ㅁ-!

그래서 순간 손이 움찔움찔 하면서 검색 요청을 해!!!
라는 말이 소근소근 들려 왔지만 등록하려는 순간 힘이 빠져 뒤로가기를 누르게 되었다.
네이버에서 안오면 어때~ (그렇다고 내가 극렬 네이버 안티는 아니지만, 나름 삼송 안티이긴한데 -ㅁ-)

그렇게 그냥 구글신님과 다음검색 유입으로 만족을 해야 하나 흐음..

그런데 원론적인 의문이 들었다.
"왜 많은 사람들이 오기를 바라는거지?"

난 블로그에 광고를 다는 것고 아니고, 유명해지고자 하는 블로그도 아닌데
어느 순간 부터 방문자에 너무 목을 매고 있었던 걸까? 라는 생각이 들었다.
물론 유명해지면 좋고, 많이 오면 혹시 떡고물이 떨어질수도 있고, 광고 욕심도 생겨 달면 달러 벌이도 할 수 있고
좋을수도 있긴 하지만, 글쎄?

기억의 외부 저장장소로 블로그를 사용하는데 굳이 많은 사람들이 찾을 이유가 있나?
원래 블로그 시작 목적은, 정말 주옥~ 같은 알찬 정보로 가득찬 조용한 블로그 아니었던가?





아무튼, 아래는 네이버에 검색등록 방법 FAQ 내용 / 다음의 검색등록 페이지

[링크 : http://help.naver.com/faq/exSelfRARAMain.jsp?reQuestion=%BA%ED%B7%CE%B1%D7+%B0%CB%BB%F6&query_gubn=url&question=%C6%BC%BD%BA%C5%E4%B8%AE+%B0%CB%BB%F6&sch_option=all]

[링크 : http://help.search.daum.net/help/register.html]



사족 : 그냥 조용히 살자~ ㅋㅋㅋ
Posted by 구차니
개소리 왈왈/자전거2009. 6. 19. 00:15

지도를 보면 이해가 바로바로 될 듯 -ㅁ-!
술도 안 먹었는데 왜 이런거지 -ㅁ-!

아무튼 한강공원쪽으로해서 가락시장쪽 출구 까지는 16km/42min 걸렸다. (계산상으로는 22.8km/h 이다.)
물론 지도상에서 재본거는 13.8km 3km 오차가 나는거 봐서는 속도계를 손을 봐야 할 듯 하다.
(지도상거리로 계산하면 19.7km/h)
원래 대로라면 26인치라서 원래 수치보다 적게 넣어서 겨우겨우 대충 맞췄다고 생각했는데, 더욱 줄여야 하나 고심중이다.


아무튼 도심을 뚫는건 길을 잘못 들은 탓이 크긴 하지만, 제대로 만 간다면 20분내에 도착이 가능하고,
시간상으로는 20분 단축이 되는 것이다. 그리고 나서 계속 달릴수만 있다면
1시간 내에 회사 까지 갈 수 있을 듯 하다.(총 20km)


결론 : 비싼 자전거 보다 비싼 다리를!!! 구차니군 다리는 100만불 짜리 다리~
Posted by 구차니
Linux API/network2009. 6. 18. 21:19
아래의 소스에서 눈여겨 볼 부분은 다음과 같다.
    struct ifreq *ifr;
    struct ifconf ifcfg;

    ioctl(fd, SIOCGIFCONF, (char *)&ifcfg);

    // 네트워크 장치의 정보를 얻어온다. 
    // 보통 루프백과 하나의 이더넷 카드를 가지고 있을 것이므로
    // 2개의 정보를 출력할 것이다.

    ifr = ifcfg.ifc_req;
    for (n = 0; n < ifcfg.ifc_len; n+= sizeof(struct ifreq))
    {
        // 주소값을 출력하고 루프백 주소인지 확인한다.
        printf("[%s]\n", ifr->ifr_name);
        sin = (struct sockaddr_in *)&ifr->ifr_addr;
        printf("IP    %s %d\n", inet_ntoa(sin->sin_addr), sin->sin_addr.s_addr);
        if ( ntohl(sin->sin_addr.s_addr) == INADDR_LOOPBACK)
        {
            printf("Loop Back\n");
        }
        else
        {
            // 루프백장치가 아니라면 MAC을 출력한다.
        }
        ifr++;
    }

ifr은 struct ifreq인데, 여러개가 있을 수 있으니, 저런식으로 포인터로 증가를 시켜준다. (ifr++)
그리고 n개의 네트워크 장치가 있을 수 있으니, ifcfg.ifc_len의 값으로 전체 갯수를 알려준다.
그 다음에는 장치명(익숙한 eth0 라던가)은 ifr->ifr_name에 들어있다.

#include "sys/ioctl.h"
#include "sys/types.h"
#include "sys/stat.h"
#include "sys/socket.h"
#include "unistd.h"
#include "netinet/in.h"
#include "arpa/inet.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "net/if.h"
#include "arpa/inet.h"

int main()
{
    // 이더넷 데이터 구조체 
    struct ifreq *ifr;
    struct sockaddr_in *sin;
    struct sockaddr *sa;

    // 이더넷 설정 구조체
    struct ifconf ifcfg;
    int fd;
    int n;
    int numreqs = 30;
    fd = socket(AF_INET, SOCK_DGRAM, 0);

    // 이더넷 설정정보를 가지고오기 위해서 
    // 설정 구조체를 초기화하고  
    // ifreq데이터는 ifc_buf에 저장되며, 
    // 네트워크 장치가 여러개 있을 수 있으므로 크기를 충분히 잡아주어야 한다.  
    // 보통은 루프백주소와 하나의 이더넷카드, 2개의 장치를 가진다.
    memset(&ifcfg, 0, sizeof(ifcfg));
    ifcfg.ifc_buf = NULL;
    ifcfg.ifc_len = sizeof(struct ifreq) * numreqs;
    ifcfg.ifc_buf = malloc(ifcfg.ifc_len);

    for(;;)
    {
        ifcfg.ifc_len = sizeof(struct ifreq) * numreqs;
        ifcfg.ifc_buf = realloc(ifcfg.ifc_buf, ifcfg.ifc_len);
        if (ioctl(fd, SIOCGIFCONF, (char *)&ifcfg) < 0)
        {
            perror("SIOCGIFCONF ");
            exit;
        }
        // 디버깅 메시지 ifcfg.ifc_len/sizeof(struct ifreq)로 네트워크 
        // 장치의 수를 계산할 수 있다.  
        // 물론 ioctl을 통해서도 구할 수 있는데 그건 각자 해보기 바란다.
        printf("%d : %d \n", ifcfg.ifc_len, sizeof(struct ifreq));
        break;
    }

    // 주소를 비교해 보자.. ifcfg.if_req는 ifcfg.ifc_buf를 가리키고 있음을 
    // 알 수 있다. 
    printf("address %d\n", &ifcfg.ifc_req);
    printf("address %d\n", &ifcfg.ifc_buf);

    // 네트워크 장치의 정보를 얻어온다.  
    // 보통 루프백과 하나의 이더넷 카드를 가지고 있을 것이므로 
    // 2개의 정보를 출력할 것이다. 
    ifr = ifcfg.ifc_req;
    for (n = 0; n < ifcfg.ifc_len; n+= sizeof(struct ifreq))
    {
        // 주소값을 출력하고 루프백 주소인지 확인한다.
        printf("[%s]\n", ifr->ifr_name);
        sin = (struct sockaddr_in *)&ifr->ifr_addr;
        printf("IP    %s %d\n", inet_ntoa(sin->sin_addr), sin->sin_addr.s_addr);
        if ( ntohl(sin->sin_addr.s_addr) == INADDR_LOOPBACK)
        {
            printf("Loop Back\n");
        }
        else
        {
            // 루프백장치가 아니라면 MAC을 출력한다.
            ioctl(fd, SIOCGIFHWADDR, (char *)ifr);
            sa = &ifr->ifr_hwaddr;
            printf("%s\n", ether_ntoa((struct ether_addr *)sa->sa_data));
        }
        // 브로드 캐스팅 주소 
        ioctl(fd,  SIOCGIFBRDADDR, (char *)ifr);
        sin = (struct sockaddr_in *)&ifr->ifr_broadaddr;
        printf("BROD  %s\n", inet_ntoa(sin->sin_addr));
        // 네트워크 마스팅 주소
        ioctl(fd, SIOCGIFNETMASK, (char *)ifr);
        sin = (struct sockaddr_in *)&ifr->ifr_addr;
        printf("MASK  %s\n", inet_ntoa(sin->sin_addr));
        // MTU값
        ioctl(fd, SIOCGIFMTU, (char *)ifr);
        printf("MTU   %d\n", ifr->ifr_mtu);
        printf("\n");
        ifr++;
    }
}

[링크 : http://www.joinc.co.kr/modules.php?file=article&mode=nested&name=News&sid=148]
Posted by 구차니
Linux2009. 6. 18. 21:15
Posted by 구차니

#include "stdio.h"
#include "elf.h"

void main() { Elf32_Ehdr elf_header; unsigned char magic[] = {0x7f,0x45,0x4c,0x46,0x01,0x01,0x01,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; int vma_addr = 0xA4000000; FILE *output = NULL;
memcpy(elf_header.e_ident, magic, sizeof(magic)); elf_header.e_type = ET_EXEC; elf_header.e_machine = EM_SH; elf_header.e_version = EV_CURRENT; elf_header.e_entry = vma_addr; elf_header.e_phoff = 0; elf_header.e_shoff = 0; elf_header.e_flags = EM_SH; elf_header.e_ehsize = sizeof(elf_header); elf_header.e_phentsize = 0; elf_header.e_phnum = 0; elf_header.e_shentsize = 0; elf_header.e_shnum = 0; elf_header.e_shstrndx = 0;
output = fopen("elfheader.bin","wb"); fwrite(&elf_header, sizeof(Elf32_Ehdr), 1, output); fclose(output);
}

혹시나 해서 꼼지락 대면서 gdb load 명령을 이용하여 프로그램 업로드 하기 위해
꽁수를 부려 봤는데.. 이정도 ELF 정도로는 속아주질 않는다 ㄱ-

아이디어 : load 시에 not an object file: File format not recognized 메시지는
               즉, ELF 포맷에 맞추어 제대로 된 헤더만 맞추어 주면
               원하는 메모리 번지로 임의의 파일을 올릴 수 있지 않을까?

결과 : 니미 ㄱ-

2009/02/16 - [회사일] - sh4-linux-gdb 의 load 명령어

'프로그램 사용 > gdb & insight' 카테고리의 다른 글

GDB Insight FAQ - support target list  (0) 2009.06.26
insight - GDB GUI frontend  (0) 2009.06.26
gdb 한글 문서  (0) 2009.06.18
gdb 기동시 xterm 에러 - STLinux  (2) 2009.04.09
sh4-linux-gdb 의 load 명령어  (0) 2009.02.16
Posted by 구차니
개소리 왈왈2009. 6. 18. 16:49
Posted by 구차니
Posted by 구차니
개소리 왈왈2009. 6. 18. 13:23
예비군 훈련이 19일 있습니다

















만, 멀어서 땡땡이 치고 다음이 보충을 받기고 했습니다!!!!!!






Posted by 구차니
회사일2009. 6. 18. 11:40
현재 사용하는 것은 모델명 알 수 없는 AXIS AX88172 모델이다.
아무튼, STLinux 에서 지원되는 모델은 AX88172 은 확실하고(그런데 거의 단종)
그 외에는 driver/usb/net/asix.c 에서 지원되는 목록중에

ax88772 가 있다.
어느 쪽 정보가 확실한지는 모르겠지만
어스비테크놀러지의 IAE-2200(모델명 UE-200)가 XP 드라이버를 보니 ax88772를 사용한다고 나온다.

2009.06.19 일 테스트 결과 어스비테크놀러지의 IAE-2200 작동한다.
(칩셋명 ASIX ax88772 - linux 커널 내장 USB 네트워크 드라이버 ASIX ax8xxxx 드라이버 호환됨)

This option adds support for ASIX AX88xxx based USB 2.0 10/100 Ethernet adapters.

This driver should work with at least the following devices:
* Aten UC210T
* ASIX AX88172
* Billionton Systems, USB2AR
* Buffalo LUA-U2-KTX
* Corega FEther USB2-TX
* D-Link DUB-E100
* Hawking UF200
* Linksys USB200M
* Netgear FA120
* Sitecom LN-029
* Intellinet USB 2.0 Ethernet
* ST Lab USB 2.0 Ethernet
* TrendNet TU2-ET100

[링크 : http://cateee.net/lkddb/web-lkddb/USB_NET_AX8817X.html]

'회사일' 카테고리의 다른 글

리셋 타이밍은 지켜주세요!  (0) 2009.06.30
mpeg-2 Transport Stream packet analyser  (0) 2009.06.24
CBM - CuBic Meter  (0) 2009.06.16
SH4 linux 에서 SH가 뭥미?  (2) 2009.06.08
MAC Address도 구매 가능한가요?  (0) 2009.06.02
Posted by 구차니