Categories
일상과 생각

오랜만에 일상글

블로그 새 글이 또 한참 뜸했다. 간간한 근황들은 모두 페이스북 등 SNS를 통해 지인들과 나누고 있다보니, 나눌만한 소식이 많지 않은 것이 첫번째. 새 글을 쓸 때의 피로도(?) 때문에 저녁 늦은 시각에는 쉽사리 글쓰기 페이지를 열지 않은 것이 두번째. 틈날 때 즐기는 모바일 게임이 재밌다보니 하다가 취침시간이 되어버리는 것이 세번째 이유가 아닐까 싶다. 사실 순서로 따지면 모바일 게임을 하다가 저녁 늦은 시각이 되어 버리는 것이 문제일지도.
세계여행을 즐기고 있는 친구의 블로그는 바쁜 여행 중에도 새글이 틈만 나면 올라온다. 여행중 간간히 글을 써놓고 인터넷이 연결되면 예약 포스팅을 걸어두는 식으로 새글을 올리고 있는데, 잠깐 한눈을 팔고 며칠 뒤 가보면 글이 세네개는 쌓여있다. 나는 집-회사만 왔다갔다 하면서도 바쁜 척을 하고 있으니 반성…
그러고보니 블로그를 통해 새로운 사람들을 만났던 적도 많은데, 최근에는 트위터로 몇 명 사귀는가 싶더니 그것마저도 멈춰버린 것 같다. 인터넷이라는 공간 속에서 소비만 즐기고 생산을 하지 않는 자의 최후랄까.
그래도 관심을 가지고 있는 분들이 꾸준히 포스팅을 해주시고, 좋은 글들을 다시 페이스북으로 공유를 할 때면 블로그를 한다는 기분이 든다. 내가 모든 것을 할 필요는 없다는 말을 오늘 축구하면서도 들었는데, 블로그에도 똑같이 적용시킬 수 있을 것 같다. 내가 꼭 많은 글을 쓰지 않더라도 좋은 글들을 발견하여 주변 사람들에게 소개시켜 주는 걸로도 충분하지 않을까.

Categories
일상과 생각

Your Apple ID has been disabled

벌써 1주일 전의 일이다. 평소처럼 AppStore에서 업데이트 된 앱들의 목록이 뜨길래 update all 버튼을 눌렀다. 하지만 업데이트 되는 대신 내 Apple ID가 정지 되었다는 문구만 뜨는 것이 아닌가.
나는 미국계정과 한국계정 두 개를 사용하고 있었다. 이번에 문제가 생긴 것은 미국계정. Apple 쪽에 안 되는 영어로 열심히 영작하여 문의를 해보니 룰을 어겼단다. close account 되는 경우가 어떤 게 있나 조항을 찾아보니 부정한 gift certificate code(기프트카드) 등을 사용하면 일어날 수 있다고 한다. 그러고보니 얼마전 싱가폴에서 기프트카드를 구매했는데, 카드 이미지는 없이 코드만 받았다. 이제서야 이게 실제 구매후 코드를 보내준 것이 아니라 코드 생성기로 만든 코드가 아닐까 의심되기 시작했다. 아무리 생각해도 다른 데서는 정지당할 만한 행동을 하지 않았기 때문에.
메일로 문의를 해보았지만 결과는 달라진 것이 없었다. 메일로 연락되는 부서는 iTunes Store 팀인데, 문제 해결을 위해서는 더 많은 권한을 가진 Account Security Team과 연락을 해야하고, 여기에는 직접 전화를 걸어야 한단다. 미국에서 공부 중인 사촌동생에게 네가 한 번 해보라고 던져주고 1주일이 지났다. 아직 답이 없고, 내 미국계정도 여전히 disabled 상태인 걸 봐선 해결이 안 되는가 싶다.
그래서 요즘엔 미국에서 구매했던 앱들을 한국계정으로 옮기고 있다. 설치했던 앱을 삭제하고 한국계정에서 다시 다운로드. 유료로 구매했던 것들은 어쩌지 못하고 그냥 놔두고 있는데, 나중에 정 안되면 한국계정으로 다시 사든지 해야할 것 같다. 이건 그렇다쳐도 그동안 미국계정에서 구매했던 음악들을 나중에 다시 받을 수 없게 될 걸 생각하니 너무 아쉽다.

Categories
일상과 생각

