■ 자유 세미나.
사용자 삽입 이미지

세미나中, 현기는 DX SDK 샘플소스 중에서 가중치를 달리해서 정점이 영향받는 (정확한 용어는 기억이 안 나지만) 것에 대해서 설명해 주었고, 나는 참조자와 포인터의 차이점 외 잡다한 것에 대해 설명했다. (왼쪽은 ㅎㅎㄱ씨, 오른쪽은 ㄱㅇㅎ씨.)

■ 동방.
사용자 삽입 이미지

위닝홀릭

사용자 삽입 이미지

■ 고기부페
 (하눌신폭 산하 우중충커뮤니티 산하) 고펨 전우들과 우발적으로 고기를 먹으러 갔다. 6천원 짜리만 가다가 처음으로 두당 7천8백원 하는 곳에서 먹었다. 주인 아주머니는 무려 2백원이나 깎아주셨다. 너무 기쁜 나머지 우리는 기립박수를 치고 계산대 앞에서 덩실덩실 춤을 췄다. (삭막한 세상에 이런 대담한 인심은 흔치 않다.)
사용자 삽입 이미지

고기에 대해 서로 격렬히 기뻐하고 있다.

■ 듣는 노래
 요즘 러브홀릭의 <loveholic> 과 <화분>, 화요비의 <남자는 모른다> 라는 노래를 즐겨 듣고 있다.

■ 정규표현식
 정규표현식에서 "width: 어쩌구px" 를 매칭하려면 "width:[ a-zA-Z0-9]*px" 이렇게 써야 한다. 정규표현식 정말 짱이다.
의문) <모든 문자>를 의미하는 좀더 간단한 정규표현식이 없나? 매번 위와 같이 [ a-zA-Z0-9] 요렇게 표현해야 하나?

Trackback Address :: http://zsimi.tistory.com/trackback/171

댓글을 달아 주세요

  1. 현기쿤 2008/06/01 01:47 주소 수정 답글 달기

    ㅎㅎㅎ 하필 동방에서 핸드폰 고르고 있는 사이에 찍다니

    고기~~~ 맛있었어~~~ 근데 집에 12시가 넘어 잠을 잘때까지 배가

    꽉찬 느낌이엿다 乃 ㅎㅎㅎ

    그리고 기쁜 소식~ 이 몸이 만든 프로그램이 쓰인 박물관이 개관했소

    http://blog.daum.net/hskbd/7615256
    위 글은 기사요~ 딱 내가 만든 프로그램이 쓰인 곳;; 근데!!

    정말 심플한 프로그램인데 부끄럽기도 하다 ㅋㅋㅋ

    • 2008/06/04 23:00 주소 수정 BlogIcon 시미

      부끄럽기는~ 멋지다, 정말!!
      한 번 가보면 좋겠는데
      울산이구나. 멀다... ㄱ-
      후후, 어쨌든 축하해~

  2. BlogIcon 시미 2008/06/06 18:50 주소 수정 답글 달기

    width:[ a-zA-Z0-9]*px 는
    width:[ .]*px
    이렇게 짧게 쓸 수 있다. (테스트는 안 해보았지만)
    .은 "임의의 문자"라는 의미 이다.

■ 의사코드.
  1. Paint the ocean floor.
  2. For each vertex in the fine mesh:
    a. Send a vertical ray.
    b. Collide the ray with the ocean's mesh.
    c. Compute the refracted ray using Snell's Law in reverse.
    d. Use the refracted ray to compute texture coordinates for the "Sun" map.
    e. Apply texture coordinates to vertices in the finer mesh.
  3. Render the ocean surface.

참고) refract: 굴절시키다. ray: 광선.
주석) 이 알고리즘 에서는 물을 통과하는 굴절광을 계산하는것이 핵심이다.

■ OpenGL로 구현한 코드.

'딱딱한것 > IT/프로그래밍' 카테고리의 다른 글

HLSL without Effects(임시)  (4) 2008/06/05
Rendering Water Caustics  (0) 2008/05/29
파일 입출력과 상수 벡터 인자.  (0) 2008/05/28
STL의 반복자.  (0) 2008/05/25
TAG 3D, OpenGL, water,

Trackback Address :: http://zsimi.tistory.com/trackback/170

댓글을 달아 주세요

