2015. 1. 20. 15:03

이번엔 서버의 CPU사용 정보를 가져오는 방법을 알아보겠습니다.

CPU사용 정보를 가져오는 함수는 sys_getloadavg()입니다.

이 함수의 설명을 보시면 반환값은 배열로 반환됩니다.

 

그런데 이 함수를 사용할때 주의 사항이 있습니다.

바로 윈도우 플랫폼에서는 동작을 하지 않는다는 것입니다.

(XAMPP로 작업을 하다 확인해보니 바로 에러를 표시합니다. ㅡㅡ;)

 

 

 

 

윈도우 플랫폼에서는 다른 방식을 사용해야 하는데

해당문서 하단에 아래에 어떤분이 소스를 올려놓으셨습니다.

"rick at rctonline dot nl"로 해당문서에서 검색하시면 찾기 쉬우실 것입니다.

아래는 그분이 올려주신 소스입니다.

(코드는 Syntax Highlighter가 적용되어 모바일에서는 안보일 수 있습니다.)

 

function get_server_load() {
 if (stristr(PHP_OS, 'win')) { //윈도우 플랫폼일때
   $wmi = new COM("Winmgmts://");
   $server = $wmi->execquery("SELECT LoadPercentage FROM Win32_Processor");
           
   $cpu_num = 0;
   $load_total = 0;
            
   foreach($server as $cpu){
    $cpu_num++;
    $load_total += $cpu->loadpercentage;
   }
            
   $load = round($load_total/$cpu_num);
            
 } else {
       
  $sys_load = sys_getloadavg();
  $load = $sys_load[0];
       
 }
        
 return (int) $load;
 
}

 

그런데 제가 설치된 XAMPP에서 테스트를 해보니

$wmi = new COM("Winmgmts://");

위 코드에서 오류가 발생하였습니다.

 

이는 COM class를 인식하지 못하기 때문인데

php.ini 파일에 다음을 추가하시면 됩니다.

extension=php_com_dotnet.dll

물론 윈도우 플랫폼 기준입니다. ^^

 

 

Posted by 작은0악마
2015. 1. 19. 13:14

지난 토요일에 단골 카센터에 18년간 타고 다닌 애마의 폐차를 위탁했습니다. ㅜㅜ

당시 오후에 도착하여 월요일인 오늘 처리가 된다고 하더군요.

그런데 오늘 오전에 전화가 왔습니다. 차량이 압류가 되어있다고...ㅡㅡ

아무리 생각을 해도 압류될 사항이 없는데 이해가 가질 않더군요...

 

한가지는 몇년전 사업을 할때 연금과 의보가 좀 체납이 있었었고

얼마지나지 않아 모두 완납을 했었습니다.

아무리 생각해도 그것뿐이 없을것 같더군요.

 

그래서 해당사항을 조회하기로 마음먹고 조회를 해봤고 역시나 제 생각이 맞았습니다.

그해 완납을 했는데 이 기관에서 돈만 받고(?) 압류 해제를 지금까지 안하고 있었던겁니다.

약 5~ 6년을 압류된 상태로 모르고 있었던 것입니다.

 

오늘은 제가 제 차량의 기록사항을 조회한 방법을 포스팅 하겠습니다.

 

검색을 해보니 자동차민원 대국민포털에서 조회하는 방법이 많이 있습니다만

제 경우는 이미 정부민원포털인 민원24에 가입이 되어 있기 때문에

다시 가입해야 하는 자동차민원 대국민포털을 제외하고 민원24에서 진행하였습니다.

 

민원24 홈페이지에 접속을 하면 글을쓰고 있는 현재는 연말정산때문에 바로 메인페이지로 가지는 않습니다.

아래는 메인 페이지의 모습니다.

 

 

상단의 메뉴에서 민원신청 > 인터넷 민원신청을 클릭합니다.

그후 "자동차등록"이라는 키워드로 검색을 하면 관련 목록이 나옵니다.

현재 자동차등록원부는 목록 2페이지에 있네요.

 

 

 

 

위 이미지를 보시면 "자동차 등록원부등본(초본) 발급.열람신청"이라고 있습니다.

해당 항목을 신청하여 진행하시면 됩니다.

 

공인인증서가 필요하지만 온라인발급(본인)의 경우 비용은 무료입니다.

(단, 수령방법에 "후불"이라고 있는것으로 봐서는 수령 방법에 따라 비용이 발생되기도 하는가 봅니다.)

