뉴스 로그2014. 9. 24. 17:21

이동통신단말장치 유통구조 개선에 관한 법률 ... [시행 2014.10.1.] [법률 제12679호, 2014.5.28., 제정]

    0. 단말기유통구조개선법 주요 내용
        - 보조금 기준보다 많은 금액을 가입자에게 지급 금지
        - 단말기 출고가와 보조금, 실 판매가 구분 공시
        - 보조금 대신 요금 할인 선택 가능
        - 고가 요금제나 부가서비스 강제 금지
        - 이통사의 판매점 관리 감독 책임 부과
        - 약정할인을 보조금으로 포장하는 상술 금지 등

    1. 해당 법 제12조 1항 "이동통신단말장치의 판매량, 출고가, 매출액, 지원금, 이동통신사업자가 대리점 또는 판매점에 지급한 장려금 규모 및 재원 등 이동통신단말장치 유통과 관련된 자료를 대통령령으로 정하는 바에 따라 미래창조과학부장관과 방송통신위원회에 각각 제출하고 관련 자료를 갖추어 두어야 한다"
        - "다만, 이동통신사업자가 제출하는 자료는 이동통신단말장치 제조업자별로 이동통신사업자에게 지급한 장려금 규모를 알 수 있게 작성되어서는 아니 된다"고 규정
        - 제조사 장려금을 일반에 공개해서는 안 된다고 해석할 수 있는 조항
        - 방통위는 법적인 논란 가능성을 인지하고 있음에도 불법 보조금 경쟁을 최소화한다는 명분 아래 분리공시제 도입을 적극적으로 추진

    2. 해당 법 하위 고시안에서 분리공시 제외
        - 분리공시: 휴대폰 구입시 이동통신가 보조금과 제조사 장려금을 분리해서 공시하자는 의견
        - 찬성의 논리: 소비자가 휴대폰을 구입할 때 이동통신사의 보조금과 제조사의 장려금을 투명하게 알게 되어 휴대폰 유통시장의 투명성이 높아진다
        - 반대의 논리: 국가 및 기업의 경쟁력을 약화할 수 있다. 마케팅 비용 등 영업비밀이 노출된다고 주장.
       
    3. 분리공시에 대한 부서별 입장
        - 미래부, 방통위: 분리공시 주장
        - 기획재정부, 산업자원부: 분리공시 반대
        - 법제처: 분리공시 조항 포함시 상위의 법과 배치된다는 유권해석
        - 국무총리실 산하 규제개혁위원회: 분리공시 제외 결정(2014.09.24)
    4. 분리공시에 대한 업계 입장
        - 제조사: 분리공시 반대. LG전자의 경우 최초 반대했으나 찬성하는 입장으로 변경
        - 통신사: 분리공시 주장. 분리공시가 단말기 인하 효과를 가져올 것으로 주장

Posted by young.h.rhie
Tips/Apple Tips2014. 1. 23. 11:22
  • OS X의 사전 앱의 폰트는 한글 폰트로 끔찍한 옛날 폰트인 '애플명조'로 나온다. 이것을 다른 폰트로 바꿔보자


1. 준비물

사전의 특성상 한자가 많이 나오기 때문에 한자가 포함된 깔끔한 폰트를 맥에 설치할 필요가 있다. 조선일보명조를 추천한다. 조선일보명조는 조선일보에서 무료로 배포한 폰트이기 때문에 검색하면 쉽게 구할 수 있다. 이 폰트의 장점은 다른 폰트에 비해 압도적으로 한자가 많이 포함되어 있다는 것이다(10,000자 이상). 그리고 폰트의 품질도 좋다.


2. 기본지식

- OS X의 사전 앱은 본질적으로 웹뷰어이므로 프로그램 안의 CSS를 수정하면 원하는 폰트로 나오게 할 수 있다.

- 국어와 영어 사전만 보는 경우라면 CSS에 강제적으로 원하는 한글 폰트 하나만 집어 넣으면 되지만, 일본어와 중국어 사전도 이용하는 경우라면 한자 폰트의 일관성 등을 위해 좀더 세심한 작업이 필요하다.


