Blog Archive

2008-08-19

긍정적인 전염, 유머가 인생을 바꾼다


유머가 인생을 바꾼다 책표지유머가 인생을 바꾼다 - 10점 만점에 5.7 김진배 지음/다산북스

요즘 여러 권의 책을 아주 조금씩 조금씩 보고 있다. 그 중에 하나가 바로 "유머가 인생을 바꾼다"는 책인데, 권해준 분은 바로 우리 어머니! 강의를 종종 하니까, 유머를 많이 익혀놓으면 좋지 않겠냐면서 읽어보라고 주셨다. 사실 이런 종류의 책을 그닥~ 좋아하진 않지만, 그냥 가볍게 보기로 했다. (웃찾사 같은 코미디 프로그램도 내가 가장 싫어하는 텔레비전 프로그램 중에 하나이다. 코미디 영화나 드라마는 무척 좋아하지만...) 목적이 좀 애매했었다. 유머를 발휘하는 기법을 소개한 책인지, 아니면, 써먹을 수 있는 유머의 모음집인지, 유머 예찬론인지, 아니면, 긍정적인 삶의 자세가 중요하다는 것인지... 모두 조금씩 들어가 있었다.

웃음과 긍정적인 기대, 자세가 자신은 물론이고 주위 사람들에게도 훨씬 좋은 결과를 가져온다는 실제 심리학의 연구 결과는 꽤 있다. 잘 알려진 피그말리온 효과부터 코미디 프로를 보고 난 후에 수학 문제를 더 잘 푼다든지 하는 그런 연구 결과들. 그러니 긍정적이고 밝은 삶의 자세를 어떠한 상황에서도 유지하려고 노력하는 것이 결코 손해볼 일은 없는 것 같다.

책에 나온 많은 내용중에 가장 공감이 갔던 부분은, 우리 나라 사람들에게는 "무표정 = 정상적 표정"이라는 등식이 있다는 것이다. 내가 처음 외국(호주)에 갔을 때 호주 사람들은 눈만 살짝 마주쳐도 미소를 지어 보이거나, 윙크를 하던 것을 잊을 수 없다. 그래 기왕 마주칠 거면, 살짝 웃어주고, 또는 가볍게 인사도 나눠주는 게 얼마나 기분 좋은 일인데. 엘리베이터에 같이 타는 사람과 시선을 마주치지 않으려고 층번호만 쳐다보거나, 땅바닥만 보거나, 괜히 신호도 못 받는 휴대 전화 꺼내서 문자 체크하는 척 하거나, 심지어 그냥 눈을 감을 필요 있을까? 다른 사람들과 마주칠 때 무표정은 때로는 정상적인 것이 아니고, 화나거나 못마땅하다는 뜻을 전달하는 것일 때도 있다. 먼저 웃고, 먼저 인사하면 기분도 훨씬 좋을텐데...

몇 주 전에 중동, 아프리카에서 온 사람들과 수업을 했던 적이 있다. 그들이 그렇게 낙천적이고, 긍정적이고, 배움에 대해 열정적이고, 다양성과 다른 문화에 대해 이해하려고 노력하는 사람들인지 몰랐다. 여유있고 유머가 넘치는 사람들과 함께 있는 시간이 그렇게 즐겁고 유쾌할 수가 없었다. 이런 것을 긍정적인 전염(positive epidemic)이라고 해야 할까? 나도 다른 사람들에게 행복과 유쾌함을 전염시키는 사람이 되려고 노력해봐야겠다.

2008-08-15

정연주 전 사장이 배임이면

정연주 전 KBS 사장의 변호사인 송호창 변호사의 말을 인용한다.

만약 정 전 사장이 배임을 저질렀다면 당시 세무소송을 조정·합의로 종결짓도록 권고한 서울고법, 국세청의 입장에서 소송에 나섰던 서울고검, 회계법률자문에 나섰던 법무법인 등 모두가 ‘공범’으로 수사 선상에 올라야 한다”며 “게다가 KBS가 국세청과의 세무소송을 조정·합의로 종결한 것에 대해 KBS의 당시 입장을 인정한 서울중앙지법의 판단이 있는데 (검찰이) 어떻게 배임혐의를 적용하려 할지 오히려 반문하고 싶다.

