[Linux] 특정 프로세스 상태 확인하기

cat /proc/processID/status
메모리 사용량등의 정보를 확인할 수 있다.
[root@03a69d7f-472d-496d-82e6-7d8c839364eb ~]# cat /proc/2138/status
Name:   
State:  S (sleeping)
Tgid:   1118
Pid:    1118
PPid:   959
TracerPid:      0
Uid:    27      27      27      27
Gid:    27      27      27      27
Utrace: 0
FDSize: 256
Groups: 27
VmPeak:  1347552 kB
VmSize:  1302332 kB
VmLck:         0 kB
VmHWM:    169312 kB
VmRSS:     42100 kB
VmData:  1287276 kB
VmStk:        88 kB
VmExe:      6788 kB
VmLib:      7252 kB
VmPTE:       560 kB
VmSwap:   181564 kB
Threads:        45
SigQ:   0/14841
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000087007
SigIgn: 0000000000001006
SigCgt: 00000001800066e9
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: ffffffffffffffff
Cpus_allowed:   3
Cpus_allowed_list:      0-1
Mems_allowed:   1
Mems_allowed_list:      0
voluntary_ctxt_switches:        1872385
nonvoluntary_ctxt_switches:     134
 
 

Posted by incree

2014/08/10 21:19 2014/08/10 21:19
, , ,
Response
0 Trackbacks , 0 Comments
RSS :
http://www.incree.com/tc/incree/rss/response/349

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다

[Linux] root 계정의 ssh 원격접속 제한하기

/etc/ssh/sshd_config 에서 PermitRootLogin yes를 찾아서 PermitRootLogin no로 수정한 후

sshd demon을 재시작한다.

service sshd restart

Posted by incree

2014/08/07 02:14 2014/08/07 02:14
, ,
Response
0 Trackbacks , 0 Comments
RSS :
http://www.incree.com/tc/incree/rss/response/348

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다

단기간에 너무 많은 api 호출을 한 경우에 limit가 걸리면

이 후 요청하는 모든 api 호출에 이 에러가 리턴되고, 30분동안 블럭된다.


해결 방법은 '다른 아이디를 이용하거나 30분 후에 다시 시도하면 된다' 라고 페이스북 개발자 페이지에 나온다.

https://developers.facebook.com/docs/reference/ads-api/api-rate-limiting


실제 리턴되는 에러 메시지
/**/ FB.__globalCallbacks.f1765e9214({"error":{"message":"(#17) User request limit reached","type":"OAuthException","code":17}});

Posted by incree

2014/07/28 17:42 2014/07/28 17:42
, , ,
Response
0 Trackbacks , 0 Comments
RSS :
http://www.incree.com/tc/incree/rss/response/346

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다

Facebook 탭앱 관리를 Graph API를 사용해서 하고 있었는데,

잘되던 탭앱 custom_name, custom_image_url 수정이 어느날부터 갑자기 에러가 나기 시작했다.

에러는 다음과 같았다.

