2017년 10월 18일 수요일

Windows 10, Windows Server 2016 정보

Windows 10, Windows Server 2016 에 어떠한 변화가 있는지 가끔 궁금할때가 있다.

물론 구글에서 검색하면 다양한 정보를 얻을 수 있다.

가끔 생각날 때는 아래 사이트에 접속하기도 한다.

http://jsb000.tistory.com/category

Windows 10, Windows Server 2016 에 대해 정리를 해 놓은 곳이다.

어떤이에게는 별 도움이 되지 않은 내용일 수도 있겠고,
어떤이에게는 소소하게 도움이 되기도 할거 같다.

그래서 결론은? 도움이 된다는겨? 안된다는겨?
케바케.


2017년 10월 16일 월요일

쉘 프롬프트 혹은 출력에 컬러 변경

평소에 우리가 사용하는 터미널(쉘)은 검은 바탕화면에 흰 글자이다.

종종 다른색으로 출력하고 싶을 때가 있다.
쉘은 화면에 출력을 할 때, 컬러를 변경할 수 있다.

% echo -e "\033[31m 글자색:빨강 \033[0m"
 글자색:빨강

출력하고 싶은 글자에 옵션을 주면 원하는 컬러로 출력 가능하다.

옵션은 쉘에서 적용을 받기 때문에,
프로그램을 만들때도 사용 가능하다.

#include <stdio.h>

int main() {
    printf("\033[34m 글자색:파랑 \033[0m\n");
    return 0;
}

 글자색:파랑

칼러 값 변환 테이블이 있으니, 원하는 값으로 설정하면 된다.

출처 : https://en.wikipedia.org/wiki/ANSI_escape_code#Colors

위 테이블에 나와있는 컬러로 출력해보자.

#include <stdio.h>

int main() {
    printf("\x1b[30m"   " Black"          "\x1b[0m" "\n");
    printf("\x1b[31m"   " Red"            "\x1b[0m" "\n");
    printf("\x1b[32m"   " Green"          "\x1b[0m" "\n");
    printf("\x1b[33m"   " Yellow"         "\x1b[0m" "\n");
    printf("\x1b[34m"   " Blue"           "\x1b[0m" "\n");
    printf("\x1b[35m"   " Magenta"        "\x1b[0m" "\n");
    printf("\x1b[36m"   " Cyan"           "\x1b[0m" "\n");
    printf("\x1b[37m"   " White"          "\x1b[0m" "\n");
    printf("\x1b[30;1m" " Bright Black"   "\x1b[0m" "\n");
    printf("\x1b[31;1m" " Bright Red"     "\x1b[0m" "\n");
    printf("\x1b[32;1m" " Bright Green"   "\x1b[0m" "\n");
    printf("\x1b[33;1m" " Bright Yellow"  "\x1b[0m" "\n");
    printf("\x1b[34;1m" " Bright Blue"    "\x1b[0m" "\n");
    printf("\x1b[35;1m" " Bright Magenta" "\x1b[0m" "\n");
    printf("\x1b[36;1m" " Bright Cyan"    "\x1b[0m" "\n");
    printf("\x1b[37;1m" " Bright White"   "\x1b[0m" "\n");
    printf("\n");
    return 0;
}

아래와 같이 결과가 나온다.


※ 컬러를 변경할때 \033 으로 시작을 해도 되고, \x1b 로 시작해도 된다.
※ \033 은 8진수 33을 의미하는 것이고, \x1b 는 16진수를 의미한다.

동일한 원리를 이용하여, 프롬프트도 컬러를 변경할 수 있다.
프롬프트 변경은 $PS1 환경변수를 변경하면 된다.

% export PS1="[\[\e[01;31m\]\u@\h\[\e[00m\] : \[\033[1;34m\]\w ]\n% "

위와 같이 옵션을 원하는대로 변경하면, 프롬프트도 변경할 수 있다.