그리고 민원사무명은 "등본(초본)"이라고 되어 있지만 선택화면에서는 "갑","을"로 되어 있으며

자세한 사항을 보시려면 "갑"을 선택하시면 됩니다.

 

오랜시간 타고 다니던 차를 폐차하려니 아주 많이 섭섭하지만

제대로 기관에서 처리를 하지 않았고 저 역시 확인을 하지않아 

압류차량으로 다녔다는것이 화가 나기도 하네요.

Posted by 작은0악마
2015. 1. 16. 11:32

어제 다음 ad@m을 신청해보았습니다.

작년에 블로그에 삽입 신청하는 페이지가 다음 ad@m에서 다음 adfit으로 변경되었습니다.

그래서 다음 adfit으로 로그인을 하고 광고 단위를 만들어서 신청을 했구요

그리고 코드를 받아서 설정을 했습니다.

 

 

 

위와 같이 광고가 붙었네요. ^^;

 

그런데 다음 adfit에서 확인을 하니 아직 "승인대기" 상태입니다.

아마도 구글 애드센스처럼 심사를 하는가 보네요.

 

어떤분의 글을 보니 승인까지 한 2일정도 걸렸다고 하시던데...

어느 정도 기다려야 하는가 봅니다. ㅎㅎㅎ

Posted by 작은0악마
2015. 1. 16. 11:25

작년에 Syntax Highlighter를 제 블로그에 적용했습니다.

그리고 나름 잘 사용하고 있었는데요...

오늘 우연히 모바일로 제 블로그를 보니 문제가 생기네요.

참고로 전 반응형 스킨이 아닙니다.

 

 

 

위 이미지는 일반적으로 본 화면입니다. 이 화면이 모바일 스킨으로 보게되면

 

 

 

위와 같이 Syntax Highlighter를 적용한 부분이 전혀 안보입니다. ㅜㅜ

 

"관리자 페이지 > 꾸미기 > HTML/CSS 편집" 이부분은

모바일 스킨에는 적용이 되지 않는것 같네요.

 

 

Posted by 작은0악마
2015. 1. 15. 10:28

이벤트와 관련한 작업을 하다보면 예기치 못한 문제가 종종 발생한다.
이번에는 이벤트가 서브에서 상위로 순차적으로 발생하는 문제(이벤트 버블링)를 만나고
이를 처리하였다.

 

지난번 포스팅한 글 "object is not a function 에러 발생!!" 의 예제를 가지고
살펴보겠다.

(코드는 Syntax Highlighter가 적용되어 모바일에서는 안보일 수 있습니다.)

 


 

일단 구조는 지난번과 같다. 그룹1과 그룹2를 클릭하면 하단의 맴버 목록이 숨김/표시를 반복하는것이다.
여기에 하나를 추가하자. 위 소스를 보면 지난번 포스팅과 다르게
"<a href='javascript:void(0);' onClick='subclick(); return false'>"란 코드가 들어가 있다.
즉, 그룹을 클릭하면 토글 시키고 맴버를 클릭하면 다른 동작을 하게 하는 것이다.
추가한  A 태그내에 href속성에 과 onclick 이벤트에 주어진 void(0), return false 등을 쓴 이유는
"A 태그에서 onClick 이벤트 사용"에 설명해놓았다.


이제 코드를 붙여보자.

(코드는 Syntax Highlighter가 적용되어 모바일에서는 안보일 수 있습니다.)

 


 

역시 지난번 코드에서 subclick() 함수만 추가하였다.
이제 이를 실행해보면 다음 그림과 같이 된다.

 

 

 

 

 

 

 

그런데 이때 문제가 발생한다.
맴버를 클릭하고 alert창을 닫으면 마치 그룹을 클릭한것처럼 맴버목록이 숨겨진다.
이는 클릭이벤트가 맴버에서 그룹까지 전해진것인데 이를 이벤트 버블링이라고 한다.

지금 상황에서 이는 내가 원하지 않는 동작이다.


그럼 이를 어떻게 처리할까? 버블링을 막는 것이다.

 

첫번째 방법은 subclick() 함수내에서 처리하는것으로
event.cancelBubble = "true"; 를 삽입한다.


두번째 방법은 jquery로 페이지가 onload일때 다음 코드로 처리하는 방법이다.
$(".group a").click(function(e) {
 e.stopPropagation();
});
 
