4월, 2020의 게시물 표시

제이펍 기술 서적 베타 리더 후기

이미지
안녕하십니까. 2018 여름에 제이펍이라는 출판사에서 베타 리더를 진행하여 그에 대하여 리뷰 합니다. 베타 리딩 책 베타 리더 베타 리더란 책을 출판하기 전에 책을 읽고 간단한 리뷰를 하면서 오타를 찾아주는 작업을 합니다. 딱히 원고료를 받지는 않으며 책을 공짜로 얻을 수 있는 기회, 책에 이름이 실릴 수 있는 기회를 줍니다. 당시에 책값이 너무 많이 나간다고 생각하여 베타 리더에 지원해보았습니다. 어짜피 읽을 기술 서적들 공짜로 읽어보자는 식으로 말입니다. 개발자도 궁금한 IT 인프라 책 인프라에 관하여 간단하게 설명해주는 책 입니다. 어려운 책은 아니고 인프라에 관하여 내가 너무 모르는 것 같다고 하면 읽을만 합니다.  개발자도 궁금한 IT 인프라 개구루, 코타나 라는 두명의 가상 인물이 서로 주고 답하는 방식으로 풀어 나가는게 인상적 입니다. 현재 기준 약 2년 안되게 지난 책이지만 클라우드에 대한 내용도 있기 때문에 그렇게 오래된 책은 아닙니다. 베타 리더 후기 코드로 알아보는 ARM 리눅스 커널 리눅스 커널에 대하여 본격적으로 오픈소스의 코드까지 분석해줍니다. 보통 이런책은 없다고 봐도 무방한데 오랜만에 보니 여전히 수준높은 책인것 같습니다.  코드로 알아보는 ARM 리눅스 커널 베타 리딩 당시에도 좋은 평을 했으나.. 지금 다시 생각해보면 더 좋게 평가가 가능했을것 같은데 안타깝다. 학부 운영체제때 수업이 좀 쉬운 감이 있었는데 차라리 그때 이 교재로 수업했다면 실력이 더욱 향상됬으리라 생각하는데 안타깝다. 베타리더 후기 오라클 아키텍쳐 입문 오라클 데이터 베이스에 관한 책입니다. 입문이라지만 데이터 베이스 자제에 대하여 모르면 이해하기는 어려울 수 있는 책입니다.  오라클 아키텍처 입문 그렇게 까지 어려운 책은 아니지만 오라클 데이터베이스를 유지보수 하게될 담당이면 읽을만 합니다. 단순 SQL를 짜는게 아니라 직접적...

TFX Keras Component Tutorial에 대하여

이미지
안녕하십니까. 이번 포스팅에서는 Tensorflow TFX 의 예제인 케라스 컴포넌트 튜토리얼 에 대하여 다룹니다. 코드는 제가 짠것은 아니고 텐서플로우 공식 코드를 가져온것이며 위의 링크에서 확인하실수 있습니다. TF Dev Summit 20 텐서플로우 Dev Summit에서 해당 튜토리얼에 대하여 간략하게 소개한적이 있습니다. 영어 동영상에 익숙하시면 해당 동영상을 보시는게 편하실듯 합니다. 예제 데이터 가져오기 해당 예제에서는 시카고 택시 공용 데이터 를 사용 합니다. 파이썬 코드에서 이를 사용하기 위해서 데이터를 불러 옵니다. _data_root = tempfile.mkdtemp( prefix = 'tfx-data' ) DATA_PATH = 'https://raw.githubusercontent.com/tensorflow/tfx/master/tfx/examples/chicago_taxi_pipeline/data/simple/data.csv' _data_filepath = os.path.join(_data_root, "data.csv" ) urllib.request.urlretrieve(DATA_PATH, _data_filepath) 시카고 택시 데이터의 컬럼은 아래와 같습니다. pickup_community_area fare trip_start_month trip_start_hour trip_start_day trip_start_timestamp pickup_latitude pickup_longitude dropoff_latitude dropoff_longitude trip_miles pickup_census_tract dropoff_census_tract payment_type company trip_seconds dropoff_community_area tips 해당 데이터를 통해서 마지막 데이터인 tips 데이터를 예측 하는것이 튜토...

Tensorflow TFX에 대하여