[error] => Array
(
[message] => (#210) Subject must be a page.
[type] => OAuthException
[code] => 210
)

해결은 파라미터에 추가로 access_token을 넘겨줘서 처리했다.

기존에는 따로 안 넘겨줘도 잘 작동했었는데, 왜 어느날 갑자기 바뀐걸까?

처음 개발하면서 테스트 해봤을때 access_token을 넘겨주나 안 넘겨주나 똑같이 잘 작동해서

curl시에 api에서 알아서 access_token을 추가해서 처리하는 줄 알았는데, 그게 아닌가보다

수정전
$postArray = array('custom_name' => $custom_name);
$fbObj->api('/' . $pageId. '/tabs/app_' . $tabappId, 'POST', $postArray);
===============>
수정후
$postArray = array('custom_name' => $custom_name, 'access_token' => $pageAccessToken);
$fbObj->api('/' . $pageId. '/tabs/app_' . $tabappId, 'POST', $postArray);

Posted by incree

2014/07/25 11:40 2014/07/25 11:40
, , , , ,
Response
0 Trackbacks , 0 Comments
RSS :
http://www.incree.com/tc/incree/rss/response/343

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다

구글 캘린더 목록 가져오기

Google APIs Client Library for PHP download

<?php
require_once 'Google/Client.php';
require_once 'Google/Service/Calendar.php';

$client = new Google_Client(); 
$client->setClientId($client_id);
$client->setClientSecret($client_secret);
$client->setRedirectUri($redirect_uri);
$client->setAccessType('offline');
$client->setApprovalPrompt('force');
$client->setScopes(array('https://www.googleapis.com/auth/calendar.readonly', 'https://www.googleapis.com/auth/calendar'));

$cal = new Google_Service_Calendar($client);

$calList = $cal->calendarList->listCalendarList();
    $_SESSION['token'] = $client->getAccessToken();

    $items = $calList->getItems();
    $itemsLen = sizeof($items);

    for($i = 0; $i < $itemsLen; ++$i) {
        echo $items[$i]['id'], ' : ' . $items[$i]['summary'], '<br />';
    }
?>



$client_id = '<YOUR_CLIENT_ID>';
 $client_secret = '<YOUR_CLIENT_SECRET>';
 $redirect_uri = '<YOUR_REDIRECT_URI>';
/*
위 세 변수 값은 Google Developers Console에서 프로젝트 선택후
APIS & AUTH -> Credentials 에서 OAuth 의 Create New Client ID 클릭해서 생성하면 된다.
*/

사용자 삽입 이미지

Posted by incree

2014/07/07 15:02 2014/07/07 15:02
, ,
Response
0 Trackbacks , 0 Comments
RSS :
http://www.incree.com/tc/incree/rss/response/338

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다

api 문서의 예제가 전부 옛날거라서

직접 라이브러리 분석해서 처리한 방법

정상적인 방법인지는 모르겠지만, 등록은 잘 된다.

구글 캘린더 일정 등록하기

Google APIs Client Library for PHP download

<?php
require_once 'Google/Client.php';
require_once 'Google/Service/Calendar.php';

$client = new Google_Client();
$client->setClientId($client_id);
$client->setClientSecret($client_secret);
$client->setRedirectUri($redirect_uri);
$client->setAccessType('offline');
$client->setApprovalPrompt('force');
$client->setScopes(array('https://www.googleapis.com/auth/calendar.readonly', 'https://www.googleapis.com/auth/calendar'));

$cal = new Google_Service_Calendar($client);

$calendarId = ''; //
$targetDate = '2014-07-07';
$tDate = new Google_Service_Calendar_EventDateTime();
$tDate->setDate($targetDate);
   
$body = new Google_Service_Calendar_Event();
$body->setSummary($cTitle);  // 일정 제목
$body->setStart($tDate); // 일정 시작
$body->setEnd($tDate); // 일정 종료
   
$cal->events->insert($calendarId, $body);
?>







$client_id = '<YOUR_CLIENT_ID>';
 $client_secret = '<YOUR_CLIENT_SECRET>';
 $redirect_uri = '<YOUR_REDIRECT_URI>';
/*
위 세 변수 값은 Google Developers Console에서 프로젝트 선택후
APIS & AUTH -> Credentials 에서 OAuth 의 Create New Client ID 클릭해서 생성하면 된다.
*/

사용자 삽입 이미지

Posted by incree

2014/07/07 14:54 2014/07/07 14:54
, ,
Response
0 Trackbacks , 0 Comments
RSS :
http://www.incree.com/tc/incree/rss/response/337

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다

구글 캘린더가 처음 나왔을때 몇년 사용하다 아이폰 사면서 기본으로 제공되는 캘린더 앱을 사용했었는데,

요즘 다시 구글 캘린더를 사용하게 됐다.

구글 캘린더의 가장 아쉬운 점이 음력 일정을 입력할 수 없다는 건데,

이 부분은 api를 이용해서 구현해 놓은 곳이 있다.

http://googlelunar.cpueblo.com/

하지만 일정의 반복 설정등을 할 수 없어서 여전히 불편하기는 하다.

이 부분은 구글에서 제공해 주지 않으면 처리하기가 힘들지 않을까 싶다.

개인적으로 그 다음 있었으면 하는 기능이 D-day 기능인데,

이건 찾아봐도 구글 캘린더 기본 기능에도 없는 것 같고, 구현해 놓은것도 못 찾았다.

해서 그냥 만들기로 했다.

캘린더 API(https://developers.google.com/google-apps/calendar/?hl=ko)에 있는 라이브러리와 예제 소스가 전부 예전 버젼이라

구현하는데 좀 애를 먹긴 했지만, 완성하고 나니 제법 쓸만하다.

물론 귀찮아서 아주 기본적으로 딱 필요한 것만 구현했다.

피드백이 있다면....시간내서 기능을 보강할 수도....


사용은 여기로~~
구글 캘린더 D-day 등록하기(http://www.incree.com/gCalendar/)

사용자 삽입 이미지
완전 허접한 화면 스샷

Posted by incree

2014/07/07 14:49 2014/07/07 14:49
, ,
Response
0 Trackbacks , 0 Comments
RSS :
http://www.incree.com/tc/incree/rss/response/336

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다

[PHP] source file encode, decode



Posted by incree

2014/05/07 06:44 2014/05/07 06:44
, , ,
Response
0 Trackbacks , 0 Comments
RSS :
http://www.incree.com/tc/incree/rss/response/328

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다

mysql user defined global variables

기본으로 제공하는 mysql 기능에는 global 사용자 변수를 설정할 수 없다.

udf로 처리해야 한다.

https://github.com/jedisct1/MySQL-global-user-variables-UDF

Posted by incree

2014/05/07 00:22 2014/05/07 00:22
, , , ,
Response
0 Trackbacks , 0 Comments
RSS :
http://www.incree.com/tc/incree/rss/response/327

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다

[Android] short array to byte array

public byte[] shortArray2byteArray(short[] shortArray) {
    int shortArraySize = shortArray.length;
    byte[] byteArray = new byte[shortArraySize * 2];
    for (int i = 0; i < shortArraySize ; i++) {
        byteArray [i * 2] = (byte) (shortArray[i] & 0x00FF);
        byteArray [(i * 2) + 1] = (byte) (shortArray[i] >> 8);
    }
    return byteArray ;
}

Posted by incree

2014/04/28 05:07 2014/04/28 05:07
, , ,
Response
0 Trackbacks , 0 Comments
RSS :
http://www.incree.com/tc/incree/rss/response/326

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다

« Previous : 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : ... 14 : Next »

Notices

Archives

Authors

  1. incree

Recent Trackbacks

Calendar

«   2017/12   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

Site Stats

Total hits:
435939
Today:
114
Yesterday:
230