놀부님이 진행하는 자바스크립트 스터디 http://on.fb.me/1iEpW0a 에 참여하게 되었다. 커리큘럼에서 제시된 교재를 선택하고 순서대로 공부해나가면 된다. 상당히 세세하고 실질적이라서 전혀 모르는 사람도 공부하기에 좋은 커리큘럼이다. 교재는 JavaScript: The Definitive Guide으로 선택했다.


자바스크립트 : 고 수준, 동적, 타입 없는 인터프리터 프로그래밍 언어. 객체 지향, 함수형 언어 스타일

명칭에는 역사적인 배경이 있음. 상표권 문제로 ECMAScript 로 명명. 3와 5 버전이 있음. (4는 건너 뜀)

클라이언트측 언어의 태생으로 인해 대다수의 언어와 달리 입출력과 같은 API 지원이 약함.

공부를 위해 개발자 도구를 설치할 것. (Firebug, 또는 각 브라우저 개발자도구)

1.1 코어 자바스크립트

Number, string, boolean

null과 undefined

object {} 와 array []

연산자

함수 선언

변수로의 함수

조건문 if 반복문 while for

Class와 prototype 상속

1.2 클라이언트측 자바스크립트

script 태그

window 객체

DOM

이벤트 핸들링 (onclick, onload etc.)

jQuery

이후 웹앱, 스크립티드 http, 미디어 그래픽, 스토리지, html5 api 등 심화 학습.

1.2.1 계산기 예제

DOM과 ajax, canvas 이용

요즘 한참 핫(!)한 빅데이터 스터디에 참여하게 되었다. AWS에서는 사실 EMR을 지원하는 등 직접 설치할 일이 없다고 하는데 1EC2 Micro 인스턴스에 Hadoop을 실습을 위해 설치했다. 예/복습 차원에서 간략하게 스터디 내용을 정리해보려고 한다.


Apache Hadoop

**Apache Hadoop(High-Availability Distributed Object-Oriented Platform)**은 Apache 재단에서 진행하는 오픈소스 프로젝트로 대량의 자료(빅데이터)를 처리할 수 있는 분산 시스템을 구축할 수 있게 돕는 소프트웨어 라이브러리다. 이 프로젝트는 다음의 모듈을 포함하고 있다.

  • Hadoop Common: Hadoop 모듈을 지원하기 위한 일반적인 유틸리티들
  • Hadoop Distributed File System (HDFS): 어플리케이션 데이터를 대량으로 처리할 수 있게 접근이 가능한 분산 파일 시스템
  • Hadoop YARN: job 스케쥴링과 클러스터 리소스 관리를 위한 프레임워크
  • Hadoop MapReduce: YARN을 기반으로 한 대형 데이터 셋 병렬처리 시스템

Hadoop HDFS 간단히 알기

HDFS는 namenodedatanode로 구성되어 있다. Namenode는 HDFS의 파일 구조를 저장하는 영역이고 datanode는 실제 파일을 저장하는 영역이다. 일반적으로 사용되는 NTFS나 FAT같은 파일 시스템은 파일 구조의 위치에 실제 파일이 저장되지만 2HDFS는 그 파일 경로와 실제 파일이 분리되어 각각의 노드에 저장되는 형태이다. Namenode에는 datanode가 어디에 존재하는지 저장되어 있으며, 클라이언트가 해당 파일을 namenode에 요청하면 저장되어 있는 datanode를 알려줘 파일을 내려받을 수 있도록 돕는다. 이와 같이 HDFS는 구조(namenode)와 데이터(datanode)를 분리했기 때문에 데이터의 분산 처리가 가능하다.

Datanode는 자료를 분산해서 저장함과 동시에 복제본을 담아둬 데이터를 유실했을 때를 대비한다.3

Namenode는 HDFS의 모든 파일 명령 수행 목록을 Edits에 저장을 한다. FsImage는 Edits를 병합해 기록해둔 파일이다. Secondary namenode는 Namenode를 대체하거나 하진 않고 Edits 파일을 불러다가 FsImage로 병합해 namenode에게 돌려주는 역할을 한다.