※ [34;1m 을 [1;34m 으로 표기해도 된다. 순서를 바꿔도 상관없다.



출처
https://en.wikipedia.org/wiki/ANSI_escape_code#Colors
http://blog.muabow.com/entry/C언어-출력에-색깔-입히기
http://jswlinux.tistory.com/145

2017년 10월 13일 금요일

PostgreSQL OID 확인 방법

종종 oid 를 확인하고 싶을 때가 있다.
(oid 는 tuple 를 구분하는 unique value 이다.)

postgres=# create table t1 (c1 char(20));
CREATE TABLE
postgres=# insert into t1 values ('aaa');
INSERT 0 1
postgres=# insert into t1 values ('bbb');
INSERT 0 1
postgres=# select * from t1;
          c1
----------------------
 aaa
 bbb
(2 rows)

postgres=# select oid,* from t1;
ERROR:  column "oid" does not exist
LINE 1: select oid, * from t1;
               ^
postgres=#

어라? 에러가 뜨네?
분명히 본거 같은데....

postgres=# select oid,relname from pg_class where relname='t1';
  oid  | relname
-------+---------
 24646 | t1
(1 row)

잘 나오는데.... 왜 t1 은 안 나올까....

구글링을 해봤다.
table 을 만들 때, 옵션을 줘야 된단다.

postgres=# create table t2 (c1 char(20)) with oids;
CREATE TABLE
postgres=# insert into t2 values ('aaa');
INSERT 24652 1
postgres=# insert into t2 values ('bbb');
INSERT 24653 1
postgres=# select * from t2;
          c1
----------------------
 aaa
 bbb
(2 rows)

postgres=# select oid,* from t2;
  oid  |          c1
-------+----------------------
 24652 | aaa
 24653 | bbb
(2 rows)

postgres=#

※ oid 는 명시적으로 표기하지 않으면 출력되지 않는다.
그래서 oid 와 모든 column 을 출력하고 싶으면 oid,* 라고 입력해야 한다.



출처
http://www.sqlines.com/postgresql/oid

2017년 10월 12일 목요일

Ubuntu 기부

사람들이 가장 많이 사용하는 OS 는 아무래도 Windows 일것이다.
물론 나도 Windows 를 사용하고 있다.

그렇지만 개인적으로, Windows 못지 않게 Ubuntu 도 많이 사용하고 있다.
회사에서도.... 집에서도....

몇년간 그렇게 사용하다가 어느날 문득,
너무 신세만 지고 살아온게 아닌가 라는 생각이 들었다.

Ubuntu 는 나에게 많은 것을 아낌없이 주었는데,
나는 해준것도 없이 받기만 한거 같았다.
그래서, 기부를 하기로 했다.

기부 하는 방법은 간단하다.
http://www.ubuntu.com - Downloads - Desktop 으로 이동한다.


기부 화면은 Download 하기 전에 나온다.
Download 를 클릭한다.


어디에 얼마를 기부할지를 조절할 수 있다.
기본으로 $3 씩 되어 있어서, 나는 그대로 냅뒀다.

유명한 결제 시스템 PayPal 을 통해서 기부하도록 되어 있다.
"Pay with PayPal" 을 클릭한다.


금액이 맞는지 확인하고, "바로 결제" 를 클릭한다.


https://www.paypal.com 에서 거래가 정상적으로 이루어진 것을 확인할 수 있다.

기부를 하니, 뿌듯하다.

뭔가 감사의 표시를 한거 같아서 좋다.
많은 사람들을 위해, Ubuntu 가 계속 잘 발전했으면 좋겠다.

2017년 10월 11일 수요일

무료 Hex 에디터 - HxD Hex Editor

컴퓨터에서 이런~ 저런~ 작업을 하다보면, hex editor 가 필요할 때가 있다.
도스 시절에는 he.com 을 엄청 유용하게 사용했던 기억이 있다.

출처 : http://xcoolcat7.tistory.com/489

지금은 윈도우 시대이므로, 당연 윈도우용을 사용해야 한다.
예전에 집에서는 WinHex 를 주로 사용했었다.
편리하기도 하고, 기능도 많고, 유용하긴 한데, 유료라는 큰 문제가 있다.
그래서 구글에서 무료 hex editor 를 찾았다.


HxD 라는 프로그램인데, 무료다.


왼쪽에는 hex 값들이 나오고, 오른쪽에는 문자들이 나온다.


제작자에게 감사해 하며 사용해야 겠다.

프로그램은 아래 홈페이지에서 다운로드 받을 수 있다.
https://mh-nexus.de/en/hxd

WinSCP 기부

나는 리눅스(Linux)를 많이 사용하는 편이다. 회사에서도 사용하고, 개인적으로도 사용하고 있다. 그러다 보니 자연스럽게, SFTP를 많이 사용하게 된다. 리눅스에서는 SFTP에 대해 기본적으로 이렇게 저렇게 잘 지원을 해주는 편인데, 윈도...