결국 정연주 전 사장이 배임 혐의를 갖는다면, 서울고법은 공영 방송 사장을 배임하도록 꼬드긴 배후 조종자이고, 서울중앙지법은 배임을 알고도 방조한 혐의자이고, 국세청, 서울고검, 관련 법무법인은 한 나라의 공영방송에 막대한 손해을 입히기 위해 불법적인 권력과 힘을 행사한 악의 무리들이다라고 할 수 있는 건가? 그런 악의 무리들과 배후 조종자는 멀쩡한데 왜 정 사장만 온갖 권력 기관들이 총동원되어 “법에도 없는” 해임을 했던 것일까?

나찌가 파시즘의 본색을 드러내며, 자신의 친위 부대를 제외한 모든 사람을 숙청하는 동안 “나는 상관 없는 일이다. 나는 그들이 아니다”라며 무관심했던 사람들을 묘사한 마틴 니묄러의 시를 언급한 유시민의 예언이 섬뜩하게 다가온다.

2008-08-11

모든 페이지에 고유한 제목을 넣었습니다.

제가 얼마 전에 블로그에 제목의 중요성에 대한 글을 썼습니다만, 구글 웹마스터 도구로 진단을 하다 보니, 정작 제 자신의 블로그에는 제목이 중복되는 페이지가 꽤 있었습니다!! 특정 카테고리(category)와 태그(tag) 페이지까지는 제목을 구분해주었지만, 검색 결과 페이지가 블로그의 처음 페이지와 제목이 똑같았었고, 특정 카테고리가 여러 페이지로 구성된 경우, 카테고리까지만 구분이 되고 페이지 번호는 구분이 되지 않아, 모든 페이지의 제목이 똑같았습니다!

그래서 모든 페이지에 정말로 고유한(unique 또는 distinctive) 제목을 붙이기 위해 워드프레스의 header.php 파일의 페이지의 제목을 나타내는 부분을 아래와 같이 고쳤습니다.

<title>
 <?php 
  bloginfo('name'); 
  if ( is_home() ) { 
   echo(": ");
   bloginfo('description');
  } 
  if ( is_single() ) { 
 ?>  - Archive
 <?php 
  } 
  if ( is_category() ) {
 ?>  - Category
 <?php
  }
  if ( is_tag() ) {
 ?>  - Tag
 <?php
  }
  if ( is_search() ) {
 ?>  - Search results for 
 <?php 
    the_search_query(); 
  }
  wp_title(' - ',true,'');
  if ( is_paged() ) {
 ?>  - Page <?php echo($paged); } ?>
</title>

이제 현재 보는 페이지가 홈이면 블로그의 제목이, 특정한 글이면 글 제목이, 특정한 카테고리이면 카테고리 제목이, 태그 페이지이면 태그 제목이, 검색 결과이면 검색 결과라고 표시됩니다. 추가로, 카테고리나 태그, 또는 검색 결과가 여러 페이지로 구성된 경우에는 각각의 페이지마다 페이지 번호를 제목에도 넣어주었습니다. 예를 들면 아래와 같이 나옵니다.

첫 페이지:
Greg Shin’s Blog: 신승식의 블로그
특정한 글 하나만 나오는 페이지:
Greg Shin’s Blog – Archive – 한국이 중국인가?
“accessibility” 태그 페이지:
Greg Shin’s Blog – Tag – accessibility
“Review” 카테고리 페이지:
Greg Shin’s Blog – Category – Review
“Review” 카테고리 중 두 번째 페이지:
Greg Shin’s Blog – Category – Review – Page 2
“accessibility”를 넣어 검색한 결과 페이지:
Greg Shin’s Blog – Search results for accessibility
“accessibility”를 넣어 검색한 결과 중 두 번째 페이지:
Greg Shin’s Blog – Search results for accessibility – Page 2

제목은 이렇게 해서 고유해졌는데, 메타 데이터(meta data)가 중복되는 페이지가 있군요. 페이지의 키워드, 설명 등 메타 데이터도 페이지의 특성에 가장 맞게 동적으로 생성해서 넣어야 겠는데, 이것에 대해서는 좀 고민해봐야겠습니다. 현재는 심플 태그(Simple Tags)라는 플러그인을 쓰고 있어서, 태그로 사용된 단어가 페이지의 키워드(<meta name="keywords" ...)로는 들어가게 되어 있습니다만, 페이지의 설명(<meta name="description" ...)이 모두 똑같게 나오는 문제는 여전히 남아있습니다.

