Settings

Colab + Drive + Github Workflow

공지

제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.

I. 동기 부여 및 개요

  • Google Colab을 알게 된 이후에, 모든 파일을 가급적 여기에서 작성을 한다.

  • Why?

    • 첫째, GPU를 무료로 사용할 수 있다.
    • 둘째, 맥북에어의 저용량을 쓰는 나에게 있어, 시스템 파일 등을 Local로 내려받는데 버거움이 있다.
    • 셋째, 온라인 강의 및 책을 협업해서 써야 하는데, 각 Local 환경을 구축하는 번거로움을 없애고 싶었다.
    • 마지막으로, 파일 공유가 가능하다.
  • 문제는 Google Colab + Drive + Github로 연동하여 소스파일을 관리해야 하는 시점이 도래했다.

Python Package Settings on Google Colab

공지

제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.

I. 개요

  • 교육상, 최근 kaggle 및 국내 경진 대회에 참여할 일이 생겼다.
  • 실습을 해보니, 매번 패키지와 파일을 다운로드 받는 것이 많이 불편했다.
    • 파일을 열 때마다, !pip install name_of_package을 실행해야 하는 번거로움이 있다.
  • 이러한 해결책으로 파이썬 패키지를 Google Colab에 영구적(Permantly)으로 설치하는 것을 실습한다.

Hugo - 이미지 위치 설정

I. Problem

Hugo에서 이미지를 업로드하면 자동적으로 왼쪽(Left) 정렬이 된다. 기본적으로 마크다운 내에서 html 적용은 되지 않는 문제점이 있다.

  • 아래는 기본적인 img 업로드 방식이다.
![](/img/programming/2020/05/numpy_array_creation/numpy.png)

  • 위 그림처럼 왼쪽으로 치우친 것을 볼 수 있다. 이럴 경우 어떻게 해결해야 할까? 간단하게 해결 방법을 정리하여 공유한다.

II. CSS 파일 찾기

  • 기본적으로 이미지를 핸들링 하는 것은 CSS 파일에서 해결한다. 문제는 어떤 CSS 파일을 열어야 하는지 처음에는 어려울 것이다.
  • 첫째, 대부분 hugo 개발자들이 테마를 사용하기 때문에 테마에서 css 파일을 찾는다.
    • 강사의 테마는 mainroad이며, 위 기준으로 말씀드리면 파일 경로는 아래와 .
themes/mainroad/assets/css/style.css
  • style.css 파일을 열면, 테마에 적용된 각종 css 태그들을 확인할 수 있다.

III. CSS 파일에 소스 추가

  • 다른 소스 코드는 만지지 않는다.
  • 맨 마지막에서 아래와 같은 소스코드를 입력한다.
img[src$='#center']
{
    display: block;
    margin: 0.7rem auto; /* you can replace the vertical '0.7rem' by
                            whatever floats your boat, but keep the
                            horizontal 'auto' for this to work */
    /* whatever else styles you fancy here */
}

img[src$='#floatleft']
{
    float:left;
    margin: 0.7rem;      /* this margin is totally up to you */
    /* whatever else styles you fancy here */
}

img[src$='#floatright']
{
    float:right;
    margin: 0.7rem;      /* this margin is totally up to you */
    /* whatever else styles you fancy here */
}
  • 위 코드에서 각 스타일에 맞게 margin, float 등을 css 코드에 맞게 수정 변환하면 된다.
  • 수정하였다면 이제 저장한뒤, 작성중인 마크다운으로 다시 돌아간다.

IV. Markdown 파일에의 적용.

  • 이제 적용해보자. 적용하는 것은 어렵지 않다. 이미지 경로 마지막에 #center, #floatleft, #floatright 등을 입력하면 된다.
