2016년 6월 15일 수요일

판다스에서 구글 애널리틱스 API 연동

파이썬 라이브러리인 판다스의 구글 애널리틱스 API 사용 방법이다.
참고에 링크한 “판다스 구글 애널리틱스 연동” 가이드로 부족한 부분에 집중한다.

크게 보면,
1. 구글 개발 콘솔에서 접속 앱을 만든다.
2. 접속 앱에서 다운로드한 JSON 파일을 판다스 라이브러리 IO 폴더에 위치 시킨다.
3. 잘 활용한다.


테스트된 환경은 다음과 같다.

* 코드 호환성 문제로 파이썬 2.7에서 수행 했다.
* 판다스는 최신 버전인  0.18.1을 사용했다.
* 구글 인증을 라이브러리의 특정 버전을 설치한다.
pip install --upgrade oauth2client==1.4.12

**
구글 애널리틱스의 수집할 대상을 구분하기 위해서 하기 정보가 필요하다.
구글 애널리틱스 “관리”에 각각의 설정 변경 화면에서 모두 찾을 수 있다.
* account_id: 계정 ID
* property_id: 추적 ID (속성)
* profile_id: 보기 ID


가이드에 나오는 샘플 코드이다.
import pandas.io.ga as ga



df = ga.read_ga(

    account_id="12345678",

    profile_id="123456789",

    property_id="UA-12345678-1",

    metrics=['users', 'pageviews'],

    dimensions=['day'],

    start_date="2016-06-01",
 
    end_date="2016-06-14",

    index_col=0

)
print(df)


참고 



커버 사진

2016년 6월 9일 목요일

맥북에서 80 포트 포워딩

맥에서 주요 포트들은 보안으로 잠겨 있어서, 필요 시에 다음과 같이 패킷 포워딩 기법을 사용한다.

패킷 포워딩을 위해서 pfctl 도구 사용 예제이다.


명세한 포트 포워딩 적용하기
echo "
rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 5000
" | sudo pfctl -ef -

**
웹 접근의 기본 포트인 80 포트로 들어오는 모든(any) 패킷을 로컬의 5000번 포트로 던진다.

모든 포트 포워딩 제거하기
sudo pfctl -F all -f /etc/pf.conf

포트 포워딩 룰 확인 하기
sudo pfctl -s nat

정적으로 사용하는 방법
1. /etc/pf.anchors/ 위치에 설정 파일 구문 추가
2. /etc/pf.conf 에 추가한 설정 파일 로드 구문 추가

참조


pfctl
: control the packet filter (PF) and network address translation (NAT) device.
The pfctl utility communicates with the packet filter device. It allows ruleset and parameter configuration and retrieval of status information from the packet filter.

Mac pfctl Port Forwarding

2016년 6월 3일 금요일

Pycharm에서 Golang 사용 환경 구성하기

파이참(PyCharm) 사용자가 맥에서 Go 언어에 대한 환경 구성하는 과정이다.

설치


홈페이지 주소 : https://golang.org

가. Golang을 다운로드 및 설치 한다.
 => 기본 경로은 /usr/local/go 이다.
 => 도구 설정 시 사용 될 “Go SDK 경로”가 된다.

도구 설정 ( Pycharm )


가. “설정” / “플러그 인” 에서 “Go”를 추가한다.
 => 재 시작 하면 “Go” 플러그인 관련 UI가 생성된다.

나. “설정”에서 “Go SDK 경로”를 설정 한다.
 => Go가 있는 위치를 지정하면, “버전” 정보가 표시된다.

다. “Run”에서 “go run <file_name>” 형태로 실행된다.