[글쓴이:] summerorange

  • 행운은 찾아온다 – 데일 카네기

    행운은 찾아온다 – 데일 카네기

    행운은 찾아온다
    행운은 찾아온다

    행운이 가득한 하루가 되길

  • 완벽한 퇴사 – 장기적으로 준비해야 하는 플랜

    완벽한 퇴사 – 장기적으로 준비해야 하는 플랜

    time lapse photo of stars on night
    Photo by Jakub Novacek on Pexels.com

    완벽한 퇴사라는 책을 퇴근 후에 영풍문고에 들러서 읽게 되었다. 퇴사 준비 낯설지 않다. 몇 년 전에 누가 이런 말을 한 적이 있었다.

    ‘연봉이 자신의 몸값이라는 말은 말이 안돼. 왜냐면 그러면 회사 밖에 나가서도 연봉 만큼은 벌 수 있어야 하잖아? 회사 밖에 나가면 아무것도 못하는데 그건 몸값이 아니지.’

    그 때 당시에 맞는 말이라고 생각을 했다. 그리고 무언가 새롭게 도전을 하고, 준비를 해야 하는데, 늘 지쳐서 늘어지는 나를 보면서 자괴감에 빠졌었다. 도대체 어디서부터 무엇을 해야 할지 몰라 헤맸다. 이게 맞는 길인지도 확신이 없었다. 회사에서는 무력감이 회사 밖에서는 아무것도 못하겠단 마음이 많이 들었었다. 그 때 다녔던 회사에서는 내 바로 위의 사수와 심한 마찰이 생기고 있었고, 너무 힘들었으니까.

    내가 힘들었던 부분은 내가 참고 견뎌야 하는 옵션 밖에 가지지 않았던 게. 너무 분하고 화가 났던 것 같다. 내가 나 자신을 그런 상황에서 보호해주지 못하는 게 분했다.

    그 사수는 분명 문제가 있는 사람이었으니까. 저 사람은 날 이해하기는 커녕 지나친 마이크로 핸들링에 사실상 능력없는 사람인데. 얼마 안 가 퇴사하면서 다짐했다.

    언젠가는 나는 내 자신을 고용하겠다고, 나는 누구보다도 날 잘 이해하면서, 날 성장시키고 지지해줄 수 있는 시스템을 만들겠다고 결심했다.

    사람을 믿는 게 아니라 시스템을 만들겠다고.

    퇴근하고 집에 오면 침대에 눕고 싶고, 놀고 싶고, 뭔가 딴짓을 하고 싶다. 나 조차 사람이니까. 퇴근 시간 이후에는 적어도 날 놀게 해주고 싶은 마음이 든다. 하지만, 이렇게 책을 읽고 글을 쓰고, 마음을 정리하고, 단 한 글자라도 좋으니 한 번 더 읽어내면서 마음을 다잡는다. 매일 매일 기적을 만들자. 라고.

    이 책을 보면서 이런 저런 창업의 비결들이 적혀져 있다. 1인 창업가를 위한 이야기들.

    • 일단은 거창하게 시작하지 말고 조금씩 시작해라.
    • 끊임없이 배워야 한다.
    • 생각이 나지 않을 때는 육하원칙(what, who, when, where, why, how)으로.
    • 나만의 메시지가 1인 기업가의 소명이다.

    나는 왜 일을 하는지. 어떤 소명의식이 있는지 생각해봐야 한다. 책을 읽으면서 뭔가 구구절절 느껴진다면 아마 이미 준비 단계에 와 있어서 일테다. 어떤 단계에서는 ‘누구나 다 아는 이야기야.’, ‘음… 별로 와닿지 않네.’ 이럴 수 있다. 그럼 아직 때가 아닌 거다.

    이런 문장에 좀 더 심사숙고하게 되고, 어떻게 하면 될 수 있을까. 나는 5년 정도 준비하고 싶어. 그 다음 스텝은 뭐지. 라고 생각하게 되는데. 나에게는 때가 되어서 인 것 같다.

    나는 이 책을 읽으면서 일단 거창하게 시작하지 말고 조금씩 시작해라. 라는 말에 동감한다. 단기적으로 배팅하는 전략은 제외했다. 장기전으로 가기로 했다. 어찌되었던 난 내가 정한 목적지 까지 가기로 결정했으니까.

    명확한 문제의식이 생기고, 꿈이 생기면. 그 다음에는 내가 올라가야 할 높은 산이 보인다. 시스템 만드는 것들도 그렇고, 보이지 않는 호수 아래에서 끊임없이 발장구 쳐대는 건 기본이고. 난 만화책을 정말 좋아해서 학창시절에 만화책에 푹 빠져 지냈는데,

    후르츠 바스킷이라는 만화책에서 무언가 산더미처럼 쌓인 거에 풀이 죽은 토오루에게 시구레가 이렇게 말해준다.

    ‘그래 빨래를 예로 들어보자. 당장 눈 앞에 있는 빨래거리부터 청소하는 거야. 하나씩 하다보면 어느새 금새 다 하게 되어 있거든.’

  • 오늘은 딱 한 걸음만 더

    오늘은 딱 한 걸음만 더

    justOneStepMore
    justOneStepMore

    나한테 되뇌이는 말이다. 딱 한 걸음만 더 나아가자. 하기 싫으니까 10분만, 잠깐만, 아주 약간만, 이것까지만 해보자.

    난 차라리 야근하는 걸 선호한다. 집에 오면 이상하게 늘어지게 되니까. 정말 급한 게 아니라면…

    그래도 정말 야근을 할 수는 없으니. 딱 한 걸음만 더 나아가보자. 오늘은 이렇게 글 한 편이라도 썼다. 당장 코 앞에 시험이 있지만 너무 무리하지 않아도 돼. 내가 사실 신경쓰는 건 금요일에 할 내 발표. 내 강의? 를 좋아해주는 것 같아서 좀 더 다시 준비해봐야지. 잘 하고 있어. 자자 힘내자.

    라고 스스로에게 되뇌인다. 아무도 해주지 않아도 내가 계속 끊임없이 말할거야.

  • 게임 이론 Game Theory와 죄수의 딜레마

    게임 이론 Game Theory와 죄수의 딜레마

    게임 이론과 인간의 공격성 진화 시뮬레이션 과 관련해서 정말 추천하고 싶은 영상이 있다. 게임 이론은 존 내쉬가 발표한 내쉬 균형 이론과 관련이 있는데, 의사결정과 관련한 수학적 이론이다. 전략을 세우는 것인데 상대방을 고려해서 보상을 추구하느냐 손실을 최소화하느냐와 관련이 있다고 알고 있다. 알고만 있고, 실질적으로 느끼진 못했는데 공격성의 진화 시뮬레이션 이라는 유튜브를 보고 뭔가 와 닿았다.

    뒹굴거리다가 발견했는데 너무 멋진 비디오이다. 보면서 나름 설명을 좀 더 추가했다.

    유튜브 링크는 하단에. 제목은 Simulating the Evolution of Aggression이다.

    여기 굉장히 귀여운 생물들이 있다. 하나는 비둘기 파이고 다른 하나는 매(hawk)파이다. 비둘기 파는 온건주의자 라고 칭하고 매파는 좀 더 과격주의자라고 칭해보자.

    정말 귀염뽀짝하다

    비둘기 파는 먹이를 함께 발견하면 사이좋게 1:1로 나누지만

    매파와 비둘기 파가 함께 먹이를 발견하면 매파는 본인이 3/2정도 먹고 남은 1/2 를 비둘기 파에게 넘긴다. 비둘기 파의 생존 확률은 0.5가 되어버린다.

    매파와 매파가 함께 발견하면 서로 싸운다고 에너지가 0:0이 되어서 생존 확률은 0프로.

    내가 흥미로웠던 부분은 비둘기 파만 있을 때의 번식율을 돌려본 것과 매파만 있을 때 번식율을 시뮬레이션 한 결과였다.

    번식율 그래프
    번식율 그래프

    비둘기 파만 있을 때가 가장 빠르게 번식했다. 2마리에서 120마리까지 10일도 안되는 기간 동안 늘어났다.

    그런데 매 파가 있을 때의 번식은… 2마리에서 40마리도 간당간당했다. 10일이 되어도…

    이걸 보면서 약간 많은 생각을 했다. 뉴스 기사를 보면 적자생존의 시대이다. 학교에서 배운 약육강식이라던가, 각자 알아서 도생하는 각자 도생의 시대이다 어쩌구… 한정된 자원을 둘러싼 지나친 경쟁. 그런 식으로 가면 저기 오른쪽 그래프 번식률이 나오겠구나. 라고 생각했다. 실제로 그렇게 되고 있지 않은지. 이 그래프가 뭔가 우리 사회에 경종을 울리는 자료 같다는 생각을 하면서 인상깊게 봤다. 출산율 등의 사회 전반의 문제를 보는 느낌이 약간…. 약육강식, 각자도생, 적자생존의 시대. 라는 용어를 이미 많이 들었고, 그걸 너무 자연스럽게 학습시키는 게 꺼림칙했다. 본인이 알아서 스스로를 잘 챙겨야 합니다. 당하는 사람만 바보로 몰기 등. 이기적인 집단의 가장 낮은 번식율…

    물논 내 주위의 분들이 다 좋으신 분들이라 다 좋은 사람들이라고 믿어 의심치 않지만. 그런 생각도 했다.

    이 방식이 과연 좋은 걸까?

    어쨌든, 영상에서는 다음의 경우들을 고려한다. 오른쪽의 사진이 죄수의 딜레마의 상황.

    (1/2, 3/2) 나 (3/2, 1/2)를 선택할 확률이 높아진다
    죄수의 딜레마 상황

    왼쪽의 상황은 각각 자신의 이득을 가장 최대화하기 위해서 (1, 1) (0,0)인 경우를 피하는 상황이고,

    오른쪽의 상황은 그 유명한 죄수의 딜레마이다. 상대방이 매파 전략으로 나왔음. 그런데 나는 뭘 선택해야 가장 이득일까? 비둘기 전략을 선택하자니 1/2 만 먹고, 나도 매파 전략으로 선택하자니 함께 3/4로 각각 (1,1)을 했을 때보다 얻는 소득의 총합이 적어진다. 3/4 + 3/4 = 6/4 = 3/2 = 1.5 이니까. 그렇다고 상대방을 3/2로 줄 것인가?

    경제학에서는 이와 관련한 이론들이 엄청 끊임없이 나오고 있고 훌륭하신 분들이 끊임없이 연구하고 계신다. 수리경제학에서도 게임이론을 본 것 같기도… 그런데 수리경제학을 이해하기에 앞서 이 유튜브 비디오를 보는 게 좀 도움이 많이 될 것 같아서 포스팅을 했다.

    귀여운 건 하나 더 추가

  • 리뷰) Having It All, 해빙 잇 올

    리뷰) Having It All, 해빙 잇 올

    책책책을읽자
    책 리뷰입니다

    이벤트에 당첨되어서 책 선물을 받았습니다. 감사히 선물을 받아서 잘 읽고 리뷰 글을 써봅니다.

    가끔 집 근처의 서점에 가면은 종종 서서 읽거나 가판대에 놓인 베스트셀러를 기웃거리면서 보기도 합니다. 리프레시 겸 산책 겸 서점 투어를 합니다.

    저자인 존 아사라프가 서두에서 거리의 문제아에서 자수성가한 백만장자라고 자기 자신을 소개하는데,

    이 분은 성공한 사람들을 접하면서 그들이 행동하는 걸 면밀히 관찰하고 그걸 자기 삶에 녹였다고 보는 게 좋을 것 같습니다.

    예전에 여의도몰에서 기웃거리면서 책을 읽다가 1인 창업가로 성공한 사장님 쓴 책에서 남편은 빚만 있고 술만 마시고 있고, 자신이 키워야 할 아이가 있어서 더는 물러설 곳이 없어서 성공한 사람이 시키는 걸 그대로 했다. 라고 한 게 인상깊게 남았는데, 저 문장에서 핵심은 그것 같습니다. 단순히 다른 사람을 보고 관찰만 한 게 아니라 그걸 자신의 삶에도 적용시켰다는 부분이요. 이 분도 그렇지 않았을까라고 생각하면서 읽었습니다.

    성공한 사람이 가진 특징으로 저자가 7개 정도 뽑았는데, 그 중 하나가 실행이다. 어찌되었던 ‘실행’으로 옮기는 것.

    정말 좋은 강의가 있었다. 와. 저 강의는 정말 나만 알고 싶다라고 생각할 정도로 좋은 강의였다. 영어로만 이루어지긴 했지만 어차피 자막으로도 나오고 있고, 통역도 컴퓨터로 다 되니. 그래서 저 좋은 강의를 주변 사람들에게 공유했다. 꼭 들어보세요. 꼭! 이라고,

    그런데 실제로 강의를 신청해서 듣는 사람의 비율은? ..ㅎㅎ.. 널리 퍼트려도 실제 듣는 사람의 비율은 적다. 게다가 영어 강의니 더 듣는 사람은 적었던 것 같다…

    절박한 마음을 가진 사람은 또 다를 수 있을 것 같고, 어쩌면 또 다른 사람에겐 관심없는 주제였을 수 있다.

    실행 이외에도 끈기, 마음가짐, 훈련, 비전, 목적, 초점이 있는데 난 실행력이 중요하다고 생각해서…

    유튜버. 유튜버 하는데 사실 유튜버도 지금 시작해도 안늦다고 생각한다. 단지, 실행일 뿐.

    또 인상 깊게 봤던 부분은 종이에 자신의 목표를 적을 것.

    정말 간단해 보이는데, 꼭 해보라고 한다. 하버드를 졸업한 3퍼센트만이 실행한 마법의 주문이라고 한다.

    매년 다이어리에 그 해의 목표를 적곤 한다. 이걸 해봐야지. 하고 적는데 두루뭉실하게 적을 때보다 구체적으로 적은 목표들은 하나씩 해내고 있었다.

    좀 구체적으로 써야하는 것 같다.

    난 블로그를 운영하고 만든다 이런 것보다 난 워드프레스에 글 30개를 10월 안에 올린다. 이런 식으로.

    python 강의를 듣고 있는데 올해 안에는 70강까지는 완주하겠다. 란 목표도 있다. 그리고 지금 55강 정도 들어서 15강 정도가 남았다.

    그리고 올해 뿐만 아니라 장기 단위로, 5년 동안의 계획이 머릿속에 있는데 이것도 종이에 구체적으로 적어야겠단 생각을 했다.

    올해가 이제 얼마 안 남았다. 100일 단위로 세고 있던데, 다시 동기 부여를 받아서 하루하루 가치 있게 보내야겠다.

    후기 끝~

  • C언어 – 포인터 개념2

    C언어 – 포인터 개념2

    #include <stdio.h>
    int main() {
       int a[] = {0, 2, 4, 8};
       int b[3];
       int* p;
       int sum = 0;
       int i;
       for (i=1; i<4; i++) {
           p = a + i;
           b[i-1] = *p - a[i-1];
           sum = sum + a[i] + b[i-1]; }
       printf("%d", sum);
       return 0;
    }
    

    다음의 코드에서 포인터의 개념은 int* p 라고 포인터를 선언한 것과, for 문에서 p값이 a +i 를 합한 것과 같다는 부분에서 볼 수 있다.

    a는 4개가 할당되어 있고, b는 3개가 할당 되어있다. 0으로 시작하기 때문에

    a는 다음과 같고,

    0123
    a0248

    p는 0이 있는 위치부터 가리키고 있다고 할 수 있다. b는 아직 받은 값이 없으니 비어있고,

    012
    b

    p = a + i 부분은 i는 우선 1부터 2, 3 까지로 4보다 적은 숫자까지 돌아간다. 그렇다면 a는 주소 0부터 시작하기 때문에 0 + 1 로 p는 1의 값으로 우선 나온다.

    이 때 b[i-1] = *p – a[i-1]은 *p가 1이라는 주소에 있는 값을 반환받길 원한다.

    즉 a의 2. b[0] = 2 – a[0] = 2 – 0 = 2 이다.

    sum += a[i] + b[i-1]로도 표현할 수 있는데 sum = 0 + a[1] + b[0] = 0 + 2 + 2 = 4

    p = a + i 는 p가 a[i]에서 i값을 가지고 온다고 보면 되고 포인터 *p는 해당 a[i]값을 가지고 온다.

    p = 2,

    b[1] = *p – a[1] = 4 – 2 = 2

    sum = 4 + 4 + 2 = 10

    p=3, b[2] = 8 – 4 = 4, sum = 10 + 8 + 4 = 22

    저 코드를 돌린 값은 22이다.

    b도 for문이 다 돌고 난 뒤라서 채워진다.

    012
    b224
    실제 결과값

    코드를 돌기전에 일단 쭉 나열해서 풀어봤다.

    포인터의 개념은 주소와 값 중에 값을 빨리 반환 받기 위해서 사용하는 게 핵심인 것 같다.

    추가로 좀 더 배웠는데 이것도 포스팅할 예정이다.😎

  • C언어- 포인터 개념 설명 및 예시

    C언어- 포인터 개념 설명 및 예시

    C언어는 빛과 소금과 진리^^

    포인터 개념을 이해해보자!

    우선 다음과 같은 문제를 풀어보자! 정답은? 과연 두구두구두구두구…

    #include <stdio.h>
    int pointfunc (char *);
    int main() {
        char* p1 = "20210107";
        char* p2 = "20221008";
        int n = pointfunc(p1);
        int m = pointfunc(p2);
        printf("%d", n+m);
        }
    
    int pointfunc (char* p) {
    	int count = 0;
        while (*p != '
    #include <stdio.h>
    int pointfunc (char *);
    int main() {
    char* p1 = "20210107";
    char* p2 = "20221008";
    int n = pointfunc(p1);
    int m = pointfunc(p2);
    printf("%d", n+m);
    }
    int pointfunc (char* p) {
    int count = 0;
    while (*p != '\0') {
    count ++;
    p ++;
    }
    return count;
    }
    ') { count ++; p ++; } return count; }

    여기에서 괴상망측한 * 라는 표시가 있다. 이 표시에 대해서 교수님이 포인터 개념에 대해 한 주 수업 시간 내내 설명하시고 폭탄 과제를 잔뜩 내 주신 게 떠오른다. 그 이후로 난 저 * 만 보면 😣 … 인데 C언어 에서는 상당히 중요한 개념이다.

    예전에 삐뚤새뚤하게 포인터 개념에 대해서 정리해서 과제를 제출했다. 모범생 타입답게 제출 시각에 딱! 맞춰서 부랴부랴! 제출했다😎

    “c언어는 python과 다르게 데이터 타입을 반드시 적어주어야 한다. 변수 개념은 포인터 개념과 밀접하게 관련이 있는데, 변수의 값, 변수의 주소에 대해서 c언어가 매우 민감하기 때문이다. 포인터는 변수의 값을 찍는 게 아니라 주소를 알려준다. 역참조는 주소 안의 값이 무엇인지 대신 반환해주는 것이다. 이 포인터 개념은 C언어에서 중요하게 여기는 개념이다” – summerorange 과제 제출

    저 코드의 정답은 저 character 변수의 갯수를 더하면 된다. 갯수를 더하는 걸 코드로 표현한 거니까.

    표로 표현하면 이런 느낌?

    p01234567Null
    *p20210107\0
    count12345678
    Null사랑하지않아

    \0이 아닐 때까지, 즉 null 값이 아닐 때까지 카운트를 하는 거니 char* p1 = “20210107”; 은 총 count 8이 나온다. 그래서 int n = 8 로 할당되고,

    p01234567Null
    *p20221008\0
    count12345678
    계산은 꼼꼼하게

    \0이 아닐 때까지인 char* p2 =”20221008″;은 해당 pointfunc 함수 리턴값인 int m = 8이 나와서

    합한 값은 8 + 8 = 16이 나오게 된다.

    그리고 추가 문제가 더 있어서 추가 포스팅을 하겠다.

    개념 이해에는 문제를 많이 풀어보는 게 좋은 것 같다.

error: Content is protected !!