주말을 맞이하여

바방이와 함께 심야영화를 보러 나갔다.

(cgv 심야 영화는 성인 6000원이다.)






도둑들 (2012)

The Thieves 
7.8
감독
최동훈
출연
김윤석, 이정재, 김혜수, 전지현, 임달화
정보
액션, 드라마 | 한국 | 135 분 | 2012-07-25



엄청난 캐스팅.

내가 좋아하는 대배우들만 모여있었다.

특히 김혜수 ㅎㅎ


김혜수랑 김윤석은 타짜때도 같이 호흡을 맞췄었는데

그때 김윤석은 조연 정도 였지. 아귀였나..

도둑들에서는 연인으로 나온다.


흐름이 너무 빨리 전개되서

혹은 대사가 너무 빨라서

초 집중하지 않으면 이해하기 힘들 수도 있다.



스토리도 좋았고

눈호강도 했고~


상영시간이 길어 엉덩이가 아팠지만

재밌었다.

서로의 이익을 위해 속고 속이는 도둑들 이야기.


이정재가 제일 나쁜놈. -_-



12시가 넘은 심야인데도 사람이 엄청 많았음;


이제 날씨가 제법 선선해진 느낌.

언능 가을이 왔으면 좋겠다.





'여가 > movie' 카테고리의 다른 글

이웃사람.  (0) 2012.09.02
연가시  (0) 2012.07.16




극 성수기에 찾은 정선 5일 장.

매달 2, 5일에 열린다고 한다.

(2, 5, 12, 15, 22, 25)


성수기를 대비하여 정선에서는

시장 뒷편 주차장도 넓게 마련해 놓았다.

하지만 땡볓이라......

너무너무너무 더웠다 ㅜㅜ




감자떡도 갓쪄서 팔고


더운날 호떡집에 불난듯 팔리는 냉음료들..


메밀전병도 부쳐서 팔고..


시장 식당에 들어가 맛본 곤드레나물밥!

사진이 너무 흔들렸네......

6000 원이었다.

그냥 밥과 나물이 뚝배기에 담아나온다.

간장양념 넣어서 간 맞춰서 비벼먹으면 된다.



메밀 전병도 시켜먹고 ㅎㅎ

1000원.



말만 들었던 콧등치기 국수~

6000원.

정말 콧등치는줄 알았는데 안쳐서 좀 실망이었음-_-





날씨가 너무 더운탓에 맛있는음식을 먹어도

진실한 맛을 못느꼈던것 같다..


다음에 날씨 좋은날 오면 정말 좋겠다.






JSON(JavaScript Object Notation) 표기법은 

서로 다른 프로그래밍 언어간에 데이터를 교환하기 위한 표기법으로서 읽고 쓰기 쉬운 표기법이다.


사용되는 데이터 형식은 두가지 이다.

  • 이름/값 쌍
  • 배열

이름/값 싸을 표현할 때에는 다음과 같은 표기법을 사용한다.

{이름1:값1, 이름2:값2, 이름3:값3}


예를들어, 국가별 코드와 이름을 표현하고 싶다면 다음과 같이 JSON 표기법을 사용할 수 있다.


var countries = {ko:'대한민국', fr:'프랑스', uk:'영국'};
var koName = countries.ko;
var frName = countries['fr'];



배열로 표기하고 싶다면

[값0, 값1, 값2, 값3]


var countryCodes = ['ko', 'fr', 'uk', 'us']
var idx0 = countryCodes[0];   // 'ko'
var idx2 = countryCodes[2];   // 'uk'



이름/값 형태와 배열 혼함

var number = {
   name:'최범균',
   favoriteColors:['파랑', '노랑', '빨강']
};
var message = member.name + "님이 좋아하는 색상은 " + member.favoriteColors.length + "개 이고," ;
message += "그 중 첫번 째 색상은 " + member.favoriteColors[0] + "입니다.";






환경 변수 PATH에 ~/bin 디렉토리를 추가하고 싶다면


$ export PATH=$PATH:$HOME/bin


명령을 수행하면 

~/bin 아래에 있는 바이너리 파일은 

경로 지정 없이 실행 가능하다.


자신의 계정에 대해 환경변수를 저장(설정) 하고 싶다면


~/.bashrc 파일 또는 ~/.bash_profile 파일안에 위의 명령을 추가하면 된다.







티스토리에 포스팅을 하다보면

예제 코드를 자주 넣는 경우가 많다.