■ 얼마전 레드햇 아카데미라고 해서 학교에서 강연이 있었다. (정확히는 이번주 월요일인, 26일이었다.) 그날 해야할 과제도 산더미처럼 있었고, 할일도 많았지만 관심이 있는 분야고 최근에 선택해야 하는 고민에 실마리가 되지 않을까 해서 듣게 되었다. 결과적으로 강연에 집중할만한 주제가 안 나와서 계속 과제만 했다. (강연 내용은 적당히 한 귀로 흘리며.)
 우리는 왜 오픈소스를 해야하고 그것은 과연 전망이 있는가? 우리는 왜 리눅스를 해야 하는가? 와 같은 원초적인 질문을 업계에 있는 사람이 솔직하고 시원하게 답해줬으면 했는데. 막연한 설명과 자격증 홍보가 요였다. 이 강연을 한 줄로 요약하자면 이렇다.
현재 실업자가 많아. -> 레드햇 자격증은 비싸. -> 하지만 레드햇 자격증 따면 취업 할 수 있어.
이제 이런 일반론적이고 막연한 설명은 지겹다.
사용자 삽입 이미지

언제나 즐겁게 해주는 ㅎㅎㄱ씨. 강연 내내 노트북으로 코딩만 하셨다.

아참. 이날 경품추첨이 있었다. ㅎㅎㄱ씨가 26번. 내가 25번. ㅇㅈㅁ씨가 24번이었는데. (정확하지는 않다.) ㅇㅈㅁ씨가 경품에 당첨되어 무려 80GB 외장 하드디스크를 받았다!! 부럽다!!!

■ 요즘 보고 있는 책.
사용자 삽입 이미지
사용자 삽입 이미지
좋은 책이라고 느끼는 중이다. 오늘은 Glow 효과에 대한 부분을 읽었는데 아직 정리가 안된다. 근데 확실히 Glow효과가 있는 영상과 없는 영상은 큰 차이가 있다.

■ 휴대전화를 수리 했다!
이제 완벽하게 휴대전화가 정상화 되었다. 오늘 오랜만에 여유가 생겨서. (사실 축제기간이다.) 스카이 서비스센터에 갔는데 한참 기다려서 증상을 문의했더니 배터리를 바꿔야 한다는 간단한 답을 들었다.
 내 증상은 "배터리를 완전히 충전 한 다음에 전화 통화를 하면 2분 정도후에 배터리가 없다고 꺼져버린다. 그리고 약 10분후에 다시 키면 다시 배터리가 차 있다." 뭐 이런 증상이어서, 배터리 문제인지 휴대전화 문제인지 애매한 상황이었다.
 수리하는 아저씨가 내 구 배터리를 평평한 곳에 놓고 흔들어 보더니. 배터리가 못쓰게 되면 가운데가 약간 불룩 튀어 나와서 흔들린다고 한다. 내가 가지고 있는 배터리 두 개 모두 흔들거리는걸 보여주고. "그러니까 배터리를 교체해야 한다." 는 뭔가 그럴듯한 느낌이지만 어딘가 찝찝한 해결책을 주었다. 아무튼 배터리를 1만6천원에 하나 구입해서 돌아왔는데. 통화가 잘 되긴 하지만, 새 배터리도 평지에서 흔들거리는데?

■ 뭐 특별한 이야기는 아니지만. 요즘 러브홀릭 앨범들은 듣고 있다. 특히 1집 2번트랙의 loveholic 을 주로 흥얼거리는 중이다. 뭐 그렇다는 거다.

■ 연구실에 학부연구생으로 참여하게 되었다. NHN 인턴에 지원했다.

Trackback Address :: http://zsimi.tistory.com/trackback/166

댓글을 달아 주세요

  1. 현기쿤 2008/05/30 02:49 주소 수정 답글 달기

    아.... 저번에 그 도로를 달리던 쏘스를 분석해본 결과
    그 도로는 생성자에서 처음에 다 만들어져 있던거였다
    뭔가 랜덤으로 새로운 길을 만드는걸 원했는데 ㅎㅎ

    • 2008/05/31 09:31 주소 수정 BlogIcon 시미

      큭큭. 그렇군. 나도 샘플소스들 분석해봐야지. 재밌겠다... 아 우선 쌓여있는 과제부터... 덜덜

쥐의 소설에는 뛰어난 점이 두 가지 있다. 우선 섹스장면이 없다는 것과 한 사람도 죽지 않는다는 것이다. 사람은 내버려둬도 죽고, 여자와 잔다. 그런 법이다.
<바람의 노래를 들어라> 중에서.
(정말 멋진 문장이라고 생각한다. 특히 마지막의 "그런 법이다." 는 압권이다.)

