The note of Legendre

치약 뚜껑과 유저 인터페이스

Science/Computational
반응형
어제 이를 닦으려고 치약을 열려고 했는데, 손에 물이 묻어 있어서 치약 두껑과 손이 자꾸 미끄러지더라고요. 이게 어느정도 손과 뚜껑사이의 마찰력이 작용해야, 뚜껑이 쉽게 열리는 데 제가 사용하고 있는 뚜껑의 표면이 매끈했습니다. 그래서 미끄러운 손으로 뚜껑을 열어 치약을 쓰기란 어려웠어요. 게다가 치약 뚜껑은 사용하고 잠그면 그 치약의 남은 부분이 뚜껑이랑 자꾸 굳어 붙어버려서 결합이 세지고요. 그래서 여러 번 미끄러지니까 좀 불편하더라고요.
 
생각해 보면, 여태까지 사용해왔던 다른 치약의 뚜껑들은 이런 미끄러움을 방지하고자 뚜껑의 옆 표면을 울퉁불퉁하게 만들어 두었던 것 같아요. 그렇게 되면 마찰하는 정도가 단지 표면의 마찰 계수에만 의존하는 것이 아닌 손이 닿는 접촉면와 뚜껑의 구조적 요철면에서 더 마찰이 일어나서, 손이 미끄럽더라도 쉽게 뚜껑을 열 수 있게 되죠.

사람들이 원하는 어떤 목표가 있는데, 그것을 바로 이루어 주지 못하고 여러 번 실패를 걸치는 인터페이스랑 생각이 이어지게 되었어요. 컴퓨터 상에서도 메뉴의 편집-찾기를 누루는 것보다 Ctrl-F라는 단축키를 사용하는 게 더 간편한 것처럼 더 간단한 접근 방법을 제공하는 편이 사용자들에게 좀 더 유익하다고 봅니다. 그냥 잡생각에 그칠 수도 있지만, 앞으로도 불편을 겪으면 혹시 인터페이스가 문제는 아닐까 다시 생각해 보려고요. 어쩌면, 그런 곳에서 생각하지 못했던 통찰도 얻을 수 있을까 기대도 되고요.
반응형

XUL 프로그래밍

Science/Computational
반응형

- XUL

인터페이스는 사용자가 상호작용하는 도구와 기술의 부분입니다. 스크류드라이버에 비유하면, 이것은 손잡이입니다. 자전자에 비유하면, 이것은 좌석, 손잡이, 페달, 기어 레버입니다. 웹사이트에는, 이것은 정교하게 만들어진 사이트의 컨텐츠와 사용자가 컨텐츠를 얻기 위해 필요한 것으로, 웹 페이지를 돌아 다닐 때 필요한 도구를 포함하는 커뮤니케이션 환경입니다.

XUL이란 무엇일까요? 유명한 아르헨티나 시인이나 심지어 잘 알려진 유령 영화의 캐릭터라고 생각할지도 모릅니다. 그러나 XUL은 확장성 마크업 언어(eXtensible Markup Language)를 위한 사용자 인터페이스와 관련된 주제입니다. 이것은 웹 개발자와 프로그래머가 사용자 인터페이스를 만들기위해 사용해야 하는 언어로서의 힘을 얻고 있습니다. 이것은 XUL이 배우기 쉽기 때문입니다.

발음이 어려운 사람들에게, XUL은 "zool(줄)"로 발음합니다. cool(쿨)과 비슷하죠. 1980년대에 살았던 사람들이라면 한 무리의 사람들이 고스트 버스터즈처럼 "양성자 꾸러미" 배낭을 입은채 유령을 잡으러 뉴욕 주변을 활보하고, 마루에 꼼짝하는 것은 무엇이든지 파괴하며, 축가가 나오는 영화를 기억할 수도 있겠네요. XUL의 테마와 발음의 대부분은 앞에서 채택했습니다. 유령 파괴자(Ghost buster) 영화로부터 장난 식으로 시작했습니다. 이는 즐거운 것이 항상 좋은 것이라는 점에서 우리에게 괜찮습니다. 유머를 유지하는 것은 우리에게 이 브라우저끼리 다투는 세계에서 우리가 뒷걸음질 치지 않도록 하고, 우리의 노력이 얼마나 필요한지 일깨워 줍니다.