3. 해당 CSS 파일

- /Applications/Dictionary.app/Contents/Resources/DefaultStyle.css


주의사항: 수정해서 생기는 문제는 글쓴이가 책임질 수 없다. 수정하기 전에 해당 파일의 사본을 만들어두고 하는 것이 안전하다


4. 샘플 CSS 파일 수정 부분 ... 여러분의 시스템에 어떤 폰트가 설치되어 있는지 알 수 없으므로 아래의 것을 그대로 복사해서 쓰면 안된다.


html {
    /*font-family:'Baskerville'; 원래 전체로 이 폰트가 지정되어 있는데 comment out하였다*/
    font-weight:normal;
    font-size:12pt;
}


/*Latin 문자는 윈도우의 Segoe UI 포트로 나오게 하였다. 여기에 좋아하는 폰트로 셋팅하면 되겠다*/
@font-face {
    font-family: "Lucida Grande", "Segoe UI";
    src: local("Segoe UI"), local("Lucida Grande");
    unicode-range: U+0000-10FF; /*이 폰트가 지정될 유니코드 범위를 지정하였다*/
}


/*일본어 폰트 지정 부분*/

@font-face {
    font-family: "HiraMinProN-W3", "Hiragino Mincho Pro W3", "MS PGothic", "MS Pゴシック", "Meiryo", "メイリオ", "Osaka";
    src: local("HiraMinProN-W3");
    unicode-range: U+A5, U+4E00-9FFF, U+30??, U+FF00-FF9F; /*일본어 폰트 유니코드 지정 범위*/
}


/*전체 페이지 폰트 지정... 순서가 중요함 */
* {font-family:"Segoe UI", "HiraMinProN-W3", "ChosunilboNM", "Microsfot JhengHei UI", "Microsoft YaHei UI" !important;}


/*이하는 원래 것에서 손대지 않았다.*/
body {
    margin-left: 1.5em;
    margin-right: 0.8em;
    margin-top: 0.5em;
}








Posted by young.h.rhie
Tips/Apple Tips2014. 1. 16. 10:37

CJK(중국어, 일본어, 한국어) 환경의 폰트는 윈도우가 맥보다 낫다. 사람마다 호불호가 다를 수 있지만 마이크로소프 윈도우가 훨씬 더 널리 사용되기 때문에 마이크로소프트에서 각 기본 폰트에 대한 투자를 먼저 시작해서 안착된 기간이 더 길다고 보면 되겠다. 맥의 폰트가 더 낫다고 생각하면 아래의 내용을 무시하시면 되겠다.


여기서 설명하려고 하는 것은 맥의 사파리에서


영문은 Segoe UI로

한글은 맑은 고딕으로

일본어는 Meiryo로

중국어 번체는 Microsoft JhengHei로

중국어 간체는 Microsoft YaHei로 표기하도록 설정하는 것이다.


맥의 사파리에서는 언어별로 폰트를 설정하는 기능이 없기 때문에 CSS로 만들어 설정해야 한다.


작업순서

  1. 윈도우의 다음 폰트드를 모두 맥에 설치한다. Segoe UI, Consolas, 맑은 고딕, Meiryo, Microsoft YaHei, Microsoft JhengHei. 참고로, Mac OS X Mavericks 기준으로 보면 Windows 8.1에 포함되어 있는 폰트들은 별도의 수정 없이 그대로 설치하면 맥에서 쓸 수 있다.
  2. 사파리의 사용자용 CSS를 다음과 같이 작성하여 저장한 후 사파리의 기본 CSS로 설정한다. 시험해보니 정상적으로 동작하는 것 같다.



@font-face {
    font-family:  "Lucida Grande", "Segoe UI";
    src: local("Segoe UI"), local("Lucida Grande");
    unicode-range: U+0000-10FF;
}


@font-face {
    font-family: Courier, Consolas;
    src: local("Consolas");
    unicode-range: U+00-10FF;
}



