프로그래밍할 때 쓰기좋은 폰트 : Dina

뭐니뭐니 해도 i, I, l, L, 1, 0, O, o의 특징이 모두 다르다는 거.
동시에 가독성도 높다. Fixedsys처럼 글자의 폭이 모두 동일하다.^^


Visual Studio 6.0에서 사용중인 Dina 폰트

흰색 바탕은 눈이 아프기에 색상을 좀 바꿔봤다.

배경은 검은색.
글자는 흰색.
예약어는 연두색.
주석은 진한 회색.

그나마 좀 낫다. 안타까운 점은 한글로 쓰면 모양이 좀 찌그러 진다는 점...
주석쓰는 거 빼고는 대부분 영어로 쓰니까 무시해도 될 정도...




깔끔하다~ 더 이상 할 말이 없다. 그냥 좋다.
더 좋은 폰트는 이제 없는 걸까 -_-a





Visual Studio 2008에서 사용중인 Dina 폰트

색상은 내가 바꾼 게 아니고 Color Scheme을 다운받아서 설정을 불러왔다.
원래는 이 폰트가 아닌데 바꿔줬다. 조금 작다고는 생각하지만 8pt로 사용.
Bold로 바뀌었을 때 대문자 M과 소문자 m이 살작 헷갈린다고 주변에서 얘기하지만
나는 괜찮던걸 -_-a.......................
게다가 2008에서는 다행히 한글 모양이 찌그러지지 않는다. 대만족 (T_T)




깔쌈하이 좋다~ 흐하하하~






Dina.fon


자~ 다운 받으시요잉~

by 사야오빠 | 2009/05/19 22:22 | Download | 트랙백 | 덧글(4)

오름차순(Ascending), 내림차순(Descending)

오름차순과 내림차순을 꽤 헷갈려하는 사람들이 있다.
물론 나도 그 중에 속해있긴 했지만 말이다.

나는 잘 외우지 못한다. 아니 그것보다 외우는 걸 싫어한다. 귀찮기도 하고...
그래서 어떻게 연관지어서 생각했냐.......하면......

일단 하나만 기억했다. Descending.
디센딩이라고 읽으면 되는데 디센딩에서 D가 Down과 연관이 바로 되는 거였다.
아................내려가니까 내림차순이구나.
그럼 Ascending는 반대니까 오름차순이겠네...

이걸가지고 몇 년이 지난 지금에도 까먹지 않고 있다.
그냥 내 나름의 기억법이다. 허허...

오름차순 : 1, 2, 3, 4, 5, 6, ..., 98, 99, 100. 이런식인 거...
내림차순 : 100, 99, 98, 97, 96, ..., 4, 3, 2, 1. 이런식...

by 사야오빠 | 2009/05/19 10:09 | Terms | 트랙백 | 덧글(2)

USB 또는 CD 자동실행 막는 방법

1. 실행창 gpedit.msc - 사용자구성 - 관리템플릿 - 시스템 - 자동실행 사용안함 더블클릭 - 사용(모든드라이브)

2. 시작 - 제어판 - 관리도구 - 서비스 - shell hardware detection - 중지

3. USB난 CD를 삽입하고 왼쪽 Shift를 누르고 있는다.

by 사야오빠 | 2009/03/27 14:49 | 트랙백 | 덧글(0)

CD나 USB를 삽입하면 나오는 자동실행 옵션 끄기


시작 표시줄 → 실행 → gpedit.msc라고 입력하고 확인 → 컴퓨터 구성 → 관리템플릿 → 시스템 →


자동실행사용안함 의  마우스 오른쪽 클릭 → 속성 → 사용  → 자동실행 사용 안 함 : 모든 드라이브

by 사야오빠 | 2009/03/26 02:11 | Tip | 트랙백 | 덧글(0)

소수 구하는 알고리즘 1


1과 자기 자신을 약수로 가지는 수


소수의 정의는 위와 같다. 15라는 수가 있으면 15는 1과 15만으로 나누어져야 소수가 된다.
허나 15는 1, 3, 5, 15으로 나누어지기 때문에 소수가 아니게 되는 것이다.
19는? 1과 19가 아니면 나누어지는 수가 없으므로 소수가 맞는 것이다.

그럼 이런 경우로 봤을 때 간단하게 아래와 같은 로직이 나온다.
(아래에서 n이라는 것은 소수인지 판단하고자 하는 수이다.)

1) 특정 변수를 이용해 2부터 n - 1까지 증가
1-1) 증가 이후에 특정 변수가 n과 같아지면 n은 소수가 된다.
2) n을 1번과정의 변수로 나누었을 때 나머지가 0이 되면 n은 소수가 아니다.
3) 나누어 떨어지지 않으면 특정 변수를 1 증가시키고 반복

그리 생각보다 어렵진 않지만 처음 만들려고 해보면 생각이 잘 안난다.
이럴 때는 손이 고생해야된다. 무조건 손이 고생해야된다!(좀 쓰라는 말이다! 머리만 믿지 말고!)













자...이런식이다. 그런데 이런식으로 로직을 짤 경우에는 약간의 문제가 있다.
바로........속도!!!!

그럼 이러한 속도 문제를 해결하려면?





ps 포스팅 예정은 내일...

by 사야오빠 | 2009/02/18 23:34 | Algorithm | 트랙백 | 덧글(1)

러시아 농부 알고리즘(a la russe ; Russian Peasant Algorithm)

41과 53이라는 두 개의 정수가 있다. 이 두 개의 곱을 구하려면 어떻게 해야할까?

초등학교 때 배운 곱셈을 생각해보자.

 41
×53
-----
  123
205
-----
2173

이런 결과가 나온다. 이건 그냥 편하게 보라고 해놓은 것이고 가로로 길게 써보면...

41 × 53 = (41 × 3) + (41 × 50)

이렇게 되겠다........그런데 이 방법 말고도 덧셈으로(솔직히 말하면 100% 덧셈은 아니다.)
곱의 결과와 똑같은 결과를 내놓을 수 있는 방법이 있다. 이름하여 '러시아 농부 알고리즘'이라는 것이 있다.

방식은 이러하다.

1) 두 개의 정수중 첫 번째 정수가 홀수이면 두 번째 정수값을 누적시킨다.
2) 첫 번째 정수가 1인가?
2-1) 맞으면 끝
2-2) 아니면 첫 번째 정수는 반으로 나누고, 두 번째 정수는 2를 곱한다.
3) 첫 번째 정수가 1이 될때까지 1번부터 반복한다.

그럼 위에 있는 41과 53의 경우로 위의 예제를 적용시켜보자.













이런식으로 나온다. 과연 이러한 방법이 좋은가? 아니면 그냥 곱셈으로 쓰는 것이 좋은가?
정확하게 딱 잘라 이게 옳다고 말할 수 없을것이다. 왜냐하면 사람의 입장에서는 곱셈으로 표현하면
컴퓨터의 내부적인 로직으로 자기가 직접 결과를 내놓을 것이기 때문이다.

하지만 컴퓨터의 입장에서는 러시아 농부 알고리즘 처럼 덧셈만가지고 연산을 하기 때문에
이 알고리즘이 더 낫다는 것이다.

이번은 그냥 이러한 알고리즘이 있다는 것만 소개하고 있으니 심심풀이로 읽고 넘어갔으면 한다.

by 사야오빠 | 2009/02/18 11:32 | Algorithm | 트랙백 | 덧글(4)

◀ 이전 페이지다음 페이지 ▶