블로그 이미지
개발에 관한 것들.. 재만

카테고리

분류 전체보기 (66)
claztec's develop (1)
운영체제 (11)
프로그래밍 (41)
알고리즘 (0)
데이터베이스 (2)
소프트웨어공학 (3)
Books (2)
Total11,209
Today1
Yesterday9
meta 태그를 이용해서 일정시간이 지난 후에 다른 홈페이지로 연결 시킬 수 있다.

<meta http-equiv="Refresh" content="2;url=http://www.claztec.net" >

html 소스에 이렇게 해주면 2초 후에 http://www.claztec.net 이동한다.

content부분은 항상 " " 로 감싸주어야 한다. 초와 url링크가 모두 들어가고 ; 로 구분지어 준다.

책에서 <meta http-equiv="Refresh" content="2;url="http://www.claztec.net" > 이런식으로 url주소를 " " 로 감싸주었는데 그것때문에 제대로 실행되지 않았다. 주의해야 할 부분이다.

http://www.emh.co.kr/xhtml/metatag.html 에서 메타태그에 대해 좀 더 나와있는 것 같다.

저작자 표시 비영리 변경 금지
Posted by 재만
TAG html
우분투에서 echo $LANG 을 쳐보면 ko_KR.UTF-8 로 되어 있는것을 알 수 있다. 윈도우나 맥을 쓰는 사람과 작업을 하다보면 나 혼자 삽질을 할때가 있는데 바로 ko_KR.UTF-8 때문이다.

ko_KR.UTF-8을 ko_KR.EUC-KR로 바꾸는 방법.

인터넷 여기저기서 찾았다.

1. language-pack-ko 설치 이후
2. sudo locale-gen ko_KR.EUC-KR
3. dpkg-reconfigure locales
4. /etc/environment 수정
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANGUAGE="ko_KR:ko:en_GB:en"
LANG="ko_KR.UTF-8"
LANG="ko_KR.EUC-KR"
5. /etc/defaults/locale 수정 (8.10이후..)
LANG="ko_KR.UTF-8"
LANG="ko_KR.EUC-KR"
LANGUAGE="ko_KR:ko:en_GB:en"

UTF로 다시 바꾸는건 반대로 하면 되겠지 뭐..

다음에 운영체제를 다시 설치할 일이 있을 때를 대비해서 포스팅..
저작자 표시 비영리 변경 금지
Posted by 재만
우분투에서 ftp로 vsftpd를 선택한 다음 설치하는 방법이다.

sudo apt-get install vsftpd로 쉽게 설치가 된다.
그러면 기본적으로 anonymous밖에 접근되지 않게 된다

우분투 한국 사용자 모임(ubuntu.or.kr)에서 찾은 내용인데
/etc/vsftpd.conf 에서
anonymous_enable=NO
local_enable=YES
write_enable=YES
로 변경해 주고 vsftpd를 재실행 하면 된다.

sudo /etc/init.d/vsftpd restart 명령을 하면 재실행 된다.

원하는 계정만 접근하는 방법은
/etc/vsftpd.ftpusers 파일을 생성하고 계정을 넣어주면 된다.
이때 보안상 root는 지양해야 한다고 한다.
저작자 표시 비영리 변경 금지
Posted by 재만
거듭제공을 하는 함수

#include <stdio.h>

int power(int m, int i);

main()
{
    int i;

    for (i = 0; i < 10; ++i)
        printf("%d %d %d\n", i, power(2,i), power(-3,i));
    return 0;
}

int power(int base, int n)
{
    int i, p;

    p = 1;
    for (i = 1; i <= n; ++i)
        p = p * base;
    return p;
}

A function definition has this form :
return -type function-name (parameter declarations, if any)
{
   declarations
   statements
}

함수 사용...
함수를 정의가 main 밑에 있으면 main위에 함수를 선언해 줘야 한다.
저작자 표시 비영리 변경 금지
Posted by 재만
TAG c

digit count

프로그래밍/C / 2008/11/12 21:52
digit count
0~9, 공백, 그외 문자 총 12개의 digit를 세는 프로그램

#include <stdio.h>