말하자면, XUL은 가볍습니다. XUL은 여러 플랫폼과 장치를 지원합니다. XUL 사용자 인터페이스를 만드는 화면 표현에 관한 명세입니다. XUL 그래픽 유저 인터페이스(GUI)는 다운로드 할 소형장치의 거대한 라이브러리가 더이상 없다는 점에서 가벼울 수 있숩나다. XUL 인터페이스는 이것들이 사용자 인터페이스를 위한 포괄적인 명세로부터 유래하였기 때문에 플랫폼 간에 호환됩니다.

Reference.

https://developer.mozilla.org/En/XUL 
https://developer.mozilla.org/en/The_Joy_of_XUL
https://developer.mozilla.org/en/XUL_Tutorial
https://goeverysite.appspot.com/developer.mozilla.org/ko/XUL
http://www-archive.mozilla.org/projects/xul/xul.html
(https://developer.mozilla.org/Project:Copyrights
 Creative Commons: Attribution-Sharealike license v2.5 or any later version.)

http://en.wikipedia.org/wiki/XUL 
Creative Commons Attribution-ShareAlike License (for Wikipedia)


반응형

티스토리에서 미투데이로 발행하기

Science/Computational
반응형
블로그의 글을 미투데이로 보내는 플러그인이 없어서 찾아보던 중에 twi2me라는 사이트를 통해 트위터의 글을 미투데이로 발행하는 기발한 방법이 있었네요.(더 자세한 내용은 아래 참조 링크로 들어가시면 됩니다.) 그 원리는 티스토리 자체에서 "트위터 보내기 플러그인"이 제공되기 때문에 twi2me로 두 번 발행해서 티스토리의 글을 간접적으로 발행하는 것입니다. 다음과 미투데이의 인수회사인 서치솔루션이 네이버로 인수되면서 경쟁사인 포털사이트라 그런지 제공이 안 되는 게 아닌가 하는 느낌이 드네요. (트위터 보내기 플러그인을 본다면 다음이 분명 능력이 없어서 지원을 못 하는게 아니라 능력이 있어도 안하는 것 같으니깐요. )

서비스가 다른데 하나의 서비스로 전체를 제어하고 싶어하는 사람들의 욕구 때문에, 그래서 프렌드피드(friendfeed)같은 웹 서비스가 나오고 호응을 얻는 것 같네요.

 전 정보가 중복되는 걸 검색 로봇에서 헷갈려 하기도 할 것 같고, 그런 걸 싫어해서 아직 적용하지는 않았어요. 구태여 RSS라는 간편한 방법이 있으니까 개인의 취향에 따라 선택해서 사용하시면 될 듯 합니다. 

반응형

MS 오피스 공식 블로그

Science/Computational
반응형
Korea Office Core Team Blog라고 한국 마이크로소프트에서 마이크로소프트 오피스 프로그램을 주제로 블로그를 운영하고 있는지 여태 몰랐다. 잘 홍보가 안된 건지, 아니면 내가 관심이 없었던 건지 잘 모르겠지만 유익한 정보들이 많이 있어서 읽는 재미가 쏠쏠했다. 오피스 프로그램을 사용할 일이 있고, 관련된 팁에 관심 있는 사람이라면 RSS로 구독해 볼만 하다. 

그중에 가장 유익했던 글은 번잡한 오피스 문서 History를 안 보이게 하는 법에 관한 포스팅이었다. 스크린샷이 영문인 것으로 보아 번역한 것인지 의문도 들지만 그래도 대체로 따라하기 쉽게 설명해 주었다. 또한, 고급 사용자를 위해 기술 자료와 관련된 심화 정보는 링크로도 제공하는 부분이 인상적이었다. 

