마크다운 튜토리얼 60 Second Markdown Tutorial 

요새 웹사이트 구축이 필요해서, 이것저것 살펴보던 중에, 서버에 HTTPS 를 적용하는 방법을 찾아보았다.

 

적용 방법론적인 것은 여러가지가 있고, 동작 흐름이 궁금하여 이것 저것 보던중에

생활코딩의 HTTPS 와 SSL 인증서 관련 부분을 학습하게 되었다. https://opentutorials.org/course/228/4894

 

HTTPS와 SSL 인증서 - 생활코딩

HTTPS VS HTTP HTTP는 Hypertext Transfer Protocol의 약자다. 즉 Hypertext 인 HTML을 전송하기 위한 통신규약을 의미한다. HTTPS에서 마지막의 S는 Over Secure Socket Layer의 약자로 Secure라는 말을 통해서 알 수 있듯이 보안이 강화된 HTTP라는 것을 짐작할 수 있다. HTTP는 암호화되지 않은 방법으로 데이터를 전송하기 때문에 서버와 클라이언트가 주고 받는 메시지를 감청하는 것이

opentutorials.org

 

여전히 아리송한부분이 많지만, 그래도 최대한 이해한 내용을 아래 그림과 같이 정리해보았다.

도메인을 정하면 실제로 방법론적인 것을 찾아서 적용해볼 예정이다.

 

HTTPS/SSL 인증 동작 흐름 

 

 

구글 애널리틱스(웹 로그 분석의 시작과 끝), (브라이언 클리프튼 지음) 책을 읽고 정리, 요약해보았다

낯선 용어들이 많았기에, 받아들이는데 어려움이 많았다. 저자의 의도와 다른 부분이 있을 수도 있겠지만, 우선 정리해본다.

Chapter 2.다양한 웹 로그 분석 방법론과 정확성


1. 페이지 태그와 로그 파일


  • 페이지 태그(Page Tag) : 방문자의 웹브라우저에서 데이터를 수집해 원격지에 위치한 데이터 수집 서버로 정보를 전송하고, 원격 서버에서 제공하는 리포트를 통해 고객 분석 결과를 확인하는 방식

  • 로그 파일(LogFiles) : 방문자의 브라우저와는 무관하게 웹서버가 수집하는 데이터를 의미한다. 웹서버는 자신의 활동을 텍스트파일 형태로 로컬 서버에 기록하고 고객 분석 결과는 로컬 서버를 통해 조회하는 방식이다.

1.1 페이지 태그와 로그파일의 장단점 비교


방법장점단점

페이지 태그 - 프록시 서버와 캐싱 서버를 통과할 수 있어서 정확한 세션 추적이 가능하다. 
- 클라이언트 사이드 이벤트를 추적한다.
- 환경설정 오류가 발생하면 데이터손실이 일어난다.데이터가 손실되면 재분석이 어렵다.
- 방화벽이 있으면 태그사용이 제한된다. 
- 다운로드 완료여부는 추적할 수 없다. 태그는 다운로드가 완료시점이 아닌, 페이지나 파일을 요청하는 시점에 생성된다.
로그파일 - 과거 데이터의 재처리가 용이하다. 
- 방화벽 문제가 발생하지 않는다.
- 프록시를 거치거나 캐싱되는 경우, 데이터가 부정확해진다. 페이지가 캐시되면, 웹서버에는 아무런 로그도 기록되지 않는다. 
- 이벤트 추적이 안된다.

2. 웹 로그 분석에서 쿠키의 역할


  • 쿠키(cookie) : 웹서버가 웹브라우저에게 전달하는 작은 문자메시지로 방문자의 브라우저는 이름(name)과 값(value)이 한쌍인 값이다. 로컬 하드 드라이브에 저장한다.
  • 퍼시스턴트 쿠키 : 브라우저를 닫았다고 다시 접속해도 여전히 유용
  • 세션 쿠키 : 사이트에서 방문자의 세션이 존재하는 동안에만 유지된다.
  • 웹분석에서 쿠키 사용 주요 목적 : 사용자를 식별하여, 개인화된 웹페이지를 구현할 수 있게 함

3. 웹 로그 분석의 데이터의 정확성


웹 로그 분석 데이터는 결코 100% 정확할 수 없고 오차의 측정조차 쉽지 않음.
따라서, 동일한 비교 척도를 적용하여 방문자의 추세를 확인 할 수 있음 