만약 당신이 예술이나 문학을 원한다면 그리스 인이 쓴 것을 읽는 게 좋겠다. 참다운 예술이 태어나기 위해서는 노예 제도가 필요 불가결하기 때문이다. 고대 그리스에서는 노예가 밭을 갈고 식사를 준비하고 배를 젓는 사이에 시민은 지중해의 태양 아래서 시작에 전념하고 수학과 씨름을 했다. 예술이란 그런 것이다. 모두가 잠든 새벽 세 시에 모두가 잠든 부엌의 냉장고를 뒤지는 사람은 이 정도의 글밖에는 쓸 수가 없다. 그리고 그게 바로 나다.

Trackback Address :: http://zsimi.tistory.com/trackback/169

댓글을 달아 주세요

  1. 현기쿤 2008/05/30 02:48 주소 수정 답글 달기

    와~~ 글이 정말 멋진데~ 새벽 세시에 댓글을 다는 사람의 댓글은
    이정도다. 그리고 그게 바로 나다

    • 2008/05/31 09:30 주소 수정 BlogIcon 시미

      정말 새벽 세 시에 댓글 달았네. 일찍 좀 자렴.

  2. BlogIcon 오박 2008/06/19 14:51 주소 수정 답글 달기

    이게 하루키가 쓴거야?
    뒷 글은 좀 황당하지만 정말 웃기고 공감가는데

    • 2008/06/21 23:46 주소 수정 BlogIcon 시미

      그렇지? 하루키의 문장에는 이런 비유가 수백개는 있어. 그의 문장은 참 쉽고, 기가막힌 비유가 많지. 일본소설이 대게 어렵지 않고 쉽고 재밌게 읽을만해. 심심풀이로 읽어보라구.

■ 파일 입출력.
#include<fstream> //for file in/output
ofstream file; //output file stream의 약어인것 같다.

    file.open("c:\\result.txt");

    cout << "출력할 문자열" << endl;
    file << "출력할 문자열" << endl;

    file.close();
뭐 어렵지 않다. 사용법도 cout 과 똑같다.

■ 질문) 왜 함수의 parameter로 const vector 를 쓸 수 없을까? 함수안에서 iterator 쓰는 순간 그것은 상수 객체가 될 수 없는 것일까?

