Computer/PHP 51

인코딩 디코딩의 종류

ISO-2022 RFC-1557에서 MIME 문자 세트 이름으로 처음 사용되었습니다. IS0-2022라는 문자 세트를 바탕으로 KSC-5601을 7Bit로 표현하는 방식입니다. ISO-2022는 여러 종류의 정보 교환용 부호를 정하는 방식에 대한 국제 표준입니다. ISO-2022-KR 한글이 사용되는 것을 표시하기 위해 메일의 본문에 $)C에 라는 문자열이 먼저 나옵니다. Esc는 아스키 27번의 이스케이프(Escape) 제어 문자입니다. 한글이 시작되는 곳에는 SO(Shift-Out, 아스키 14번,[Ctrl]-[N]에 해당) 문자가 나옵니다. 한글이 끝나는 곳에는 SI(Shift-In, 아스키 15번,[Ctrl]-[O]에 해당) 문자가 나옵니다. QP 'Quoted-Printable'의 약자로서 MI..

Computer/PHP 2012.08.10

MIME 규격

. MIME MIME(Multipurpose Internet Message Extension)은 말 그대로 Internet Message를 통해서 여러 가지 내용을 보낼 수 있도록 확장한 규격입니다. 한글같은 2바이트 Non-ASCII 문자가 여러 메일 서버를 무사히 통과하기 위해서는 7비트 ASCII 문자로 일단 변환되어야 합니다. 물론, 요즘의 대부분의 메일 시스템은 보통 8비트의 Non-ASCII 문자들도 손상시키지 않고 통과시키만 (8bit clean이라 하죠...), 그렇지 않은 경우도 아직 꽤 많습니다. 때문에, 그냥 8비트인 상태로 보내면, 메시지가 올바로 간다고 보장할 수 없게 됩니다. 게다가 단순한 텍스트 뿐만이 아니라, 요즘에는 바이너리 파일도 메일에 첨부하는 경우가 많죠? 그런 것들을..

Computer/PHP 2012.08.10

base64 규칙