팔레스타인과 이스라엘을 알려주는 만화 두 편

어느 날인가 뉴스에서 이스라엘이 가자지구를 공격했다는 소식이 들려왔다. 분쟁이 있는 곳은 늘 있어 왔기에 이번에도 그런건가 싶었는데 들려오는 이야기가 심상치 않다. 유난히 민간인에 대한 피해도 많고, 일방적인 탄압의 형태로까지 보이는 소식들이 대체 그곳에서 어떤 일들이 벌어지고 있는지, 왜 이런 일들이 벌어지고 있는지 궁금하게 했다. 그러다 마침 알게 된 두 만화가 있어 소개하고자 한다.
1. <아! 팔레스타인> : 이스라엘-팔레스타인이 그동안 걸어온 길을 알고 싶다면

오마이뉴스에서 연재중인 아! 팔레스타인
오마이뉴스에서 연재중인 아! 팔레스타인

첫 번째 추천하는 만화는 오마이뉴스에서 연재중인 <아!팔레스타인>이란 만화다. 아래는 나름대로 써본 간단한 소개다.

2000년 10월, 열두 살의 라미와 그의 아버지가 중고차 시장에 다녀오다가 시위대를 진압중이던 이스라엘군에 의해 살해당하는 사건이 일어난다. 물론, 그 부자는 아무런 무기가 없는 빈손이었다. 그 사건을 뉴스를 통해 지켜보고 충격을 받은 작가는 팔레스타인으로 배낭여행을 떠나게 된다. 그렇게 만나게 된 팔레스타인. 11년 뒤 다시 한 번 그곳에 방문하면서 팔레스타인 활동가들과 함께 지내며 팔레스타인의 역사를 만화를 통해 그려내고 있다.

웹에서 무료로 볼 수도 있지만, 최근 서점에 단행본이 출간되었으니 편한 쪽으로 만나보시길. 최초 건국에서부터 근현대사까지 중요한 사건들을 알기 쉽게 정리해주었다.
2. <굿모닝 예루살렘> : 지금 이 시점의 이스라엘-팔레스타인이 궁금하다면

기 들릴 작가의 굿모닝 예루살렘(그림 출처: 교보문고)
기 들릴 작가의 굿모닝 예루살렘(그림 출처: 교보문고)

두 번째 추천하는 만화는 기 들릴 작가의 <굿모닝 예루살렘>이다. 그림체가 매력적이어서 관심을 끌었는데, 이미 평양, 버마를 다녀온 경험으로 <평양>, <굿모닝 버마>라는 제목으로 만화를 그려냈다. 아내가 국경없는 의사회에 근무하는 중인데 그녀를 따라 예루살렘에서 체류하는 동안 겪은 일들을 그려낸 만화이다. 만화 속 시기는 2008~2009년으로 아마 지금 예루살렘에 방문한다고 해도 만화 속 모습과 크게 다르지 않을 것 같다는 생각이 들었다.
그동안 근현대사에 관심을 많이 두었다고 하지는 못하겠다. 뉴스에 크게 보도가 되어도 그냥 그런가보다 하고 지나가는 경우가 더 많았다. 하지만 지금 세계의 다른 곳에서 투쟁을 하고 있는 사람들을 위해서라도 최소한의 관심은 주는 노력을 해야겠다는 생각이 드는 요즘이다. 특히나 팔레스타인의 역사를 보고 있자면 우리나라가 겪은 일과도 비슷한 측면이 많기에, 더욱 특별하게 느껴지는 것 같다.

나치가 처음 공산주의자들에게 왔을 때, 나는 침묵했다. 왜냐하면 나는 공산주의자가 아니었기 때문이었다;
그들이 노동 조합원들에게 왔을 때, 나는 침묵했다. 왜냐하면 나는 노동 조합원이 아니었기 때문이었다;
그들이 유대인들을 덮쳤을 때, 나는 침묵했다. 왜냐하면 나는 유대인이 아니었기 때문이었다;
그들이 나에게 왔을 때… 더 이상 나를 위해 말해 줄 이가 아무도 남아있지 않았다.
– 마르틴 니뮐러. <First they came…>

Categories
블로그 관리일지

WordPress와 Cafe24 CDN 적용