ex 1) 웹사이트의 트래픽의 30%는 검색엔진에서 발생한다. 
ex 2) 이메일 광고를 통한 구독 전환 비율이 지난주 대비 약 20% 정도 증가하였다.

3.1 로그 파일에서 방문자 데이터에 영향을 미치는 요인


  • 동적으로 할당된 IP 주소
  • 클라이언트 사이드의 캐시 페이지 : 이전에 방문한 페이지를 방문자의 컴퓨터에 저장해두는 방법으로, 이 방문은 웹서버에 기록되지 않는다.
  • 웹로복의 방문 수 :스파이더나 웹크롤러 같은 웹 로봇은 실제 방문자가 아니지만, 로그 파일 솔루션은 이를 구별하지 못함. 따라서 로봇 활동으로 인한 데이터까지 모두 포함해 보여줌으로써 웹 로그 분석에 영향을 미친다.

3.2 페이지 태그에서 방문자 데이터에 영향을 미치는 요인


  • 태그를 누락없이 설치하는 것이 중요
  • 페이지 로딩을 방해하는 자바 스크립트 에러 : 자바스크립트가 동작할 수 있어야 페이지 태그도 잘 동작
  • 페이지 태그를 차단하는 방화벽 : 거부된 방문자를 측정하지 않는 등, 데이터 처리의 일관성을 유지하는 것이 중요하다.
  • 기존 모바일 사용자 추적

3.3 쿠키를 사용할 때 방문자 데이터에 영향을 미치는 요인


  • 방문자의 쿠키 거부 또는 삭제
  • 사용자가 여러대의 컴퓨터를 소유하거나 공유
  • 다수의 컴퓨터를 사용하는 동일 사용자
  • 같은 컴퓨터를 사용하는 다수 사용자
  • 부정확성의 여지를 남기는 지연 시간
  • 데이터 수집을 왜곡하는 오프라인 방문 : 고가 제품은 보통 온라인에서 먼저 조사한 후 실제 구매는 오프라인에서 이뤄지는 형태. 따라서 현재로서는 온라인 바우처 개념을 사용하는 것이 제약사항을 극복할 수 있는 가장 좋은 방법임.

3.4 (페이지 태그)벤더 사이의 데이터 비교


페이지 태그를 사용하는 벤더들 간의 비교 역시 불가능하다. 
벤더간의 지표차이를 유발하는 원인은 다음과 같다.

  • 1사 쿠키 대 3사 쿠키
  • 페이지 태그 위치
  • 태그 누락
  • 페이지 뷰(방문과 방문자) : 페이지 뷰에 대한 벤더의 추적 방식은 유사하나 각기 다른 알고리즘을 사용하고 있어 결과값이 다르므로, 방문과 방문자를 구별하는 것이 매우 중요하다.
  • 쿠키 타임 아웃 : 타임아웃 이란 방문자가 웹페이지에서 활동없이 있는 시간에 따라 사이트를 떠난 것으로 볼 것인가를 결정하는 기간으로 벤더마다 다르다.
  • 페이지 태그 코드 보안
  • 데이터 샘플링
  • PDF 파일에서 고려할 사항 : 다운로드 완료가 아니라 PDF 파일 클릭에 대한 방문자수를 보고함.
  • 전자상거래(반품처리) : 웹로그 분석 리포트에서는 반품에 대한 계산을 간과함
  • 필터 설정(잠재적 문제 해결)
  • 시간 계산 : 마지막으로 호출된 페이지를 어떻게 방문시간을 계산할 것인지가 곤란한 부분임. 왜냐하면 열어놓고 다른일 할 수도 있고 등등.. 구글 애널리틱스는 방문자 세션에서 마지막 페이지는 무시한다.
  • 처리 빈도 : 구글은 일단위로 24시간 동안의 모든 데이터를 수집하여 재처리. 따라서 현재 날짜에서 발생한 불일치에 너무 집중하지 않는 것이 중요하다.
  • 목표 전환과 페이지뷰의 비교(일관성 수립) : 방문자의 웹사이트 이동 흐름 측정 시, 일관성을 주어야한다.

4. 웹 로그 분석 데이터의 정확성 향상


  • 웹 로그 분석이 100% 정확한 것은 아니기에, 정확한 수치보다 추세를 보는데 집중하는 것이 필요하다. 

    ex 1) 방문자 수가 증가하고 있는가? 
    ex 2) 방문자가 증가 혹은 감소하는 비율은 어떠한가? 

