2014년 4월 27일 일요일

visual studio 2012 글꼴 및 테마 설정

글꼴 :

 visual studio 2012로 프로그래밍 하던 중, 상당히 거슬리는 문제점을 하나 발견했다. 바로 '글꼴'. visual studio에서 기본적으로 제공하는 '돋움체'는 코드의 가독성과는 상당한 차이가 있었다.

<visual studio 2008 - 돋움체>

 사실 이제껏 별 문제 없이 사용해 왔으나, 문제를 인식하고 나니 그냥 사용하기 껄끄러워졌다. 사람 마음이란 참... 그래서 윤성우 저자의 책과 인터넷을 이리저리 뒤지고 다닌 결과, 마이크로 소프트에서 개발자용 글꼴로 'consolas'를 배포한다는 것을 알았다.

<visual studio 2008 - consolas>

  확실히 가독성이 좋다. 그러나, 영문에 중점을 맞춰 글꼴을 개발하다 보니 한글이 너무 보기 흉하다(나만 그렇게 느낄 수도). 그래서 구글링을 하다보니, 레지스트리에 접근해서 영문글꼴에 지원되는 한글 글꼴을 설정하는 방법이 있다. 하지만, 난 글꼴설정에 쏟을 시간에 프로그래밍 공부를 한자라도 더 하고 싶기 때문에(귀찮고, 게을러서) 더 간편한 게 없을까 뒤져봤다.

<visual studio 2008 - 나눔고딕코딩>

 그래서 찾은 글꼴이 네이버에서 무료로 제공하는 '나눔고딕코딩'. 가독성도 좋고, 한글도 위화감없이 잘 어울린다. 게다가 무료에 설치도 간편하기까지! 맘에 든다.


테마:

 글꼴을 바꾸고 신나게 사용하던 중, 윤성우 저자의 카페에서 신기한 것을 보았다. visual studio 2010버젼 이상에서 지원하기 시작한 '테마'. 기존의 흰 바탕에 검은 글씨가 눈 아프다(눈에 그다지 좋진 않겠다) 생각하고 있었는데, 이런 기능이 있었을 줄이야!

<visual studio 2012 - 색 테마 '어둡게', 글꼴 '나눔고딕코딩'>

 하루 정도 화면을 들여다 본 결과 눈이 좀 편한 느낌이 들긴 한다. 게다가 왠지 모르게 예쁘다. 하하하.

Etc:

 visual studio 6.0부터 사용된 'Fixedsys'부터 Linux에서 사용하는 'Bitstream Vera Mono', 'Courier New'등등. 다양한 글꼴이 존재하니 맘에 드는 글꼴을 골라 나만의 컴파일러를 세팅하는 재미를 느끼는 것도 괜찮을 듯.

Viper Wiki :
http://www.viper.pe.kr/cgi-bin/moin.cgi/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%EC%9A%A9_%ED%8F%B0%ED%8A%B8



 테마 역시 많은 제작자들에 의해 다양하게 배포되고 있다. 인기 테마부터 최근 등록된 테마까지.

StudioStyles :
http://studiostyl.es/schemes



적용 방법은 많은 사람들이 스크린 샷을 통해 다양하게 소개하고 있으니 생략.

visual studio 테마 적용 :
https://www.google.co.kr/search?q=visual+studio+%ED%85%8C%EB%A7%88+%EC%A0%81%EC%9A%A9&oq=visual+studio+%ED%85%8C%EB%A7%88+&aqs=chrome.2.69i57j0l2j69i60j0l2.13764j0j7&sourceid=chrome&es_sm=93&ie=UTF-8

2014년 4월 20일 일요일

논어論語 : 안연顔淵 편 - 7 자공이 정치에 대해 묻다子貢問政

子貢問政, 子曰 "足食, 足兵, 民信之矣."

子貢曰 "必不得已而去, 於斯三者, 何先?"

曰 "去兵."

子貢曰 "必不得已而去, 於斯二者, 何先?"

曰 "去食. 自古皆有死, 民無信不立."

  자공이 정치에 대해서 여쭙자, 공자께서 말씀하셨다. "식량을 풍족하게 하는 것. 군비를 넉넉히 하는 것, 백성들이 믿도록 하는 것이다."

  자공이 말하였다. "어쩔 수 없어서 한 가지를 버려야 한다면 세 가지 가운데 어느 것을 먼저 버려야 합니까?"

  "군대를 버린다."

  자공이 여쭈었다. "어쩔 수 없어서 한 가지를 버려야 한다면 어느 것을 먼저 버려야 합니까?"

  "식량을 버린다. 예로부터 모두에게 죽음은 있는 것이지만, 백성들의 믿음이 없으면 나라는 존립하지 못한다."

공자孔子 - 김형찬 옮김, <논어論語>, 홍익출판사

##########

  2014년 04월 21일. 마음이 무거운 이때에 와닿는다. 믿음은 있는가?

2014년 4월 7일 월요일

scanf 함수를 이용해 입력할 시 주의점 - 입력버퍼에 관하여



scanf(const * char format, ...);

 C언어를 배우면서 아마 처음으로, 대표적으로 배우는 입력에 관한 함수가 scanf함수일 것이다. 정해진 거 출력만 할 줄 알다가 이제 슬슬 입력 내용에 따라 출력물이 달라지게 할 수 있다는 데에 재미를 느끼기도 한다. 그런데 이 함수, 사용하는데 문제가 좀 있다.


 정말 구세주 같은 글이었다. 대체 왜!! 내 맘대로 출력이 안되는 것인가를 고민하고 고민하던 때에 접하게 된 글. 입력버퍼에 \n 이 남아있기 때문이었다니! 세상에나!!

 결국 scanf함수를 통해 사용자로부터 프로그래머가 원하는 값을 입력받으려면 입력버퍼를 비우거나, " %c"의 형태로 빈칸을 넣거나 해야 한다는 것. 아, 어려우면서도 놀랍다.

2014년 4월 1일 화요일

자료형 일치에 신경쓰자.



char <= short <= int <= long <= long long


 C언어를 배우면서 가장 기본이 되는 것은 역시 '자료형'이다. 인간의 생각으로 개발한 물건이라서 그런지 컴퓨터 역시 우선 '저장' 후에 '연산', '출력'을 한다. 이 3가지의 기본이 되는 것이 자료형. 0과 1만 입력 가능한 컴퓨터의 메모리에 '어떻게 쓰고, 어떻게 읽어올 것인가'를 결정해주는, 다양한 표현이 가능하게 하는 것이 자료형이라고 배운 것 같다.(... 가르쳐준 책과 선생님은 이렇게 생각 안하는데 나만 이렇게 생각하는 것일 수도?)

 이렇게 다양한 자료형이 존재하기 때문에, 표현의 범위도 넓어지지만 실수할 가능성(?)도 커지는 것 같다. 요즘은 컴파일러가 알아서 작은 자료형과 큰 자료형이 연산에 들어있을 경우, 큰 자료형에 맞춰주지만... 이런 똑똑한 컴파일러를 사용할 수 없는 환경에서 컴파일 했다면 아마 엄청난 에러를 발생시켰을 거 같다. 기본이고, 나름 단순하다 생각하는데 왜 이렇게 틀려대는 건지. 역시 수 없이 반복하는 수 밖에 없는 걸까.