2008-07-26

한국이 중국인가?

한국이 인터넷을 사전 검열하고, 차단하고, 삭제하며 표현의 자유를 심각하게 제한하는 중국을 점점 닮아 후진국으로 뒷걸음질치고 있다. 새 정부가 들어서며, 인터넷과 다수 누리꾼들을 악의 축인 것처럼 매도하며, 정당하고 자연스럽게 이루어지는 인터넷에서의 소통과 표현을 정부 입맛에 맞지 않는다는 이유로 마구 손질하려 하고 있다. 그렇다고 손바닥으로 하늘이 가려질 것 같은가?

경찰 삭제요청에 ‘유튜브’서도 사라져

어청수 동생 성매매 의혹

2008-07-23

제목의 중요성

최근 여러 개의 웹 사이트들을 자세히 뜯어볼 일이 생겨서 혹 뭐 트집(?)잡을만한 것 없나 의심의 실눈을 뜨고 페이지들을 살펴보았습니다. 그리고 두 가지를 느꼈습니다. 하나는 아마추어인 내가 점점 이해하기 어려운 방식의 코드가 늘어난다는 것이고, 다른 하나는 그럼에도 아주 복잡한 기법을 쓰는 사람들이 정작 기본적인 것을 놓치는 경우도 있다는 것입니다. 그 기본적인 것 중에 하나가 바로 “제목”입니다.

좋은 제목의 조건

이 세상 모든 것에는 제목이 있습니다. 사람에게는 이름이 있고, 컴퓨터의 파일에도 이름이 있고, 웹 페이지에도 이름이 있어야 합니다. 그 이름은 반드시 그 페이지의 내용을 대표할 수 있게 적절하게 지어야 합니다. 10개의 페이지로 이루어진 사이트가 있는데, 첫째도 “환영합니다”, 둘째도, 세째도, 마지막 페이지도 “환영합니다.”라는 똑같은 이름을 가졌다면, 웹 페이지 방문자들은 혼란스러워합니다. 그래서 이름을 짓는 것, 제목을 붙이는 것은 아무리 강조해도 지나치지 않은 매우 중요한 작업입니다. 제목은 다음과 같은 특성을 갖고 있어야 합니다. 아니 갖고 있어야 한다고 저는, 생각합니다.

대표성:
제목은 그 제목이 대변하는 더 많은 내용을 대표할 수 있어야 합니다. 예를 들어 이메일을 작성할 때에도 “아무개 회사 누구입니다.” 라고 모든 메일의 제목을 똑같이 쓰는 사람과 메일을 주고받다 보면 짜증이 납니다. 나중에 제목만으로 어떤 메일이 어떤 메일이었는지 구분이 안 되기 때문입니다. 게시판에 글을 올릴 때에도 “급한 질문입니다.” 이렇게 글을 올리면, 그 질문의 내용이 무엇이었는지 들어가보지 않으면 모릅니다. 나중에 특정한 질문을 찾으려고 검색을 해도 이런 “급한 질문”은 도움이 안 됩니다. 웹 페이지의 제목도 마찬가지입니다. 그 페이지의 내용을 가장 잘 대표하는 단어나 문장, 문구로 이루어져 있어야 합니다.
고유성(uniqueness):
모든 페이지의 제목은 고유해야 합니다. 그래서 페이지의 제목을 붙이는 것은 쉬운 일이 아닙니다. 하다 못해, 게시판에 글이 여러 개 있는데, 어떤 글을 읽을 때, 그 글에 답변을 달 때, 글목록을 볼 때, 글을 지울 때, 다른 글을 읽을 때 모두 각각의 상황에 맞고 다른 것과 구별되는 페이지 제목을 가지고 있어야 합니다. 아주 엄격히 말해서 페이지가 1,000개가 있다면 1,000개가 모두 다른 제목을 가지고 있어야 합니다. 이렇게 페이지의 제목이 다른 것과 구별되게 함으로써, 페이지가 너무 많아져도, 제목만으로 쉽게 구분할 수 있도록 할 수 있습니다. 이렇게 고유한 페이지의 제목은 일반 사용자들은 물론이고, 비시각적인 단서를 이용하는 시각 장애인들에게는 여러 개의 웹 페이지를 왔다갔다 하는 데에 매우 큰 도움이 됩니다.
간결성:
두 말하면 잔소리이지요. 요즘에 많이 줄었지만 페이지 제목에 이상한 문자를 넣는 경우가 있습니다. 예를 들면 “▒▒▒▒ 무슨무슨 기관 홈페이지에 오신 것을 환영합니다. ▒▒▒▒” 이런 식으로 말입니다. 사실 홈페이지 방문자를 정말 환영하고 싶으면, 제목부터 간결하게 쓸 데 없는 특수 문자 다 빼고, 환영한다는 말도 제목에서는 빼는 게 좋습니다. 대신 페이지의 내용에서 환영한다고 뜻을 밝혀도 충분합니다. 그냥 “무슨무슨 기관”만으로도 충분하지요.
합법적인(의미적인) 코드(semantic code):
웹 페이지에 있는 구성 요소들은 지금까지 합의된 합법적인 방법으로 제목을 표시해주어야 합니다. 그렇지 않고, 작성자가 맥락적으로 또는 암묵적인 방법으로 그것이 제목이라고 아무리 우겨도, 합의된 코드를 사용해서 명시적으로 제목을 표시해주지 않으면, 많은 사람들이 제목의 혜택을 얻지 못합니다. 즉, 내용과 제목을 명확하게 짝지어 주어야 합니다(explicit binding, 명확한 짝짓기). 자 이제 합의된 방식으로 제목을 표시하는 HTML의 기본 중의 기본을 한 번 나열해봅니다.