이미지
안녕하십니까. 텐서플로우 TFX 에 대하여 공부하고 있어서 포스팅 합니다. 아래 포스팅은 텐서플로우 유투브의 tensorflow tfx에 대한 설명 에 기반 합니다. Tensorflow TFX 란? 텐서플로우 TFX(Extended)는 텐서플로우를 운영에서 구글급으로 서빙하기 위한 파이프라인 입니다. 일반적으로 머신러닝을 통해서 예측하는 시스템을 만든다고 가정을 하면 지속적으로 데이터를 관리해야 합니다. 또한 각 학습마다 모델의 성능을 측정할 수 있어야 하며 좋은 성능을 지닌 모델을 운영 환경에 바로 런칭 할 수 있는 플랫폼이 필요 합니다. 딥러닝 분야의 특성상 랜덤이라는 요소가 있으며 이는 모델, 데이터가 바뀌지 않아도 매 학습 결과에 따라서 성능이 바뀌게 됩니다. TFX 컴포넌트 텐서플로우 TFX는 아래과 같이 텐서플로우를 통한 머신러닝 운영 시스템을 구축하기 위한 플랫폼을 제공 합니다. 데이터가 들어오면 이를 북석하고, 텐서플로우에 사용할 수 있도록 변환을 합니다. 그후 모델 학습, 평가를 하고 결과에 따라 운영에 배포를한 후 텐서플로우 서빙을 진행 합니다. Tensorflow TFX Component Metadata Store 머신 러닝의 각 학습 결과, 학습 결과에 따른 평가 요소, 데이터 파이프라인 등은 어딘가에 저장이 되어야 합니다. 이러한 dev ops 적 요소를 tensorflow tfx에서 지원 합니다. Metadata-powered functionality 모델의 각 정보들을 저장함을 통해서 이전 모델의 결과와 현재 모델의 결과를 비교분석 할 수 있습니다. Warm Start 모델을 저장 할 수 있으니 엄청 오래걸리는 학습이라면 중간 저장을 한 후 다시 실행 할 수 있습니다. 오래 걸리는 학습은 중간 결과가 나쁘지 않으면 거기서 운영 배포를 하고 학습도 동시에 진행하는게 가능해 보입니다. 분산처리 프레임 워크 텐서플로우 또한 많은 데이터를 분산 처리를 하기 위한 프레임워크가 필요 합니...

yahoo finance와 python을 통해서 주식 데이터 불러오기

이미지
english post:  https://joonprogramming.blogspot.com/2020/04/how-to-get-stock-data-using-python.html 안녕하십니까. 이번 포스팅에서는 파이썬을 통해서 야후의 주식 데이터를 불러들어오는 방법을 포스팅 하려고 합니다. 코드 링크 :  https://github.com/Myeongjoon/GoogleSummerOfCode2020/blob/master/finance_data.ipynb 데이터 불러오기 야후의 finance api를 통해서 구글의 주가 데이터를 가져 옵니다.  api 통신등의 세부 사항은 pandas_datareader 내부에 구현되어 있습니다. 아래와 같이 간단한 코드로 확인하실 수 있습니다. 데이터상의 시초가는 2004-08-19일로 되어 있기 때문에 해당 일자로 맞추었습니다. from pandas_datareader import data import matplotlib.pyplot as plt import pandas as pd start_date = '2004-08-19' end_date = '2020-04-17' google_data = data.DataReader('GOOGL','yahoo', start_date, end_date) google_data.head(9) 구글 주가 종가 데이터 차트 확인 위 표로 볼 수 있는 데이터는 한계가 있기 때문에 plot을 통하여 데이터를 확인 합니다. google_data['Close'].plot() 믿음의 구글 주가 역시 구글의 주가는 우상향입니다. 한국데이터 불러오기 야후 api를 통해서 미국 증시 뿐만 아니라 국내 증시 또한 불러올 수 있습니다. 저는 최근에 배당주에 관심이 많아졌기 때문에 맥쿼리 인프라의 데이터를 불러오도록 하겠습니다. macq_start_dat...

포켓몬 고 17셀 확인 포고맵 사용 방법

