728x90


음력상으로는 늦은 봄인 어느 여름날, 땀을 뻘뻘 흘리면서 회사로 향하는 발걸음속에서 물김치가 생각났다. 아삭하게 깨물리는 열무 이파리와 시원해보이는 뽀얀 국물. 어제 저녁 먹었던 미지근한 물김치가 생각났다. '그게 조금만 더 차가웠더라면 어땠을까.' 하는 생각을 하며, 상상속에서나마 시원한 물김치를 한입 떠먹었다. 그리고는 마치 진짜로 먹은 듯 온 몸이 시원해졌다.

그러니까, 당신의 물김치는 너무 맛있다. 


"설마, 처음해본거야? 물김치."
"아니~ 이전에도 가끔 했었는데. 별로 안좋아 하잖아. 물김치."


'내가 물김치를 싫어했었나' 라는 의문이 들고 몇 초 지나지 않아서 그게 아니라는 결론을 내렸다. 싫어하지 않는다. 아니 오히려 좋아하는 축에 낀다. 여름날의 물김치는 좋아한다. 그리고 겨울에 떠먹는 아삭한 동치미도 좋아한다. 


잠깐 내린 소나기 때문이었는지, 그다지 덥지 않은 오늘 저녁도 당신의 물김치가 생각났다.


자, 이제 설거지를 해보자.

'Deep' 카테고리의 다른 글

인생의 목적과 당장의 목표  (2) 2010.12.22
추운 2010년을 보내고, 2011년을 맞이하며  (0) 2010.12.13
두가지 일.  (2) 2008.12.01
생일축하한다. 내 동거인이었던 사람.  (3) 2008.07.17
경계심과의 충분한 협상  (8) 2007.12.07
Posted by onionmen
728x90

클로저는 실무에서 자바스크립트로 개발을 하다보면 자신도 모르게 사용했던 개념이다. 클로저는 몰라도 예제코드를 보면 "아하, 그게 클로저야?" 라고 되묻는 사람들이 꽤 많을 것이다.

아래 코드를 보자.

var closureTest = function() {
	var closureVar = "closure test";

	return function() {
		alert(closureVar);
	}
}

closureTest 라는 함수는 closure test 라는 문자열을 출력하는 익명함수를 리턴한다. 그리고 위 코드를 수행하면 정상적으로 closure test 메시지가 alert창으로 뜬다.

위 코드가 왜 이상한지 모르겠는 사람은 클로저에 대한 이해가 충분하거나, 아니면 자바스크립트에 대한 이해가 불충분한 사람일 것이다.

기본적으로 closureVar 변수는 closureTest 에 속한 지역변수 이기 때문에 다른 외부함수에서 호출하는 것이 불가능하다. 변수를 호출하기 위한 방법으로는 지역변수로 선언된 closureVar 변수를 전역변수로 바꿔 선언하는 방법이 있다. 

그런데 자바스크립트에서는 굳이 이렇게 하지 않아도, 함수에 속한 지역변수를 다른 함수가 호출하게 하는 것이 가능하다. 이게 바로 클로저다. 좀 더 정확하게 이야기 하면, 클로저란 자신이 생성된 함수의 context에 직접 접근(참조) 할 수 있는 것이다.

위 코드를 좀 더 쉽게 풀어보면 아래와 같다.

var closureTest = function() {
	var closureVar = "closure test";

	return closureTest2();
}

var closureTest2 = function() {
	alert(closureVar);
}

하지만 위 코드는 제대로 동작을 하지 않는다. closureVar 변수가 closureTest 함수에 선언되었기 때문에, closureTest2 함수에서 접근할 수 없기 때문이다. 

위 코드를 동작시키기 위해선 closureVar 변수를 전역변수로 새로 선언해야 한다.

var closureVar = "";
var closureTest = function() {
	closureVar = "closure test";

	return closureTest2();
}

var closureTest2 = function() {
	alert(closureVar);
}
하지만 변수가 많아진다면 이 모든 변수를 전역변수로 할당해야 하는데, 코드도 어려워지고(지저분해지고) 개발자도 힘이 든다. 변수를 모두 전역변수로 선언하지 말고, 클로저를 잘 이해하여 써먹어보자.


Posted by onionmen
728x90

블로그 스킨을 개편했습니다.

스킨을 새로 입힌지 1년도 넘은듯 한데, 갑자기 무슨 바람이 불었는지 스킨을 바꾸고 싶더라구요. 무심결에 스킨 변경을 눌렀는데, 생각보다 다시 설정해 줘야 할 것들이 많아서 꽤 애먹었습니다.

작년엔 스킨변경하면서 오픈아이디 델리게이션도 까먹었습니다. 미투데이 로그인도 안되서 원인 찾는데 애먹었는데, 이번엔 무사하게 제대로 스킨변경을 했습니다.

이왕 이것저것 만지는 김에 애드센스도 달았습니다. 오랜만에 광고를 설치하네요. 얼마 안되는 구독자분들에게는 죄송합니다. 

애드센스를 설치할 때 늘 고민하게 됩니다.
클릭을 최대한 유도하기 위해서 광고를 달아야 하는지, 아니면 최대한 디자인을 해치지 않는 선에서 달아야 하는지.

솔직히 애드센스가 디자인을 해치지 않고서는 달 수 없는 것 이라서 그나마 조화를 맞추려고 노력 하는데요, 그러면 클릭을 유도하지 못하는 광고를 설치할 필요가 있는가 에 대한 딜레마에 봉착하게 됩니다. 이거 참.

어쨋든 다음뷰AD 와 함께 AD센스를 함께 설치했습니다.



Posted by onionmen
이전버튼 1 이전버튼

블로그 이미지
손을 따뜻하게 만들어 주고 싶은 애인이 있습니다.
onionmen

달력

 « |  » 2010.7
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
DNS Powered by DNSEver.com

최근에 올라온 글

Yesterday
Today
Total