2010년 11월 24일 수요일

[PHP] php에서 숫자표현할때 소수점 둘째자리까지만 나오게하는 방법은?

출처 : http://www.happyjung.com/gnuboard/bbs/board.php?bo_table=lecture&wr_id=275&sca=&sfl=&stx=&sst=wr_1&sod=desc&sop=&page=10


[ 방법1 ]
<?
$a=4.99*10;
echo sprintf("%2.2f" ,$a);
?>
%2.2f 부분이 실수형을 00.00식으로 표현하게 해줍니다.
%2.3f 는 00.000이겠죠?


[ 방법2 ]
숫자형으로 출력시 소수점과 1000단위 컴마 표시법

<?
$number = 1234.56;

// english notation (default)
$english_format_number = number_format($number);
// 1,234

// French notation
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56

$number = 1234.5678;
// english notation without thousands seperator
$english_format_number = number_format($number, 2, '.', '');
// 1234.57
?>

2010년 11월 12일 금요일

[자바스크립트] 문자열 자르기 (배열)

자바스크립트에서.. split 을 쓸경우..

var s_data = "2005-03-25";  // 잘라야 되는 값..

var array_data = s_data.split("-");  // split 함수사용..

var s_year = array_data[0];   // 잘라진 값 배열..
var s_month = array_data[1];
var s_day = array_data[2];

2010년 11월 11일 목요일

PHP Ajax MySQL 로그인 중복체크

중복 중복 중복 ㅠㅠ;;
로그인 중복체크가 이렇게 어려울줄이야~~ 여러가지로 검색을 해보아도 나오지가 않아서 저 나름데로 짜집기(?)를 하여 중복체크 성공을하게되었습니다.

혹여나~ 다른곳에서 찾아헤메지마시고~ 제가 쓴방법을 한번 써보시기 바랄께요~~

p.s - 완벽하지는 않습니다.  ㅡ,.ㅡ;;

웹 사용환경
서버 : CentOS 5.5
APM : Apache 2.2.14, PHP5.2.12, MySQL5.1.41
사용언어 : PHP, Ajax

아래에 붙여질 소스코드에 대해서는 제가 사용하는 환경의 소스를 그대로 올리도록 하겠습니다.
클래스화 시켜 사용하던건데 일일이 풀기가 애매하네요.. 기억도 안나고 ㅎㅎ;;;

기능 1 - 로그인전이면 새로 데이터를 입력한다. → 로그인처리
기능 2 - 로그인된상태일때 다른곳에서 로그인이되면 먼저 로그인된 페이지는 자동 로그아웃된다.
기능 3 - 같은 브라우져에서 로그인을 중복해서하게되면 로그인정보의 시간만 업데이트가된다.

1. 중복체크를할 테이블 생성
Table: smstmember_session
 Field Type Comment
 sesskey varchar(50) NOT NULL 
 expiry int(10) NOT NULL 
 sessvalue varchar(50) NOT NULL 
 sessid varchar(30) NOT NULL 
 security int(1) NOT NULL 
 remoteip varchar(20) NULL 
저는 위의 형식으로 테이블을 생성하였습니다. ^^

2. 로그인 처리페이지 소스 추가 (ex> login_ok.php)

소스보기

소스와같이 세션DB에 로그인했을때의 세션ID와 사용자 ID 로그인 시간등을 입력하게됩니다.
또한 같은 세션ID일때 로그인을 다시하게되면 로그인 시간이 업데이트됩니다.

3. 로그아웃 처리하기 (ex> logout.php)

소스보기

로그아웃 페이지에서는 세션을 클리어하는것은 물론이고, 로그인하면서 DB에 입력되어있던 로그인정보를 삭제하게됩니다.

4. 중복 로그인 체크페이지 (ex> outlogin_check_session.php)

소스보기

다른곳에서 중복로그인이 되었는지 체크하는 페이지이다.
이 페이지에서는 세션DB의 값과 비교하기위한 정보들을 담고 있는다.
header 페이지나 footer 페이지 즉, 항상 웹페이지에 표시되는 부분에 추가하면 되겠다.

5. 중복 로그인 체크값 추출 (ex> login_check_tender.php)

소스보기

지금보이는 코드는 xml 형식으로 데이터를 추출하게되는 부분이다.
다음으로 설명된 js 파일에서 위의 페이지에서 생성된 xml 코드를 참조하여 로그인여부를 체크하게된다.