@font-face {
    font-family: AppleGothic, "Apple SD Gothic Neo", "맑은 고딕", "돋움", "돋움체", "굴림", "굴림체", "바탕", "바탕체", "Dotum", "DotumChe", "Gulim", "GulimChe", "Batang", "BatangChe";
    src: local("Malgun Gothic");
}

@font-face {
    font-family: "MS PGothic", "MS Pゴシック", "Meiryo", "メイリオ", "Osaka";
    src: local("Meiryo UI");
    unicode-range: U+A5, U+4E00-9FFF, U+30??, U+FF00-FF9F;
}


@font-face {
font-family: DFKai-SB, "Microsoft JhengHei", MingLiU, "Apple LiSung";
src: local("Microsoft JhengHei UI");
}

@font-face {
font-family: "Microsoft Yahei","微软雅黑", STXihei, "华文细黑";
src: local("Microsoft YaHei UI");
}


* {font-family: "Segoe UI", "Meiryo", "Malgun Gothic",  "Microsfot JhengHei UI", "Microsoft YaHei UI" !important;}




Posted by young.h.rhie
Tips/Apple Tips2014. 1. 6. 16:13

Mac OS X의 LaunchPad에 보이는 아이콘이 비정상적으로 크고 갯수도 얼마 안되어 사용하기에 불편하다


터미널로 다음과 같이 그 개수를 조절할 수 있다.


기본적으로 가로 7개 세로 5개가 표시되지만, 가로로 9개 세로로 7개로 늘이고 싶다고 한다면 다음과 같이 하면 된다.



defaults write com.apple.dock springboard-columns -int 9
defaults write com.apple.dock springboard-rows -int 7
killall Dock

기본 값으로 돌리려면 다음과 같이 실행하면 된다.

defaults delete com.apple.dock springboard-rows
defaults delete com.apple.dock springboard-columns
killall Dock 



참고로, 현재 설정된 값을 보려면 다음과 같이 defaults read 명령을 사용한다.

defaults read  com.apple.dock springboard-columns

defaults read  com.apple.dock springboard-rows




Posted by young.h.rhie
잡지식모음2013. 12. 12. 11:11

다음의 링크를 클릭하여 에버노트에 가입하면 

1개월 프리미엄 무료로 사용이 가능합니다.


여기를 눌러 가입하면 1개월 프리미엄 무료


Posted by young.h.rhie
Dev Tool Tips/C/C++2013. 8. 16. 16:29

#include <stdio.h>
#include <string.h>
#include <stdlib.h>


typedef struct temporary_number_s
{
    char buffer[32];
    char offset;
    char length;
} temporary_number_t;

char * formatNumber(long long num)
{
    static temporary_number_t source, destination;
    int    is_comma_position=0;
    int commas=0;
    int i=0;

    memset(&destination, 0, sizeof(temporary_number_t));

    /* -999 ~ 999 */
    if (num > -1000 && num < 1000 )
    {
        sprintf(destination.buffer, "%ld", num);
        return destination.buffer;
    }

    memset(&source, 0, sizeof(temporary_number_t));
    sprintf(source.buffer, "%ld", num);
    source.length = strlen(source.buffer); /* source.l is bigger than 3 */

    if(num<0)
        commas=(source.length-2)/3; /* exclude '-' character */
    else
        commas=(source.length-1)/3;

    destination.length = source.length + commas;

    destination.offset= destination.length-1;
    source.offset = source.length-1;

    is_comma_position=0;

    while (source.offset>-1)
    {
        destination.buffer[destination.offset] = source.buffer[source.offset];
        destination.offset--;
        source.offset--;

        is_comma_position++;

        if (is_comma_position == 3 && commas)
        {
            commas--;
            destination.buffer[destination.offset] = ',';
            destination.offset--;
            is_comma_position = 0;
        }
    }
    return destination.buffer;
}

int main(int argc, char **argv)
{
    printf("%s ... %s\n", argv[1], formatNumber(atol(argv[1])));
    return 0;
}

Posted by young.h.rhie
Android Dev./Kernel2013. 8. 6. 00:18

