2016년 10월 8일 토요일

굴림, 돋움 제거 작전

아직도 많은 곳에서 굴림, 돋움 글꼴이 쓰이고 있다. 윈도우즈 7에서는 사용자가 바꿀 수 없는 기본 UI의 일부로 남아 있고, 많은 웹 페이지들은 기본적인 산스세리프(sans-serif: 세리프가 없는 고딕 계열 글꼴)로 굴림(Gulim)이나 돋움(Dotum)을 아직 많이 쓰고 있다. 굴림은 윈도우즈 3.1 시절에 처음 나왔고, 윈도우즈 95에서 기본 글꼴로 쓰이기 시작했는데, 해상도가 낮은 화면에서 9포인트(pt)에 특별히 디자인된 비트맵 글꼴 이미지가 깔끔하다는 이유로 아직 널리 쓰인다.

문제는 높은 해상도의 화면이 점점 더 많이 보급되면서 낮은 해상도에서 “특별히” 디자인된 굴림이 보기 싫은 경우가 많아졌다는 것이다. 나는 14인치 Full HD (1920 * 1080) 노트북을 쓰고 있는데, 웹 사이트에서 본문에 굴림 또는 돋움이 사용된 경우, 비트맵 글꼴이 너무 얇게 디자인 되어 있어서 보기가 상당히 고약하다. 화면을 확대해서 보기도 하는데, 그래도 큰 크기에 렌더링된 굴림은 힌팅(hinting: 수학적인 방법으로 윤곽선 폰트의 모양을 보완하는 것)이 안 되어 있기 때문에 상당히 못생기고 지저분해 보인다.

과거 윈도우즈 시절엔 대안이 없어서 굴림을 여기 저기 쓰는 것이 어쩔 수 없는 일이었지만, 이제 윈도우즈 사용자에게도 대안은 많이 있다. 윈도우즈 XP에서부터 나온 마이크로소프트의 클리어타입(ClearType: 마이크로소프트 윈도우즈 고유한 방식의 힌팅 기술)이 적용된 “맑은 고딕”이 있고 그 밖에도 대안은 아주 많아졌다. 적어도 세리프(serif: 꺾임이 있는 명조 계열 글꼴)가 아닌 산스세리프 글꼴에서는. 윈도우즈를 제외한 다른 운영체제(맥 OS, iOS, 안드로이드, 크롬 OS, 리눅스 등)에서는 굴림이라는 레거시 폰트가 존재하지 않기 때문에 문제가 없다. 네이버에서 만든 나눔고딕, 애플 산돌 고딕 네오, 구글의 노토 산스, 심지어 윈도우즈 폰에서도 마이크로소프트 네오 고딕이 기본 글꼴로 사용되고, 웹 제작자가 설사 굴림을 썼다고 하더라도 굴림이 OS에 없기 때문에 브라우저에서 정한 기본 산스세리프가 대체 글꼴로 나와서 정말 보기 싫은(ugly) 상황은 연출되지 않는다. 오직 데스크톱 윈도우즈에서만 과거 시대의 유물, 굴림을 봐야 하는 불쾌한 상황이 생긴다.

가장 좋은 것은 웹 페이지를 만드는 사람들이 제발 굴림과 돋움을 기본 글꼴로 안 썼으면 좋겠다. 그래서 과거에는 윈도우즈 시스템에서 굴림/돋움을 아예 물리적으로 다른 글꼴로 바꿔버리거나, 레지스크리를 바꾸어서 굴림/돋움이라는 글꼴명이 다른 글꼴을 가리키도록 하는 방법도 시도해보았다. 상당히 만족스럽다. 그런데, 웹이 아닌 다른 응용 프로그램(application)에서 일부러 굴림을 쓴 경우를 구별하고 싶었다. 그래서 좀 덜 과격한 방법으로 웹에서만, 원하는 경우에, 굴림과 돋움을 안 보기로 했다.

주요 브라우저들이 예전에는 장애인들의 웹 접근성을 높이기 위한 한 방편으로 사용자 스타일 시트(user style sheet)를 불러와서 웹 페이지를 사용자가 원하는 방식으로 볼 수 있도록 편의를 제공했었다. 그런데 굳이 사용자가 스타일시트를 정의해서 불러 쓰는 경우가 많지 않았는지, 언제부턴가 인터넷 익스플로러를 제외하고는 그 기능이 다 사라졌다. 그래서 부득이하게 브라우저 확장 기능을 써서 굴림 글꼴을 내 눈 앞에서 사라지게 했다. 우선 굴림과 돋움이 웹 사이트에 출현하면 그것을 다른 글꼴로 대체하는 CSS (Cascading Style Sheet)를 만들었다. 굴림의 대체 글꼴은 굴림과 모양이 상당히 유사한 나눔고딕을, 돋움의 대체 글꼴은 그냥 윈도우즈에서 기본 제공하는 맑은 고딕을 사용하였다.