한국 MS 기술지원부에서 블로그를 통해 소비자와 소통하려고 하는 모습과 태도가, 소비자들에게 좀 더 잘 알려졌으면 좋겠다.
반응형

구글 크롬을 설치했다

Science/Computational
반응형
웹 페이지 로딩 속도도 한결 빠르고, 메모리 점유도 about:memory를 통해 확인해 보니 다른 웹 브라우저보다는 메모리 할당이 적은 것 같다.

구글 사전 바로 찾는 단축키 설정을 하니까 모르는 단어 뜻 찾아보기가 한결 수월하다. Adblock애드블락 같은 편리한 파이어폭스 플러그인을 사용하지는 못하지만, 그냥 장단점 있는 대로 그때그때 맞추어서 사용하면 될 것 같다. 구글 크롬에서는 파이어폭스에서 티스토리 글쓰기 창에서 일어나는 글자 입력하면 커서가 자꾸 뒤로 후퇴하는 현상이 일어나지 않아서 좋다. 영아 맞춤법 검사 기능(틀린 단어 빨간 밑줄 쳐지는 기능)은 기본 설정이 되어 있길래 거추장스러워서 꺼버렸다. 비밀번호 저장도 자꾸 물어봐서 옵션에서 꺼주고, 번역할까 말까 물어보는 것도 영어에 한해서 설정을 꺼버렸다. 이렇게 취향에 맞게 고쳐놓으니까 크롬에 정이 간다.

Google 크롬은 Windows, Mac, Linux 등의 플랫폼으로 개발되었다. 온라인상으로 배포되고 있어서, 내려받아 설치 후 사용할 수 있으며 MS 익스플로러에서 사용하던 즐겨찾기 등의 데이터를 북마크로 이전할 수도 있다.
반응형

티에디션 발행기

Science/Computational
반응형
티에디션이라는 기능이 생겼습니다. 제 블로그는 수학, 물리, 전산 등을 주제로 운영되는 블로그인데
요즘 들어 리눅스를 만져볼 일이 많이 생겨서, 리눅스를 주로 포함한 티에디션을 발행해 보았어요.

리눅스의 압축 해제나 사용자 계정 관리, 비프음에 관련된 명령어와 리눅스 네임 서버 등을 리눅스 관련 주제로 다루고 있어요.
리눅스 커맨드 라인 명령어가 많으니, 실습하려면 콘솔 환경이나 ssh 등으로 접속할 수 있는 터미널 서버가 필요하겠네요.
그 외에 수학 교양 도서 "허수"의 리뷰, 열린 주소창 DNS 후킹 서비스에 대한 단상 등이 포함되어 있습니다.
반응형

DNS 벤치마킹 하기

Science/Computational
반응형
구글 코드에서 namebench라는 프로젝트가 있습니다. DNS란 본래 Domain name system이나 Domain name service의 약자인데요. 이 DNS의 설정에 따라, 인터넷 속도를 더 빠르게 할 수 있는 경우가 있습니다. 구글에서 진행하는 프로젝트라 좀 더 신뢰가 가네요. 구글은 직접 공용 DNS(Google Public DNS)를 제공하기도 합니다.

사용법은 매우 직관적입니다. 다운 받은 파일을 자동 압축 해제(extract) 파일인데 실행하고 나면 압축이 해제된 이후에 파이썬 프로그램이 하나 실행됩니다. 기본 설정에서 대부분 바꿀 필요없이(웹 브라우저나 벤치마킹 방식 등을 바꿀 수 있습니다.) Start Benchmark를 누르면 벤치마킹을 마친 후 웹 페이지를 띄어서 결과를 알려줍니다.