HTML에서 제목을 나타내는 방법

각 요소/속성마다 링크를 걸어놓았으니 모든 HTML 요소나 속성들에 대한 구체적인 사용법은 링크를 따라가서 참조하십시오.

페이지의 제목: <title> 요소
한 사이트 안에서 모든 웹 페이지들이 고유한 제목을 가지고 있어야 한다고 했습니다. HTML에서는 <title> 요소 안에 제목을 표시합니다. 예를 들면 제 블로그 안에서 https://www.gregshin.pe.kr/2008/03-post.html라는 페이지는 <title>신승식의 블로그 – Blog Archive » 청와대여, 기자들이여, 쑈를 하라!</title>와 같이 제목을 표시했습니다. 간혹 이 제목 부분에 자바스크립트를 써서 글자가 움직이게 하는 경우가 있는데, 절대 하면 안 되는 아주 나쁜 제작 습관입니다. 화려함을 자랑하고 싶다면 내용에서 해도 충분합니다.
프레임의 제목: title 속성
요즈음에는 프레임을 잘 사용하지 않지만, 프레임을 혹 사용한다면, 각각의 프레임이 고유하고, 내용이나 기능을 대표하는 제목을 가지고 있어야 합니다. 주의할 것은 프레임 제목을 사람이 알 수 있게 작성해야 한다는 것입니다. 예를 들면 title=”frame1″과 같이 하면 안 되고, title=”뉴스 브리핑”과 같이 해주어야 합니다.
문단의 제목: 헤딩 요소 <h1>, <h2>, <h3>, <h4>, <h5>, <h6>
자바도 아니고, 자바스크립트도 아닌 HTML은 정말 쉽습니다. 그런데 그 쉬운 HTML, 그리고 그 중에서도 정말 쉬운 문단의 헤딩을 빠뜨린 웹 페이지가 정말 많습니다. 많은 양의 텍스트, 그림, 도표 등이 있는 문서를 만들 때에 체계를 만들고, h1을 이용해 보통은 페이지를 대표하는 제목을, h2를 이용해 큰 제목을, h3을 이용해 중간 제목을, h4를 이용해 작은 제목을 달아주면 됩니다. 이렇게 하지 않고, 아무리 큰 글씨로 “이게 제목이야”라고 우겨도, 상당히 많은 사용자들은 그게 제목인지 알지 못하고, 제목만으로 내용 블럭을 구분하지 못합니다.
데이터가 담긴 표의 제목: <caption>
우리 나라 웹 페이지에서 잘 볼 수 있는 특이한 표현 방식 중에 하나는 빤히 데이터가 들어있는 대량의 텍스트나 표를 아예 이미지로 표시한다는 것입니다. 이렇게 이미지로만 표현된 데이터는 기계적으로는 아무 데이터가 아닙니다. 게다가 그것에서 유의미한 텍스트를 재활용한다든지, 추론을 한다든지, 일부를 복사한다든지, 시각적으로 크게 보기 위해 확대한다든지, 또는 줄인다든지, 더 선명한 색깔로 바꾼다든지, 나의 브라우저 환경에 맞게 재구성하거나 다른 감각 양식(modality)으로 바꾸어 전달해 주는 것이 거의 불가능합니다. 그래서 데이터가 담긴 표는 되도록이면 <table>이라는 요소를 이용해서 나타내야 합니다. 그리고 그 표가 무엇을 나타낸 표인지 한 개의 제목으로 압축해서 제목을 붙여주어야 합니다. 그럴 때에 <table> 바로 밑에다가 <caption>을 넣어주면 됩니다.
표 안에서 한 열이나 한 줄을 대표하는 제목: <th>
데이터가 있는 표는 보통 제목줄 또는 제목열과 일반 데이터가 있는 수많은 칸들로 이루어져 있습니다. 이 제목줄과 제목열에 예쁘게 하늘색으로 칠해준다고 제목이 되는 것이 아닙니다. 반드시 제목을 나타내는 요소인 <th>를 사용해야 합니다. 조금 복잡한 표의 경우 사용법이 좀 까다롭기 때문에 여기서는 이 정도만 언급합니다.
사용자 입력을 받는 폼 요소의 제목: <label>
웹의 저자가 일방적으로 무언가를 보여주는 것이 아니고, 사용자로부터 입력을 받는 양식을 폼(form)이라고 합니다. 폼에는 체크 상자, 라디오 버튼, 텍스트 입력 상자, 목록 상자 등 여러 종류가 있습니다. 그런데 이런 폼들이 달랑 폼만 나오면 사람들은 거기에다 무엇을 입력해야 하는지 모릅니다. 그래서 이런 폼에는 반드시 그게 무엇을 입력해야 하는 폼인지 제목을 <label>을 이용해 붙여줘야 합니다. 예를 들어 아이디를 넣어야 하는 입력 상자 앞에 그냥 텍스트로 “아이디”라고 넣어주는 것만으로는 부족합니다. 반드시 <label>을 이용해서 표시해주어야 합니다. 그렇게 해야 맥락을 파악하기 어려운 시각 장애인들이 해당 폼에 갑자기 툭 떨어졌을 때에, 그것이 “아이디”를 넣으라는 폼인지 알 수 있습니다.
유사한 여러 개의 폼 요소를 한 개의 집단으로 묶은 <fieldset>의 제목: <legend>
폼이 너무 많아지면, 폼 안에서 길을 잃을 수 있습니다. 예를 들어 회사 정보와 개인 정보를 각각 10가지씩 입력해야 하는 폼의 경우, 중간쯤 왔는데 “주소”를 넣으라고 하고, “우편번호”를 넣으라고 합니다. 그런데 이게 회사의 주소였는지 개인이 사는 집의 주소였는지 헷깔릴 수 있습니다. 따라서 이런 경우, 회사 정보 입력하는 부분을 묶어서 “회사 정보”라는 제목을 붙여주는 것이 좋습니다. 그럴 때 이용하는 것이 바로 <fieldset>이라는 요소입니다. 이렇게 함으로써 특히 폼을 쓰는 데에 어려움을 겪는 시각 장애인들이나 너무 많은 폼 안에서 이동의 어려움을 겪는 키보드 사용자들은 임의의 묶음으로 건너뛸 수 있어서 도움을 받습니다.
목록 상자에서 여러 개 목록 묶음을 대표하는 제목: <optgroup>
목록 상자(list box)에 목록이 너무 많을 때, 예를 들면, 전국 도시 이름을 목록 상자에 다 집어 넣고, 선택하라고 할 때에 순차적으로 목록을 탐색해야 하는 사람에게는 상당한 고역일 수 있습니다. 그럴 때에 도시들을 강원도, 경기도 등과 같이 지역별로 묶어서 제목을 적절히 붙여준다면 좀 더 쉽게 선택할 수도 있습니다.
용어 설명에 대한 용어 제목: <dt>
어떤 것에 대한 정의, 설명, 정의, 설명이 여러 번 반복된다면, 이것은 정의 목록(definition list, 즉 <dl>)을 이용하는 것이 좋습니다. 그래서 정의 부분은 <dt>로, 설명 부분은 <dd>로 나타냅니다. 이렇게 함으로써 이 설명이 무슨 용어, 또는 무슨 제목에 대한 설명이었는지 알 수 있게 됩니다.