이미지
안녕하십니까. 현재 코로나가 유행 입니다. 평소에 가끔 하던 포켓몬 고를 하기가 두려워졌던 시기인데요. 그래서 이참에 집근처에 포켓몬 스탑을 좀 만들어 보려고 많이 시도를 하였습니다. 그 과정에 중요한 요소중 하나가 포고맵이라는 사이트를 활용하는 것인데요. 이 사이트를 활용하는 법을 리뷰 합니다. 링크 :  https://www.pogomap.info/# 포고맵? 용도는? 포켓몬 고에서 포켓 스탑, 체육관은 중요한 역할을 합니다. 스탑에서 아이템을 얻고, 퀘스트를 받을 수 있으며, 체육관에서는 레이드를 하고 배틀을 할 수 있습니다.  포켓 스탑, 체육관 그러나 스탑, 체육관은 한정적이고 이러한 시설이 많지 않는 일명 "포세권"이 아닌 지역 주민들은 포켓몬 게임을 하기에는 한계가 있습니다. 없는 지역에 있어야 하면 직접 스탑을 신청 해야하는데요. 스탑 신청하는 과정도 추후에 포스팅 할 예정 입니다.  그 이전에 스탑을 신청하는 기준중 하나가 근처에 포켓몬 스탑이 많지 않아야 하는데요. 한곳에 여러개의 스탑을 만든다면 나이언틱도 사업하기 어려울것 같습니다.  물론 세븐일레븐과 같은 이벤트 스탑의 경우는 기존의 스탑 배열을 무시하고 생성되긴 하나 이례적입니다. 지역적으로 특정 지역에 들어갈 수 있는 스탑의 갯수가 한정적이기 때문에 이러한 갯수를 한눈에 볼 수 있도록 만든 사이트가 포고맵 (pogomap) 사이트 입니다. 포고맵 사이트 위 사진은 제가 현재 있는 부근의 포고맵 사진을 캡쳐한 사진 입니다. 한눈에 보기에는 약간 복잡하긴 하지만 해당 포스팅을 보시면 이해하기 쉽게 도와드 17셀? 14셀? 특정 지역에서 만들수 있는 스탑의 개수는 한정적이기 때문에 이를 구분할 수 있는 기준을 17셀, 14셀이라고 합니다.  이를 확인하기 위해서는 아래 화면에서 설정을 변경해 줍니다. 셀 확인법 Settings를 클릭 팝업에서 Visual 클릭 ...

Google Code Jam 2020 Qualification Round Solution

이미지
안녕하십니까. 구글 코드잼  예선이 끝났습니다. 예선 문제에 대하여 맞은것은 한번더 점검하고 틀린것은 왜 틀린건지 알아보기 위하여 리뷰 합니다. 등수 맨 마지막 문제의 large 데이터를 틀려서 588 등을 하였습니다. 안타깝긴 합니다.  대다수의 사람이 30점만 넘기고 그만했으리라 생각하면 실제 라운드에서는 등수가 더 낮지 않을까 생각 합니다. Vestigium 아래와 같은 N-by-N 행렬에 대하여 모든 행, 렬을 기준으로 반복되지 않는 숫자로 이루어진 행렬을 "Latin Square"이라고 합니다. 여기서  M i,i 로 나타낼 수 있는 대각선의 원소들의 합을 "trace"라고 합니다. 주어진 문제에서는 trace와 행, 렬을 기준으로 반복된 숫자가 있는 행, 렬의 갯수를 리턴하면 됩니다. 1 2 3 4 2 1 4 3 3 4 1 2 4 3 2 1 위의 행렬을 보면 대각선의 값은 1,1,1,1로 trace = 4. 모든 행렬이 1,2,3,4가 고루 분포되어 있습니다. 따라서 4 0 0을 리턴합니다. 2 2 2 2 2 3 2 3 2 2 2 3 2 2 2 2 위의 행렬을 보면 대각선은 2,3,2,2로 trace = 9. 4개의 행 4개의 열 모두가 2,3으로만 반복되고 있습니다. 따라서 9 4 4를 리턴 합니다. 풀이 대각 합을 구하는 for문 하나, 행, 렬의 반복 유무를 구하는 for문 두개를 통하여 간단하게 풀 수 있는 문제 입니다. Nesting Depth 간단한 괄호 문제 입니다. 숫자의 배열이 있을때 숫자가 커질수록 괄호를 통하여 여닫는 문제 입니다. 0은 괄호를 가지지 않습니다. 각 숫자는 숫자의 크기 만큼 괄호로 감싸져야 합니다. 예제는 다음과 같습니다. 111000 → (111)000 21012 →((2)1)0(1(2)) 풀이 string을 iteration 하면서 현재의 숫자가 이전의 숫자보다 클시에는 ...