블로그 호스팅 이용기간이 어느새 1년이 되었다. 그리 많은 포스팅을 하지 않았지만 이미지가 많아서였는지 서버용량이 꽉 찼길래, 그동안 사용했던 절약형에서 일반형으로 평수를 늘려서 연장신청했다. 이용중인 Cafe24에서는 CDN(Contents Delivery Service)도 지원해주는데, 이미지를 이쪽으로 돌리면 페이지 열리는 속도도 빨라지고 서버용량에도 더 여유가 생길 것 같아서 관련 WordPress plugin을 찾아보았다.
몇 개를 찾아보고 시도해보던 중 W3 Total Cache가 제일 설치도 쉽고 메뉴도 이해하기 쉬워서 이걸로 최종 확정했다. WordPress는 아무래도 해외에서 많이 쓰는 툴이다 보니 CDN도 해외에 맞게 설정되어 있는 경우가 많았는데, W3 Total Cache는 Cafe24에서 제공하는 CDN을 설정하는 것도 그리 어렵지 않았다.
내친 김에 CDN 설정하는 과정을 정리해본다.
1. 우선, Cafe24에서 나의 서비스관리로 이동, 서비스 접속정보에서 CDN 접속정보를 확인한다.
이때 확인해야 할 것은 두 가지이다. CDN에 파일을 올릴 때 사용하는 주소와, CDN에 올라간 파일을 불러올 때 쓰는 주소. 아래 그림을 참고하여 확인하자.

서비스 접속정보에서 CDN 접속 주소를 확인하자

2. 워드프레스 플러그인에서 W3 Total Cache를 찾아서 설치한다.
3. W3 Total Cache의 Settings 메뉴로 들어가면 CDN 탭이 있다. 이쪽으로 고고~
CDN 설정 메뉴를 확인하자

4. Configuration 영역에 1에서 확인한 주소를 아래처럼 넣어준다.

FTP hostname – Cafe24 FTP 주소
FTP username – Cafe24 FTP 아이디
FTP password – Cafe24 FTP 비밀번호
FTP path – Cafe24에서 업로드를 www 폴더에 해야한단다. /www 를 입력
Replace site’s hostname with – Cafe24 링크 도메인

입력 후 Test FTP Server 버튼을 눌러 잘 설정되었는지 확인해본다.

Cafe24의 CDN 정보를 넣어준다

5. CDN의 General 속성에서는 다음과 같이 host theme files의 체크를 해제해주자. Cafe24에서는 이미지파일만 CDN에 올릴 수 있기 때문인데, 이 속성을 체크하면 테마의 css파일을 CDN에서 불러오려고 하여 블로그 테마가 제대로 보이지 않을 것이다.
host theme files는 체크를 해제해준다.

6. Save All Settings를 클릭하여 설정을 저장해보면 어느새 메뉴 상단에 아래와 같은 메시지가 보이고 있을 것이다. 각 버튼을 눌러 이제 이미지파일들을 CDN으로 업로드하자.
export media library, wp-includes, custom files를 클릭해 이미지들을 CDN에 업로드시키자.

7. 여기서 밝혀지는 W3 Total Cache의 또 하나의 장점! 그것은 preview 모드를 지원한다는 것이다. preview 버튼을 눌러 설정이 제대로 됐는지 확인해보고, 이상이 없다면 deploy 버튼으로 실제 블로그에 적용시키면 끝이다. 이상이 있다면 disable 버튼을 통해 원래 상태로 되돌릴 수 있다.
Preview를 통해 이상여부를 확인한 후 Deploy하자

크게는 이 정도 설정이면 WordPress 블로그와 Cafe24 CDN 설정을 마칠 수 있었다.
글을 쓸 때 이미지를 첨부하면 자동으로 CDN까지 업로드 되는데, 한 가지 주의할 점은 한글이름이 포함된 이미지파일의 경우 CDN에서 못 불러 오는 경우가 있다는 것이다. 영문 이름으로 바꾸어 업로드 해주면 문제 없이 CDN으로 업로드 되고 이미지가 정상적으로 표시되었으니 참고하길.

Categories
Javascript + jQuery 개발(Development)

placeholder 미지원 브라우저 대응