Hadoop MapReduce 간단히 알기

구조와 데이터를 분산해서 처리한 것과 같이 데이터를 다루는 프로그램도 분산해서 각각의 데이터를 처리할 수 있도록 도와주는 것이 MapReduce이다.

MapReduce는 Job trackerTask tracker로 구성이 되어 있는데 Job tracker는 Task tracker의 할 일을 관리하는 역할이고 Task tracker는 각 분산된 datanode에서 연산과정을 처리하는 역할을 한다.

AWS에 Hadoop 설치하기

설치 준비하기

AWS에서 인스턴스 생성해서 콘솔로 접속한다. AWS 인스턴스를 시작하는 것은 검색하면 많이 나온다. ubuntu 12.04 LTS를 선택했다.

$ ssh ubuntu@instance-address

jdk를 설치한다.

$ sudo apt-get update
$ sudo apt-get install openjdk-6-jdk

Hadoop을 아파치 다운로드 사이트에서 찾아 내려받고 압축을 해제한다.

$ wget http://apache.mirror.uber.com.au/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz
$ tar xvfz hadoop-1.2.1
$ cd hadoop-1.2.1

Hadoop 환경 설정

Hadoop은 Java 기반이므로 사용할 환경의 경로를 지정해야 한다. conf/hadoop-env.sh을 열어 경로를 지정한다.

$ vim conf/hadoop-env.sh

JAVA_HOME의 주석을 지우고, jdk의 경로를 정해준다.

# Set Hadoop-specific environment variables here.

# The only required environment variable is JAVA_HOME.  All others are
# optional.  When running a distributed configuration it is best to
# set JAVA_HOME in this file, so that it is correctly defined on
# remote nodes.

# The java implementation to use.  Required.
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64/jre

# Extra Java CLASSPATH elements.  Optional.
# export HADOOP_CLASSPATH=

Pseudo-Distibuted로 동작할 것이므로 각각의 configuration을 작성해준다.

core-site.xml에서 fs.default.name 프로퍼티는 namenode가 동작하는 서버를 적어준다. secondary namenode, datanode, task tracker는 이 프로퍼티를 참고한다.

$ vim conf/core-site.xml

파일에서 아래 부분을 추가한다.

<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

hdfs-site.xml에서 dfs.replication 프로퍼티는 복제 개수를 의미한다. 이 숫자가 3이면 동일한 데이터를 3개로 중복으로 저장해 유실을 방지할 수 있다.

$ vim conf/hdfs-site.xml

파일에서 아래 부분을 추가한다.

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

mapred-site.xml에서 mapred.job.tracker 프로퍼티는 task tracker를 위해 job tracker가 동작하는 서버를 적어준다.

$ vim conf/mapred-site.xml

파일에서 아래 부분을 추가한다.

<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>localhost:9001</value>
    </property>
</configuration>

SSH 설정하기

각각의 node와 tracker끼리 데이터를 주고 받을 때를 위해 ssh key를 등록해준다.

$ ssh-keygen -t rsa -P ""
# 경로는 기존에 생성한 키가 없다면 기본 경로로 해도 된다.
$ cat /home/ubuntu/.ssh/id_rsa.pub >> /home/ubuntu/.ssh/authorized_keys
# 추가한 ssh key를 허용된 키로 등록해준다.

키가 제대로 설정되었는지는 다음의 명령어로 확인해볼 수 있다.

$ ssh localhost
# 이러면 localhost에 다시 접속된다.
$ exit

Hadoop 실행하기

$ pwd
/home/ubuntu/hadoop-1.2.1

Hadoop을 실행하기 이전에 namenode를 초기화한다.

$ bin/hadoop namenode -format

그다음 start-all.sh를 실행한다.