main()
{
    int c, i, nwhite, nother;
    int ndigit[10];

    nwhite = nother = 0;
    for (i = 0; i < 10; ++i)
        ndigit[i] = 0;

    while ((c = getchar()) != EOF)
        if (c >= '0' && c <= '9')
            ++ndigit[c-'0'];
        else if (c == ' ' || c == '\n' || c == '\t')
            ++nwhite;
        else
            ++nother;

    printf("digits = ");
    for (i = 0; i < 10; ++i)
        printf(" %d", ndigit[i]);
    printf(", white space = %d, other = %d\n",
            nwhite, nother);
}

EOF까지 입력을 받으면서 해당 문자의 범위를 비교해서 카운트 하는 것이다.
배열을 선언하고 사용하는부분이 중요한것 같다.

새로운 것은 ++ndigit[c-'0']; 부분인데 c-'0'를 함으로써 문자를 숫자로 변환시켰다.


저작자 표시 비영리 변경 금지
Posted by 재만
TAG c
단어를 새는 프로그램.
유닉스 명령어로 wc를 구현한 프로그램.

#include <stdio.h>
#define        IN    1
#define        OUT    0

main()
{
    int c, nl, nw, nc, state;

    state = OUT;
    nl = nw = nc = 0;

    while ((c = getchar()) != EOF) {
        ++nc;
        if (c == '\n')
            ++nl;
        if (c == ' ' || c == '\n' || c == '\t')
            state = OUT;
        else if (state == OUT) {
            state = IN;
            ++nw;
        }
    }
    printf("%d %d %d\n", nl, nw, nc);
}

라인수 계산할때 자주사용하는 wc가 이렇게 간단하게 되어 있었다니...
OUT과 IN 이 헷갈릴 수 있을 것 같다.
일단 OUT부터 선언한다. 그래야 마지막 if에서 IN으로 바뀌고 nw(new word)가 ++될 수 있다.
이후 단어의 끝을 나타내는 ' ', \n, \t의 경우 OUT으로 변경된다.



저작자 표시 비영리 변경 금지
Posted by 재만
TAG c
문자를 입력받았을 경우 개수를 새는 프로그램

방법 1.
#include <stdio.h>

main()
{
    long nc;

    nc = 0;
    while (getchar() != EOF)
        ++nc;
    printf("%ld\n", nc);
}

long 은 int보다 크거나 같다. (32bit 이상)
prinft에는 %ld로 표시해 줘야 한다. (LD)
++nc는 prefix로 먼저 1 증가 시킨다. 반대는 nc++로 postfix다.

방법 2.
#include <stdio.h>

main()
{
    double nc;

    for (nc = 0; getchar() != EOF; ++nc)
        ;
    printf("%.0f\n", nc);
}

for loop에서 아무것도 하지 않는다면 ; 만 넣어주면 된다.
%.0f 는 float와 double을 표현할때 사용할 수 있고, 정수와 소수를 다룰 수 있다. 0f는 소수부분을 표현하지 않는것이다. 따라서 정수만 표현된다.

저작자 표시 비영리 변경 금지
Posted by 재만
TAG c
문자 입출력 예제
echo 서버처럼 입력하는데로 출력이 된다.
ctrl + d 나 ctrl + c 로 종료할 수 있다.

#include <stdio.h>

main()
{
    int c;

    while ( (c = getchar()) != EOF) {
        putchar(c);
    }
}

책에서 변수 c를 integer로 하였는데, 변수 c에 type을 int가 아닌 char로 해도 별 상관은 없다.
저작자 표시 비영리 변경 금지
Posted by 재만
TAG c

the c programming language

Books / 2008/11/09 13:28
C 언어프로그래밍 2판 (THE C PROGRAMMING LANGAGE)
카테고리 컴퓨터/IT
지은이 BRIAN W.KERNIGHAN 외 (대영사, 2002년)
상세보기

프로그래밍 바이블 중에 가장 얇은 바이블이라는 the c programming language.
원서를 27,000원에 비트 컴퓨터 지하에 있는 신한전문서적에서 구입하였다.

강컴보다 싼것도 있고, 같은 가격인것도 있다. 더 비싼 것도 있구(사이텍미디어 책은 10% 할인) 포인트 적립이 안된다. 하지만 직접 책을 보고 구입을 할 수 있다는 것이 가장 큰 장점이다.

다시 책으로 돌아와서 책 분량이 272페이지로 어느 프로그래밍 책보다도 얇다.
오늘 책보고, 예제 따라하며 놀아야 겠다.

저작자 표시 비영리 변경 금지
Posted by 재만

최근에 달린 댓글

최근에 받은 트랙백

글 보관함