낮은 버전의 IE처럼 HTML5에 추가된 placeholder 속성을 지원하지 않는 브라우저가 있다.
그런 경우 javascript를 이용하여 placeholder 속성을 지원하는 것처럼 흉내내는 방법.
focus를 잃었을 때 placeholder 속성의 값을 value로 넣어주고, focus를 얻어주면 빈값을 넣어주는 방식이다.
이 방법의 단점은 Form을 submit 할 때 input 값에 placeholder 속성값이 들어가 있는지 확인을 해주어야 한다는 점이다. (아래 추가된 내용으로 해결)
또 script 내에서 input 값을 빈값으로 변경할 경우(ex. $(“#input1”).val(“”);), 다시 placeholder를 노출시키기 위해서는 blur() 함수를 따로 호출해야 한다.(focus 변화가 없으므로) (아래 추가된 내용으로 해결)
HTML

Javascript

// placeholder를 지원하지 않는 브라우저 대응
function initPlaceholder() {
	if (!("placeholder" in document.createElement("input"))) {	// 지원여부 체크
		var $input_placeholder = $("input[placeholder]");
		$input_placeholder.each(function () {
			var value = $(this).val().trim();
			$(this).focus(function () {
				if ($(this).val().trim() == $(this).attr("placeholder")) {
					$(this).css("color", "");
					$(this).val("");
				}
			}).blur(function () {
				if ($(this).val().trim() == "") {
					$(this).css("color", "#a6a6a6");
					$(this).val($(this).attr("placeholder"));
				} else {
					$(this).css("color", "");
				}
			}).blur();
		});
	}
}

+ 내용 추가
jQuery의 val function을 오버라이딩해주면 값 변경시마다 blur를 호출할 필요가 없다(값을 val 함수로 변경한다는 전제조건 하에서. input1.value = “”; 는 적용 안됨).
+ 내용 추가
val function 오버라이딩 부분 중 getter 부분도 placeholder 값과 비교하여 리턴하도록 변경.
한계점은 $(“#input1”).val(); 시에는 원하는대로 동작하지만 document.getElementById(“input1”).value 처럼 접근할 때에는 placeholder 값이 나온다는 것.
기존에는 focus 함수에서 placeholder 값과 비교했는데, val() getter를 오버라이드 했기 때문에 “” 와 비교하는 점에 주의.

function initPlaceholder() {
	if (!("placeholder" in document.createElement("input"))) {	// Browser 지원여부 체크
		var $input_placeholder = $("input[placeholder]");
		$input_placeholder.each(function () {
			$(this).focus(function () {
				if ($(this).val().trim() == "") {
					$(this).css("color", "").val("");
				}
			}).blur(function () {
				if ($(this).val().trim() == "") {
					$(this).css("color", "#a6a6a6").val($(this).attr("placeholder"));
				} else {
					$(this).css("color", "");
				}
			}).blur();
		});
		// jQuery val function overriding for placeholder
		(function ($) {
			var org_val = $.fn.val;
			$.fn.val = function (value) {
				var placeholder = $(this).attr("placeholder");
				if (typeof value != "undefined") { // setter
					if ((value == "" || value == placeholder) && $(this).is("input[placeholder]:not(:focus)")) {
						$(this).css("color", "#a6a6a6");
						value = placeholder;
					} else {
						$(this).css("color", "");
					}
					return org_val.call(this, value);
				}
				else { // getter
					if( this[0].value == placeholder ) {
			                        this[0].value = "";
    			                }
					return org_val.call(this);
		                }
			};
		})(jQuery);
	}
}

Gist Github에서 update 시키고 있다.

Categories
일상과 생각

블로그 포스팅이 뜸한 이유

요즘 블로그 포스팅이 뜸했다. 돌이켜 생각해보면 바쁘진 않았다. 이유를 찾아보니, ‘생각할 시간을 많이 갖지 않았다’는 생각이 퍼뜩 들었다. 블로그엔 늘 내 생각이 정리된 것들을 옮겨오곤 했다. 아니면 쓰면서 생각을 정리하고 다듬거나. 그런데 그런 시간을 애초에 가지지 않은거다.
그럼 나는 그동안 무엇을 했나 생각을 해보았다. 퇴근 후 혼자 있는 시간동안 나는 게임을 주로 했다. 집에서 하는 게임이야 오래 전부터 해왔다고 해도, 요즘에는 이동하는 시간 동안마저 스마트폰 게임을 들여다보고 있으니 생각할 시간을 더욱 뺏겨버린 것 같다. 예전에는 주로 이동하는 동안 많은 생각을 했는데 그 틈을 스마트폰 게임이 차지해버린거다.
난 게임을 옹호하는 입장이니까 게임이 나쁘다는 말은 하지 않으련다. 다만 내가 요즘 생각하는 시간을 많이 갖지 않았으니 그 시간을 늘려야겠다고 느낄 뿐이다. 단순히 블로그 포스팅을 더 늘리는데에는 요즘 주로 하는 게임에 대한 것들을 적는 것도 나쁘진 않을 것 같다. 뭐가 됐든지 많이 쓰고, 많이 생각하자.

Categories
일상과 생각

소식과 소통

#1
블로그를 한창 열심히 하던 때에 알고 지낸 지인들과 여전히 소식을 주고 받는다. 페북과 같은 SNS를 통해, 블로그에 쓰는 글들을 통해서.
이렇게 소식을 주고 받는 관계지만 댓글이라든지 소통을 위한 노력을 따로 하지 않으면 대화가 없다. 현실에서 매일 얼굴 보며 지내는 관계가 아니라서 더욱 그렇다. 소식을 잘 알고 있는 것과 친밀해지는 것에는 다른 종류의 노력이 필요하다는 생각이 든다.
#2
연애관계를 가졌던 사람들과도, 위와 같은 종류의 서비스를 통해 소식은 꾸준히 업데이트가 된다. 하지만 다시 소통을 시작하기엔 고민이 뒤따른다. 다시 연락을 하면 당황하진 않을까, 닫아뒀던 감정들을 괜시리 들쑤시는건 아닐까 싶어서. 그래서 늘 그냥 마음 속으로만 메시지를 전한다.

Categories
일상과 생각

이직

  • 깔끔하게 정돈된 자리.
  • 내 이름이 붙어있는 새 의자.
  • 새롭게 준비된 성능 좋은 컴퓨터.
  • 자리에 놓여진, 환영한다는 문구와 선물.

이것은  1년 8개월 전에 겪은 좋은 경험이었다.
오늘은 반면에,

  • 으레 안 오겠거니 생각했다는 반응들. – 보통 면접 후 입사일까지 기간이 길면, 그동안 다른 곳으로 갈 거라는 생각을 하긴 한다
  • 준비되지 않은 입사절차.
  • 남이 오랫동안 써온것 같은 의자와 컴퓨터.

이러한 것들을 경험했다(느꼈다).
과연 좋은 선택을 한 것인가에 대한 불안과 앞으로의 대한 기대가 엇갈리는 오늘.

Categories
문화생활(Culture) 영화(Movies)

[영화] 오만과 편견(Pride and Prejudice, 2005)

이미치 출처: 무비스트

+ 회사 동료가 추천해줘서 DVD로 본 영화. 원작인 소설을 영문으로 읽다가 잠시 손을 놓고 있었는데, 영화를 보고 나니 다시 천천히 읽고 싶어졌다.
+ 키이라 나이틀리(Keira Knightley)! 키이라 나이틀리!! 키이라 나이틀리!!!!
+ 오리지널(?) 엔딩도 마음에 들었지만 주인공들이 키스하는 장면이 한 번도 없어 의아하기도 했는데, 보너스 영상 중 US 버전 엔딩을 보니 역시나!
하지만 굉장히 로맨틱한 장면이었다.
+ 영국식 발음 참 귀엽다 ㅋㅋ 나태톨~(not at all)
+ 제인 베넷 역의 로자문드 파이크(Rosamund Pike). 어디서 많이 본 얼굴이라 생각했는데 영화 둠(Doom)에서 본 그 분이었군.
+ 행복해지는 영화. 사랑하고 싶어지는 영화.
나중에 사랑하는 사람과 함께 또 보고 싶다.
+ OST는 꼭 사야겠다.

Categories
문화생활(Culture) 영화(Movies)

[영화] 더 그레이(The Grey, 2012)

source: 네이버 영화

영화 <더 그레이> 시청 완료. 극장에서 보려다가 호불호가 극 갈린다는 말에 미뤘는데, 이제서야 DVD로 보았다.
개인적으로는 만족! 늑대들의 울음소리와 집단적인 움직임에 간담이 서늘해졌고, 삶을 위해 투쟁하는 리암 니슨이 참 멋있었다.
보너스 영상에 대해서도 말이 많지만 상관없어! 어쨌거나 뒤돌아서지 않고 당당하게 맞섰다는 사실이 중요한거니까. 마지막에 흐르는 음악이 참 짠하다.