예를들어
void OutputData(vector<int> L, vector<int> S, vector<int> NS) {
    vector<int>::iterator it;
   
    cout << "Searched = ";
    file << "Searched = ";
    for( it=S.begin() ; it!=S.end() ; it++) {
        cout << "v" << *it << " ";
        file << "v" << *it << " ";
    }
    cout << endl;
    file << endl;
}
이런식의 함수를
void OutputData(const vector<int> L, const vector<int> S, const vector<int> NS) {
하면 에러가 난다. 내가 뭘 잘못했나? 내가 뭘 놓치고 있는 걸까?

'딱딱한것 > IT/프로그래밍' 카테고리의 다른 글

Rendering Water Caustics  (0) 2008/05/29
파일 입출력과 상수 벡터 인자.  (0) 2008/05/28
STL의 반복자.  (0) 2008/05/25
이중포인터  (0) 2008/05/22

Trackback Address :: http://zsimi.tistory.com/trackback/168

댓글을 달아 주세요

보통 반복문을
for(int i=0 ; i<10 ; i++)
이런 식으로 사용 하듯이.

iterator도 first에서부터 last까지라고 하면 last는 포함이 되지 않는다. 그래서 .begin() 함수는 실제로 있는 데이터를 가리키지만, .end()는 이미 꼬리를 지난 마지막을 나타낸다. 그래서 아래와 같은식으로 사용한다.
for( it=notSearched.begin() ; it!=notSearched.end() ; it++)
이런식으로 .end()가 아닐 동안 돌아도 전 자료를 다 돌 수 있다.

그래서 it = find(inVector.begin(), inVector.end(), element); 과 같이 find문의 결과도 찾은 결과가 있으면 해당 원소의 iterator가 반환되고 결과가 없으면 .end() 즉, 마지막 iterator가 넘어오게 된다. 그러니까 아래 처럼 쓰면 된다.
it = find(inVector.begin(), inVector.end(), element);
    if( it == inVector.end() )
        return 0; //없음.
    else
        return 1; //있음.

'딱딱한것 > IT/프로그래밍' 카테고리의 다른 글

파일 입출력과 상수 벡터 인자.  (0) 2008/05/28
STL의 반복자.  (0) 2008/05/25
이중포인터  (0) 2008/05/22
루아 문법 규칙.  (2) 2008/05/18

Trackback Address :: http://zsimi.tistory.com/trackback/165

댓글을 달아 주세요

■ 2주일쯤 고민끝에 커피메이커를 사기로 결정하고, (누나와 함께) E마트에 가서 커피메이커를 샀다. 오랜만에 대형 마트에 가니 즐거웠다. (근데 사실 E마트는 좀 비싸다.) 요즘 여러가지로 선택해야 할 고민들이 있는데, 잠시 사람 많은곳을 둘러봐서 기분전환이 된 것 같다. 인생을 살면서 수억 개의 고민들이 있고 수십억 개의 선택이 있다. 나는 지금도 내가 주체적으로 내 인생을 결정해오고 있다는 사실을 도저히 실감하지 못한다. 그저 어떤것에 의해서 선택되어져 왔다고 느낄 뿐이다. 그 수십억 개의 선택중에서 내가 진짜 선택했던 것은 몇 개나 될까? 내가 선택했다고 하는 것들도 주위 사정에 의해서 그렇게 할 수밖에 없었던 게 많다. 하지만 내 인생을 누구도 대신 살아줄 수 없고, 그 선택에는 (어떤 사정이 있었든) 모두 내 책임일 수밖에 없는 것이다. 그것이 괴롭다.
사용자 삽입 이미지
사용자 삽입 이미지

■ 보궐선거 운동이 한창이다.
사용자 삽입 이미지

저기서 일 하는 아주머니들은 이념으로 움직이는 것일까 돈때문에 일 하시는 것일까?


■ 햄버거를 먹었다. 비싸다.
사용자 삽입 이미지
사용자 삽입 이미지

'기억의 기록' 카테고리의 다른 글

[일기] 레드햇 강연(?)과 여러가지 일들. (연구생등)  (2) 2008/05/28
[일기] 커피메이커를 샀다.  (2) 2008/05/25
[일기] 예비군 훈련  (1) 2008/05/08
휴대폰 고장.  (0) 2008/02/29
TAG 쇼핑, 일기

Trackback Address :: http://zsimi.tistory.com/trackback/164

댓글을 달아 주세요

  1. BlogIcon 오박 2008/06/19 14:51 주소 수정 답글 달기

    범죄자들의 하루 같소~

■ 어떤 함수에다가 구조체의 포인터를 인자로 넘겨주고
함수내부에서 그 구조체 포인터에 메모리를(heap에) 잡는다고 하면
이중포인터로 넘겨주어야 한다.

■ 그래서 오늘 아래와 같은 코드를 짰다.
typedef struct{ float x,y,z, nx,ny,nz; } VERTEX;
typedef struct{ int vertex[3]; float nx,ny,nz; } TRIANGLE;

void GetDataFromFile(int *nVertexies, int *nTriangles, VERTEX **v, TRIANGLE **t) {
    fscanf(fp,"%d",nVertexies);
    fscanf(fp,"%d",nTriangles);

    *v = new VERTEX[*nVertexies];
    *t = new TRIANGLE[*nTriangles];

    for(i=0 ; i<*nVertexies ; i++) {
        fscanf(fp,"%f", &((*v)[i].x) );
        fscanf(fp,"%f", &((*v)[i].y) );
        fscanf(fp,"%f", &((*v)[i].z) );
    }
}

void main() {
    VERTEX *vertex;
    TRIANGLE *triangle;

    GetDataFromFile(&nV, &nT, &vertex, &triangle);

    if(vertex!=NULL) delete vertex;
    if(triangle!=NULL) delete triangle;
}

■ 별로 안 좋은 코드이고, 잘 안 쓰일것 같은데.
의외로 DX에도 이런 코드가 여럿 보인다.
위의내용은 전적으로 (천재인)현기한테 배운것이다.
(고마움과, 도움 받은 것은 표현을 아끼지 말아야 한다.)

'딱딱한것 > IT/프로그래밍' 카테고리의 다른 글

STL의 반복자.  (0) 2008/05/25
이중포인터  (0) 2008/05/22
루아 문법 규칙.  (2) 2008/05/18
SVN에서 Repository의 일반적인 레이아웃.  (0) 2008/05/16

Trackback Address :: http://zsimi.tistory.com/trackback/163

댓글을 달아 주세요

회사에서 발행하는 채권을 짧게 회사채, 또는 사채라고 한다.
그 중에서도 전환사채는 주식으로의 전환이 가능한 채권을 의미한다.
예를 들어 삼송이라는 회사에서 1만원짜리 전환사채를 발행했다면, 1~3년 뒤에 이것을 원리금을 받거나 또는 삼송 주식으로 바꿀 수 있는 권한이 생기는 것이다. 그런데 이것은 소득세 외에는 세금이 붙지 않는다. 그래서 상속세를 피하기 위해서 많이 쓰인다. 1만원짜리 전환사채를 발행하고 3년 뒤에 60만원짜리 삼송 주식으로 바꿀 수 있는 것이다. 당연히 이 전환사채는 아무나 살 수 없다. 대게 기업의 임원에게 발행해서, 경영권방어를 위해서 사용한다. 그러니까 어떤 기업에서 삼송의 대주주가 되기 위해서 주식을 모으고 있다면, 경영권 방어를 위해 미리 발행했던 전환사채를 주식으로 돌리는 것이다.

상속세를 피하기 위해 이런 전환사채를 사용한다고 해서 아무런 법적인 문제도 없다. 도의적인 문제가 있지만...

의문1) 근데 전환사채를 주식으로 바꿀 때는 그 기업의 주식 수가 늘어나는 걸까? (그러니까 신주발행, 증자) 만약 그게 아니라면 도대체 누가 가지고 있던 주식의 소유권이 바뀌는 걸까? 검색해봐도 나오지 않는다.