두가지 모두 테스트 해보았고 정상적으로 동작하였다.

최종적인 소스는 아래와 같다.

(코드는 Syntax Highlighter가 적용되어 모바일에서는 안보일 수 있습니다.)

 


 

Posted by 작은0악마
2015. 1. 14. 09:22

구글 애드센스 1차 승인 후 광고 단위 생성, 코드를 삽입하고 2차 승인을 기다리고 있었다.

그런데 어제밤 메일이 와서 확인을 해보니 2차 승인 거부...

사유는 컨텐츠 불충분이다.

1차를 통과 시켜놓고 2차에서 컨텐츠가 부족하다고 하는 이유는 뭔지....ㅡㅡ;

 

 

 

 

 

 

좀더 활동을 한 후 다시 신청을 해봐야겠다.

 

일단 삽입한 광고 코드 제거 후 구글 웹마스터나 추가로 연결해봐야지...

 

Posted by 작은0악마
2015. 1. 13. 11:09

어제 구글 애드센스가 1차 승인이 났다는 메일을 받고 광고단위를 생성하여 블로그에 코드를 붙였습니다.

그리고 오늘은 구글 분석 도구를 신청하여 역시 코드 삽입을 완료하였습니다.

또한 구글 분석도구와 구글 애드센스를 서로 연결하였구요.

 

내일은 구글 웹마스터도 신청하고 연결을 해볼 예정입니다. ^^

 

사실 구글 분석도구와 웹마스터는 기존부터 알고는 있었습니다.

그러나 사용해본 적은 전혀 없구요.

그래서 이번에 다 연결을 해서 차츰 사용법을 익혀볼까 합니다.

얼마나 잘 활용할 수 있을지는 모르겠습니다만...ㅎㅎㅎ

 

참고로

어제 구글 애드센스 광고 코드를 홈페이지에 삽입을 하였는데

아직까지 빈광고가 나오고 있네요...

얼마나 기다려야 하는지 모르겠습니다.

 

구글 애드센스 승인과 관련하여 어제 좀 많은 글들을 찾아보았었습니다.

기준을 많은 분들이 얘기해 주셨는데요. 대표적인 것이

1. 포스팅한 글이 100개 이상이어야 한다.

2. 방문자수가 얼마 이상이어야 한다.

3. 본문의 글이 1000자 이상이어야 한다.

4. 이미지를 포함해야 한다.

등등 이었습니다.

 

그러나 어제 제가 1차 승인을 받았을때 포스팅한 글은 41개였습니다.

일일 방문자 수도 대부분이 20명 이하입니다.

그렇다고 본문 내용이 긴 글이 많은것도 아닙니다.

 

위의 기준이 분명 승인율을 높이는데 도움이 될것이라고 생각합니다만

반드시 지켜야 할 규칙은 아닌것 같습니다.

 

차근차근 글을 쓰다보면 자연스럽게 방문자 수도 늘어나고

포스팅한 글의 수도 늘어나다 보면 구글에서 승인을 하지 않을까요??

개인적인 생각입니다. ^^

 

오늘도 좋은 하루 되세요~~

 

Posted by 작은0악마
2015. 1. 12. 13:30

작년 9월에 구글 애드센스를 신청하였습니다.

그러나 포스팅한 글이 별로 없는 제 블로그는 당연히(?) 승인이 거절되었습니다.

사유는 컨텐츠 불충분입니다.

 

"애드센스 신청 결과 알림" 이라는 타이틀과 함께 해결하는 방법을 나열한 메일이 도착을 했네요.

 

그후 조금씩 글을 작성하였습니다.

 

그리고 오늘 지인과 애드센스에 대한 얘기를 하게되었고

솔직히 크게 기대는 하지 않았지만 그래도 말나온 김에 한번 더 신청을 해보았습니다.

그런데 몇일 지나서야 올줄 알았던 답장이 점심을 먹고 오니 도착했네요.

 

메일의 제목도 작년과 다릅니다. 갑자기 기대가 되기 시작하더군요.

메일을 확인해보니 "귀하의 신청서에 대한 검토가 완료되었습니다. 이제 첫번째 광고단위를 만들고~~~"

 

흠...첫번째 광고단위???

이건 뭘까요??

 

일단 메일의 링크를 타고 가서 로그인을 하니 약관 동의 페이지가 나옵니다.