$ bin/start-all.sh
starting namenode, logging to /home/ubuntu/hadoop-1.2.1/libexec/../logs/hadoop-ubuntu-namenode-ip-10-240-106-45.out
localhost: starting datanode, logging to /home/ubuntu/hadoop-1.2.1/libexec/../logs/hadoop-ubuntu-datanode-ip-10-240-106-45.out
localhost: starting secondarynamenode, logging to /home/ubuntu/hadoop-1.2.1/libexec/../logs/hadoop-ubuntu-secondarynamenode-ip-10-240-106-45.out
starting jobtracker, logging to /home/ubuntu/hadoop-1.2.1/libexec/../logs/hadoop-ubuntu-jobtracker-ip-10-240-106-45.out
localhost: starting tasktracker, logging to /home/ubuntu/hadoop-1.2.1/libexec/../logs/hadoop-ubuntu-tasktracker-ip-10-240-106-45.out

namenode, datanode, jobtracker, tasktracker가 순서대로 실행되는 것을 확인할 수 있다. 현재 실행되고 있는지 확인하려면 jps로 jvm에서 구동되고 있는 프로세스 항목을 확인할 수 있다.

$ jps
10379 NameNode
11044 TaskTracker
10852 JobTracker
11192 Jps
10562 DataNode
10753 SecondaryNameNode

종료는 stop-all.sh를 실행하면 된다.

$ bin/stop-all.sh

Hadoop Mode

Hadoop은 아래 세가지의 모드로 설치할 수 있다.

  • Local (Standalone) Mode
  • Pseudo-Distributed Mode
  • Fully-Distributed Mode

위에서 진행한 방식은 Pseudo-Distributed Mode로 하나의 서버에서 namenode, datanode, job tracker, task tracker를 모두 운용하는 모드다. 진짜(?) hadoop은 3번째 모드라고 하니 다음 글에선 3번째 모드로 진행하는 방법을 알아볼 것이다.

Footnotes

  1. 잘 모른다;;

  2. 내부적으로 어떻게 동작하는지는 잘 모름;

  3. 이 복제 수를 hdfs-site.xml에서의 dfs.replication 프로퍼티로 제어한다.

Coursera 강의는 예전에도 몇강의 도전했었는데 환상적인 인터넷 환경에 있다보니 몇번 듣다 결국 포기했었다. (게으른 것도 절반 이상이긴 하지만.) Startup Engineering은 HN에서도 그렇고 추천글을 몇번이고 보다보니 들어봐야겠단 생각에 등록을 했다.

https://class.coursera.org/startup-001

강의 분위기는 좀 지루하게 읽는 편이긴 하지만 내용은 상당히 흥미롭다. 첫 과제는 nodejs로 파일 저장, 소수 100개 찾기였는데 첫강부터 aws, heroku를 세팅하는걸 보면 앞으로의 과정에 기대를 안할 수가 없다. 수업 마지막까지 부지런히 들어야지!

Published on June 24, 2013

Road to IELTS는 IELTS를 운영하는 British Council에서 만든 온라인 스터디라는데 사실 자세한 내용은 모르겠다. 대충 검색으로는 유료로 가입해야 하는 프로그램인 듯 한데 멜번 시티 라이브러리에 가입하면 무료로 사용할 수 있다고.

멜번 시티 라이브러리에 가입하고자 하면 신분증 들고 가까운 시티 라이브러리에 방문하면 된다. 주소지 증명이 필요하다고 하는데 내 경우는 백팩에 지낼 때 가입해서 백팩에 지낸다고 하니까 나중에 주소 확정되면 갱신하라는 식으로 가입해주었다.

내용이 상당히 좋다고 추천을 받았는데 열심히 봐야겠다.