안드로이드 커널 모듈은 동적으로 장치 주번호/부번호가 부여되므로 아래 코드와 같이 자동으로 주번호/부번호를 부여받아 MKDEV()하는 코드를 써야 한다. 더 이상의 설명은 생략하며 질문은 받지 않는다. 인터넷에 좋은 설명들이 많으니 직접 찾을 것.



------------ Makefile START ------------

## PLEASE CONFIG HERE --- START ---
KERNEL_DIR= SET KERNEL DIRECTORY HERE
CROSS_TOOLCHAIN= SET TOOLCHAIN DIRECTORY HERE .... prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
## PLEASE CONFIG HERE --- E N D ---

obj-m := hello.o
PWD := $(shell pwd)
all:
    $(MAKE) ARCH=arm CROSS_COMPILE=$(CROSS_TOOLCHAIN) -C $(KERNEL_DIR) SUBDIRS=$(PWD) modules
clean:
    $(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(PWD) clean

------------ Makefile E N D ------------



------------ HELLO.C START ------------

#include <linux/module.h>    /* Needed by all modules */
#include <linux/kernel.h>    /* Needed for KERN_INFO */
#include <linux/fs.h>
#include <linux/cdev.h>
#include <linux/device.h>

static dev_t g_firstdevice;
struct cdev g_hello_cdev;
struct class *g_p_hello_class;
struct device *g_p_hello_dev;

static int hello_open(void)
{
    return 0;
}

static int hello_read(void)
{
    return 0;
}

static int hello_write(void)
{
    return 0;
}

static int hello_ioctl(void)
{
    return 0;
}

static int hello_release(void)
{
    return 0;
}

struct file_operations hello_fops =
{
    .owner = THIS_MODULE,
    .open = hello_open,
    .read = hello_read,
    .write = hello_write,
    .unlocked_ioctl = hello_ioctl,
    .release = hello_release
};

static int __init hello_init(void)
{
    printk(KERN_INFO "Hello world\n");
    if (alloc_chrdev_region(&g_firstdevice, 0, 1, "hello") < 0)
    {
        printk (KERN_ERR "%s: unable to allocate device numbers\n", __FUNCTION__);
        return -ENODEV;
    }

    cdev_init(&(g_hello_cdev), &hello_fops);
    g_hello_cdev.owner = THIS_MODULE;
    kobject_set_name(&g_hello_cdev.kobj, "hello%d", 0);
    if (cdev_add(&(g_hello_cdev), MKDEV(MAJOR(g_firstdevice), 0), 1))
    {
        printk (KERN_ERR "cdev_add failure \n");
        return -ENODEV;
    }
    g_p_hello_class = class_create(THIS_MODULE, "hello");
    if (g_p_hello_class == NULL)
    {
        printk (KERN_ERR "failure in class_create\n");
        cdev_del(&g_hello_cdev);
        unregister_chrdev_region(g_firstdevice, 1);
    }
    g_p_hello_dev = device_create(g_p_hello_class, NULL, g_firstdevice, NULL, "hello");
    if (g_p_hello_dev == NULL)
    {
        printk (KERN_ERR "failure in device_create\n");
        class_destroy(g_p_hello_class);
        unregister_chrdev_region(g_firstdevice, 1);
        return -1;
    }
    return 0;
}

static void __exit hello_exit(void)
{
    printk(KERN_INFO "Goodbye world\n");
    device_unregister(g_p_hello_dev);
    class_destroy(g_p_hello_class);
    cdev_del(&g_hello_cdev);
    unregister_chrdev_region(g_firstdevice, 1);
}

module_init(hello_init);
module_exit(hello_exit);

MODULE_LICENSE("GPL");

------------ HELLO.C END ------------

Posted by young.h.rhie
뉴스 로그2013. 3. 14. 10:53

2013-03-13 (로마 현지시각) 제266대 교황으로 아르헨티나의 마리오 베르골리오(Jorge Mario Bergoglio, 1936-12-17) 추기경이 선출되었다고 바티칸에서 발표하였다. 미주대륙 출신 최초의 교황. 콘클라베에서 5번째 투표 만에 선출되었으며 이는 콘클라베의 두번째 날이었다. 프란치스코(Francis, 라틴어로는 Franciscus, 이탈리이아어 Francesco)로 명명. 교황으로서의 직위는 선출일로부터 3월 19일 즉위 미사가 열릴 예정.


교황 프란치스코가 된 호르헤 마리오 베르골리오(1936) 추기경은 이탈리아계 이민자의 아들로 신학적으로 보수적인 입장을 분배 문제 등 사회적 문제에서는 개혁적인 입장으로 알려졌다. 청빈하고 검소한 성격.


교황청에서는 프란치스코 교황의 공식적인 즉위명은 프란치스코 1세가 아니라 프란치스코라고 발표. 프란치스코 2세가 나온 후에야 1세로 불리게 된다고.

Posted by young.h.rhie
정치2013. 3. 11. 14:43

'깔 때에 까더라도 알고 까자'


2013년 3월 11일 뉴스에 갑자기 경범죄처벌법 시행령 상의 과다노출 문제가 대두된다. 박근혜 정부에서 과다노출을 하면 벌금을 먹인다더라 이런 논리가 나오는데 박근혜를 지지하지는 않지만 사실관계는 정확하게 하는 것이 좋겠다.


박근혜 정부의 국무회의에서 심의/의결한 것은 경범죄처벌법의 '시행령'이다.


그런데, 시행령의 상위법률인 경범죄처벌법을 살펴보자.(밑줄친 부분은 2012년에에 개정되었다)


경범죄처벌법 [시행 2008.1.1] [법률 제8435호, 2007.5.17, 타법개정]
제1장 경범죄의 종류와 처벌 제1조 (경범죄의 종류) 다음 각호의 1에 해당하는 사람은 10만원 이하의 벌금, 구류 또는 과료의 형으로 벌한다. <개정 1988.12.31, 1994.12.22, 1996.8.8, 2007.5.17>
...
41. (과다노출) 여러 사람의 눈에 뜨이는 곳에서 함부로 알몸을 지나치게 내놓거나 속까지 들여다 보이는 옷을 입거나 또는 가려야 할 곳을 내어 놓아 다른 사람에게 부끄러운 느낌이나 불쾌감을 준 사람



이미 2006년에 경범죄 개정에 대한 논의가 있었을 때부터 '과다노출' 조항에 대한 삭제에 대한 논의가 있었으나, 삭제되지 못한 채 남아 있었고 그 법 조항은 2012년 개정판에 다음과 같이 약간 수정된 상태로 남아 있다.


경범죄 처벌법 [시행 2013.3.22] [법률 제11401호, 2012.3.21, 전부개정]
제2장 경범죄의 종류와 처벌 제3조(경범죄의 종류) ① 다음 각 호의 어느 하나에 해당하는 사람은 10만원 이하의 벌금, 구류 또는 과료(科料)의 형으로 처벌한다.
...
33. (과다노출) 여러 사람의 눈에 뜨이는 곳에서 공공연하게 알몸을 지나치게 내놓거나 가려야 할 곳을 내놓아 다른 사람에게 부끄러운 느낌이나 불쾌감을 준 사람



이번에 박근혜 정부에서 심의 의결한 것은 위의 경범죄처벌법에 대한 시행령(즉, 대통령령)이다. 다시 말해 법률보다 하위 개념이라 법률에서 정한 것을 시행령에서 엎을 수 없다는 것이다(과다노출은 경범죄의 하나로 법률에서 정하고 있는데 경범죄가 아니라고 대통령령으로 정할 수는 없다는 뜻이다). 과다노출을 문제 삼는 것을 문제 삼으려면 경범죄처벌법 자체를 고쳐야 할 것이다. 이는 국회가 할 일이다.


경범죄처벌법 시행령은 경범죄처벌법에서 정한 벌금의 구체적인 금액을 정하는 것이다. 예를 들자면 위의 과다노출은 법에 의하면 10만원 이하의 벌금, 구류 또는 과료의 형인데 경범죄처벌법 시행령에서는 그 과다노출에 대해 벌금을 5만원으로 정하고 있는 것이다. 경범죄처벌법 시행령의 개정안은 경찰이 개정안으로 제출하여 법제처와 국무회의 심사를 거쳐 시행된다.



경범죄 처벌법에는 상식적으로 이해가 되지 않는 이상한 문구가 있는데 그것은 '못된 장난'이다. 그 '못된 장난'이라는 것이 무엇인지 알기 어렵기 때문에 자의적인 해석으로 인한 문제가 생길 가능성도 있다.



경범죄 처벌법 [시행 2013.3.22] [법률 제11401호, 2012.3.21, 전부개정]
...
제2장 경범죄의 종류와 처벌
제3조(경범죄의 종류) ① 다음 각 호의 어느 하나에 해당하는 사람은 10만원 이하의 벌금, 구류 또는 과료(科料)의 형으로 처벌한다.
...
13. (의식방해) 공공기관이나 그 밖의 단체 또는 개인이 하는 행사나 의식을 못된 장난 등으로 방해하거나 행사나 의식을 하는 자 또는 그 밖에 관계 있는 사람이 말려도 듣지 아니하고 행사나 의식을 방해할 우려가 뚜렷한 물건을 가지고 행사장 등에 들어간 사람
...
② 다음 각 호의 어느 하나에 해당하는 사람은 20만원 이하의 벌금, 구류 또는 과료의 형으로 처벌한다.
...
3. (업무방해) 못된 장난 등으로 다른 사람, 단체 또는 공무수행 중인 자의 업무를 방해한 사람 







Posted by young.h.rhie
Tips/Windows Tips2013. 3. 6. 14:17

Windows 7에 Windows 8의 맑은고딕 폰트 설치하기


왜 이것을 하냐고? Windows 8용 맑은고딕 폰트에는 한자가 포함되어 있어서 한자도 ClearType으로 표시되기 때문이다. 필요한 사람이 있을 것이다.


참고: Windows 8에 포함되어 있는 맑은고딕은 Version 6.22이다. 한자 자체의 품질(가독성)은 일본어 기본폰트인 Meiryo나 간체자인 Microsoft YaHei 번체자인 Microsoft JhengHei에 비해 떨어진다. 네이버의 나눔고딕에도 한자가 포함되어 있으며 한자 품질로만 봤을 때는 나눔고딕쪽이 더 낫다.


맑은고딕 폰트는 시스템 폰트이기 때문에 복사하는 방식으로는 설치가 안된다.


(주의: 아래 내용을 읽을 때 이해가 잘 안되거나 뭘 하고 있는 것인지 잘 모르면 따라하지 말 것.)


0. 새로운 버전의 맑은고딕 폰트를 하드디스크의 임의의 기억하기 쉬운 디렉토리에 복사를 해둔다. (예: C\_Temp_\ )

1. 윈도우 복구 모드로 들어가서 콘솔 커맨드 프롬프트를 사용해야 한다.

2.  커맨드 프롬프트가 뜨면 처음에 만들어둔 새 맑은고딕 폰트가 들어 있는 디렉토리로 이동한다. (예. cd C\_Temp_\)

(참고사항: 복구콘솔에서 실제 윈도우가 설치된 드라이브가 C가 아닐 경우도 있으니 주의할 것.  예를 들어, 여러분의 컴퓨터의 디스크가 시스템예약 파티션이 있고, C:에 윈도우가 설치되어 있고 D:에 별도의 하드디스크가 있다고 하면 복구 콘솔에서는 윈도우가 설치된 드라이브가 E:가 되며 C:는 예약 파티션을 의미한다. 이 의미를 정확히 모르면 시도하지 말 것.)

3. 폰트 디렉토리로 맑은고딕 폰트를 복사한다. copy malgun.ttf C:\Windows\Fonts\ copy malgunbd.ttf C:\Windows\Fonts

4. 폰트 캐쉬를 지운다(매우 중요). del C:\Windows\System32\FNTCACHE.DAT

5. 리부팅한다.


아래 그림은 한자가 포함되어 있는 맑은고딕으로 웹페이지를 표시했을 때 모양이다. 한자의 품질이 일본어 기본폰트나 번체자에 비해 떨어진다.



Posted by young.h.rhie