동의를 하고 애드센스의 홈으로 가니 "귀하의 ~ 신청이 검토 중입니다. 계정이 완전히 승인될 때까지 빈 광고만 표시됩니다. ~" 라는 문구가 보이네요.

 

완전한 승인은 아닌가 봅니다. 그래도 1차는 통과한것처럼 보이네요.

 

광고단위라던가 하는 부분을 좀더 알아보고 차근차근 진행을 해야 할 것 같습니다.

그래도 일단 승인 거부가 아니라고 하니 기분이 좋네요~

 

한주를 시작하는 월요일에 기분 좋은 메일을 받고 시작합니다~~

 

행복한 한주 되세요~

Posted by 작은0악마
2015. 1. 9. 14:21

jquery를 사용하여 동적으로 하위 리스트를 숨김/표시 하는 기능을 만들던 중

"object is not a function" 이라는 에러를 만났다.

 

  • 그룹1
    • 맴버1
    • 맴버2
    • 맴버3
  • 그룹2
    • 맴버4
    • 맴버5
    • 맴버6

 

위와 같은 html코드가 있을때 브라우저에서는 다음과 같이 나타난다.

(코드는 Syntax Highlighter가 적용되어 모바일에서는 안보일 수 있습니다.)

 

 

여기서 jquery를 사용하여 그룹1, 그룹2를 클릭할때 그 하단의 맴버 목록을 숨김/표시하는 기능을 넣고

처음 페이지가 보여질때 목록이 숨겨진 상태로 표시하려 하였다.

 

그래서 코드를 다음과 같이 작성하였다.

(코드는 Syntax Highlighter가 적용되어 모바일에서는 안보일 수 있습니다.)

 


 

위와 같이 하면 "object is not a function" 이라는 에러가 난다.

 

그래서 alert으로 다음과 같이 찍어보았다. 그 결과는

1. alert($(this)); -> [object Object]
2. alert($(".group").get(0)); -> [object HTMLLIElement]

 

결과적으로 두 방식은 서로 다른 타입의 object를 반환하여 생기는 문제...

 

그래서 아래와 같이 처리하였다.

(코드는 Syntax Highlighter가 적용되어 모바일에서는 안보일 수 있습니다.)

 


 

다른 해결 방법도 있겠지만 일단 패스~~~ ^^;

 

* 추가 사항

위 코드에서

(코드는 Syntax Highlighter가 적용되어 모바일에서는 안보일 수 있습니다.)

 

var obj_id= $(".group").get(i).id;
$("#"+obj_id).children("ul").css("display", "none");

 

부분을 아래와 같이 해도 된다.

(코드는 Syntax Highlighter가 적용되어 모바일에서는 안보일 수 있습니다.)

 

$($(".group").get(i)).children("ul").css("display", "none");

 

 

 

Posted by 작은0악마
2015. 1. 6. 15:29

코딩을 하다보면 Unix timestamp를 사용할때가 있다.

이럴때 현재의 timestamp를 가져오려면 time()함수를 사용하였고

특정일시를 지정하고 그 특정일시의 timestamp를 가져오기 위해서는 mktime()함수를 사용하였다.

 

그리고 현재의 timestamp를 가져오기 위해 mktime()함수에 인수를 주지 않고 사용하기도 했었다.

 

그러나 작업을 하다보니

strict Standards: mktime(): You should be using the time() function instead in ~~ 이라는 문구가 나온다!!

 

어라?? 뭐지??

 

바로 http://php.net/manual/en/function.mktime.php 로 GO!GO!

 

Note:

As of PHP 5.1, when called with no arguments, mktime() throws an E_STRICT notice: use the time() function instead.

 

즉, "PHP 5.1부터는 인수 없이 사용하면 안된다. time()함수를 써라" 는 이야기...

 

결국 함수를 본연의 목적에 맞게 사용하라는 것이니 좋은것이긴 한데...

 

점점 귀찮게 한다는 느낌이 없지는 않다. ㅎㅎㅎ

 

**

실무 개발을 하고 계신분이 Unix timestamp를 모르실리는 없겠지만

구지 부연 설명을 하자면 1970년 1월 1일 9시 00분 00초를 기준으로

지금까지 시간의 초단위 값이다. 

 

본래는 January 1 1970 00:00:00 GMT이지만 우리나라가 GMT+9이므로

위에서 9시부터로 설명하였다.

 

 

Posted by 작은0악마