[글쓴이:] summerorange

  • 가장 어두운 곳에 있는 너에게 – Katie Sky, Monsters

    가장 어두운 곳에 있는 너에게 – Katie Sky, Monsters

    어둠 속에 있을 때 들어봐


    I see your monsters
    나는 당신 안에 있는 괴물이 보여요

    I see your pain
    나는 당신의 고통이 보여요

    Tell me your problems
    당신의 문제를 말해줘요

    I’ll chase them away
    내가 모두 쫓아줄게요

    I’ll be your lighthouse
    내가 당신의 등대 되어줄게요

    I’ll make it okay
    다 괜찮아질 거예요

    When I see your monsters
    당신 안의 괴물이 보일 때

    I’ll stand there so brave
    당신 옆에 용기를 가지고 서서

    And chase them all away
    그것들을 모두 쫓아내어 줄 게요


    In the dark we we
    어둠 속에서 우리는

    We stand apart we we
    우리는 멀리 떨어져 있어요

    Never see that the things that
    아무것도 못보고 말이죠

    We need are staring right at us
    우리가 원하는 것이 바로 우리 앞에 있다는 것을

    You just want to hide hide hide
    당신은 그저 숨고 싶어하고

    Hide never show your smile smile
    당신이 미소짓는 걸 보여주는 것도 숨기려고 하죠

    Stand alone when you need someone
    누군가 필요할 때 혼자 있는 것은

    It’s the hardest thing of all
    정말 힘든 일이죠

    That you see are the bad bad bad
    당신은 나쁜 것들을 보고 있어요

    Bad memories take your time
    나쁜 기억들이 당신의 시간을 가지고 가죠

    And you’ll find me
    그리고 당신은 날 찾을 수 있을 거예요


    I see your monsters I see your pain
    나는 당신 안의 괴물이 보여요 당신의 고통이 보이죠

    Tell me your problems I’ll chase them away
    당신의 문제를 말해줘요. 내가 그것들을 쫓아버릴게요

    I’ll be your lighthouse I’ll make it okay
    당신의 등대가 되어줄 게요. 모든 건 다 괜찮아질 거예요

    When I see your monsters
    당신 안의 괴물을 보게 되면

    I’ll stand there so brave
    용감하게 그 곳에 서서

    And chase them all away
    그것들 모두를 쫓아내버릴게요


    I could see the sky sky sky
    나는 하늘을 볼 수 있어요

    Sky beautiful tonight night
    오늘 밤 하늘은 아름다워요

    When you breathe
    당신이 숨을 쉴 때

    Why can’t you see the clouds are in your head
    당신은 머리 위에 구름이 있는 것을 왜 보지 못하나요

    I would stay there there there
    내가 그 곳에 있을게요

    There’s no need to fear fear
    두려워할 필요가 없어요

    And when you need to talk it out
    그리고 당신이 이야기를 하고 싶어할 때

    With someone you can trust
    당신이 믿을 수 있는 누군가와요

    What you see are the bad bad bad
    당신은 나쁜 것들을 보고 있어요

    Bad memories take your time and you’ll find me
    나쁜 기억들은 당신의 시간을 빼앗아 갈거고 그리고 당신은 날 발견하겠죠


    I see your monsters I see your pain
    나는 당신 안의 괴물이 보여요 당신의 고통이 보여요

    Tell me your problems I’ll chase them away
    당신의 문제를 말해줘요 그것들을 모두 쫓아내버릴수 있도록

    I’ll be your lighthouse I’ll make it okay
    내가 당신의 등대가 될게요 모든 게 다 괜찮을 거예요

    When I see your monsters
    당신 안의 괴물을 보게 될 때

    I’ll stand there so brave
    그 곳에서 용감하게 곁에 서서

    And chase them all away
    그것들을 모두 쫓아내버릴게요

    I’ll chase them all away
    내가 그것들을 모두 쫓아내버릴게요


    You’ve got the chance to see the light
    당신은 빛을 볼 기회가 있어요

    Even in the darkest night
    가장 어두운 밤 속일지라도

    And I’ll be here like you were for me
    내가 여기에 있을게요 당신이 나에게 그랬던 것처럼

    So just let me in
    그러니 마음의 문을 열어줘요


    Cause I see your monsters I see your pain
    왜냐하면 나는 당신 안의 괴물이 보여요 당신의 고통이 보여요

    Tell me your problems I’ll chase them away
    당신의 문제를 말해줘요 내가 그것들을 모두 쫓아낼 수 있게

    I’ll be your lighthouse I’ll make it okay
    내가 당신의 등대가 될게요 모든 건 괜찮아질 거예요

    When I see your monsters
    내가 당신 안의 괴물을 보게 되면

    I’ll stand there so brave
    곁에서 용감하게 서서

    And chase them all away
    그것들을 모두 쫓아내버릴게요

    I see your monsters I see your pain
    당신 안의 괴물이 보여요 당신의 고통이 보여요

    Tell me your problems I’ll chase them away
    당신의 문제를 말해줘요 내가 그것들을 모두 쫓아낼 게요

    I’ll be your lighthouse I’ll make it okay
    내가 당신의 등대가 될 게요 모든 건 다 괜찮을 거예요

    When I see your monsters
    내가 당신 안의 괴물을 볼 때

    I’ll stand there so brave
    당신 옆에서 용감하게 서서

    And chase them all away
    그것들을 모두 쫓아내 줄 게요


    음악을 들으면서 기억나는 이미지가 있다.

    옛날에 봤던 만화였는데, 주인공이 어려움에 처했다. 혼자만 남고 모든 것들이 전부 어둠 속이였다.

    주인공이 어둠 속에서 절망으로 잠겨갈 때, 한참을 울다가 문득 말했다.

    그런데 왜 여전히 내 모습은 보이지? 어떻게 온통 깜깜한 어둠 뿐인데 난 나를 볼 수 있고 지각할 수 있지?

    아, 그렇구나,
    내 안에 빛이 있구나.

    노래를 들으면서,

    희망이 속삭이는 목소리

    라고 생각했다

    당신 안의 괴물을 볼 때,
    당신이 나를 발견하면, 당신 옆에서 그것들을 모두 쫓아내겠다고.

  • 23년 1회 정보처리기사 실기 해설

    23년 1회 정보처리기사 실기 해설

    1회 정보처리기사 실기 해설

    1번 문제

    class Static{
     
        public int a = 20;
        static int b = 0;
        
    }
     
    public class Main{
        public static void main(String[] args) {
            
            int a;
            a = 10;
            Static.b = a;
     
            Static st = new Static();
     
            System.out.println(Static.b++);
            System.out.println(st.b);
            System.out.println(a);
            System.out.print(st.a);
        }
    }

    Static 클래스에는 2개의 정수 변수가 있음. 인스턴스 변수 a는 초기 값 20. 정적 변수 b는 초기 값 0.

    main 메소드에서 정적 변수 a가 선언 되고 값이 10이 할당 됨.

    Static 클래스의 인스턴스가 생성되어 참조 변수 st에 할당 됨

    System.out.println(Static.b++); => Static 클래스 정적 변수 b값을 출력하고 그 값을 1 증가 시킴. 10.

    System.out.println(st.b); => b값이 증가되어서 11

    System.out.println(a); => 로컬 변수 a값 10이 출력

    System.out.print(st.a); => Static 클래스의 인스턴스인 인스턴스 변수 a의 값을 출력함. 20이 출력.

    10
    11
    10
    20

    2번 문제

    #include <stdio.h>
     
    int main(){
    
        char a[] = "Art";
        char* p = NULL;
        p = a;
     
        printf("%s\n", a);
        printf("%c\n", *p);
        printf("%c\n", *a);
        printf("%s\n", p);
     
        for(int i = 0; a[i] != '
    #include <stdio.h>
    int main(){
    char a[] = "Art";
    char* p = NULL;
    p = a;
    printf("%s\n", a);
    printf("%c\n", *p);
    printf("%c\n", *a);
    printf("%s\n", p);
    for(int i = 0; a[i] != '\0'; i++)
    printf("%c", a[i]);
    }
    
    '; i++) printf("%c", a[i]); }

    첫번째 printf 에서는 문자 배열 a에 저장된 문자열을 출력. %s (string) 이므로 Art

    두번째 printf 에서는 포인터 p가 가리키는 문자를 출력. 문자열 Art의 첫 번째 문자인 A

    세번째 printf 에서는 문자 배열 a의 첫 번째 요소의 값을 출력, A

    네번째 printf에서는 포인터 p가 가리키는 문자열을 출력, Art

    for 루프문에서는 \0에 도달할 때까지 a 배열의 각 문자를 반복해서 출력함. 참고로 \n은 없기 때문에 줄바꿈 없이 출력됨. Art

    출력 결과:

    Art
    A
    A
    Art
    Art

    3번 문제

    #include <stdio.h>
     
    int main(){
     
        char* a = "qwer";
        char* b = "qwtety";
     
        for(int i = 0; a[i] != '
    #include <stdio.h>
    int main(){
    char* a = "qwer";
    char* b = "qwtety";
    for(int i = 0; a[i] != '\0' ; i++){
    for(int j = 0; b[j] != '\0'; j++){
    if(a[i] == b[j]) printf("%c", a[i]);
    }
    }
    }
    ' ; i++){ for(int j = 0; b[j] != '
    #include <stdio.h>
    int main(){
    char* a = "qwer";
    char* b = "qwtety";
    for(int i = 0; a[i] != '\0' ; i++){
    for(int j = 0; b[j] != '\0'; j++){
    if(a[i] == b[j]) printf("%c", a[i]);
    }
    }
    }
    '; j++){ if(a[i] == b[j]) printf("%c", a[i]); } } }

    main 함수에서 두 개의 문자 포인터 a, b가 선언되고 각각 문자열 “qwer”, “qwtety” 을 가리키도록 초기화됨

    외부 루프와 내부 루프는 포인터 a와 b가 가리키는 문자열의 각 문자를 반복함. a를 기준으로 공통된 문자만 출력하므로

    qwe 가 출력됨

    4번 문제

    – 해당 설명과 관련한 용어

    • 비동기적 web application의 제작을 위해 JavaScript와 XML을 이용한 비동기적 정보 교환 기법
    • 필요한 데이터만을 웹 서버에 요청해서 받은 후 클라이언트에서 데이터에 대한 처리를 할 수 있음
    • 보통 SOAP이나 XML 기반의 웹 서비스 프로토콜이 사용되며, 웹 서버의 응답을 처리하기 위해서 클라이언트 쪽에서는 자바스크립트를 씀
    • Google Map과 Google pages에서 사용한 기술에 기반하여 제작되었다.

    AJAX(Asynchronous Javascript and XML)

    5번 문제

    • 회선교환 방식과 데이터그램 방식의 장점을 결합한 통신 기술
    • 처음 패킷으로 최적의 경로를 고정하고 경로가 고정되면 그 다음은 패킷으로 나누어 고속으로 전송할 수 있다.
    • 통신기술에는 ATM이 있으며, 정해진 시간 안이나 다량의 데이터를 연속으로 보낼 때 적합

    가상회선

    • 패킷교환 방식으로 동작하면서 IP 주소를 사용하는 인터넷을 의미
    • 각 전송패킷을 미리 정해진 경로 없이 독립적으로 처리하여 교환하는 방식
    • 특정 교환기의 고장 시 모든 패킷을 잃어버리는 가상회선과 달리, 그 경로를 피해서 전송할 수 있으므로 더욱 신뢰가 가능
    • 짧은 메시지의 패킷들을 전송할 때 효과적이고 재정렬 기능이 필요

    데이터그램

    6번 문제

    • 2 계층(데이터링크 계층)에서 구현되는 터널링 기술 중 하나
    • L2F와 PPTP가 결합된 프로토콜로 VPN과 인터넷 서비스 제공자(ISP)가 이용
    • IPsec을 함께 사용하면 PPTP 보다 훨씬 안전하지만 보안보다 익명화에 더 적합

    L2TP

    7번 문제

    • 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 응용 프로그램 또는 그 프로토콜을 가리킨다.
    • 보안 접속을 통한 rsh, rcp, rlogin, rexec, telnet, ftp 등을 제공하며, IP spoofing 을 방지하기 위한 기능을 제공한다
    • 기본 포트는 22번

    SSH (Secure Shell)

    8번 문제

    (1)

    • 이메일, 공유폴더 p2p네트워크를 이용해서 스스로 전파
    • 자가 복제 가능하다

    웜(worm)

    (2)

    • 사용자가 의도치 않는 소스코드 속에 숨어 있음.
    • 감염된 후에 스스로를 복제하는 능력은 없다

    트로이목마

    (3)

    • 자기 복제 능력이 있음
    • 자가 전파는 되지 않음

    바이러스

    9번 문제

    #include
    int main() {
    
    	int input = 101110;
    	int di = 1;
    	int sum = 0;
    
    	while (1) {
    		if(input == 0) break;
    		else {
    			sum = sum + (input {1} {2}) * di;
    			di = di * 2;
    			input = input / 10;
    		}
    	}
    	printf("%d", sum);
            return 0;
    
    }

    {1} -> %

    {2} -> 10

    10번 문제

    • TCP/IP에서 IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜
    • ping 명령어를 통한 해당 패킷을 연속적으로 계속 보내어 서버의 요청에 응답으로 인한 다른 작업을 하지 못하도록 하는 공격이 해당 Flooding이다

    ICMP

    11번 문제

    객체의 대리인, mediate라고도 함. 을 이용하여 원래 객체 작업을 대신 처리하는 패턴을 무엇이라고 하는가

    Proxy

    12번 문제

    (1)

    • 테이블에서의 행을 가리킴. 중복허용

    Tuple

    (2)

    • 릴레이션의 외연Relation Extension 이라고도 한다

    Relation Instance

    (3)

    • 특정 데이터 집합의 unique한 값의 개수

    Cardinality

    (참조)

    relation : 데이터를 2차원 표로 나타낸 것

    relation schema : 데이터 구조

    relation instance: 해당 구조에 들어가 있는 값

    tuple: 각각의 행을 의미

    domain : 각 속성이 가지는 값의 집합

    degree : 속성의 수 : 학번, 이름, 학년, 신장, 학과 총 5개

    13번 문제

    delete from 학생 wherer 이름=”민수”;

    14번 문제

    #include
    void swap(int a[], int idx1, int idx2) {
    	int t = a[idx1];
    	a[idx1] = a[idx2];
    	a[{1}] = t;
    }
    void sort(int a[], int len) {
    	for(int i=0; i
    		for(int j=1; j
    			if(a[j] > a[j+1])
    				swap(a, j, j+1);
    		}
    	}
    }
    int main() {
    	int nx = 5;
    	int a[] = {5, 15, 7, 20, 11};
    	sort(a, {2});
    	for(int i=0; i
    		printf("%d ", a[i]);
    	}
    }

    {1} -> idx2

    {2} -> nx

    15번 문제 python set 문제

    a = {'한국', '중국', '일본'}
    a.add('베트남')
    a.add('중국')
    a.remove('일본')
    a.update({'홍콩', '한국', '태국'})
    print(a)

    중복값 제거하는 문제. 해당 문제 풀이는 Pass

    16번 문제

    select 과목 이름, min(점수) as 최소점수, max(점수) as 최대점수

    from 성적

    group by 과목이름

    having avg(점수) >=90;

    17번 문제

    abstact class Vehicle {
     
        String name;
        abstract public String getName(String val);
     
        public String getName() {
                return "Vehicle name: " + name;
        }
    }
     
    class Car extends Vehicle {
     
        public Car(String val) {
                name=super.name=val;
        }
        public String getName(String val) {
                return "Car name:" + val;
        }
        public String getName(byte val[]) {
                return "Car name:" + val;
        }
    }
     
     
    public class Main {
        public static void main(String[] args) {
            Vehicle obj = new Car("Spark");
            System.out.println(obj.getName());
     
        }
    }

    해석:

    public class main 을 보면 이 메소드는 이름이 “Spark”인 Car 클래스의 인스턴스를 생성하고 이것을 참조 변수인 Vehicle에 할당함.

    그런 다음 이 객체에서 getName() 메소드를 호출 함. Car 클래스의 인스턴스를 생성할 때 name=super.name=val 이므로 name은 Spark인 채로 Vehicle 상위 클래스에 할당되고 getName()을 하면 Vehicle name: Spark가 됨…

    출력값:

    Vehicle name: Spark

    18번 문제

    (1)

    • 서브 스키마라고 함
    • 하나의 데이터베이스 시스템에는 여러개의 외부 스키마가 존재
    • 하나의 외부 스키마를 여러 개의 응용 프로그램 혹은 사용자가 공유

    외부 스키마

    (2)

    • 데이터베이스 파일에 저장되는 데이터의 형태
    • 기관이나 조직체의 관점에서 데이터베이스를 정의

    개념 스키마

    (3)

    • 물리적인 저장장치 입장에서 데이터가 저장되는 방법
    • 저장 데이터 항목의 표현방법, 내부 레코드의 물리적 순서, 인덱스 유/무 등을 나타냄

    내부 스키마

    19번 문제

    화이트박스 분기 커버리지

    1 2 3 4 5 6 1

    1 2 4 5 6 7

    20번 문제

    class Parent {
    	int x = 100;
    	Parent() {
    		this(500);
    	}
    	Parent(int x) {
    		this.x = x;
    	}
    	int getX() {
    		return this.x;
    	}
    }
    class Child extends Parent {
    	int x = 1000;
    	Child() {
    		this(5000);
    	}
    	Child(int x) {
    		this.x = x;
    	}
    }
    public class Main {
    	public static void main(String[] args) {
    		Child obj = new Child();
    		System.out.println(obj.getX());
    	}
    }

    해석:

    이 메소드는 Child 클래스의 인스턴스를 생성 obj. 인수가 없는 생성자가 호출됨. Child() 이기 때문에 this(5000)을 호출. 그런데 이 생성자는 x 필드에 값을 할당하기 전에 먼저 Parent 클래스의 인수가 없는 생성자를 호출 Parent() . this(500)을 호출하여 이 생성자는 x 필드에 500을 할당. 코드에서 getX() 메소드를 호출하면 이건 Parent 클래스에서 정의된 x를 의미함. Child에서는 x는 5000임. getX()는 Parent 클래스의 x를 호출하기 때문에 따라서 Parent에서 인수 없이 불러진 this(500) 이 x 값으로 할당되어, 부모 클래스에서 정의된 x필드의 값을 출력하니 500임.

    new Child();로 해당 자식 객체가 생성될 때 부모 클래스의 생성자가 먼저 호출되어 x값이 할당하는 것…

    출력:

    500

  • [Review] The Fabelmans-파벨만스

    [Review] The Fabelmans-파벨만스

    이 영화는 도대체 마케팅이 없다. 도대체 왜 마케팅을 안하지?

    영화계 거장이 정작 사람들에게 알리고 싶은 마음이 없는 영화, 파벨만스.

    매출 목적으로 만든 영화는 확실히 아니다. 심지어 영화 예고편 마저 이 영화를 제대로 반영하진 못하는 것 같다.
    영화 예고편은 도대체 왜 그렇게 만들었는지 이해할 수 없었다.
    부모님이 소리지르는 장면이 예고편에 있다. 그런데, 부모님은 애초에 소리를 지르는 성격 자체가 아니다.
    정말 온화하고 따뜻한 가정 분위기 그 자체인데.
    모르는 사람이 예고편만 보면 부모 자녀 갈등에 관한 테마로 오인하겠다.

    영화를 다 보고 나서 스티븐 스필버그에게 뺨 맞은 듯한 느낌이 들었다.
    나는 이렇게 영화를 시작했고, 영화와 이렇게 사랑에 빠졌다 란 느낌을 받았다. 한 천재가 자기 자신을 찾고 자유롭게 날기까지의 과정을 담았는데, 천재의 주변의 환경과 사람들을 볼 수 있어서 좋았다.
    요 근래 무기력한 일상에 어떤 따뜻한 기억을 전달해줬던 인상 깊었던 영화이다.


    온화하고 다정한 능력있는 아버지. 항상 어머니를 바라보면서, 꼬마였던 샘에게 어머니를 위한 영화를 만들어달라고 부탁하는 아버지.

    어릴 때부터 피아노를 쳤던 어머니. 샘을 상당히 잘 이해하고, 아들이 영화 만드는 걸 항상 지원해줬던 어머니.


    맨 처음은 흑백 영화를 보고 나서 꼬마였던 샘이 멍해 있는 장면으로 시작한다. 아버지는 영화에 대해서 공학적으로 설명하고 있고, 영화는 원래 정적인 사진인데, 초당 24개의 사진이 지나가면 뇌는 움직이는 걸로 기억한다. 라고 설명하고, 어머니는 영화는 꿈과 같은 거지. 라고 설명한다. 그래서 이 집안에는 과학자와 예술가가 모여 있다라고 한다. 개인적으로는 아버지의 설명이 더 흥미로웠다. 24개의 사진을 한 번에 처리할 수 없어서 잔상효과들이 남고, 그걸 움직이는 걸로 뇌가 인식하다니. 오 신기한데. 이렇게 듣고 있었…

    중요했던 장면은 꼬마 샘이 기차를 망가뜨렸을 때, 어머니가 그런 샘을 이해해줬다. 왜 기차를 망가뜨리고 싶어했는지. 영화 속의 장면을 따라하고 싶었다는 걸 이해해주고 필름을 선물해준 것. 영특한 샘은 곧잘 이런 거 저런 걸 만들어내는데. 화장실 페이퍼를 전부 다 쓴 적도 있고. 그럴 때마다 어머니가 나무라지 않고, 계속 영화 만드는 걸 기뻐하면서 학교에도 아버지와 함께 참관하러 와 줬던 것.


    그런 장면장면들을 보면서,
    사소한 것들을 제대로 봐 주는 어머니가 있었구나. 라고 생각했다.
    그리고 베니를 두고 다른 곳으로 이주한다고 말할 때, 길길이 날뛰면서 허리케인 속으로 차타고 나갈 때, 그 때 이미 마음이 움직이고 있었다는 것도 읽었다.
    그리고 그런 어린 시절을 스티브 스필버그는 빠짐없이 다 기억하고 있구나 란 생각을 했다.
    어떻게 그걸 다 빠짐없이 기억할까. 언성을 높이며 싸웠던 순간과 슬픈 순간들을. 마음이 부서지는 순간 속에서도.
    스필버그의 어린 시절은 카메라로 필름들을 촬영하고 있었다.
    장면 속에서 어머니가 애리조나로 떠나겠다고 하고 가족들이 서로 울고 화내는 와중에도 스필버그가 보고 있는 건 그 장면을 필름에 담아내고 있는 자기 자신이였다. 거울 속의 그는 카메라로 찍고 있었으니까.
    가족을 사랑하지만, 영화를 더 사랑하는 어린 시절의 장면 하나.


    회고록 같은 영화를 보면서 감사했다. 누군가의 멋진 어린 시절을 이렇게 볼 수 있다는 게 좋았다. 보이지 않는 사랑을 장면 장면에서 볼 수 있는 영화라고 생각한다. 행동 하나가 때론 말하나 문장 하나보다 더 많은 걸 알려 준다고 생각하는데, 말로만 사랑한다고 하고, 최대한 자신과 멀어진 곳에서 시간을 보내도록 시키는 사람이 있는 반면, 한 번도 사랑한다는 말 한 마디 없어도, 도대체 왜 그런 행동을 하는지 이해하고, 뭘 좋아하는지 금방 눈치채는 사람도 있다.

    자극적인 영화에 진저리가 난다면, 이 영화는 정말 선물같은 존재일 거다. 예상하지도 못했는데… 잘 보게 되었다.


    기억나는 장면

    아, 그래서 그 애가 기차를 망가뜨렸구나.

    이 집안은 예술가와 과학자의 전쟁이지.

    무슨 일이든 다 이유가 있어.

    몇 달러든 영화를 찍게 해줘. 당신은 항상 이런 식이지. 다른 사람에 대해서 관심이 없어. 다른 사람의 소명에 대해서는 생각하지 않지.

    샘 부탁이 있다. 미치를 위해 영화를 만들어줘. 아들인 네가 자기 자신을 위해 만든 거잖아. 기운이 날 거란다.

    그걸 취미 생활이라고 하지 마세요.

    예술과 가족. 가족을 넌 사랑하지. 그런데 가족보다 예술을 더 사랑해. 그 두 가지가 너의 가슴을 찢어놓을 거다.

    IBM에서 그런 제안을 했어. IBM은 널 원하지. 넌 세상을 바꿀 수 있으니까. 난 남아서 50와트 전구를 팔겠지.

    너는 내가 널 죽도록 사랑하는 걸 알잖니. 그러니 도대체 무슨 일인지 말해줘.

    너희 아버지를 알잖니. 그 다정함을 무슨 수로 당하니. 다정하고, 현명하고, 똑똑하지.

    네가 날 어떤 사람으로 생각하든. 계속 영화를 찍어. 너희 어머니가 좋아하시잖니.

    난 계속 널 괴롭혔는데 도대체 왜 그렇게 찍었는지 알아야겠어. 네가 만든 그 장면은 나를 내가 감히 따라가지도 못할 어떤 이상적인 사람으로 만들어 놨어. 내가 평생 따라가지 못할. 인생은 영화가 아니야.

    이건 다른 종류의 그리움이야.

    내가 널 때렸던 때를 기억하니? 물론 기억하겠지. 어떻게 기억 못하겠어. 평생 살면서 딱 한 번 널 때렸는데. 나도 내가 어떻게 된 건지 모르겠다. 그런데 베니가 없다면 나는 또 그 때의 끔찍한 마녀가 될 거 란다. 나도 내 자신을 못 알아보고, 너희들도 나를 못 알아볼 거고. 널 때렸던 그 때를 용서해 줄 수 있니? 내가 어떻게 나 자신을 용서할 수 있을까

    마음이 시키는대로 해야 한다.

    숨을 못쉬겠어요. 대학교에서 보내는 2년이 마치 영원같아요. 참아보려고 했는데 도저히 참을 수 없어요. 저는 영화계 쪽으로 일하고 싶어요.

    이 바닥엔 뭐하러 왔어? 영화 만드는 건 피를 말리는 직업이야. 저 그림들을 봐 저기에서 뭐가 보이니? 아니야. 아니야. 아니라고. 수평선이 아래에 있지. 재밌어. 수평선이 위에 있지. 재밌어. 수평선이 가운데에 있으면 x나 재미없어. 이제 꺼져.

  • 사람들은 세상을 바꾸겠다고 이야기하지만,

    사람들은 세상을 바꾸겠다고 이야기하지만,

    사람들은 세상을 바꾸겠다고 곧잘 이야기하지만,
    어느 누구도
    자기 자신을 바꿀 생각은
    하지 않는다.


    레프 톨스토이

    사실, 나에게 쓰고 싶었던 말…
    주말에 누워만 있지 말고 일어나

  • exact p-value – Python 으로 구하기. normal distribution 구현

    exact p-value – Python 으로 구하기. normal distribution 구현

    잊어버리기 전에 다시 정리…

    python으로 normal distribution 공식과 공식을 통해 해당 값의 frequency를 구해봤다.

    공식을 변형해서,

    python으로 구현하면 다음과 같다.

    import math
    import numpy as np
    
    def normal_distribution(x , mean , standard_deviation):
        frequency = (1/(math.sqrt(np.pi*2)*standard_deviation)) * np.exp(-0.5*((x-mean)/standard_deviation)**2)
        return frequency

    z-score가 2.45가 나올 때 해당 frequency값을 구하면,

    z-score는 평균이 0이고, 표준편차가 1일 때를 기준으로 하기 때문에 다음과 같이 집어넣어서 구할 수 있다.

    normal_distribution(2.45, 0, 1)

    그럼 값은

    0.019837354391795313

    이 나오고,

    지난번 포스팅에서 “해당 값을 표준화 했더니 z값이 2.45, 해당 값이 일어날 확률이 p=.0142가 나왔다.”는

    -> “해당 값을 표준화 했더니 z값이 2.45, 해당 값이 일어날 확률이 p=.0198가 나왔다.”로 수정해야한다.

    뭔가 계속 찜찜해서 결국 직접 구해봤다.

    추가로,

    실제 랜덤 데이터로 생성해서 구현했다.

    random_number = np.random.normal(0, 1, 100000000)
    print(np.mean(random_number))
    print(np.std(random_number))

    1억 개 정도 normal distribution 정규 분포 형태의 랜덤 데이터를 만들어서 평균값과 표준 편차 값을 확인했다.

    1억개 정도 하니 평균은 0, 표준편차는 1에 가까운 값이 나온다. 소숫점 이하의 오차는 갯수가 클 수록 더 작아진다.

    import seaborn as sb
    from scipy.stats import norm
    
    pdf = norm.pdf(random_number , loc = 0 , scale = 1 )
    sb.lineplot(random_number, pdf , color = 'red')

    이건 1억개 정도 돌리려고 했는데 램 용량 부족으로 못돌려서 1만개 정도만 돌린 그래프,

    pdf는 Probability density function 으로 확률 밀도 함수를 구해서 그래프로 그린 것,

    plt로 그래프 그린다고 해도 동일함

    import matplotlib.pyplot as plt
    
    count, bins, ignored = plt.hist(random_number, 100, density=True)
    plt.plot(bins, 1/(sigma * np.sqrt(2 * np.pi)) * np.exp(-(bins-mu)**2 / (2 * sigma**2) ), linewidth=2, color='r')
    plt.show()

    여기에서 cdf 값, Cumulative distribution fuction으로.

    누적값으로 z값 2.45까지의 면적 값을 구해보면,

    # Library
    from matplotlib import pyplot as plt
    import numpy as np
    from scipy.stats import norm
    
    fig, ax = plt.subplots()
    
    # for distribution curve
    x= np.arange(-4,4,0.001)
    ax.plot(x, norm.pdf(x))
    
    ax.set_title("Normal distribution")
    ax.set_xlabel('x')
    ax.set_ylabel('pdf(x)')
    ax.grid(True)
    
    # for fill_between
    px=np.arange(-4, 2.45,0.01)
    ax.set_ylim(0,0.5)
    ax.fill_between(px,norm.pdf(px),alpha=0.5, color='g')
    
    # cdf(x) 값 구하기
    cdf_x = round(norm.cdf(x=2.45, loc=0, scale=1), 5)
    
    # for text
    ax.text(-1, 0.1, cdf_x, fontsize=20)
    plt.show()

    으로,

    z-score가 2.45를 기준으로 좌측 끝 부분부터 해당 값까지의 누적 면적 값… Cumulative 값은 0.993정도가 된다는 것을 추가로 확인했다.

  • 마틴 루터 킹 Jr. – 되어야 할 사람이 되기 전에는

    마틴 루터 킹 Jr. – 되어야 할 사람이 되기 전에는


    1965년에 마틴 루터 킹이 남긴 말의 전문은 다음과 같다.

    인류는 모두 연결되어 있다.

    모든 삶은 상호 연결되어 있으며,

    우리 모두는 정체성이라는 하나의 옷으로 묶여 있는 피할 수 없는 상호 관계의 네트워크에 갇혀 있다.

    한 사람에게 직접 영향을 미치는 것은 모두에게 간접적으로 영향을 미친다.

    어떤 이상한 이유로,

    당신이 당신이 되어야 할 사람이 되기 전에는

    나는 결코 내가 되어야 할 사람이 될 수 없으며,

    당신은 내가 되어야 할 사람이 되기 전에는

    결코 자신이 되어야 할 사람이 될 수 없습니다.

    이것은 현실의 구조가 상호 연결되었다는 것을 의미합니다.

    원문:

    All I am saying is simple this:

    that all mankind is tied together.

    All life is interrelated, and we are all caught in an inescapable network of mutuality,

    tied in a single garment of identity.

    Whatever affects one directly, affects all indirectly.

    For some strange reason I can never be what I ought to be until you are what you ought to be.

    And you can never be what I ought to be until I am what I ought to be

    This is the interrelated structure of reality.

  • 유의확률(p-value), 유의수준(α)이란 – 정리

    유의확률(p-value), 유의수준(α)이란 – 정리

    용어 정리 1 : alpha level (α) , 유의 수준이란

    level of significance (유의 수준) 또는 alpha 수준이라고도 한다.

    가설을 검증할 때, 해당 표본 집단의 확률의 높고 낮음을 정하는 기준을 설정하는 것이라고 할 수 있다.

    α = .05 (또는 5%로 표시하기도 함)

    α = .01 (1%)

    α = .001 (0.1%)

    를 보통 기준으로 설정한다.

    예를 들어 95%를 신뢰도가 있다고 할 때, 그건 유의 수준을 α = .05 로 설정했다 뜻이다.

    귀무가설을 95%의 신뢰도에서 기각했다고 한다면, 해당 표본의 평균 값이 나올 확률이 95%를 벗어난 5%에 들어간 이상치란 뜻이기도 하다.

    그 이상치는 해당 값이 일어날 확률이 매우 낮다 라는 의미와 동일하다

    5% = 해당 확률이 일어날 확률이 매우 낮음

    용어 정리 2: critical region

    그럼 저 5%에 해당하는 영역을 기각역(critical region) 이라고 부른다.

    5%의 확률을 가진, 매우 일어나기 힘든 확률을 가진 값을 표현한다.

    정규분포곡선(Normal Distribution) 을 보면 해당 기각역을 이해하기 쉽다.

    하단에 노트에 그린 게 Normal distribution이고, 정규화(z-score)을 거쳐서 중간의 x축 값(µ)을 0을 기준으로 만들고,

    양측으로 1일 때, -1일 때, 2일 때, -2일 때를 그리면 대칭이 되는 형태로 나타난다. 이 때 µ가 +2 이상이거나 -2 이하인 경우는 거의 일어나지 않는다.

    가운데 값을 0으로 만드는 것을 표준화 과정이라고 하는데, 이 표준화 과정에서 +-2 인 확률은 좌측은 2.28%, 우측은 2.28%. 즉 대략 4.56% 정도이다.

    예를 들어, IQ 검사에서 해당 값도 정규 분포 곡선을 그리는데 +1 이 115, +2가 130 이다. 즉 IQ가 130이 넘는다면 저기 2.28% 확률. 있을 수 있는 확률이 아닌 것이다. 다른 말로 하면 “비정상(abnormal)” 이다. 마찬가지로 -2 이하도 동일함.

    잡다한 이야기…그러니까 어떤 방송에서 지능지수가 130이 넘었다라고 떠드는 건 몇 프로 안되는 사람을 흔히 볼 수 있는 것처럼 비춰서 만드는 건데. 방송이 얼마나 비정상을 정상처럼 비춰주는지 확률을 통해서 이해할 수 있다. 지나치게 자주 접하다보니 저 비정상이 정상처럼 보이는 기적을 보게 된다. 인스타도 마찬가지….난 왜 이런가 하고 있을 필요가 없다. 방송이나 가십은 특이하고 이상하니까 시청률이 되니 그걸 비출 뿐. 정상을 비추지 않는다. 흥미롭고 재밌게만 보이는 건 비정상일 수 있다는 거.

    normal distribution 의 값을 직접 구한다면 다음 공식이 필요

    아무튼 기각역(critical region)에 들어가는 게 저기 양측의 “일어날 확률이 낮은” 영역의 값을 표시해둔 거라고 보면 된다.

    5%라면 표준화 시킨 z-score 일 때는 +- 1.96 값이 된다.

    표준화 했을 때 값이 만약 2(z = 2)가 나왔다면 해당 값은 일어날 확률이 낮은 기각역(critical region)에 있는 것이고,

    95%의 신뢰도로 해당 귀무 가설을 기각할 수 있다.

    참고) z-score 값 내는 법, 표준화 시키는 법은

    표준화 시키는 건 표본 평균 – 모집단 평균 / 모집단의 표준 오차 이다.

    모집단의 표준 오차는 = 모집단의 모편차 / 총 갯수의 루트를 씌운 값… 그럼 가운데가 0이고 나머지가 1, 2로 나뉘어 볼 수 있다.

    마지막으로,

    p-value : probability value 는,

    해당값이 일어날 확률이다.

    만약 z=2.45라고 하자. 특정한 값을 측정하고 해당 값을 표준화 했더니 z값이 2.45, 해당 값이 일어날 확률이 p=.0142가 나왔다.

    정확한 exact p값은 저 위의 공식… 를 통해서 해당 곡선의 y값. frequency를 구하면 된다. 지금까지 구한 건 적분값인 넒이로 확률을 구했다. 보통은 컴퓨터를 통해 구하기 때문에 사실 중요하지도 않고, 잊어버려도 되는데, 그 frequency를 구하는 프로그램을 만드는 사람은 이걸 기억해야 한다 :->….

    x값, 모평균, 모편차값 필요

    이 그래프를 보면 해당 값은 기각역(critical region)에 들어가니 0.05의 확률 보다 낮게 나타난다. 귀무가설을 기각할 수 있는 p < a 영역이다,

    그래서 글을 쓰면

    해당 값은 유의미하다(z=2.45, p < 0.05)라고 쓸 수 있다.

    *

    *오류나 잘못된 설명이 있을 수 있음!

  • ChatGPT 사용기 – 고구마 씨앗

    ChatGPT 사용기 – 고구마 씨앗

    요즘 ChatGPT 는 핫한 이슈이다. AI 챗봇의 끝판왕이 등장했다. 구글 검색을 넘어서 자기가 직접 답변을 해주는 인공지능 챗봇.

    NLP에 관심이 있다보니, 와… 저 챗봇 만드는 데 얼마나 공들였을까 부터 보였다. 수천 수백 수십만개의 데이터를 학습시키고, 불용어는 또 어떻게 처리했을지. 비윤리적인 부분의 가이드라인은 어떻게 처리했을지. 모델링은 어떻게 짰을지. 밤낮을 새면서 고생했을 저 챗봇 뒤의 사람들이 우선 보인다👥 재밌게 즐기면서 일했겠지만, 그래도 저 방대한 작업들에 고생했을 연구진에 경의를 보낸다. 인공지능에 우와하는데 인공지능을 만드는 사람들에게 우와하게 된다🥹 뭔가 뚝딱 나와서 마치 쉽게 느껴지는 것 같고 뚝딱하면 다 되는 것 같은 요술 방망이처럼 보이지만, 하나 하나 그냥 만들어진 게 아니라는 걸 알아서 그런지 모르겠다. 에러났는데요? 왜 안되요? 내일까지 되죠? 라고 단순히 질문만 하는 쪽도 있고…, 묵묵히 어떻게든 해결하려는 부류가 있는데. 뭔가 만드는 걸 너무 쉽게만 생각해서 가끔 답답했던 경험이 있어서 만드는 입장에서 보면 정말 다 대단해보인다.

    약간의 우려는 처음 저게 성공하면 그 다음의 성공은 더 쉬워진다는 점이다. 어떤 속도로 어떤 방향으로 성장할 지 감을 잡을 수 없다.

    처음 써봤던 건 코드 관련해서 썼었다. 엑셀 데이터 여러개 합치는 거 파이썬 코드 알려달라고 쳤었는데 파이썬 코드를 찐으로 쳐서 알려줬다. 돌아갔다. 한국어로 쳐도 알려주고 영어로 쳐도 알려준다. 영어로 쳤을 때가 좀 더 정보를 많이 얻는 것 같다. 이건 구글 쓸 때도 마찬가지라서 약간 구글의 챗봇 버전을 보는 듯 했다. 구글은 수십만개의 사이트를 보여주지만 ChatGPT는 본인이 직접 답을 해준다. 마치 내가 수십개의 웹사이트를 뒤져서 문제 해결 법을 알아내고 연구한 끝에 보고서와 결과물을 제출하는 걸 몇 분 이내에 해주는 것 같다.

    써보면서 느낀 건,

    이젠 올바른 답을 찾기 위해서 어떻게 올바르게 질문할 것인지가 중요하다는 점이다. 저 챗봇에 무작정 질문하는 것보단 구체적으로 뭘 원하고 어떤 방식을 원하는지를 정확하게 물어보면 정확하게 대답해 주고 원하는 정보를 얻을 가능성이 높아진다.

    물론 어떤 답은 좀 이상하고, 어떤 답은 좀 불완전하지만 그래도 신기하다. 치면 관련된 문장과 글을 새롭게 쓰는 수준이 어나더 레벨이다. 코드 찾을 때 유용할 것 같다.

    +덧, 시를 써달라고 하면 챗봇이 자꾸 고구마 시를 써준다… 캡쳐😆

    🍠🍠🍠

  • 굿바이 2022, 신년 2023. mandal art 계획표

    굿바이 2022, 신년 2023. mandal art 계획표

    오늘은 2022년 12월 31일입니다.

    연말 정산의 시간이죠.

    2023
    안녕!

    2022년 계획했던 일들, 목표들, 어느 정도 진전되었는지 점검하고,

    새롭게 다가오는 2023년을 계획하고 정리하는 시간을 보낼 차례입니다.

    올해는 감사하고 즐거운 일이 많은 한 해였고, 내년에는 발전하는 한 해가 되려고 합니다.

    계획을 짤 때, 새로운 방법을 시도해보았습니다.
    mandal art 라는 계획을 짜는 방법이 있는데, 특정 주제에 대해서 아이디어를 짤 때 마치 연꽃이 피는 것처럼, 핵심 주제에서 세부 주제로 나누고, 또 다시 세부 내역으로 구체화하는 방법입니다. 아이디어를 확장시킬 때 유용한 방법입니다. 새해 계획을 세울 때 만다라트(mandal art)를 활용하는 것을 보고 영감을 얻어서,

    2023년은 만다라트 방법으로 계획을 짰습니다.

    다음 템플릿은 직접 만들었습니다. 아이패드 앱 중에 그림을 그릴 수 있게 만든 앱이 있었는데, 재단선 그어서 만들었습니다. 다운로드 되도록 하단에 파일 넣어두긴 했지만, 너무 심플한 것 같아 좀 더 찾아보니 예쁘게 만든 템플릿이 있었습니다. 유튜브 찾아보니 나와서 링크도 공유 합니다. 빨간고래의 드로잉이라는 채널이였는데 여기 만다라트가 예쁜 것 같습니다. 그 외에도 구글로 찾아보면 좀 더 많은 템플릿이 있습니다
    아무튼, 맨 가운데에 핵심 목표를 잡고 그 주위에 세부 목표를 잡고. 나머지 칸에 그 세무 목표의 세부 사항들을 적는 게 만다라트 계획표입니다.

    가운데에 전 2023년이라고 적었고 그 주위에는 세부 카테고리를 작성하고, 각 카테고리마다 이루고 싶거나 계획하고 싶은 내용을 하나씩 넣었습니다. 구체적으로 적었습니다. 프로젝트 이름을 구체적으로 적고, 산책도 1일 1 외출 이런 형태로… 어떤 항목은 꽉 차서 넘치고 어떤 항목은 칸이 빌 때가 있습니다ㅋㅋ

    만다라트계획표
    예시. 계획은 여기에서 좀 더 구체적으로 짰습니다

    이렇게 새로운 2023년도 계획을 짜고!

    2022년도 계획들도 연말 정산을 해두었습니다.

    2022년도에 실천했던 것 중 성과가 있었던 건 가계부를 직접 썼던 것.
    앱으로 자동으로 계산해주는 것도 있지만… 그렇게 해도 뭔가 이상하게 비는 항목들도 있고, 맞지도 않는 금액이 있어서. 예를 들어 이체 내역이 두 번 잡힌다던가 하는 부분 등등

    입금 출금 결제 내역등을 확인해서 스프레드시트로 정리를 했었는데, 이렇게 하니 돈의 흐름이 눈에 보이고 어느 항목에 돈을 많이 쓰는지 확인할 수 있어서 좋았습니다.

    작년과 비슷하게 올해는 여행을 국내여행에 한정해서 다녀왔었고,
    읽은 책은 전년도 보다 올해가 좀 더 책을 많이 읽었습니다. 차이점은 전년도엔 대부분 개발 서적만 읽었는데 올해는 다양하게 읽었던 점… 전문 서적, 경제 서적, 인문 서적, 만화책, 자기 계발서의 테마를 읽었습니다. 리뷰할 책도 쌓여 있네요.
    전년도에 비해 유튜브는 확실히 자주 보는 것 같습니다. 뉴스도 요즘엔 거의 유튜브로 보고, 책 영화 리뷰, 음악도 유튜브로 듣고 있다는 점. 음악 취향도 유튜브에서 분석해 주고 있어서 놀랐습니다.
    주식은 꾸준히 하는 것 같습니다. 경기가 좋든 나쁘든.
    건강 부분은 일주일에 한 번 운동하고 있는 것 외엔 딱히 더 추가하거나 하는 부분은 없었고, 내년도 계획엔 다이어트가 끼어있습니다.
    올해 느낀 건 쉴 때 제대로 쉬지 않으면 일할 때 힘들어서, 계획표에 쉬는 걸 아예 계획으로 잡았다는 것. 5년 장기로 목표로 잡고 있는 것도 있는데, 단기 페이스로 하는 것 같고, 번아웃될 것 같아. 아예 계획표에 쉬는 부분을 카테고리로 잡았습니다. 정말로 아무것도 하지 않는 시간을 넣었습니다.
    그림도 꾸준히 그렸는데 이것도 연말 정산을 할 계획입니다.
    중요 프로젝트도 모두 잘 마무리 했습니다.
    그 외의 일들도 잘 지나갔고, 안된 부분은 내년에 마무리할 계획입니다.

    올해도 감사한 한 해였습니다

    내년에도 화이팅🙏🏻

  • 리뷰) 물의 길 – 아바타2 속편, 꼭 봐야 하는 영화

    리뷰) 물의 길 – 아바타2 속편, 꼭 봐야 하는 영화

    제임스 카메론이 돌아왔다

    아바타 2 속편이 개봉한지 얼마 안되어(4일 전에 개봉) 볼까 말까 망설였는데, 안 봤으면 많이 아쉬웠을 영화였다.
    꼭 영화관에서 아주 큰 스크린으로 봐야 한다. 특히, 3D 이상으로 보는 걸 추천 ⭐️⭐️⭐️⭐️⭐️

    꼭 3D로 보세요. 스크린으로 보는 게 너무 멋짐

    이 영화는 평이 상당히 좋다.

    먼저, 영화 개봉은. 런던에서 12월 6일에 초반 상영되고 12월 16일 미국에서 극장 개봉, 한국은 12월 14일. 이미 1억 8천만 달러 이상의 수익을 거둬들이고 있다. 시각 효과, 스토리, 시나리오, 등장인물, 음향, 기술 효과 모두 평점이 후하다. 2022년 다 지나가는데도 2022년 상위 10대 영화 중 하나로 추천되고 있다!

    관객 수도 개봉 첫 주에 예매 인원 약 70만 명을 돌파했다.

    별 생각없이 보러 가서 좀… 많이 감동 받고 돌아온 영화. 사전에 이런 정보 없이 마침 시간이 맞아서 보게되었는데, 후회 없는 영화였다.


    아바타 1편 영화에서 기억나는 대사가
    “I See You.” 나는 당신을 봅니다.
    였다.

    그 다음 2편에서는 저 단어가 가족, 그리고 동료, 판도라 행성에서 살고 있는 동식물에 대한 애정으로 확장된 느낌이다. I see you. 에서 you 가 확장되었다. 가족, 친구들, 입양을 한 아이든, 다른 종족의 아이든, 자신과 다르지만 말이 통하는 고래이든.

    툴쿤은… 지구에서는 고래처럼 생긴 동물의 장면의 이미지인데 영화 속 내용에서는 이 행성 판도라의 툴쿤 이라고 부른다. 그리고 가족 간의 협업, 우애, 다른 종족과의 어우러짐.

    고래를 닮은 판도라 행성의 툴쿤도 감성 지능이 상당히 높다고 한다

    맨 처음 아바타를 봤던 감동을 그대로 가서 받을 수 있다. 솔직히 영화표 비쌌지만 후회없음!

    영화 내용은 판도라라는 다른 외계 행성에 대해 다루었지만, 간접적으로는 현재 지구의 생태계 파괴에 대해서 경고하고 있기도 한다.
    영화를 보면서 혼란스러웠던 건 외계 행성으로 식민지 개척을 해야 하는 지구인의 입장과,
    현재 판도라 행성에서 원주민으로 지내고 있는 외계인에 대한 입장에서
    서로 전쟁을 벌이는데 어떤 편을 들어야 하는지 좀 혼란스러워졌다. 그 영화에서는 지구는 멸망해가고 있었으니까.

    영화는 나비족이 되어 버린 제이크 설리의 입장에서 바라보고 있고,
    나비족 입장에서는 지구인은 자신의 행성과 가족을 파괴하러 온 침략자일 뿐이다.

    영화를 보면서 무자비하게 생태계 파괴를 하고 있는 지구인을 보면,
    나비족 편을 들게 된다… 지구에서도 탐욕에 미쳐서 상어 지느러미 잘라내고 버리고, 고래 학살하는 행동이 다른 행성가서도 벌어지고 있다.

    저 툴쿤에서 추출한 아주 소량의 무언가가 최소 몇 십억이고 절대 노화하지 않는 무언가라고 한다. (멸망해가는 행성에서 죽고 싶어하지 않는 인간)

    각자의 미션이 있고, 그것을 수행하고 있다. 제이크 설리를 죽이고 행성을 차지하려는 마일즈 대령과 식민지를 건설해야 하는 과학자와 관계자의 미션.
    그리고 맞서 싸워야 하는 나비족과 판도라의 원래 살고 있던 원주민들.

    나비족 편인 과학자도 나온다. 뛰어난 감성 지능을 가진 고래… 아니 툴쿤을 죽이면서 슬퍼하는 과학자에게. 그래도 이 돈으로 넌 연구비 대고 있잖아.라고 말하고 그 과학자는 그래서 난 매일 술을 마시지라는 장면도 좀 기억에 남았고…

    가족이 다 함께 원래 살던 곳에서 이주해서 다른 종족과 함께 살면서 보는 물 속 장면도 기억에 남았다.

    이주하면서 텃세도 받게 되는데, 그 과정들을 해결해내는 것도 재밌었다. 있을 수 있는 것처럼 스토리를 잘 녹여 냈다 위대한 스토리의 힘. 신기하지. 분명 스토리 상으로는 외계 종족의 이야기인데, 인간 처럼 느껴지게 된다. 이게 바로 감성 지능일까…

    그리고 살 곳을 찾아온 가족을 받아준 종족. 판도라 행성에는 나비족 이외에 다양한 종족이 산다는 이전 영화 떡밥이 여기에서 회수되었다.

    임신하신 분이 저 중에서 가장 쎄십니다.
    스크린으로 보면 정말 멋졌음
    가족이란 무엇일까? 란 주제가 떠올라. 생물학적 가족이라고 해서 진정 가족일까

    그리고 가족이라는 것에 대해서도 생각해보게 된다. 우리는 하나야. 라고 영화에서 강조하는데,
    서로 종족이 달라도, 부모가 달라도 결국 돌고 돌아 하나로 함께 있게 되는 장면도 애틋했다.


    기억에 남는 대사: (정확하지 않지만 대략 기억에 남는 대사)

    “우리가 가진 모든 에너지는 에이와에게 빌려온 거야. 죽으면 다시 에이와 품으로 돌아가는 것이지.”

    “우린 가족이야. 군대가 아니라고.”

    “나는 저 애들을 잃을까봐 두려웠어”

    “I see you.”

    “내가 없으면 저 애에게 조심하라는 소식을 전달해 주는데. 난 갈거야.”

    “저는 물의 소리가 들려요. 에이와가 느껴져요. 저에게 에이와가 준 미션이 뭘까요.”


    한 번 더 보러 가고 싶은 영화🌟

error: Content is protected !!