5. 웹 로그 분석에서 개인정보 보호에 대한 고찰


  • 비 개인식별 정보 : 익명으로 수집된 데이터로써 인구통계학적 정보를 식별하거나 유추할 수 없는 데이터이다. 사용자 경험 향상 목적이라면, 해당 정보 수집이 괜찮다고 말하고 있다.
  • 개인식별 정보 : 방문자에게 개인 식별 정보를 공유할 것인지 물어봐야 한다.

구글 애널리틱스(웹 로그 분석의 시작과 끝), 브라이언 클리프튼 지음 책을 읽고 요약한 내용입니다.

Chapter 1. 웹 트래픽 정보의 중요성


1. 웹사이트 측정이 필요한 이유


  • 초반에 가장 중요한 것은 웹사이트 측정이 비즈니스에 어떤 가치를 줄 것인지 정의하는 것이다.

  • 비지니스 전략상 웹사이트가 중요한 부분을 차지한다면, 웹사이트 측정도 중요하게 여겨야한다.

  • 웹사이트와 웹사이트 측정의 중요도 간에는 강한 상관관계가 있다.

1.1 용어정의


  • GATC (구글 애널리틱스 추적코드) 
    추적코드는 구글 애널리틱스를 사용해 방문 데이터를 수집하고 리포트하기 위해 웹사이트의 각 페이지마다 붙여넣어야 하는 자바스크립트 코드다. 일반적으로 페이지 태그라고 한다. 

  • referrer(리퍼러) 
    방문자가 웹사이트로 유입될 때 클릭한 외부 페이지 

  • Medium (매체) 
    캠페인 추적 시 매체는 사이트 방문자가 해당 사이트의 링크를 수신하는 방법

    • 뉴스레터 : 이메일 or PDF
    • 웹사이트 : 리퍼럴(referral)
    • 방문자가 직접 입력 : direct 

  • 목표전환 (Goal conversion) 
    일반적인 페이지뷰보다는 좀 더 가치 있는 바람직한 액션을 의미한다. 예를 들면, 구매 확정 페이지, 가입 축하 페이지, 다운로드 페이지 등이 해당한다. 

  • Landing Page (방문 페이지) 
    사이트 방문자가 해당 사이트에 방문 시 도착한 첫 페이지 

  • Site Search (사이트 검색) 
    웹사이트 내부의 사이트 검색 기능은 사용자가 필요한 정보를 좀 더 빨리 찾게 한다 

  • Session (세션) 
    방문자가 웹사이트에 접속해서 활동한 기간을 의미한다. 사용자가 아무런 액션 없이 30초간 경과되면 세션은 완료된다. 

  • Source (소스) 
    캠페인 추적 시 소스는 추천의 출처를 가리킨다. 예를 들어 구글, 야후 등을 들 수 있다. 

  • Funnel (유입경로) 
    체크아웃 시스템처럼 목표 전환으로 인도하는 잘 정의된 프로세스(?잘 이해 안됨) 

  • Bounced Visitor (이탈고객) 
    웹사이트 들어와서 한페이지만 보고 더 이상 아무런 액션을 취하지 않는 방문자. 보통 사용자 경험이 좋지 않은 것으로 간주한다. 

  • Campaign (캠페인) 
    유료 광고를 의미한다. 예를 들어, 도서 세일, 봄 세일등 

  • ROI (투자수익) 
    (수익-비용)/비용. 백분율로 표시한다. 

  • URL (Uniform Resource Locator) 
    인터넷에서 정확한 위치를 식별하는 수단. 아래와 같이 네부분으로 구성됨. 
    http://www.mysite.com/products/widget1.php 

  • 프로토콜 유형 : HTTP 
  • 호스트 도메인 네임 : http://www.mysite.com 
  • 디렉토리 경로 : /products/ 
  • 파일명 : widget1.php 

2. 웹 로그 분석이 제공하는 정보


  • 웹로그 분석은 다양한 tools 을 제공한다.
  • 오프사이트 툴 : 전체 인터넷 상에서 발생하는 잠재 고객, 광고 점유율, 입소문의 규모를 측정
  • 온사이트 툴 : 사이트 방문자의 이동경로, 활성화 요소, 웹사이트 실적을 측정(구글 애널리틱스틑 온사이트 방문자 리포팅 툴이다.)

3. 웹 로그 분석 시작