![](/img/programming/2020/05/image_center/your_image.png#center) # floatleft, floatright
  • #center의 예시

Shiny App Deployment Using GCP

I. 개요

Google Data Studio는 놀랍도록 유연한 도구로서 마케팅 대행사 중 Google Analytics를 활용한 업체들은 대부분 항상 사용합니다. 때로는 유연성이 더 필요할 때 R ’s Shiny 패키지를 사용하여 데이터 시각화 / 대시 보드 앱을 만드는 것이 매우 쉽습니다. 이 옵션을 사용하면 모든 소스의 데이터를 예측 모델링과 함께 사용할 수 있는 장점이 있습니다.

이 블로그 게시물은 3 부분으로 나누어져 있습니다.

  1. 먼저 Google Cloud Virtual Machine (VM)을 설정하고 웹 액세스를 허용하도록 방화벽 규칙을 구성합니다.
  2. R, RStudio 및 Shiny를 설치합니다.
  3. 마지막으로 우리는 Shiny 앱을 배포하려고 합니다.

II. 가상환경 설치

먼저 필자의 로컬 컴퓨터 환경은 다음과 같습니다.

Github에 Daily 코딩 설정

I. Motivation

오늘은 데이터 분석과 크게 관련이 없는 포스팅을 해보자. 오늘 깃허브에 꾸미려고 하는 것은 아래와 같다.

주로 깃허브를 올리는 시간은 언제인가? 그저 단순 재미로 포스팅을 해본다.

II. Prep Work

  1. 첫번째, Gist를 클릭하여 활성화를 합니다. (https://gist.github.com/)
  2. 두번째, 이제 토큰을 생성하자. 이 때 중요한 것은 rest & gist를 클릭한 뒤 생성을 해야 한다. (https://github.com/settings/tokens/new)
  • Note에는 토큰 생성 목적을 기재하면 된다. (필자는 Productivity Box)라고 했다.
  • Select Scope에서 rest & gist를 아래 그림과 같이 클릭하자.

Basic Objects - Dataframe

공지

본 Tutorial은 강사에게 강의를 듣는 과거-현재-미래 학생들을 위해 작성하였습니다.

이 글을 읽어주시는 분들에게 작은 도움이 되기를 바랍니다.

I. DataFrame의 개요

본 포스트는 프로그래밍과 R을 처음 배우는 사람을 위해 작성하였습니다. 짧게 읽어두시기를 바랍니다. 공부하실 때는 복잡하게 생각하지는 마시기를 바랍니다. 영어의 기본단어 및 문법을 배우듯이 그냥 받아들이시기를 바랍니다.

데이터프레임은 서로 다른 성질의 벡터가 모여 있는 집합이라고 할 수 있다.1

(1) 데이터프레임 생성

이제 데이터프레임을 만들어보자. 어려운 것은 아니니 쉽게 따라 올 수 있을 것이다.

list handling

I. 개요

모든 프로그래밍 언어에는 기본적으로 데이터타입이 존재한다. R도 프로그래밍 언어이기 때문에 데이터 타입의 일반적인 유형이 존재한다.

Vector의 기본 개념을 익혔다면, 전반적인 구조에 대해 살피는 시간을 갖도록 한다. 먼저 동일 성질의 Vector가 모여서 matrix도 되고, 데이터프레임도 된다. 그리고 이러한 다양한 데이터의 구조가 모여 리스트를 형성하는데,

리스트를 만드는 것도 중요한 건, 즉 이해다. 리스트에 접근법이 중요한데, 리스트를 잘 다루면, apply 함수 계열을 사용하는데도 큰 도움이 된다.

특히, 100GB 이상의 데이터를 다루게 되면, apply() 함수로 작업해야 하는 일이 종종 발생한다.

More on Vectors and Indexing

공지

본 Tutorial은 강사에게 강의를 듣는 과거-현재-미래 학생들을 위해 작성하였습니다.

이 글을 읽어주시는 분들에게 작은 도움이 되기를 바랍니다.

I. 벡터

본 포스트는 프로그래밍과 R을 처음 배우는 사람을 위해 작성하였습니다. 짧게 읽어두시기를 바랍니다. 공부하실 때는 복잡하게 생각하지는 마시기를 바랍니다. 영어의 기본단어 및 문법을 배우듯이 그냥 받아들이시기를 바랍니다.

현재 진행중인 R 기초문법은 아래와 같습니다. 원하시는 것은 참조해서 가볍게 공부하시기를 바랍니다.

벡터(Vector). R에서 다루는 가장 작은 단위값의 데이터다. 1차원으로 구성이 되어 있다.

Basic Objects - Vector

공지

본 Tutorial은 강사에게 강의를 듣는 과거-현재-미래 학생들을 위해 작성하였습니다.

이 글을 읽어주시는 분들에게 작은 도움이 되기를 바랍니다.

I. 벡터

본 포스트는 프로그래밍과 R을 처음 배우는 사람을 위해 작성하였습니다. 짧게 읽어두시기를 바랍니다. 공부하실 때는 복잡하게 생각하지는 마시기를 바랍니다. 영어의 기본단어 및 문법을 배우듯이 그냥 받아들이시기를 바랍니다.

벡터(Vector). R에서 다루는 가장 작은 단위값의 데이터다. 1차원으로 구성이 되어 있다.

(1) 4가지 벡터

크게 4가지의 벡터가 존재한다. 간단하게 코드를 작성해보자.

xNum <- c(1, 3.14, 5, 7)
xLog <- c(TRUE, FALSE, TRUE, FALSE)
xChar <- c("가", "나", "A", "B")
xMix <- c(1, TRUE, "Hello R!")

이렇게 작성한 코드는 실행한다. 실행할 때, 윈도우 사용자는 Ctrl + Enter, Mac사용자는 Command + Enter를 사용한다.

Shiny 프로젝트 Review & 더 알아볼 것

공지

이번에 준비한 튜토리얼은 제 강의를 듣는 과거-현재-미래 수강생분들을 위해 준비한 자료이다. 많은 도움이 되기를 바란다

이번에 준비한 Tutorial 코로나 세계현황을 Shiny Dashboard로 만들어 가는 과정을 담았다.

I. Shiny Tutorial 소개

처음 shiny를 접하거나 shiny의 전체 튜토리얼이 궁금한 사람들을 위해 이전 글을 소개한다.

II. Shiny Project

현재 진행중인 프로젝트가 궁금하다면 아래를 확인해보자.