좀 더 예쁘고 알아보기 쉽게 보여주기 위해 syntax highlighter 플러그인을 설치해 보자.




최신 플러그인




설치 방법 : http://sudili.tistory.com/612


사용방법 : 

<pre class="brush:js">

source..............

</pre>


태그를 넣어주면 된다. 꼭 html 입력 상태여야 한다.




콜백함수로 넘길 함수가

어떤 객체의 프로퍼티이고, 함수 내부에서 this를 사용했다면,

콜백을 전달받은 함수에서 이 콜백함수를 호출하게되면 this의 값이 달라진다.


다음 예를 보면,

var myobj = {}
var myobj.color = "green"
var myobj.paint = function(node) {
	node.style.color = this.color
};


myobj.paint 함수를 다른 함수의 콜백인자로 넘겨보자.

var setColor = function(callback) {
	...
	if ( typeof callback === "function" ) {
		callback(node);
	}
	...
};

setColor(myobj.paint);


myobj.paint 함수 정의의 this는 setColor의 함수객체를 가리킨다. 즉 전역에 color 이라는 필드가 선언되어 있다면 그 값이 나오겠지만 선언되지 않았다면 ReferenceError exception이 발생한다.



이 상황을 해결하기 위해 myboj 객체도 인자로 같이 넘겨받아 this를 알아내는 방법이 있다.


자바스크립트는 함수 선언도 hoisting 기능이 적용된다.

다음 예를 보자.



//전역 함수 선언
function foo1() {
	alert('global foo1');
}
function foo2() {
	alert('global foo2');
}
function hoistMe() {
	foo1();
	foo2();

	function foo1() {
		alert('local foo1');
	}
	var foo2 = function() {
		alert('local foo2');
	}
}
hoistMe();

결과는 어떻게 될까......


의도된 결과는

'global foo1'

'global foo2'

였을 것이다.


하지만 자바스크립트의 hoisting 기능으로 인해 결과는

'local foo1'

Type Error


가 된다.


어째서?


자바스크립트는 hoistMe() 함수 내부에 선언된 변수 및 함수를 hoisting 하는데

foo1()은 함수 선언이므로 함수 정의 자체도 같이 hoisting되어서

전역 foo1() 함수를 가린다.


따라서 호출 결과 global이 아닌 local 이 불리게 되는것이다.



그럼 왜 foo2는 global도 local도 아닌 Type error 일까?


foo2()는 hoistMe 함수 내부에서 함수표현식으로 함수를 정의 했다.

hoist 기능은 선언문만 유효범위 맨 위로 올려지기 때문에

var foo2; 만 hoisting되고 함수 정의는 그 위치 그대로 남게 된다.


따라서 foo2()를 호출 하였을 때엔 

var foo2; 는 선언이 되어있지만 정의가 안된 undefined 값이어서,

즉 foo2라는 객체가 isCallerble이 아니기 때문에 Type Error 예외를 발생시킨다.



local 안에서 새로 정의한 함수를 호출 할 의도였으면

함수 선언문으로 선언을 하자.


'WEB > javascript' 카테고리의 다른 글

javascript JSON 사용하기  (0) 2012.08.10
자바스크립트 콜백과 유효범위  (0) 2012.07.27
자바스크립트 함수 객체의 name 프로퍼티  (0) 2012.07.27
생성자 함수 안전 사용  (0) 2012.07.22
객체 생성자의 함정  (0) 2012.07.22

자바스크립트의 함수를 정의하는 방법은 두가지가 있다.

함수 선언문, 함수 표현식



함수 선언문

function foo() {}

를 evaluation 하게되면

foo.name 은 "foo" 가 된다.



기명 함수 표현식


var fun = function add (a, b) {
	return a+b;
};

를 evaluation 하게되면

name 프로퍼티에 "add"라는 값을 가지는 함수 객체를 f에 리턴해 준다.


즉, fun.name 은 "add" 가 된다.


익명 함수

var fun = function (a, b) {
	return a+b;
};

fun.name 은 "" 이다. (IE에서는 undefined)


표현식에는 마지막 세미콜론을 꼭 써줘야 한다.






'WEB > javascript' 카테고리의 다른 글

자바스크립트 콜백과 유효범위  (0) 2012.07.27
자바스크립트 함수 hoisting  (0) 2012.07.27
생성자 함수 안전 사용  (0) 2012.07.22
객체 생성자의 함정  (0) 2012.07.22
자바스크립트 리터럴 표기법  (0) 2012.07.22

+ Recent posts