먼저 다음 중 자신에게 해당되는 부분이 있다면 Codeigniter로 옮겨 탈 가치가 충분하다.

  • 반복적인 작업에 자신이 만든 라이브러리(라고 스스로 칭하는 스파게티 소스코드)가 있는 사람
  • 개발 로직과 마크업 요소가 뒤엉켜 있어 뭔가 수정할 일이 있을 때 멍해지는 사람
  • SQL injection 등 각종 보안 문제로 골머리를 썩혔던 사람
  • PHP로 개발하는 사람
  • 관심있게 이 글을 읽고 있는 당신
개인적으로 안봤으면 하는 사람은 아래와 같다.
  • 객체지향 프로그래밍에 대해 관심이 없는 사람
  • PHP를 아직 잘 모르는데 Codeigniter로 배우기 시작하려는 사람

PHP Framework는 사실 뭔가 엄청나고 대단한 것이 아니다. 이미 수많은 개발 언어와 이론들의 방향을 살펴보면 오히려 자연스러운 전개다. PHP Framework는 필연적으로 나타날 요소였지만 이렇게 오랜 시간이 걸렸던 이유는 배우기 쉬운 개발언어라는 오명 하에 고급 언어를 롤 모델로 생산성을 향상 시키는 것에 게을리 해왔던 탓이 아닐까.

기존의 PHP 개발 방식은 하나의 파일에 모든 처리과정이 들어있는 방식이다. 비록 파일을 분리해서 include나 require로 불러오긴 하지만 데이터를 페이지로 가져오는 부분이나 가져온 데이터를 수정, 가공하는 부분, 화면에 출력하는 부분까지 모두 하나의 페이지에서 if나 switch와 같은 구문을 통해 처리를 한다. 이 개발 방식의 단점은 화면과 로직과 데이터를 분리할 수 없어 쉽게 비빔밥이 될 수 있다는 것이다.

이를 보완하기 위해 많은 개발 패턴이 등장하는데 Codeigniter에서 사용하는 패턴은 MVC 패턴이다. 앞서 말한 기존의 개발 방식은 비빔밥이라 예를 들었는데 MVC는 김밥과도 같다고 볼 수 있다.김밥은 나름 분해가 가능하니까! 뭐 꽉꽉 말아버린 김밥이면 분해했을 때 비빔밥처럼 될 수도 있으니 그리 적절하지 못한 비유긴 하지만;

MVC는 모델, 뷰, 컨트롤러의 머릿글자를 모아 만든 조어인데 각각 담당하는 역할이 다르다. 모델은 자료를 찾는 용도, 뷰는 화면에 보여주는 용도, 컨트롤러는 필요한 데이터를 모델에 요청하고 화면에 뿌릴 데이터를 뷰에 보내주는 역할을 한다.

간단하게 메모장을 만든다고 가정을 해보자. 모델에서는, 뷰에서는, 그리고 컨트롤러에서는 무엇이 필요할까? 답은 이 글의 끝에 붙여놓을테니 계속 읽으면서 생각해보자.

물론 말은 간단한데 처음 보는 접할 때는 뜬금없이 나온 이 세 녀석의 용도가 참 모호하다. 특히 내 경우는 그럼 모델과 컨트롤러는 무슨 차이를 가지는 것인가, 왜 분리하는 것인가, 어떤 경계를 가지고 돌아가는 것인가에 대해 상당한 의문을 품었던 기억이 난다. 깊게 생각하지 말고 컨트롤러는 전체를 총괄하고 모델은 데이터베이스 부분을 담당한다고 생각하면 쉽다. (막상 적다보니 왜 분리하는지에 대한 정확한 이유가 떠오르질 않는다;; 말리고 있어!!)

모델은 DB, 뷰는 Front-end, 컨트롤러는 총괄. 반복해서 탁하면 억하고 튀어나올 정도는 되어야 쓰면서 헷갈리지 않는다.

Codeigniter는 약한 MVC 패턴을 채택하고 있어서 사실 모델과 컨트롤러를 혼합해서 써도 되고 컨트롤러를 뷰처럼 써버려도 상관이 없다. 그래도 기왕 MVC 패턴으로 넘어오기로 했으면 MVC 답게 써야 하는 것이 좋지 않을까? (협박..;;)