@font-face {font-family: Gulim; src: local("NanumGothic");}
@font-face {font-family: Dotum; src: local("Malgun Gothic");}
@font-face {font-family: 굴림; src: local("NanumGothic");}
@font-face {font-family: 돋움; src: local("Malgun Gothic");}
cs

 

이제 브라우저별로 확장 기능을 사용해 위의 스타일을 모든 웹 사이트에 적용하였다. 사용자가 임의로 정의한 스타일시트나 스크립트를 사용하여 웹 페이지를 나만의 방식으로 보여주는 확장 기능은 상당히 많다. 대표적인 것이 초기에 센세이션을 일으켰던 파이어폭스에는 그리스몽키 (Greasemonkey)가 있고, 스타일만 바꿔주는 크롬용 스타일봇(Stylebot), 이와 유사한 스타일리시(Stylish)도 있다. 오페라, 크롬, 파이어폭스에 모두 있는 확장 기능으로는 커스텀 스타일 스크립트(Custom Style Script) (파이어폭스용, 오페라용, 크롬용)가 있다. 마이크로소프트 엣지 브라우저에도 확장 기능이 윈도우즈 스토어를 통해서 제공되는데 아직 사용자 정의 스타일을 쓸 수 있는 확장 기능은 없다. 인터넷 익스플로러는 자체적으로 사용자 정의 스타일을 불러다 쓸 수 있는데, 위와 같은 내용을 CSS로 만들어 로딩하면 이상하게 인터넷 익스플로러가 죽어버린다. 결국 오페라에는 커스텀 스타일 스크립트를, 크롬에는 스타일봇을, 파이어폭스에는 스타일리시를 이용해서 위와 같은 글꼴 대체 스타일을 적용했다. 보기 싫었던 굴림과 돋움을 웹 사이트에서 몰아내고 나니 웹 서핑이 한결 쾌적해졌다.

돋움 글꼴이 여러 곳에 쓰였다. zdnet.co.kr 기사
돋움 글꼴이 여러 곳에 쓰였다. zdnet.co.kr 기사
돋움 글꼴이 맑은 고딕으로 대체되었다.
돋움 글꼴이 맑은 고딕으로 대체되었다.

2016년 7월 5일 화요일

모짜르트 자장가 편곡

달빛 배경으로 아기가 그네 타는 그림

최근에 계속 머리 속에 맴도는 멜로디는 바로 널리 알려진 모짜르트 자장가였다. (실제 작곡가는 베른하트 플리스 Bernhard Flies 라고 한다.) 어렸을 적에 어머니가 “잘자라 우리 아가~” 하면서 불러주셨던 평화로운 노래였고, 나도 아이에게 잠자리에서 많이 불러주었던 노래이다. 그러나 우리 아이는 금방 이 노래 가사와 멜로디를 외워 버려서 내가 첫 소절을 부르려고 하면, 나를 중단시키고 자기가 우렁차게 불러재껴버리는 통에 자장가로서는 아무런 역할을 하지 못했다.

아무튼 아주 단순하고 소박한 멜로디를 가진 곡이다. 그냥 I, IV, V도 화음을 쓰면 곱고 소박하게 자장가로 제격인. 그런데 자꾸 여기에 이상한 화음을 붙이고 싶었다. 감화음과 단화음을 써서 해결 전의 불안함과 어두움을 넣고 싶었다. 그리고 7도 화음을 써서 단순한 5도 화음보다는 덜 안정적인 해결을 집어넣었다. 그러다보니 이게 더 이상 자장가로서는 어울리지 않게 되었다. 그렇게 된 이상, 좀 요란하게 변주도 한 번 넣어보고 싶어서 피아노 변주를 딱 한 개 넣어보았다.

곡을 만드는 데에는 뮤즈스코어(MuseScore)라는 오픈 소스 기보 프로그램을 썼다. 예전에 노트워디컴포우저(Noteworthy Composer)라는 상업용 프로그램을 구입해서 써봤는데, 뮤즈스코어가 훨씬 좋은 것 같다. 우리 나라에서 많은 사람들이 위의 상업용 기보 프로그램을 불법 복사해서 사용하고 있고, 특히나 교회나 성당의 성가대에서 불법 소프트웨어를 아무런 거리낌 없이 사용하는 사람들이 많은데, 뮤즈스코어로 전환하라고 자신있게 권하고 싶다. 그보다 더 전에는 케이크워크(Cakewalk)같은 미디 시퀀서 프로그램을 썼었다. (지금은 쏘나(Sonar)라는 전문적인 레코딩 프로그램이 되어서 나같은 아마추어가 쓰기에는 넘사벽이 되었다.) 미디 씨퀀서를 쓸 때에 비하면 기보 프로그램으로는 연주시의 섬세한 표현이 거의 불가능하다. 따라서 컴퓨터가 연주해주는 것을 들어보면 정말 깡통이 메트로놈에 맞추어 아무런 감흥 없이 두드리는 느낌이 난다. 그러나 근사한 악보로 곡이 남는다는 것이 큰 매력이다. 나중에라도 사람이 연주하여 더 그럴 듯하게 만들 수가 있으니까.