올블로그를 보다가 Base64 인코딩에 대한 글이 있어 읽어 보았다. (http://blueiblog.com/ko/40) 윈도우즈 환경에서 쓰려고 그런 것 같은데 Base64 인코딩의 원리는 간단하므로 어떤 컴퓨팅 환경이던 원리만 알면 누구나 쉽게 코딩할 수 있으리라 생각된다. Base64 인코딩 원리 우선 제목이 말하는 Base64의 의미가 무엇인지 살펴 보자. 베이스가 64라는 것은 모든 정보를 64진수로 표시한다는 것인데, 컴퓨터는 2진수를 사용하므로 64진수로 표시하기 위해서는 2^6 = 64 즉 6 비트 2진수 열이 필요하다. 그런데 대개 컴퓨터에서 가장 기본이 되는 정보 단위는 8 비트씩 엮어진 바이트이므로 6비트와 8비트가 각각 나누어 떨어질 수 있는 공배수의 최소값 (최소 공배수)를 구하면..

Computer/PHP 2012.08.10

세마포어(semaphore)와 공유 메모리(shared memory) 함수

PHP_공유_메모리와_세마포어_활용.pdf 세마포어(semaphore)와 공유 메모리(shared memory) 함수 이 모듈은 System V 세마포어가 사용하는 세마포어 함수를 포함한다. 세마포어는 현재 머신에 자원을 한정적으로 접근하는데 사용되거나 프로세스가 일제히 자원을 사용하는 개수를 제한하는데 사용된다. 이 모듈은 또한 System V의 공유 메모리를 사용하기 위한 공유 메모리 함수도 포함한다. 공유 메모리는 전역 변수에 접근하는데 사용된다. 각기 다른 httpd-daemon과 다른 프로그램(Perl, C와 같은) 조차도 전역 데이터 교환을 지원하여 이 데이터를 접근할 수 있다. 주의할 점은, 공유 메모리는 동시 접근에는 안전하지 않다는 것이다. 동기화를 위해서는 세마포어를 사용하면 된다. U..

Computer/PHP 2012.08.10

PEAR #2 : 간단한 사용법

PEAR #2 간단한 사용법 시간입니다. #1에 이어서 진행되는 내용입니다. PEAR에대해서 한번더 깊히 집고 넘어가겠습니다. PEAR는 MVC패턴을 구성하는대 한 몫하는 중요 패키지 입니다. 하지만, 국내에서는 잘 사용 안하는듯 하네요. (개인적인 시각입니다.) PEAR패키지는 모두 CLASS로 되어있고 패키지중에는 상속받는 패키지가 대다수 입니다 (OLE나 MDB2같이 핵심 패키지는 예외지만요.) 그래서 저는 PEAR패키지와 재가 만든 CLASS들은 Model로 분류하고, Controller와 View를 구성합니다. 간혹.. Controller에서 중첩되는 코드가 발생하면 Class로 묶어서 Model로 분류하긴 하지만, 보통 PEAR만 Model로써도 부족함이 없습니다. 그럼.. 서론은 이만 줄이고..

Computer/PHP 2012.08.10

ajax 의 기본구조

js 소스 압축 : http://hometown.aol.de/_ht_a/memtronic/ html 도구검사 : html validator xmlhttpdebuger 설치 : 1. 파폭 플러그인 다운로드 GreaseMonkey 2. http://blog.monstuff.com/archives/images/XMLHttpRequestDebugging.v1.2.user.js * XMLHttpRequest의 동기적 이용 예제 xmlhttp.open("GET", "test.html", false); xmlhttp.send(null); //send의 위치가 비동기와 틀리다. if (xmlhttp.statusText == "OK") { //statusText: HTTP응답문자열을 반환한다. (성공일경우: OK) al..

Computer/PHP 2012.08.10

CPU 모니터링과 튜닝

CPU 병목현상을 제거하고 퍼포먼스 높이기 Wayne Huang, Lee Cheng, Matthew Accapadi, Nam Keung│IBM 표준 AIX 툴을 활용하여 CPU 병목현상을 발견하는 방법을 배워보자. IBM 퍼포먼스 전문가들이 이 툴에서 생성된 리포트들을 해석하여 퍼포먼스를 향상시키는 방법을 설명한다. 머리말 AIX 5L™ Version 5.3은 최신 버전의 AIX?? 운영 체계로서 eServer™ 시스템 상에서 동시 멀티 쓰레딩(SMT)을 통해 높은 쓰루풋과 퍼포먼스를 보인다. AIX 5L Version 5.3으로 서버 활용도를 높이고 효율적인 관리를 위해 워크로드를 강화할 수 있다. 컴퓨팅 역사와 OS를 공부하다 보면, 컴퓨터 과학자들이 CPU 스케줄링 정책들을 개발해왔다는 것을 알 수..

Computer/PHP 2012.08.10

yslow grade B 받기도 빡세네요..

yslow 라고... 야후에서 내놓은 페이지 측정(?) 하는 도구인데, 파이어폭스의 부가기능으로 작동합니다.필수부가기능으로는 firebug 가 있어야 합니다.GRADE 가 높을수록 좋은건데, CSS minify, Javascript minify, CSS 파일의 배치, 자바스크립트 파일의 배치,CDN , image sprit 등... 몇가지 요소를 고려하여 점수를 매깁니다.yslow 에서 제시하는데로만 맞추어도 웹페이지 속도가 아주 그냥~~~~~~~ 확 빨라집니다.캐쉬도 적용하고 하면 트래픽도 40% 가까이 줄어들구요.. 파이어폭스 다운로드 Firebug 확장기능 YSlow 확장기능 yslow 에서 제시한 조건을 겨우 겨우 따라가면서 맞춘 Grade B .

Computer/PHP 2012.04.03