컨트롤러

  • 메모입력
  • 메모수정
  • 메모삭제
  • 메모목록

모델

  • 메모 입력하기
  • 메모목록 불러오기
  • 메모 삭제하기
  • 메모 수정하기

  • 메모입력/수정
  • 메모목록
  • 메모보기
  • 메모삭제 확인

왜 이런 구조가 나올까? 고민을 하며 다음 글로ㅎㅎ;

2012년 8월 4일 melbourne deakins uni.에서 응시한 IELTS general training 후기.

한국에서 영어공부는 제도권 내에서 한 것이 전부고 대학시절 모의토익 한번 본 경험 (그것도 500대가 겨우 나왔던 것으로 기억) 외에는 딱히 영어공부를 하지 않았다. 그래도 IT쪽에 관심도 많고 실무를 진행하며 필요한 기술자료는 절대다수가 영어라 계속 접하긴 했다. 난 07학번이고 신입생때 봤으니 2007년 초였다. 계속 놀다가 2008년 12월~2011년 1월 군복무 했으며 군생활 하며 영어공부에 대한 필요성을 주변 동기들을 통해 계속 느껴 해커스 파랑이를 정석에서 집합, 명제만 실컷 푸는 것처럼 앞부분만 푼게 전부. 전역하고 1년간 웹개발자로 일하다가 2012년 2월에 퇴직하고 그 다음달에 워킹 홀리데이로 호주에 넘어왔다.

자막 넣고 봤지만 그래도 조금이나마 도움이 되었지 않을까 싶어서 적어보는건 미드를 좀 많이 봄. scrubs season 18, HIMYM 17, the office 18, the community 13. 적어보니 얼마 안되지만… himym랑 the office는 호주 와서도 계속 했으니 챙겨보다가 지금 다음 시즌 기다리고 있다. 시즌을 한번만 본게 아니라 각 시즌 텀마다 두세번씩 반복해서 봤다. 본 영화 또보고 또보고 하는거 좋아하는 타입이라 시즌 반복적으로 많이 봤다.

IELTS를 열심히 준비하지도 않고 당당하게 시험 응시 했다. 그래도 준비한 것이라 생각해 볼 만한 부분은 아래와 같다.

  • IELTS 캠브릿지 7, 8권 구입.. 큰맘주고 새책 구입. 검트리에서 구입하려고 하니 중국제 카피가 너무 많아서 그냥 구입했다.
  • 8권 아카데믹 test 1, 2 리스닝, 리딩… 대충 반 이상은 맞았다. 제목 고르기에 취약;; 문장에 대한 이해력이 떨어지나… 리스닝도 많은 연습이. test 1에서는 리스닝이 다 geography였는데 전공이 그쪽이다보니 내용도 잘 들어오고 했지만 test 2에서는 research 에 대한 부분은 하나도 귀에 들어오질 않았다.
  • 8권 제너럴 test 1 리딩, 라이팅 task 1. 리딩은 제네럴 아카데믹 다른줄 몰랐는데 보니 다르더라. 반보다 좀 더 많이 맞긴 했지만 제네럴이 쉬운 편이라 거의 아카데믹이랑 비슷한 점수로 계산될듯. 그래봤자 반절 ㅠㅠ
  • hamish and andy podcast gold logie편 50회 가량 반복 청취. 휴대폰이 아이폰이 아니라서 아이튠즈에서 직접 받아 넣었는데, 내 폰이 상태가 매롱하기도 하고 다시 넣기도 귀찮고 해서 반복적으로 들었다. 40분 분량이었는데 아직도 잘 못알아 듣는 부분도 많지만 그래도 전체적으로 내용도 알고, 들으면 들을수록 안들렸던게 들려서 새로운 것 듣는 기분(음..;) 다른거 받아서 들어봤는데 아예 내용 이해 안되지만 처음 시작보다 나은듯. 이건 호주 와서 계속 들었음.
  • hugh and kate 언젠지 모르는거 하나 20회 가량 반복 청취. 위와 비슷하다. 이건 20분 짜리.
  • 안드로이드 앱 중에 ielts writing 샘플 모아논 앱인데… 출퇴근시 대충 읽음.. 진짜 대충… 라이팅은 읽는 것도 중요한데 달달달 써봐야 손에 익어서 술술 쓸 수 있다.
  • 인터넷서 writing 샘플 두개 외운다고 몇번 옮겨적는거 이틀인가 함. 생각처럼 안외워진다, 정말. 시간을 많이 투자해야 할듯 ㅠㅠ
  • 영화 social network 20회 가량 반복 시청… 이건 그냥 평소 컴퓨터 할 때 틀어놓고 봄. 왠지 보면 볼수록 정확하게 뭔지는 모르겠지만 리프레시 하는 기분이 나서.. 원래 영화 자주 반복적으로 보는데 호주 와서 반복해서 본 영화는 social network, 50 first dates, 500 days of summer. social network는 좀 많이 봤고 다른 것도 10회 정도 본듯. 자주 봐서 무자막으로 봐도 내용 아는 정도.