처음은 우선 기본적인 방문가 관련 지표를 알고자 할 것이다.

기본적인 지표는 아래와 같다.

  • 하루 방문자 수
  • 평균 전환율
  • 최다 방문 페이지
  • 웹사이트 평균 방문 시간, 재방문율 등등 

    하지만 위의 지표는 시작접에 불과하다. 구글 애널리틱스를 통해서 통계 데이터를 손쉽게 얻을 수 있다 보니, 데이터를 확인하는 습관이 과도해질 수도 있는데, 심화된 분석을 하기 위해서는 좀 더 복잡한 질문을 해야한다. 

    명심할 점은, 웹 로그 분석은 수단이지, 그 자체가 목적은 아니라는 사실이다.

4. 웹 로그 분석에 얼마의 시간을 소요해야하는가?


  • 로그 분석은 꾸준해야한다. (마치 헬스장에 운동하러 가는 것처럼..)
  • 사이트의 가치를 화폐 단위로 이해하는 일이 중요한다.
  • 저자의 경험에 의하면 보통 초기 분석 - 가술 수립 - 테스트 - 결과를 해석해서 전후 비교 데이터 제시까지 보통 6개월 소요 

5. 웹 로그 분석을 통한 웹 트래픽 파악


  • 구글 애널리틱스에서 제공하는 리포트를 보면 그 데이터의 방대함에 놀라게 된다.
  • 그 데이터 안에서 목표 식별을 잘하여, 웹사이트의 성공 여부를 명확히 보여주게 한다. 

6. 참고자료



주피터 노트북 사용 시 평소에 자주 사용하게 될 것같은 단축키들을 모아보았다.

그동안 몰랐던 것들이 꽤 많다. 기억하기 위해 정리해둔다. 


Command Mode ( press Esc to enable) 


shift-Enter : run cell, select below


Ctrl-Enter : run cell


Alt-Enter : run cell, insert below 


Y : to code 


M : to markdown


B : insert cell below


X : cut selected cell


C : copy selected cell


Shift-V : paste cell above


V : paste cell below


Z : undo last cell deletion


D,D : delete selected cell


Shift-M : merge cell below


Edit Mode ( press Enter to enable)


Shift-Tab : 툴팁표시


Ctrl-] : indent


Ctrl-Shift- : split cell



출처 : http://intellegibilisverum.tistory.com/entry/IPython-notebook-%EB%8B%A8%EC%B6%95%ED%82%A4-%EB%AA%A8%EC%9D%8C?category=651122




필요 시, 주피터 노트북 내에서 찾아볼 수 있다. 아래 키보드 버튼 누르면 됨




AWS 프리티어 서비스를 사용해보고자 데이터 분석을 위한 AWS 세팅을 해보았다. 


단계단계 마다 찾아보고 성공한 것들을 정리하고자 한다. 


1. EC2 에 파일 올리기 http://arisu1000.tistory.com/27557  


2. Ubuntu 에 Anaconda 설치 

   

    참고 사이트) 

    http://antilibrary.org/727    

    https://docs.anaconda.com/anaconda/install/linux  



    실제 진행 커맨드) 

    wget https://repo.continuum.io/archive/Anaconda3-5.0.1-Linux-x86_64.sh    

    bash Anaconda3-5.0.1-Linux-x86_64.sh    

    아래와 같이 yes/no 입력 창이 나오면 yes 누름 

                            

    


3. Jupyter 사용 

  

 참고 사이트) http://better-today.tistory.com/40

                  https://www.slideshare.net/HyunsikYoo/ipython-serverjupyter-server



 처음에는 커맨드 창에서 jupyter notebook 커맨드를 통해 나온 주소를 copy & paste 해서 해보았으나 

 계속 연결이 거절되었다는 에러 발생.. (IP 주소는 public DNS 로 변경해서 시도했었음)


 구글링하니 아래와 같은 방법이 나와 그대로 따라해봄 


  https://docs.aws.amazon.com/ko_kr/dlami/latest/devguide/setup-jupyter-configure-server.html

  https://docs.aws.amazon.com/ko_kr/dlami/latest/devguide/setup-jupyter-config.html



 위의 과정을 거치고 jupyter notebook 을 통해 나오는 주소에 public DNS 로 변경해서 시도하여 성공함. 


numpy, panda 라이브러리 import 하여 테스트 끝!! 


참고 사이트) https://www.insilicogen.com/blog/197



+ Recent posts