6. 중복로그인 체크 및 처리하기 (ex> login_check.js)

소스보기

바로위에서 말했듯이 "login_check_tender.php" 페이지에서 생성된 xml 형식의 코드를 분석 참조하여
다른곳에서 로그인이 이루어졌는지를 판단 및 처리를하게되는 스크립트이다.
다른곳 또는 다른 웹브라우저로 로그인을하게되면 기존에 로그인된 웹페이지는 자동적으로 로그아웃이 이루어지게된다.

여기까지 섭군이가 대충 짜집기한 중복로그인 방지 소스코드였습니다.
실질적으로 구상은 쉽게되는데 짜맞추려니... 여간 힘든게 아니네요 ㅠㅠ;;
질문은 않받을래요~ 머리가 뽀개질꺼 같거든요 ㅎㅎ;;;

2010년 10월 28일 목요일

리눅스 시스템 정보 확인 명령어

출처 : http://blueb.net/blog/1316

dmesg : 부팅시 메시지 보기

cat /proc/version : 리눅스 버전 확인

cat /etc/issue : 리눅스 버전 확인

cat /proc/cpuinfo : CPU 정보 확인

df -u : 디스크 사용량 보기

free -m : 메모리 사용량 보기

top : 메모리 사용량 보기

ps -aux : 현재 실행중인 프로세스 보기

2010년 10월 27일 수요일

리눅스 폴더(디렉토리) 크기(용량) 확인하기

폴더 용량 확인하는 방법

1. /usr 폴더의 용량 확인
예) du -hs /usr

2. 여러개의 폴더별 용량을 보고자 할때
예) du -hsc /usr /bin /etc

옵션 -hsc를 주면 크기를 알고 싶은 폴더의 목록을 나열하게 됩니다.

결과는
2.8G    /usr
7.7M    /bin
105M    /etc
2.9G    total

위와 같이 출력되게 된다.

2010년 10월 4일 월요일

아이폰 iSO 4.1 펌웨어 전파 수신률 체크하기!!

출처 : http://dtalker.tistory.com/985


아이폰 4 iOS 4.1 필드테스트로 수신률을 확인하자!

 

애플은 iOS 4.1에도 필드테스트 모드를 포함시켜 현재 내가 자주 사용하는 활동반경 내에서 아이폰 수신률을 수치상으로 확인할 수 있게 됐다. 필드테스트 모드는 안테나 수신 강도를 상단 바에 숫자로 표시해주는 기능으로 간단한 조작으로 확인할 수 있다.

 

해외 아이폰 4 수신률 문제가 꾸준히 제기되는 상황에서 국내 출시를 앞둔 아이폰 4에 대한 국내 유저들의 관심 역시 안테나 수신률에 대해 무척 높은 상황이다.

 

iOS 4.1로 업데이트 된 아이폰에 *3001#12345#*를 누른 후 통화버튼을 누르면 현재 위치에서의 수신률을 간단히 확인할 수 있다. 상단에 마이너스 숫자가 보여지며 이렇게 보여진 숫자(절대값)가 높을수록 수신강도는 낮아으며 수가 작을수록 수신률을 높다.

 

예를 들자면 -100은 수신률이 낮고 -50은 수신률이 좋다고 볼 수 있다.


2010년 10월 1일 금요일

MySQL에서 제어함수 (Control Flow Functions)

출처 : http://wizard.ncafe.net/wt/2368

MySQL에서 제어함수들에 대해서 설명한다. (Control Flow Functions)


1. CASE
 1.1 CASE value WHEN [compare_value] THEN result ... [ELSE result] END
   - value가 compare_value 이면 result 아니면 ELSE 의 result ...

 1.2 CASE WHEN [condition] THEN result ... [ELSE result] END
   - condition 이 true 면 result 아니면 ELSE 의 result

2. IF
  2.1 IF (condition, result1, result2)
    - condition 이 true 면 result1 아니면 result2
    - MySQL 5.0 메뉴얼에 IF(0.1,1,0) 의 값이 0 이라고 나와 있는데 난 1이 나온다.
      1이 나오는게 맞는거 같은데.

3. IFNULL
  3.1 IFNULL(expr1, expr2)
    - expr1이 널이면 expr2

4. NULLIF
  4.1 NULLIF(expr1, expr2)
    - expr1=expr2 이면 NULL