어쨌든 전문 작곡가가 아닌 나에게 이런 짧은 것 하나 만드는 것도 쉬운 일이 아니다. 가장 초보적인 티를 내는 것은 앞과 뒤가 일관성이 없어서, 하나의 곡으로서 응집력이 떨어지는 것이고, 이것이 내가 가장 두려운 점이다. 그러나 한 편으로는 지나치게 일관성을 추구하다가 아무런 재미와 변화도 없는 것이 나오는 것도 다른 한 편의 두려움이다. 어쨌든 이 두 가지 두려움 사이에서 줄타기를 하며 엉성하게 나온 것이 현재의 결과물이다. 아마추어의 작품이니 너무 가혹하게 평가는 하지 말아주시길 바라며 곡을 올려본다.

모짜르트 자장가 편곡 악보 보기

2016년 6월 1일 수요일

웹호스팅 서비스를 바꾸고 있습니다.

오랫동안 블로그 관리를 하지 않았습니다. 관리를 거의 하지 않았기 때문에 웹호스팅 서비스가 마음에 들지 않은 부분들이 많이 있었지만 그냥 그럭저럭 버티고 있었습니다. 그동안은 아사달 이라는 업체에서 제공하는 호스팅 서비스를 쓰고 있었는데 몇 가지 문제가 있었습니다.

  • 언제부턴가 구글 검색 로봇이 들어오질 못했습니다. 호스팅 업체에 물어보니 트래픽이 과하게 들어와서 기본적으로 검색을 막았다고 했습니다. 아니 검색을 못 하게 할 거면, 웹 페이지를 만들고 존재할 이유가 없어서 강하게 항의해서 겨우 검색 로봇이 다시 접근하긴 했는데 간간히 또 막히기도 했습니다. 물론 robots.txt에서는 검색봇을 차단하지 않았습니다.
  • 제공되는 DB 용량이 너무 작았습니다. 기본 50MB였던 것을 추가 요금을 내고 100MB로 늘렸는데, 101MB가 되자마자 바로 서비스가 중단되었습니다. phpMyAdmin을 통해 필요없는 스팸 테이블을 지우고 용량을 80MB 정도로 돌리고 나서, 다시 서비스 재개 신청을 해서 서비스가 복구되었습니다. 그러나 DB 용량이 99% 정도 되었을 때 사전 경고도 없었었고, 앞으로도 100MB 이내를 유지하기가 쉽지 않겠다는 생각이 들었습니다.
  • 소프트웨어 업데이트가 너무 느렸습니다. 물론 호스팅은 여러 사람이 쓰는 것이기 때문에 함부로 소프트웨어를 확 바꿀 수는 없다고 하지만, 이미 보안 결함이 발견되고 유지보수 기간이 지난 소프트웨어들이 계속 바뀌지 않아서 계속 머물러있고 싶지 않았습니다. 예를 들어 2016년 5월 31일 현재 최신 php 안정화 버전은 7.0.7인데 호스팅 서비스는 버전 5.2.12에 머물러 있었습니다. 문제는 이 버전은 이미 오래 전에 보안 결함 지원 기간이 지났다는 것입니다. 그리고 WordPress Mobile Pack과 같은 일부 워드프레스 플러그인은 구 버전 PHP에서 작동하지 않았습니다. 그래서 모바일에서 웹 페이지에 접근할 수 없었습니다. MySQL, phpMyAdmin, Apache와 같은 다른 소프트웨어도 너무 옛날 버전이었습니다.
  • 관리 방법에도 문제가 있었습니다. 저는 보안 전문가가 아니지만, 그래도 웹 페이지를 관리하기 위해 암호화되지 않은 ftp위험한 telnet을 쓰고 싶지는 않았습니다.

물론 문제점만 있었던 것은 아닙니다. 주로 게시판을 통해 문제를 제기하면, 주말이든, 새벽 시간이든 번개같은 속도로, 비교적 성실하게 답변이 달렸습니다.

