프로그래밍 폰트 (코딩 폰트)

아직까지는 프로그램 코드 작성시 많은 사람들이 monospace 폰트(고정폭 폰트)를 사용한다.
이유는 다른 프로그래머가 다른 IDE로 소스를 보더라도 고정 폰트이면 비슷한 모습을 볼 수 있기 때문이다.
고정폭이 아니면 들여쓰기나 코드의 길이등이 일치하지 않아 코드를 보는데 어려움이 있을 수 있다.
게다가 문자가 헷갈리는 경우 코드 가독성이 확 떨어진다.

1lI|ㅣ!
oO0ㅇ
:;
[](){}<>
SsCcVvPp

위 글자가 모두 달리 보이고 확실히 구분되지 않으면
대소문자나 기호에 민감한 코딩에서 굉장히 불편해진다.
그래서 코딩을 하는 사람들은 각자 선호하는 코딩 폰트들이 존재한다.

이런 코딩을 위한 폰트 몇 개를 소개한다.

[D2Coding]

네이버에서 만든 한글이 지원되는 코딩용 폰트
나눔바른고딕 기반
[공식 페이지: https://github.com/naver/d2codingfont]
[소개글: https://bspfp.pe.kr/archives/1520]

[나눔고딕코딩]

네이버에서 만든 한글이 지원되는 코딩용 폰트
나눔고딕 기반
구글 폰트에 포함되었다. 하지만 개인적으로는 D2Coding이 더 나은 것 같다.
[공식 페이지: https://github.com/naver/nanumfont/blob/master/README.md]
D2Coding 과 비교 이미지

Consolas

MS에서 Windows Vista, Office 2007, Visual Studio 2010 에서 채택한 고정폭 폰트이다.
매우 훌륭하지만… 한글이 없다. 그리고 자유롭지 못하다. 즉, 라이센스가 필요하다.
ClearType Font이다.
[다운로드: https://www.microsoft.com/en-us/download/details.aspx?id=17879]
[Google Fonts] 에서 free 한 대체 버전인 [Inconsolata]가 있다.
Google에서 “Consolas 한글”과 같이 검색하면 한글관련 커스텀 작업 결과를 공유한 사람들의 자료가 나온다.

Vera Sans Mono

Bitstream 의 코딩용 폰트이다. Latin 알파벳만 지원한다. 즉, 한글이 없다.
물론 Google에서 “Vera Sans Mono 한글”과 같이 검색하면 한글 관련 자료가 나오긴 한다.
[다운로드 페이지: https://www.gnome.org/fonts/]

Deja Vu Sans Mono

Vera 를 기반으로 한 변형 폰트이다.
역시나 한글은 지원하지 않는다.
[공식 페이지: https://dejavu-fonts.github.io/]

Linux 의 Run Level

Run Level 은 Unix System V 스타일의 초기화를 구현하는 OS의 작동 모드를 말한다.

작동 모드는 각 OS 마다 조금씩 차이가 있지만 대체로

  • 0(Shutdown)
    OS를 종료
  • 1(Single User Mode)
    네트워크와 대다수의 대몬을 실행하지 않는 단일 사용자 모드
    마치 Windows의 안전모드 명령프롬프트와 유사한 형태
  • 6(Reboot)
    OS를 재시작

그리고 Linux의 일반적인 모드는 위의 모드에 추가로 아래와 같은 것들이 있다.

  • 2(Multi User Mode)
    네트워크 안되는 다중 사용자 모드
  • 3(Multi User Mode with Networking)
    CLI 기반의 대부분의 동작을 모두 수행하는 다중 사용자 모드
    보통 서버 환경에서 사용하는 모드
  • 5(with Display manager)
    Runlevel 3에다가 GUI를 위한 display manager를 추가한 모드
    보통 display manager는 X11 을 많이 사용한다.

[참고 자료: 위키의 설명: https://en.wikipedia.org/wiki/Runlevel]

현재 runlevel을 확인하는 방법은

runlevel
who -r

Linux Desktop 에 폰트 설치

Ubuntu + D2Coding 폰트를 기준으로 설명하자면

압축 해제 프로그램 설치
폰트 받기
압축 풀기
D2Coding/*.ttf 를 복사
폰트 캐싱하기

apt-get install unzip
wget https://github.com/naver/d2codingfont/releases/download/VER1.3.2/D2Coding-Ver1.3.2-20180524.zip
unzip D2Coding-Ver1.3.2-20180524.zip
mkdir /usr/share/fonts/truetype/D2Coding
cp ./D2Coding/*.ttf /usr/share/fonts/truetype/D2Coding/
fc-cache -v

wubi – Windows Ubuntu Installer

Windows 의 파일 시스템 아래에 Ubuntu를 설치해서 멀티부팅을 할 수 있게 하는 소프트웨어이다.
이제는 정식 버전은 discontinued 되었다.
정식 버전이 끊어지게 된 이유는 Windows 의 새로운 기능들과 충돌했기 때문이다.

이런 충돌문제를 우회하거나 조금 해소한 버전이 아직 진행 중이긴 하다.

[wubiuefi: https://github.com/hakuna-m/wubiuefi/]

장점

파티션을 나누지 않고 Ubuntu를 Windows와 같이 설치할 수 있다.
원하면 disk의 크기를 늘릴 수도 있다.
Hyper-V 에 설치한 것과 달리 PC의 H/W를 모두 사용할 수 있다.

단점

NTFS의 단점을 모두 가지고 있다.
느리다.
많이 느리다.

용도

주된 사용이 아니라 어쩌다가 가끔 잠깐 필요할 경우 사용하는 것은 좋다.
자주 사용하려면 파티션을 나누어 설치하는 것이 좋다.
어쩌다가 가끔 간단하게 사용한다면 Live USB 를 만들어 사용하는 것도 나쁘지 않다.

Linux 소개

Linus Benedict Torvalds에 의해 시작된 Linux Kernel 을 사용하는 OS를 묶어서 부르는 용어.
Unix 비슷한 시스템이지만 Unix는 아니다.
우리가 사용하는 Windows와 macOS를 제외한 나머지 컴퓨터들이 많이 사용한다.
예를 들면, 가정에서 사용하는 유무선 공유기, IPTV 셋탑박스, 이동통신 장비들, 안드로이드 휴대폰, …
2017년 11월 기준으로 세계 500위 안에 들어가는 슈퍼 컴퓨터는 모두 리눅스를 사용하고 있다고 한다.
1991년에 학부생이 자신의 PC에서 시작한 프로젝트가 이제는 전세계를 움직이고 있다.

리눅스 배포판

Linux 라는 것은 Kernel의 이름이다.
이 Kernel을 이용해서 다양한 OS가 만들어졌는데, 이들을 리눅스 배포판이라 부른다.

Desktop용 리눅스 배포판

BS가 처음 리눅스를 접하던 당시에는 정말 다양한 배포판들이 경쟁하고 있었다.
Red Hat, Gentoo, 심지어 한컴까지도…
시간이 흘러 데스크탑 PC를 위한 리눅스는 거의 시장에서 사라지고,
Ubuntu 정도가 쓸만하지 않을까 생각된다.

Server용 리눅스 배포판

서버용 배포판은 아직도 전쟁 중이다.
대표적인 배포판은
Ubuntu, Red Hat, SUSE 정도이다. (이 기준은 상용 클라우딩 컴퓨터 환경에서 지원하는가에 맞췄다.)
그 중 자유로운 것은 Ubuntu 뿐…
Red Hat 자유 버전정도로 생각할 수 있는 CentOS도 있긴하다…

그 외 배포판…

알 수 없다… 삼성 갤럭시 S7을 사용 중이지만 삼성이 핸드폰에 어떤 리눅스 배포판을 사용했는지 알려주지 않으니까…
마찬가지로 공유기를 사용하지만 어떤 배포판을 사용했는지 알려주지 않는다.
알 수 없도록 엄청 커스터마이징을 한 이유도 있다.
알아내고 싶은 생각도 없다.

전자민원 발급 지원 프린터 목록

대한민국에서 살아가려면 아직까지 IE를 사용할 수 밖에 없다.
참고로 IE는 2013년 출시된 IE 11 이후 더이상의 업데이트가 없는… 죽어있는 소프트웨어이다!!!
BS는 죽은 소프트웨어를 사용하는 것을 극도로 싫어하는 성격이다.

여전히 IE는 대한민국 No. 1 웹브라우저이다.
관공서, 은행, 병원… 어딜 가도 여전히 IE를 기반으로 하고 있다.
이유는 엄청나게 간단한 관리자 권한 획득!!!
웹사이트 제공자가 간단하게 내 컴퓨터의 관리자 권한을 획득하여,
내 컴퓨터의 모든 것을 모두 가로채 가기 위한 용도이다.
이게 보안에 좋다고 얘기한다.

아무튼 본론으로 돌아가서…
이런 대한민국에 살기 위해서 프린터를 하나 구입하는데에도 확인을 해야 한다.

대한민국에서는 프린터의 스풀링을 사용하면 3rd party software가 출력물을 쉽게 위변조할 수 있다는 아이디어에서 출발…
스풀링 없이 프린터를 제어할 수 있어야만 출력을 할 수 있도록 제한한다.
이에 따라 HP 등에서 제공하는 유니버셜 드라이버는 절대 출력을 하지 못한다.

같은 이유로 네트워크 공유된 프린터도 지원하지 않는다. 출력물이 프린터 서버에 저장되게 되면…
가짜 프린터 서버가 출력물을 위변조할 수 있기 때문이다.

참고로 스풀링은
컴퓨터 시스템에서 중앙처리장치(CPU)와 입출력장치(I/O Device)가 독립적으로 동작하도록 함으로써
중앙처리장치(CPU)에 비해 주변장치의 처리속도가 느려서 발생하는 대기시간을 줄이기 위해 고안된 기법이다.
즉, 엄청 빠른 CPU가 느려터진 프린터를 기다리느라 대기하는 상황을 피하기 위한 기법.

다시 본론으로 돌아와서, 이런 상황을 만든 대한민국 정부는 어느 곳에서 명확하게 출력이 가능한 프린터 목록을 제공하지는 않는다.
이래저래 검색해서 겨우 찾은 것이

[나이스 대국민서비스: https://www.neis.go.kr/pas_ica_cg00_006.do]

문제는 나이스 대국민서비스(www.neis.go.kr)를 만든 외주사?와 민원24(www.minwon.go.kr)를 만든 외주사?가 다르다는 점!!!
.go.kr 을 사용하는 사이트들이지만 개발 외주사마다 지원하는 프린터 목록이 다르다!!!
BS가 외주사가 만들었다고 생각하는 이유가 바로 여기에 있다.
같은 개발 부서가 만들었다면 지원하는 프린터가 다를 이유가 없지 아니한가!!!
또한… 우리나라 공무원 중에 이런 웹서비스를 직접 개발하고 운영할 수 있는 사람이 있기나 한 걸까?
하는 모습을 보면 절대 이런 것을 직접 개발할 수 있는 능력이 있다고 생각되지 않는다.

다시 본론으로… 아니 결론으로…

프린터를 구입할 때에는 정부 사이트에서 사용할 수 있는지 확인하자

워드프레스(WordPress) 소개

블로그 서비스 중 하나이다. 설치형과 서비스형으로 나눌 수 있다.

서비스형

https://wordpress.com/

무료 버전

네이버 블로그와 같이 아파트형 서비스이다.
xxx.wordpress.com 과 같은 도메인을 사용한다.
유저 커뮤니티를 통해 유저끼리 문제 해결을 해야 한다.
3GB의 저장 공간을 제공한다.
WordPress.com 에서 광고를 표시하게 된다.

개인용 최저가 버전

월 $4(그러나 년단위 결제….)
개인 도메인을 사용할 수 있다.
이메일, 채팅 등의 지원을 받을 수 있다.
6GB의 저장 공간을 제공한다.
광고가 제거된다.

설치형

https://wordpress.org/

설치형 블로그 소프트웨어 중에서 현재까지 활발하게 개발되고 유지보수 되는 것은 이것 뿐이라고 생각된다.
물로 [XE] 가 있기는 하지만… XE는 블로그를 위한 소프트웨어는 아니다.
블로그로 사용할 수 있다… 정도…

WordPress 플러그인 소개

Category Order and Taxonomy Terms Order
WordPress를 기본으로만 사용하면 카테고리 순서를 변경하는 것이 없다.
카테고리를 사용한다면 필수 플러그인이라 할 수 있다.

Duplicator
설치형이라면 반드시 사용하게 되는 플러그인이다.
블로그의 내용을 백업하고 복원할 수 있다.
능력만 있다면 블로그 내용을 다른 블로그로 이전하는 importer 도 만들 수 있다.

SyntaxHighlighter
프로그래머의 블로그라면 이 또한 필수 플러그인이라 할 수 있다.
블로그 포스트에 코드를 삽입할 때, 문법 강조를 사용할 수 있다.

TTXML Importer
텍스트큐브 기반의 블로그 백업 파일로부터 포스팅 자료를 가져오는데 사용한다.
https://github.com/channy/ttxml-importer
[포스팅 시점 최신 버전 다운로드: ttxml-importer-master]

웹 호스팅

간략 소개

웹 호스팅은 누군가가 만들어 둔 웹서버를 사용하는 것으로…
주택으로 본다면 하나의 건물에 여러 가구가 거주하는 “임대 아파트”와 같다.

서버를 관리하는 비용이 없이 간단하게 홈페이지를 만들 수 있기 때문에
웹서버만 필요한 경우라면 VPS나 자체 서버를 구축하지 않고 웹호스팅을 이용하는 것이 저렴하고 편리하다.

서버의 사양이 점점 높아져서 웹호스팅만 하는 경우라면, 하나의 서버에 상당히 많은 웹페이지를 넣을 수 있게 되어
과거의 웹호스팅에 비하면 굉장히 저렴한 제품이 많이 나왔다.

크게 Windows와 Linux 웹호스팅으로 구분되고, 가끔 Java 웹호스팅도 있긴 하다.
Windows 웹호스팅은 당연히 IIS와 함께 ASP를 기반으로 하고
Linux 웹호스팅은 대부분 Apache + PHP + MySQL(또는 MariaDB)를 제공한다.

또한 관리를 위한 SSH 접근을 허용하며, 대부분 FTP와 웹기반 DB 관리자도 지원한다.

웹호스팅 서비스 선택시 주의 사항

SSL 지원 여부를 확인해야 한다.
법령에 따라 회원 가입을 받는 사이트는 SSL을 사용해야 하는데, 업체마다 해당 내용이 매우 다르다.
지원을 아예 안하는 업체도 있고, 비싸게 팔아먹는 회사들이 대부분이고, 직접 발급받은 SSL 인증서를 사용할 수 있는 업체는 소수이다.
직접 발급 받은 인증서를 사용하지 못하면, 호스팅 업체가 부르는 가격대로 비싸게 SSL 인증서를 구입해야 하는데…
개인이 사용하기에는 너무 비싸게 받는다.

일 트래픽 제한이 충분한지 확인한다. 그리고 트래픽 제한에 걸리면 임시로 N회 풀어주는 것도 있는지 잘 확인한다.
트래픽 제한에 따라 초기 웹서비스를 세팅하기 위한 파일 업로드에 문제가 생길 수 있다.

서브도메인 지원 여부도 잘 따져 본다. 상당 수의 웹호스팅 업체가 서브 도메인을 지원하지 않거나, 자사의 도메인 서비스 이용시에만 가능하게 하는 경우가 많다.
이런 점에서는 외국 웹호스팅이 나을 수도 있다. 미국 웹호스팅 업체들은 이런 것 가지고 치사하게 장사하지 않는 업체가 많다.

웹호스팅 관련 사이트들

[iwinv]
하루 10원 용량 10G 트래픽 무제한… SSL 미지원…
하루 20원 용량 10G 트래픽도 10G… Let’s Encript SSL 지원

[코리아호스팅]
최저 사양으로 월 333원, 용량 500M, 트래픽 약 15G, 아주 기본적인 서비스, SSL 부가 서비스 지원

[80포트]
적당한 용량까지는 제한 없이 허용한다 하고, 최저가 기준 일 1G 트래픽
SSL 설정은 inames.co.kr 을 통해서 해야 한다.
지속적인 건전한? 운영을 한다면 무료 호스팅을 받을 수도 있다.

[bluehost]
미국 업체로 월 $3 정도에 50G 트래픽 무제한, Free SSL, 서브 도메인 지원, 이메일 계정 5개, 이메일 계정당 100MB 등!
같은 가격의 국내 서비스와 비교하면 좋은 편이다.
그리고 서버가 한국이 아니므로…