참 다양한 요소에 제목을 붙일 수 있게 되어 있습니다. 꼭 HTML 문서가 아니더라도, 제목이 잘 붙어있어서, 접근하기 쉽고, 데이터로서 가치가 높은 양질의 문서들이 많으면 좋겠습니다.

2008-07-02

Job Opening: e-Learning Administrator

우리 회사에서 이러닝 경력자(정규직)를 뽑습니다. 7월 10일까지 지원 가능합니다. 우수한 인재들의 많은 지원을 기대하며, 개인 블로그에까지 올립니다.

Do you have a passion for providing quality online learning service to the people from all over the world? LG Electronics is looking for an e-learning administrator in Learning Center, Pyeongtaek, South Korea. This role requires you to manage corporate e-learning system and services for overseas employees. You will also develop globalized online training programs by yourself, or with the cooperation of outsourced vendors. If you have experience and skills in e-learning and are interested in communicating with people of diverse cultures, look carefully into the following job opening:

Responsibilities:

  • Manage e-learning services and system for overseas employees
  • Design and develop online courses based on the business needs
  • Support overseas administrators and employees to deal with training issues using technology

Requirements:

  • BA or MA in Education, Education Technology or a related field
  • Excellent written and verbal communication skills in English and Korean
  • Experience in developing online learning programs (courses)
  • 1+ year of experience in operating e-learning service or system
  • Good understanding of e-learning system, authoring tools, and Internet technology (HTML, CSS, SQL)
  • Excellent teamwork and analytical skills, strong passion to excellence