처음 시험이니 시험 어떻게 되는가 알기 위한 것도 있지만 현재 변경할 비자에서 요구하는 점수가 general each 5.0 이라 다른 사람들에 비해 상당히 낮은 난이도였다. 그래서 마음 편히(?) 이렇게 개판으로 준비를 하지 않았나… 반성한다. ;ㅅ;

시험은 9시 시작인데 7시 50분까지 오라고 해서 갔더니 시험 수속이 엄청 오래 걸렸다. 가방, 외투 다 맡기고 연필 두자루, 지우개, registration card, passport를 들고 오랜 시간 수속해서 시험 보는 곳으로 갔다. 시험 감독관이 밖에서 일일이 한명씩 교실 안에 자리에 배정해주는게 인상적이었다.

리스닝은 혼자 연습할 때랑 다른 점이 지금 들은 부분이 정답인지 아닌지 고민할 때가 많았는데 페이지 마지막 답인 경우 사람들이 적고 바로 시험지를 넘기는데 다같이 촤라락 하고 넘기기 때문에 대충 답도 추측이 되고, 다음 페이지 문제로 넘어갔는지 아닌지도 알 수 있는 장점아닌 장점이 있었다;;

리스닝은 중고샵에서 물건 사는 내용이랑 컨퍼런스인지 뭔지 잡페어인지 하는건데 진행 어떻게 되는지 하는 내용, 신입생 안내해주는 내용, 마지막이 중세시대 농업과 관련된 내용이었다. 중간에 딴 생각에 빠져 놓친 문제가 있었는데 그래도 재빨리 정신 차리고 다음 것 들으려 노력했다. 공상에 빠지지 않는 것이 중요하다. section 1에서 냉장고를 freezer라고 썼는데 후기 공유하는 곳에 가보니 fridge라고. 아는대로 들리는게 문제다.

리딩은 티비 프로그램, cater business 와 관련된 내용, 영화관 티켓 얘매에 대한 내용, 일자리 관련된 내용(administrative jobs), 콩코드 여객기와 관련된 내용이었다. 한 10분 가량 남겨놓고 다 읽고 풀었고 답안지에 옮기고 한번 더 검토했다. 콩코드에서 가장 어려워 하는 heading 문제가 있었는데 그래도 나름 쉽게 풀어간듯. 뭐 결과 나와보면 정말 쉬웠는지 알겠지만… 암튼 괜찮았다.

라이팅 task 1은 새로운 일자리를 찾은 친구에게 편지쓰기(최근에 만나지 못한 이유, 새로운 직업은 어떤지, 언제 어디서 만날지 약속을 잡을 것) 이었고 task 2는 shopping centre와 local market에 대해, cumtomer와 society 에 어떤게 더 좋은지에 대해 적으라는 내용이었다.