Trackback Address :: http://zsimi.tistory.com/trackback/161

댓글을 달아 주세요

  1. 지나가는이 2008/05/19 22:31 주소 수정 답글 달기

    전환사채권자가 전환권을 행사할 경우에 신주 발행이 될 수도 있고
    신주 발행이 안될 수도 있습니다.

    1. 신주 발행의 경우
    - 보통 기업 공개가 이루어지지 않은 경우에 많이 사용 됩니다
    - 전환권 행사시 신주 발행이 이루어지면 그만큼 기존 주주들에게
    피해를 주게 되니까 소액 주주들에 대한 소송을 피하기 어렵게 되죠
    - 예를 들어 사체의 액면가가 10,000 주당 액면가가 5,000이라고 가정하면 전환비율을 1:1로 하고 신주를 발행하면 주식 수는 1주 늘어나고 차액인 5,000은 주식 발행 초과금이 됩니다..1:2라면 2주가 늘어나는 것이고요
    하지만 숫자 놀음이죠 기업공개할 경우 600,000의 가치를 가진 주식을 아주 싼가격에 매입할수 있는 것이니까요.

    2. 공개된 기업의 경우에는 저렇게 전환가액과 시가가 엄청나게 차이나는 경우는 없습니다. 그런 전환사체를 발행한다면 주가가 엄청 떨어질께 뻔하죠
    암튼 전환권을 가진 사람이 전환권을 행사하면 전환사채 발생시 어떤 계약 사항을 넣느냐에 따라 다르지만 일반적으로 회사에서 자기주식을 매입하여 전환권 행사자에게 교부하여야 합니다.(전환사채 발생시점에 전환이 예상되는 주식을 미리 매입하고 발행하는 경우도 있습니다) 또한 주식으로 교부하지 못할경우에는 전환권행사 시점에 주식을 교부받았을 경우와의 차액을 현금으로 줘야 하는 경우도 있습니다(발행계약에 따라서는 말입니다)

    • 2008/05/19 22:56 주소 수정 BlogIcon 시미

      아 그렇군요! 친절한 설명 감사드립니다! 乃
      공개된 기업은 대부분 신주 발행이 아니군요.
      계약에 따라 법인에서 매입한다... 흠, 복잡한 절차가 있겠네요. 감사해요~

루아 전체 문법 규칙.

■ Load 하기.
루아에서 텍스트를 불러오든 청크를 불러오든 lua_load() 를 써서 불러 올 수 있다.
int lua_load (lua_State *L, lua_Reader reader, void *data, const char *chunkname);

■ 바이트코드로 변환 하기.
luac -s -o test.out test1.lua test2.lua test3.lua
하면 test.out으로 합쳐지면서 바이트코드로 변환된다.
근데 바이너리코드와 바이트코드는 무슨 (의미의) 차이가 있을까?

'딱딱한것 > IT/프로그래밍' 카테고리의 다른 글

이중포인터  (0) 2008/05/22
루아 문법 규칙.  (2) 2008/05/18
SVN에서 Repository의 일반적인 레이아웃.  (0) 2008/05/16
STL, vector, cin  (0) 2008/05/15

Trackback Address :: http://zsimi.tistory.com/trackback/160

댓글을 달아 주세요

  1. BlogIcon 시미 2008/05/20 13:43 주소 수정 답글 달기

    for _, enemy in ipair(Enemies) do
    enemy:update()
    end

    이런식의 코드가 가능.