자세한 내용은 채용 공고 페이지를 참조하세요.

2008-06-12

비 라틴 계열 문자를 한꺼번에 엔티티 문자로 바꾸기

우리 회사에서는 오라클 사의 아이러닝(iLearning)이라는 학습 관리 시스템을 쓰고 있다. 그 시스템은 비교적 국제화(globalization)가 잘 되어 있어서 지금까지 영어, 한국어, 스페인어, 프랑스어, 네덜란드어, 독일어로 된 하위 시스템을 구축하는 데에 문제가 거의 없었다. (물론 그냥 데이터는 그 밖에 언어인 중국어, 러시아어 등을 쓰는 데에도 문제가 없었다.) 그런데 이번에 중국어(Simplified Chinese) 기반으로 다시 하위 시스템을 만드는 과정에 여러 곳에서 문제가 발견되었다. 중국어쪽 고객이 많지 않아서인지 아예 중국어쪽 메뉴 타이틀에 대한 사전(dictionary)을 만들어놓지 않은 경우도 꽤 있었다.

그 중에 하나가 로컬에서 만든 CJK(중국어, 일본어, 한국어) 문자가 포함된 유니코드 파일을 서버에 업로드하면 문제가 생겼다. 서버는 분명히 유니코드 인코딩 방식의 하나인 UTF-8로 페이지를 보여주고 있었지만… 처음에는 파일을 잘못 만들었나 여러 가지로 검토해보았으나, 문제는 명백히 서버 쪽에 있었다. 그래서 결국에는 원본 파일에서 CJK 문자를 쓰지 않도록 할 수 밖에 없었는데, CJK 문자를 문자열 단위로 HTML의 엔티티 문자(entity character)로 바꾸어주는 사이트를 이용하다가 이건 아무래도 너무 불편해서, HTML 타이디(Tidy)에 인코딩 방식을 자동으로 바꾸어주는 옵션이 있다는 것을 알았다. CJK 문자가 포함된 문서를 ISO-8859-1로 바꾸면서 CJK 문자를 한꺼번에 엔티티 문자로 바꾸려면 아래와 같이 하면 된다.

tidy --input-encoding utf8 --output-encoding latin1 input_file > output_file