라이팅은 준비한게 없어서 정말 가는대로 적었는데 이전에 옮겨쓰기 연습했을 때 한줄에 10 ~ 8개 정도 단어를 썼으니 task 1은 1520줄 정도, task 2는 2530줄 되면 분량이니까 급한대로 줄수 세면서 되는대로 문장을 만들어서 넣었다. task 1은 위에 세가지 내용을 각각 문단으로 3문단 썼고 task 2는 정말 엉터리로 썼는데(task 2는 직접 푼게 처음..;; 공부좀 해라..) 총 4문단으로 1. 쇼핑센터와 로컬마켓의 장단점을 잘 알아야, 2. 쇼핑센터의 장단점, 3. 로컬마켓의 장단점, 4. 상황에 맞게 잘 가면 소비자에게 이익을 줄것. 이라고 전개를 했는데 society에 대한 내용을 생각도 안하고 작성하고 다시 볼때야 알아 차려서 그냥 마지막 문단에 소비자와 society 둘다에게 좋을 것이란 식으로 대충 적고 마무리. task 1은 20분 task 2는 35분에 다 적었다. 내용은 비록 엉터리지만 분량은 맞춰 썼…다고 생각하는데 분량 안되는거 아니겠지?ㅠㅠ

스피킹은 14시 20분에 예정이었는데 미리 가서 이름 적으니 더 빨리 볼 수 있었다. 긴장하면 쉽게 체하는 사람이라 점심은 일부러 안먹었고 물만 마시고서 들어가기 전에 뭐 i would like to talk blarblar 이런거 정리된거 눈에 들어오지도 않는 상태지만 게속 봤고; 생각했던 것보다 훨씬 급박한 분위기에서 진행되었는데 이런 분위기에서도 여유를 가지고 차분하게 애기해야 하는구나 하고 끝나고 나서야 생각했다. 질문한 내용은 task 1 이름은 무엇, 어디서 왔는지, 고향은 얼마나 변화하였는지, 고향에서 평소에 어떤 일을 하는지, 휴식을 취할 때는 주로 무엇을 하는지, 컴퓨터는 많이 하는지, 컴퓨터를 많이 하는 것에 대해 어떻게 생각하는지 물어봤다.

task 2 좋아하는 tv programme or movie의 캐릭터에 대해 설명하고 그 사람의 장단점에 대해, 배울만한 부분에 대해 물어봤는데 the office의 마이클 스캇에 대해 얘기했는데 뭐 잘 정리가 안되게 말하다가 다음으로 넘어갔다.

task 3 tv programme or movie에서 어떤 캐릭터가 사람들에게 배울만한 점을 주는지, 슈퍼히어로, 사회 정의 구현 이런쪽으로 얘기하니까 어린 아이들에게만 해당하는 것 같다 반면 나이 많은 사람들에게는 어떤 캐릭터가? 이러니까 나이 많은 사람들은 하나의 캐릭터에서 특징을 보는게 아니라 각각의 캐릭터에서 좋은 점을 뽑아 배우게 된다는 식으로 얘기했는데 내가 무슨 말을 하는지 나도 모르는 상황이… 그 다음 조커와 같이 악역을 좋아하는 사람에 대해 어떻게 생각하나 였는데 뭐 복잡하게 갈피없이 선한게 일반적인 거니까 그에 대한 반작용으로 악한 케릭터를 좋아한다는 식으로 전개하려고 했는데 잘 안되다가 시험이 종료되었다.

역시나 끝나고 나니 ‘내돈.. 아, 더 준비했어야 했어’ 이랬다. 지나간 트램은 땅을 치고 후회해도 후진따위 하지 않는다. ;ㅅ;

리스닝, 리딩, 라이팅은 그래도 좀 나름의 노력을 했는데 스피킹은 회사에서 말하기, 집에서 아줌마 아저씨랑 얘기하기 수준이었는데 이것은 말 그대로 대화고 시험에서 요구하는건 PT에 가까웠다. 좀더 체계적으로 말하는 연습이 필요하다고 느꼈다.