몇 퍼센트 개선할 수 있는지, 어떤 DNS 서버로 바꾸면 좋은지 Primary와 Secondary로 추천을 해 줍니다. 이 프로그램 자체는 DNS 수정을 하지 않기 때문에 직접 설정을 바꾸어 주셔야 합니다. 윈도라면 '내 네트워크 환경 - 로컬 영역 연결 - 속성 -일반 탭에서 인터넷 프로토콜(TCP/IP) 선택 후 속성 - DNS 서버 주소 설정'에서 DNS 서버 주소를 자동에서 수동으로 설정하거나 바꿀 수 있습니다.
 
전 34 % 개선이 가능하다고 해서 추천된 걸로 바꾸었더니, 인터넷 속도가 빨라진게 체감할 정도입니다. 정말 신기하네요. 몰랐던 DNS 서버들도 많이 있다는 것도 배우게 되고요. 인터넷 속도가 만족스럽지 못하시다면 한번 써 보시는 걸 추천합니다.
반응형

능률적인 프로그래머

Science/Computational
반응형
닐 포드가 지은 책으로, 부제는 '프로그래머 생산성의 비밀'입니다. 가장 기억에 남는 부분은 다종언어(polyglot) 프로그래밍이었는데요. 자바를 대상으로 그루비(자바로 루비를 구현한), 자스켈(자바와 하스켈), JRuby(자바와 루비), Jython(자바와 파이썬) 등 자바가 가진 태생적 언어 한계를 다른 언어 프레임으로 해결할 수 있도록 하는 개념인데요. 

물론 개발자의 편의와 유지보수를 위해 어느정도 성능이 희생될 수 있지만, 무어의 법칙에 의해 컴퓨터의 성능도 비약적으로 발전하고 있기 때문에 큰 문제가 되지는 않을 것 같네요. 또한, 비즈니스 목적의 애플리케이션이라면 어차피 유지보수하면서 누군가에게 인수인계해야 합니다. 문서화가 잘 되어있지도 않은데 코드도 가독성이 낮다면 최적화에 대한 비용을 나중에 더 크게 치르는 셈이 되죠. 아예 성능과 최적화가 꼭 필요한 애플리케이션(이를테면 수치해석처럼 대량의 계산이 일시에 필요하다든지)이라면 처음부터 멀티코어, 다중스레드, 병렬화 등을 적용하고 MPI나 얼랑처럼 그에 맞는 도구를 쓰는 편이 더 낫겠지요. 결국 목적에 맞는 설계를 처음부터 하는 게 중요하겠네요.

앞의 에디터에 관한 팁같은 것도 즐겁게 읽었네요. 실용적인 프로그래머 이후로 약간 이 책은 기술적인 부분에 치우쳐 있긴 하지만, 좋은 참고가 될 것 같네요.
능률적인 프로그래머
카테고리 컴퓨터/IT
지은이 닐 포드 (지앤선, 2009년)
상세보기

반응형

Linux에서 DNS nameserver 설정하기

Science/Computational
반응형
Ubuntu를 기준으로 ip, gateway, subnet mask 등은 /etc/network/interfaces에 설정되어 있다.
service networking restart
를 사용하여 변경한 설정을 적용할 수 있다. 
ifdown eth0
(또는 사용하고 있는 device에 따라 eth1처럼 달라질 수 있음, ifconfig으로 확인)
ifup eth0
도 사용 가능하다.

ping google.com
하면 unknown host 같은 메시지가 나올 수 있는데, 이는 네임서버 설정이 잘못되었기 때문이다.

vi /etc/resolv.conf
를 통해 nameserver 설정이 잘 되어 있는지 확인한다.
nameserver= (DNS IP 주소)
가 있는지 확인해 보고 없으면 DNS IP 주소를 추가해 준다.
DNS의 목록은 다음 링크를 참조할 수 있다.


참고 자료. (영문)
http://www.linuxquestions.org/questions/debian-26/ping-unknown-host-www-google-com-398599/
반응형

tar 명령어

Science/Computational
반응형
파일을 묶거나(압축하거나) 해제할 때 사용한다.
tar jxf name-of-the-file.tar.bz2
v option을 쓰면 커널 소스 같은 경우 overhead가 커짐. 

http://edmir.egloos.com/2832804
반응형