전체 글 172

OAuth

OAuth란? Open API를 사용하기 위해선 인증이 필요합니다. 인증방식의 표준이 없기 때문에 제 각각의 방법으로 개발되고 있는 실정인데요 구글의 AuthSub, AOL의 OpenAuth, 야후의 BBAuth OAuth는 제각각의 인증방식을 표준화하고 가장 좋은 방법만 가져다 만들었습니다. 즉 매쉬업 서비스로 만들어진 어플리케이션이 다른 어플리케이션의 사용자 정보를 접근할 수 있는 표준화된 방법을 제공하는 스펙입니다. OAuth 인증방식을 이해하기 위해선 용어를 미리 숙지하셔야 합니다. ◦ 서비스 프로바이더(Service Provider) – OPENAPI를 제공하는 서비스를 말합니다. ◦ 사용자(users) - 서비스 프로바이더 혹은(그리고) 컨수머를 사용하는 이를 말합니다. ◦ 컨수머(Consum..

java의 synchronized 분석

요즘 jsr 133 자바 메모리 모델을 보고 있는데, 처음에 lock거는 부분에 대해 나오더군요. 자바에서 lock을 거는 것은 보통 synchronized 구문을 이용하는데, 일반적인 자바 책에서는 "synchronized를 걸면 동시 접속이 안된다." 까지만 나와 있었는데, 보다가 보니 재미있는 부분들이 있어서 정리해볼랍니다. synchronized (anObject){ // code!! } 위와 같은 구문은 anObject를 기준으로 잡습니다. 그렇기 때문에 완전히 다른 객체끼리도 동기화가 가능합니다. 다음은 제가 주로 사용하는 디버깅 코드입니다. synchronized (java.lang.Object.class) { System.out.println("===========디버깅 시작했다~=====..

vmstat 사용하기

vmstat 사용법 vmstat - 프로세스,메모리,페이징,I/O 블럭,CPU 활동 사항들의 정보를 출력하는 기능을 한다. [ 옵 션 ] -n : delay 시간 및 count 를 지정할수 있다. [root@soma]# vmstat -n 2 10 procs memory swap io system cpu r b w swpd free buff cache si so bi bo in cs us sy id 1 0 0 3928 55140 32432 111040 0 0 0 0 11 8 0 0 7 0 0 0 3928 55140 32432 111040 0 0 0 0 106 9 0 0 100 0 0 0 3928 55140 32432 111040 0 0 0 0 106 10 0 0 100 위의 정보처럼 2 초라는 delay ..

unix 2010.06.14

시스템 모니터링 명령어 : vmstat, iostat, free, top, sar Linux :: 명령어

◘ 시스템 모니터링 ▪ 시스템 사용 정보 : vmstat - # vmstat [option] [주기] [횟수] - buffer : 장치(h/w) 간, 프로세스 간, 회선 간에 속도 차이를 조절. - cache : 한 번 사용한 자원을 빠르게 재접근 할 수 있도록 해 줌. procs ----------memory----------- ---swap--- -----io----- --system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa - 프로세스 필드 r : CPU 접근 대기 중인 실행 가능 프로세스의 수 b : I/O 자원를 할당받지 못해 블록 된 프로세스의 수 - 메모리 필드 swpd : 사용된 가상 메모리의 용량 free ..

unix 2010.06.14

[퍼옴] Javascript 상에서 private, public, static

언어적인 기능으로 보면 Javascript는 완벽하게 private, public, static을 구현한다. 게다가 구현 후에 작동방식도 거의 비슷하다. 1. private 프로퍼티, 메쏘드의 선언 ClassA=function(){ var a=30; var test=function(){ return a; } } 위의 예처럼 클래스 내부에서 var를 통해 생성한 메쏘드 혹은 프로퍼티는 내부에서만 호출할 수 있는 private이 된다. 당연한 얘기지만 Javascript의 구조상 private로 선언된 프로퍼티나 메쏘드는 prototype을 통해 상속했든 소유로 상속했든 다른 객체에서 불러낼 수 없다. 따라서 프레임웍을 짤 작정으로 부모클래스를 만들 생각이라면 var로 선언해서는 안된다(자식이 전혀 이용할 ..

javascript 2010.06.09

[기타]아웃룩 pop3 메일 여러가지 상황의 에러 해결 대처법

메라크 메일서버 7.4.5 이전 버전에서 사용자 계정을 추가하기 위한 CLI 명령어인 users.exe와 domains.exe는 해당 버전에서 매우 유용한 도구라고 할 수 있습니다. 8.0 이후 부터 현재 버전은 users.exe와 domains.exe를 대체하는 TOOL.exe 명령어로 바뀌어 더욱 강력하게 시스템을 운영할 수 있도록 강화되었습니다. 그러나 예전 버전의 메라크를 사용하는 고객들에게 있어 아직 users.exe 도구는 매우 중요한 역할을 하고 있습니다. 따라서 이에 관한 사용방법에 관해 잠시 설명하려 합니다. users.exe와 domain.exe 본 프로그램은 명령커맨드라인에서 직접 사용하거나 배치파일로 사용하여 도메인과 계정을 생성, 추가, 삭제, 수정하기 위한 명령어 입니다. 기본적..

Etc 2010.03.22

IE에서 Object 복사할때 FlashVars parameter 값이 복사되지 않는 경우

[JS] Copying flash object with FlashVars parameter. IE에서 자바스크립트를 이용하여 플래시 오브젝트를 클립보드로 복사할 때, object 객체를 선택, 복사하면 FlashVars 속성이 누락되어 복사되는 문제가 있습니다. 그러나 embed 객체를 복사하면 그런 문제가 없습니다. 그러므로 아래 코드와 같이 object 객체의 altHtml 속성을 이용하여 embed 객체를 동적으로 생성, 이 embed 객체를 복사하도록 하면 됩니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 // Gets Flash object. var obj = document.getElementById("flashObjectID"); var alt =..

javascript 2010.02.18

mysql의 'ON DUPLICATE KEY UPDATE' 구문

mysql을 사용하면서 처음 알게된 구문인데... INSERT 구문에 같이 쓰이게 된다. 명령어만 봐도 직관적으로 이해할 수 있는데... INSERT할 때 KEY가 duplicate가 되었을 때, UPDATE하는 방법에 대해 정의할 수 있다. 예를 들어, INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;컬럼 a가 key라고 가정할 경우, 이미 컬럼 a의 값이 1인 row가 있을 경우 해당 row의 c컬럼의 값을 1 증가시키라는 의미이다. 프로그래머 입장에서는 귀찮게 select한 후 없으면 insert 있으면 update하는 것을 한방에 해결해 주긴 하지만, ANSI SQL이 아니라 그점이 좀 맘에 걸린다. 오늘 하고자 하는 ..

DataBase 2010.02.09

show variables 변경하기 5.0 기준 서버 변수 변경하기

show variables 변경하기 5.0 기준 서버 변수 변경하기 Variable Name Value Type Type autocommit boolean SESSION big_tables boolean SESSION binlog_cache_size numeric GLOBAL bulk_insert_buffer_size numeric GLOBAL | SESSION character_set_client string GLOBAL | SESSION character_set_connection string GLOBAL | SESSION character_set_results string GLOBAL | SESSION character_set_server string GLOBAL | SESSION collation..

DataBase 2010.01.06