그리고 리스닝, 리딩, 라이팅은 책보고 공부하는 방식으로 충분히 가능하다는 생각이 들었다. 실제 시험에서 주는 느낌이랑 크게 다르지 않았으니 구입한 책만 잘 풀고 문제 잘 정리하고 하면 크게 도움 될거란 예상이다. 다음 시험은 9월에 잡아뒀는데 열심히 준비해서 정말 좋은 성적을 거둬봐야겠다.

이 글이 조금이라도 도움이 되었으면 좋겠다. 17일에 성적 나오는데 그 전까지…. 놀지 말고 공부를 열심히! 성적 나오면 높든 낮든간에 여기에 붙여놔서 내 스스로를 좀 자극시켜야겠다!

 

결과는 리딩 리스닝 6.5 라이팅 스피킹 5 overall 6 받았다. 다행히 지금 필요한 점수는 받았지만 앞으로 더 높은 점수도 필요하기도 하니 열심히 준비해서 다음 시험 보려고 한다. (뭐 이것도 점수라고 올렸나 싶지만 ;ㅅ; 스스로 자극도 하고 챙피도 하고 공부도 하라고 ㅠㅠ)

다음 시험은 10월 22일. 그 전까지 IELTS cambridge 7, 8권 풀기, 하루 라이팅 하나씩(task 1, 2 돌아가며), 구입한 책 다 읽기 (startup with you) 계획으로 준비할 예정이다.

추가.

다음 시험은 계획대로 준비를 못했…고 사실 그냥 놀았다. 돈아까브. 6 6 5 5 받았다 ;ㅅ;

생활지역이 제주에서 좀 더 큰 섬인 호주(?!)로 바뀌면서 블로그에 크게 신경을 쓰지 못하고 지냈다. 하던 일도 모두 정리해놓고 영어를 하겠다는 일념 하에 호주로 넘어왔지만 호주의 엄청난 물가를 감당하지 못하고 서둘러 일자리를 찾고만 있지만 나름 즐거운 시간을 보내고 있다.

여기서도 새로운 만남이 많이 있어 그 계기로 알게 된 사이트가 개발자 영어였다. 나솔님이 주도적으로 운영하고 있는 이 사이트는 원래 이고잉님의 생활코딩에서 파생된 사이트(내가 보기에는;;)인데 같이 공동 번역도 하고 영어 공부 방법론도 얘기하는 그런 커뮤니티인데 다른 커뮤니티와 다른 점은 아티클이 영어라는 점이다. 영어를 모르면 아무래도 뒤쳐질 수 밖에 없는 IT 분야이기 때문에 늘 개발자는 영어에 대한 니즈가 충만한 법인데 요구에 맞춰 좋은 환경이 만들어지지 않았나 생각이 든다.

위는 생활코딩에 딸려있는 웹페이지고 아래는 페이스북 그룹인데 페이스북 그룹에서 대부분의 의사소통이 진행되고 거기서 뭔가 정적인 요소가 필요하게 되면 그게 웹페이지에 만들어져 운영되는 식이다. (지금껏 내가 본 것으론 ㅠㅠ)

혼자 하는 영어공부보다 이렇게 바글바글 모여서 하는 것도 재미도 있고 의욕도 더 붙는다. 시간 내서 한번 방문해 보시라!

영어발음기호를 읽는데 익숙치 않아 자료를 찾다가 BBC Learning English에서 영어발음기호 학습 자료를 찾게 되었다.

BBC Learning English

사이트에서 수준별로 다양한 학습 자료를 제공하는데 Pronunciation 페이지에서 해당 발음기호 학습 자료를 찾을 수 있다.

Published on February 20, 2012

색상을 바꿔요

눈에 편한 색상을 골라보세요 :)

Darkreader 플러그인으로 선택한 색상이 제대로 표시되지 않을 수 있습니다.