블로그

  • Where does this ocean go?

    칸노 요코의 곡이다. 보컬은 일라리아 그라지아노.

    All day the city’s selling something 매일 도시는 뭔가를 팔고
    Always, the busy people spinning ’round 언제나 바쁜 사람들은 돌아다니지
    Busier 더 바쁘고
    Dizzier 더 아찔하고
    ‘Til they go back home to somewhere 어딘가의 집으로 돌아갈 때 까지 And taxies stop to say “hello” 택시가 서서 “안녕하세요~”라고 말하고
    “Want a ride? I’ll take you there” “타시겠어요? 모셔다 드리죠”
    “To anywhere, just tell my driver” “아무데로나, 기사한테 얘기해요” The sun is casting shadows 태양은 그림자를 드리우고
    An afternoon is fading 오후가 저물어가면
    I ask, but no one knows 난 물어보지, 하지만 아무도 몰라
    The answer to the question 그 질문에 대한 답을
    My life is like an island 내 삶은 섬과 같아
    Where does this ocean go? 바다는 어디로 가나요? Shyly, a wino sips his wine 부끄럽게도, 와인 중독자가 그의 와인을 한모금 빨고
    Slowly, cause to him that is all that matters 천천히, 그가 그 모든 문제가 되지
    He sees a cat he knows so well 그는 잘 아는 고양이를 보고
    Now sleeping on a bench together 이제 벤치에서 함께 잠드네 A woman waiting by herself, selling flowers 꽃을 팔면서 있는 여인이
    “Please buy some, so I can help my daughter, will you?” “조금만 사주세요, 그럼 제 딸을 도울 수 있습니다. 제발요” The man with spider eyebrows 거미 눈썹을 가진 남자가
    Is standing on a corner 구석에 서 있고
    “Who wants to see a show?” “쇼를 보고 싶어하는 사람은 누구요?”
    His head looks like a melon 그의 머리는 멜론처럼 보이고
    He turns into an alley 그는 오솔길로 들어가
    Then stops to blow his nose 그의 호흡을 멈추고
    Sky is filled with neon 하늘은 네온사인으로 가득 찼어
    The buildings stand electric 건물은 전기로 서 있고
    And almost seem to glow 거의 모든것이 번쩍이지
    Want answers to the question 그 질문에 대한 답을 알았으면
    My life is like an island 내 삶은 섬과 같아
    Where does the ocean go? 바다는 어디로 가나요?
    I really want to know 나는 정말 알고 싶어
    My life is like an island 내 삶은 섬과 같아
    It’s time for me now to fly 이제 내가 날아가야 할 시간이야
    Where does the ocean go? 바다는 어디로 가나요?
    ———–
    노래 좋다.
    공각기동대 TV판 SAC 1기 OST의 수록곡.

  • 일본 옷 도/소매

    돌아다니다 보니 일본옷 도/소매 한다는 가게를 봤다.

    진짜 파는 걸까…

  • 미지수가 4개인 3차 연립 방정식

    살다보니 3차 연립방정식을 푸는 날도 오는구나 싶다. 지금까지 2차 연립방정식밖에 풀어보지 않은 내가 밉다. 뭐하고 살았나.

    x, y, z, w의 변수가 있고, 다음과 같이 생겼다.

    $\sum a_{ijnmp} x^i y^j z^n w^m = 0$

    이때, $i+j+n+m=3$인 조건과 $0 \leq i, j, n, m, p \leq 3$인 조건을 만족한다.

    $(A_{1p} x+B_{1p} y+ C_{1p} z + D_{1p} w + E_{1p})(A_{2p} x+B_{2p} y+ C_{2p} z + D_{2p} w $

    $+ E_{2p})(A_{3p} x+B_{3p} y+ C_{3p} z + D_{3p} w + E_{3p})=0$

    이렇게 인수분해가 될까?

    이렇게 되기만 한다면, 81개의 미지수가 4개인 1차 방정식으로 문제를 분해할 수 있고, 그중 3개의 답을 찾아낼 수 있게 된다.

    거꾸로 저렇게 된다고 가정하고 계수들을 찾아보려는 시도를 하고 있는 중인데, 자꾸 모순이 발생해서 어디서 틀렸는지 찾는 중이다.

  • 탄력주행

    요즘 자동차 얘기를 하다 보면 “탄력주행”이라는 말이 나온다. 그 뜻은 기어를 중립에 놓고 엔진의 힘이 아니라 관성력을 이용해서 차를 주행한다는 뜻이다. 하지만 아무리 생각해도 이건 말이 잘못 정착됐다. 바꿀 순 없겠지만.

    “탄력”이란 탄성력과 같은 뜻으로, 물체가 변형되었을 때 변형의 원인이 된 힘이 사라지면 다시 원래대로 되돌아가는 힘을 말한다. 따라서 이 힘은 실제로 “탄력주행”에서 사용하는 관성력과는 아무 관련이 없다. 우리가 “탄력주행”이라고 부르는 말은 그 정의에 따라 이름을 붙인다면 “관성 주행”이 정확하다. (이런걸로 한국 물리학회에서 따지진 않겠지만.)


    영어로는 Inertial drive라고 하면 될 듯 하다.


    영어로는 coasting이라는 용어를 사용한다. coasting의 뜻은 타성으로 나간다는 뜻으로, 동력 없이 중력이나 기타 다른 원인으로 움직인다는 뜻이다.

    걱정스러운건, 이미 정착된 용어이므로 탄력주행이라는 말을 한국 사람은 어느정도 알겠지만, 만약 이 말을 그대로 영어로 직역해버리면 전혀 이해가 안되는 말이 나와버린다는 점이다. Elastic drive라고 외국인에게 말해준다면, 도대체 자동차가 얼마나 탱탱하길래 그걸로 운행이 가능하다고 말하는지 매우 신기해 할 것이다. “WOW! Wonderful Korea!!”라고 외칠지도.

    자동변속기에서는 탄력주행이 별로 좋지 않다. (심지어 위험하다는 주장도 있다.) 난 수동변속기 매니아니까 클러치만 밟아도 그 탄력주행이 가능하지만.ㅋ

  • 수단과 목적

    친구랑 얘기하다가, 내가 토플 예상점수가 50점 정도 되고 80점이 목표라는 말에 그 친구가 실망했다면서, 자기가 아는 어떤 친구는 준비 없이 봤는데 100점이 나오고 조금 공부해서 110점이 나왔다던데, 나보고 그정도 할거라고 기대했는데 아니라서 실망했다는 이야기를 했다.

    예상점수가 50점이라는건 내 현재 실력이 그렇다는 뜻이고, 목표가 80점인 것은 그 이상 받아봐야 유학가는데 의미가 없으니 쓸데없는 노력을 안하겠다는 건데, 무슨 사람이 목표치가 그렇게 낮게 잡혀 있냐면서 100점 넘게 받아서 좋은 대학 가면 좋은거 아니겠냐고 갈궜다. 근데 그건 천재잖아. 공부 대충 하고도 수능에서 2개를 틀리는 바람에 서울대 갔다는 친구인데, 난 그런 천재형 타입이 아니다. 난 철저하게 물리학/수학에 특화된 공부를 해 왔고, 나머지는 필요한 만큼만 공부하고 필요한 만큼만 노력하는 타입이다. 나도 공부 대충하고 그 친구도 공부 대충하는데 단지 결과가 다르다는 것 뿐. 게다가 난 그 결과를, 그쪽 결과는 별로 중요하게 생각하지 않는다. 논문과 연구로 실력이 결정되는데 시험 잘봐서 뭐하게…

    어쨌든, 내가 토플 100점을 넘게 받으려면 유학을 포기하고 영어 공부만 해야 하는걸…

    내가 영어를 잘하기 위해서 영어 공부를 하는게 아니라, 물리학 공부를 하고 싶은데 하필 물리학자들이 영어를 주로 써서 공부하는 것 뿐이다. 물리학자들이 주로 중국어를 썼다면 중국어를 공부했을 것이고, 히브리어가 주류 언어였다면 히브리어를 공부했을 것이다. 내 목표는 물리학이지 영어가 아니다.

    아무리 결과가 더 중요하고, 목적이 수단을 정당화 해 주는 시대라 하더라도, 아무리 그래도

    수단이 목적을 바꾸면

    안되는거 아닌가. -_-;;;;

    전에도 말했듯이, 나에게 그런걸로 이래라 저래라 안했으면 좋겠는데…

  • 노다메 칸타빌레 최종악장 전편

    재밌다.

    스토리는 평이한 스토리지만 음악과 오케스트라를 잘 넣어서 볼만한 스토리가 되었다. 연기는 볼만하다. 내가 일본식 개그에 익숙해서 그런진 몰라도 개그 코드가 잘 맞아서 재밌게 봤다. 막장으로 가는 CG삽입과 대놓고 사용한 마네킹 덕분일까. (한국 영화였으면 대역 없이, 마네킹 없이, CG없이 같은 장면을 연출했을 듯.)

    피아노 연습을 좀 더 해야겠다는 생각이 들었고, 영어공부도 해야겠다는 생각이 들었다.

  • 너가 뭘 알겠어?

    어떤 사람이 어떤 일에 대해서 어떻게 해야 한다고 주장할 때, 아무것도 모르는 놈이 깝친다 무시하지 말고 왜 깝치는가 생각좀 해보는 것이 좀 더 일을 수월하게 풀 수 있는 경우가 많다.

  • 금요일의 삽질극장

    우리 실험실에서는 CCD를 많이 쓴다.

    컴퓨터 – 랜선 – 피드스루 – 랜선 – CCD – CCD마운트

    이렇게 연결되는 배선이 있는데, 랜선, 피드스루, CCD를 모두 바꿔봐도 CCD마운트에 CCD가 접촉하는 순간 오작동하는 현상이 발생했다.

    누전이 문제인가 싶어서 접지를 했다가, 끊었다가, 컴퓨터랑 접지를 했다가, 끊었다가 해보고, 안되서 CCD를 완전 절연을 시켰다가 뜯었다가 해보고, 랜선도 바꿔보고 피드스루도 바꿔봤다.

    결국 해결은 컴퓨터 바꾸니까 잘 되더라…

    원래 2시에 세팅해서 3시부터 실험 시작할 예정이었는데 이것때문에 4시간동안 삽질하느라 실험을 못했다.

  • 별명

    나에겐 여러가지 별명이 있다. 내가 속한 집단에 따라서 나를 부르는 별명이 달라진다.

    남박 – 초등학교 3학년때부터 대학원때까지 학교에서 나를 알고 지낸 사람들은 나를 이렇게 부른다. 그 이유는 아는게 많아서.

    snowall – 중2때부터 지금까지 온라인에서 나를 알게 되어 만난 사람들은 나를 이렇게 부른다. 그 이유는 내 ID니까.

    미남 – 중3때 한정되었던 특수한 별명이다. 음악선생님이 전자피아노를 음악시간마다 들고올 사람을 선정하는데 스스로 잘생겼다고 생각하는 사람보고 손을 들으라고 해서, 내 옆자리에 앉아있던 짝궁이 내 손을 번쩍 올려주었다. 그 뒤로 중3 내내 미남 소리를 들었다는 슬픈 전설이…

    중동군 – 훈련소에서 알게 된 사람 중 딱 1명만 나를 이렇게 부른다. 난 한국군이라고.

    본명 – 직장에서 나를 알게 된 사람들은 나를 본명으로 부른다. 훈련소에서 알게 된 사람들도 본명으로 부른다. 그 외에 친구 몇명도 나를 본명으로 부른다. 친척들도 나를 본명으로 부른다. 근데 내 본명이 가장 어색하다. 응답 시간이 가장 늦을 것 같은 호칭이다.

  • int와 char

    C언어에서 가장 많이 사용하는 변수는 역시 int일 것이다. 당장 for문 쓰려고 해도 int형 변수를 선언해야 하니까.

    기본적으로, int는 정수형 변수고 char는 문자형 변수를 나타내는 예약어이다.

    다음과 같이 선언해서 쓴다.

    int a;

    char b;

    이렇게 하면 a는 정수 1개를 저장하는 변수가 되고 b는 문자 1개를 저장하는 변수가 된다.

    a=65;

    b=’A’;

    이렇게 사용할 수 있다.

    그런데 이런것도 된다.

    a=’A’;

    b=65;

    이게 되는 이유는 C언어에서 문자를 숫자로 변환해서 사용하기 때문이다. 이때 변환하는 규칙은 ASCII코드표에 다 써져 있다. (ASCII코드가 아닌 다른 코드를 쓸 수도 있지만, 대세는 ASCII이다.)

    다음과 같이 하면, a는 66이 되고 b는 “B”가 된다.

    a++;

    b++;

    물론 다음과 같은 것도 된다.

    printf(“%d\n”, a);

    printf(“%c\n”, (char)a);

    printf(“%c\n”, b);

    printf(“%d\n”, (int)b);

    이렇게 하면 그 결과는

    65

    A

    A

    65

    가 될 것이다.

    int와 char는 공통적으로 (실제로는) 둘 다 정수 1개를 저장한다. 하지만 int로 선언한 경우와 char로 선언한 경우에는 그 해석이 달라지는데, char로 선언하면 그것을 문자 1개로 해석한다. int로 선언한 경우에는 그것을 정수로 해석한다. 그리고 char에 저장될 수 있는 내용은, 그것을 정수로 생각한다면 8비트 정수 1개만 가능하다. 하지만 int는 그 선언을 어떻게 하느냐에 따라 다 달라진다

    int a; //기계 또는 컴파일러에서 제공하는 기본적인 정수형의 길이(대체로 16비트나 32비트)

    short int a; //16비트(2바이트) 길이

    long int a; //32비트(4바이트) 길이

    long long int a; //64비트(8바이트) 길이. 이건 요새 64비트 컴퓨터가 늘어나면서 쓰게 되었다. 운영체제에 따라서 long long 대신 int64를 쓰는 것도 있다.

    이렇듯 더 큰 숫자를 쓰기 위해서 길이를 여러가지로 지정할 수 있다.

    char은 또 한가지 중요한 특징이 있는데, 웬만해서는 포인터형 변수 또는 배열 변수로 사용한다는 점이다. 만약 “snowall”이라는 문자열을 처리하기 위해서 7개의 변수가 필요하다고 할 때,

    char a=’s’;

    char b=’n’;

    char c=’o’;

    char d=’w’;

    char e=’a’;

    char f=’l’;

    char g=’l’;

    이런식으로 쓰는 프로그래머가 있을지도 모르겠지만, 아마 돈받고 일하는 프로그래머중에는 없을 것이다.

    이렇게 쓰면 아주 많은 문제가 발생한다. 직접 문자열을 다루고 체험하면서 느낄 수도 있지만 그런 수고를 덜기 위해서 간단히 설명해 보자면, 저렇게 쓰면 귀찮다. (귀찮지 않다면… 뭐 굳이 저렇게 써도 상관 없지만, 혼자서 개발하는 프로그램에만 저렇게 쓰기를 바란다.) 그래서 다음과 같이 쓸 수 있다.

    char a[8] = “snowall”

    이렇게 쓰면 a[0]부터 a[7]까지 접근하여 snowall의 각각의 글자들을 다룰 수 있다.



    [각주:

    1

    ]



    물론 a라는 배열 변수를 이용하여 한번에 뭔가를 할 수도 있다.

    하지만 이 경우에도 문제가 발생하는데, a에 저장하여야 할 문자열의 길이가 7글자가 아닌 경우이다. 이때는 다시 길이를 마음대로 바꿀 수 있는 포인터를 사용하여 선언하게 된다.

    #include

    char *a;

    a = malloc(sizeof(char)*8);

    strcpy(a, “snowall”);

    free(a);

    이와 같이 쓰면 코드는 좀 복잡하지만 문자열의 길이를 맘대로 바꿔가면서 사용할 수 있다.

    1. 글자가 7개인데 배열이 8칸인 이유는 숨어있는 1글자 때문에 그렇다. 그 숨어있는 1글자는 자습.

      [본문으로]