이런 호스팅 서비스의 문제 외에도, 제 개인의 관리 소흘로 인한 문제도 있었습니다. 예전 홈페이지 데이터를 유지 보관(archive)하는 용도로 Express Engine (XE)을 쓰고 있었는데, 이게 아주 오래 전에 제로보드(Zero Board)부터 시작해 몇 번 해킹 사고를 당했었습니다. 우여곡절로 겨우 복구는 했는데, 뭐가 꼬였는지 관리자 로그인도 잘 안 되고, 그냥 버리고 싶지만 버리지는 못하는 상태로 질질 끌어왔습니다.

그래서 몇 군데 국내외 호스팅 업체를 알아보고, 아예 가상적인 서버 관리 환경을 제공해주는 클라우드 서비스 업체도 알아보았습니다. 많이 시장 조사를 한 것은 아니고, 그냥 눈에 띄는 몇 군데만 알아봤습니다. 서비스 결정에 몇 가지를 고려했습니다.

  • 그동안 취미로(?) 해왔던 기본적인 시스템 관리나 간단한 코딩, 퍼블리싱에서 오랫동안 손을 놓았기 때문에, 다시 복잡한 서버 관리를 할 자신이 없었습니다. 따라서 현석님이 최근에 옮겼다는 디지털오션과 같은 클라우드 컴퓨팅 환경으로 갈 자신이 없었습니다.
  • 국내 업체가 아닌 해외 업체도 알아봤는데, 워드프레스 호스팅으로 유명하다는 블루호스트는 서비스 신청 막판에 한국이 지원 국가로 수용이 안 되었습니다. 제가 무언가를 잘 못 했을 수도 있습니다.
  • 국내 업체들을 보니 가격 면에서 일단 카페24가 (특히 개인 사용자에게는) 꽤 저렴했습니다.

결국 카페24의 “10G 광아우토반 Full SSD” “일반형”(월 사용료 1,100원)으로 옮겼는데 이전 호스팅 업체에 비해 불편한 점 몇 가지가 있습니다.

  • 호스팅 요금 결재를 하려면 인터넷 익스플로러와 결재용 액티브엑스 플러그인을 깔아야 합니다. 최종 결재는 무통장 입금으로 했는데 이것도 생각보다 까다로웠습니다.
  • 로그인, 아이디, 비밀번호 찾는 데, 실명확인, 휴대전화번호 확인 등이 너무 복잡하고 반복적이어서 짜증이 났습니다.
  • 기본 하드디스크 용량이 500MB로 좀 작습니다. 대신 스트리밍 (주로 비디오, 오디오 파일 공간)과 CDN 디스크 공간 (주로 이미지와 기타 파일 공간)을 따로 제공해준다고 하는데, 신청을 해야 하고, 개인 사용자가 별도의 서버를 통해 그렇게 관리하는 게 아직은 더 복잡하게만 느껴집니다.

물론 이전 호스팅 업체보다 좋은 점도 있습니다.

  • 우선 SFTPSSH 를 쓸 수 있습니다.
  • 구 버전 MySQL 대신에 성능이 더 좋다는 MariaDB 10.1 로 갈아탔습니다.
  • php도 7.0 대로 올라간 덕택에 워드프레스에서 모바일 페이지 지원이 무난하게 됩니다.
  • DB 용량이 무한대이므로 용량이 넘칠까봐 걱정하지 않아도 됩니다.

이렇게 이사를 하니 집정리가 아직 좀 남았습니다.

  • 옮기면서 기술적으로 서툴기도 하고, 약간 바꾸고 싶은 것도 있고 해서, 게시물 데이터 DB는 옮겼지만, 이전 서버에서 사용하던 디자인, 플러그인, 기타 여러 가지 조정해놓은 환경은 옮기지 않았습니다. 워드프레스와 XE의 버전이 올라가면서 굳이 많은 플러그인을 쓰지 않고, 굳이 프로그램 소스를 거의 수정하지 않아도 예전과 비슷하거나 좀 더 나은 퍼블리싱 결과물을 얻을 수 있기 때문입니다. 그래서 디자인과 환경 설정을 더 해야 하는데 아직 못했습니다.
  • 그리고 아직 기존 도메인 gregshin.pe.kr 을 새 서버로 연동하지 않았습니다. 당분간 새 호스팅 환경에서 문제가 될 만한 것들을 다 수정하면 최종적으로 도메인을 연동할 생각입니다.
  • 도메인 연동 후에 소위 말하는 제 수준에서 손발로 하는 검색 엔진 최적화(Searcho Engine Optimization)웹 접근성을 높이기 위한 작업들을 좀 해야 합니다.

가장 중요한 것은 새 집에 담을 살림, 즉 콘텐츠와 글인데 얼마나 예전처럼 쓸 수 있을지 모르겠습니다. 아무튼 오랜 공백을 메울 수 있을지, 서서히 조금씩 가동을 해보겠습니다.