나름의 이유로 시스템에서 메일을 보내야할 일이 있는데,

이왕이면 Gmail을 이용해보고 싶어서 살펴보기로 했다.

 

일단 Gmail을 통해 이메일을 보내기 위해서

미리 셋팅을 해줘야 할 것이 있다.

 

 

Gmail의 설정 화면으로 이동한 뒤에

 

 

IMAP 사용 설정을 해주면 된다.

 

 

그런데, Python 코드에서 Gmail 인증 부분을 구현해야 이메일 발송을 할 수 있을텐데,

2가지 방법 중 하나를 선택해야 한다.

 

1. 로그인 PASSWORD
2. 앱 PASSWORD

 

로그인 PASSWORD를 사용하기에는 왠지 찝찝한 느낌이 들기에

앱 PASSWORD를 사용하도록 해보겠다. (보안은 중요하다!!! ^^)

 

 

Google 계정 관리 화면에 일단 들어가보자.

 

 

어?! 그런데, 찾고자 하는 "앱 비밀번호" 부분이 안보인다.

 

 

2단계 인증을 사용한다고 해야 원하는 항목이 등장한다.

2단계 인증을 사용하게 되면 조금 불편할 수도 있지만, 보안을 위한 일이니 감수하자!!! ^____^

 

 

전화 및 인증 기기 등을 잘 확인하면서 진행하면 되는데,

 

 

개인적으로 OTP 앱까지 추가해주는 것을 추천한다.

 

자~ 이제, "앱 비밀번호" 항목을 볼 수 있다.

 

 

우리 입맛에 맞게 생성 진행하면 된다.

 

 

그러면 16 digit을 만들어 준다.

 

 

저 비밀번호는 다시 안알려준다. 미리 잘 기억/기록 해야 한다.

 

 

자~ 이제 Gmail에서 준비할 것은 모두 끝났다.

이제 Python 코딩을 시작해보자.

 

 
  #!/usr/bin/env python3
  """
  Send email via Gmail SMTP
  """

  __author__ = "whatwant"
  __version__ = "0.1.0"
  __license__ = "BEER-WARE"

  import smtplib
  from email.mime.text import MIMEText
  from email.mime.multipart import MIMEMultipart

  def send_email(sender_email, receiver_email, app_password, subject, text, html):
      message = MIMEMultipart("alternative")
      message["Subject"] = subject
      message["From"] = sender_email
      message["To"] = receiver_email

      part1 = MIMEText(text, "plain")
      part2 = MIMEText(html, "html")

      message.attach(part1)
      message.attach(part2)

      with smtplib.SMTP_SSL("smtp.gmail.com", 465) as server:
          server.login(sender_email, app_password)
          server.sendmail(sender_email, receiver_email, message.as_string())

  if __name__ == "__main__":
      sender_email = "whatwant@whatwant.com"
      receiver_email = "whatwant@gmail.com"
      app_password = "xxx"
 
      subject = "This is a lucky email from Python"
      text = "whatwant is a good man."
      html = f"<html><body><p>{text}</p></body></html>"
 
      send_email(sender_email, receiver_email, app_password, subject, text, html)

 

여전히 예쁘지 않은 코드이지만, 그래도 동작한다!

실행하면 된다.

 

 

메일이 잘 도착했다!!!

 

첨부파일까지 보내는 것까지 하려고 했는데, 지금 당장은 필요하지 않기에...^^

나중에 필요로 할 때 해보겠다! ^^

 

반응형

업무를 하면서 간단한 Python 코드를 작성하고

코드 리뷰를 받을 때면 종종 왠지 모르게 부끄러움을 느낄 때가 있다.

 

남들이 작성한 코드를 보면 왠지 멋져보이는데

내 코드는 왠지 모르게 초라해보이는 자격지심이..... ^^

 

예를 들어서 "현재 디렉토리의 파일 이름과 사이즈를 출력"해주는 프로그램을 작성해보자.

 

 

실행 결과도 잘 나온다.

 

 

원하는 결과를 잘 뽑아내고,

나름 함수로 잘 구분해서 잘 작성한 것 같은데..... 왠지 뭔가 부족한 듯 한 느낌이...

 

속된 말로 뭔가 "와꾸"가 있었으면 좋겠는데...

 

 

https://www.python-boilerplate.com/

 

이런 고마운 사이트가 있다니!!!

 

Parameter들을 사용하고 싶거나, Logging을 하고 싶거나 하면 "Options"에서 고르면 된다.

Unit-Test를 하고 싶은 경우에 입맛에 맞는 프레임워크를 고를 수도 있다.

 

이걸 이용해서 코드를 다시 작성해보면 다음과 같다.

 

 

뭔가 조금 더 있어보이게 된 것 같은 느낌적인 느낌이다.

 

 

별 것 아니게 느낄 수도 있겠지만,

Python과 같은 자유도가 과도하게 높은 언어로 개발을 할 때에는

이런 boilerplate 코드를 이용하는 것이 많은 도움이 된다고 생각한다!

여러분은?

 

반응형

제가 정말 정말 좋아하는 번역자이자 작가이신 박해선님이 내놓은 또 하나의 역작이 나왔다.

 

"혼자 공부하는 데이터 분석 with 파이썬"

 

 

요즘은 딥러닝 모델에 대해서 공부하는 것 보다

데이터 분석하는 것이 더 많이 유행하고 있는 듯 하다.

 

이런 분위기에 정말 딱 맞게 나온 책이 아닌가 싶다.

 

우리 회사에서도 DS 인증 프로그램을... @.@

 

 

박해선님은 번역하신 책이든, 직접 작성하신 책이든 항상 정성이 가득하다.

 

실습 내용도 하나 하나 모두 직접 업데이트 해주시고

Youtube로 강의도 제공하여 주시고, 심지어 오픈채팅까지도 운영해주신다니...

 

 

무려 13개의 강의 동영상을 제공해주신다!

- https://www.youtube.com/playlist?list=PLVsNizTWUw7FGzSRCkQrPEEe-ljVXgS7k 

 

 

직접 물어보고 대답을 들을 수 있는 카카오 오픈채팅 !!!

- https://open.kakao.com/o/gBF5aQ1c

 

 

1월 2일, 새해가 시작하자마자 1쇄 발행을 하다니... 너무 한 것 아닌가?! ㅋㅋㅋ

 

 

박해선님은 항상 도식화를 좋아하시는 것 같다 ^^

 

 

딥러닝 모델링에 대해서 공부하려면 수학이 발목을 잡는 것 처럼

데이터 분석에 대해서 공부하려면 파이썬이 발목을 잡는다.

 

발목 잡히지 않으려면 시간을 들여서 제대로 파이썬을 공부해놓는 것이 좋다.

 

 

도식화, 로드맵을 정말 좋아하시는 박해선님! ^^

 

 

오해하면 안된다.

"이 도서가 얼마나 인기가 좋을까요?"는 정말 이 책에 대한 것이 아니라

데이터 분석의 첫 번째 예제일 뿐이다 ^^

 

 

박해선님은 그림도 잘 그리신다~ ^^

 

 

ML/DL

머신러닝과 딥러닝이 막 알려지면서 사람들이 공부를 시작할 때에는

DS(Data Science, 데이터 과학)에 대한 영역이 대중적으로 정착되지 않았었다.

 

지금은 Data Scientist, Data Engineer 직종이 정착된 것 같다.

외부에서 만나는 많은 분들이 "저는 OO에서 데이터 사이언스로 일하고 있어요"라고 하고 있다는...

 

 

책 구성을 보면 정말 정성 가득함이 엿보인다.

 

 

이 책을 보다가 새롭게 배운 지식

 

"Data Analytics(데이터 분석) vs. Data Science(데이터 과학)"

 

 

음 ... 이 정도면 ... Full Stack ... 만능 아닌가 ?!

 

 

Summary 까지 꼼꼼하게 되어 있다.

 

 

혼자서, 또는 다같이 공부할 수 있도록 "확인 문제"도 제공해준다.

주관식은 너무 어렵다는...

 

 

직접 실습을 해볼 수 있도록 GitHub 저장소도 제공해주고, 설명도 친절히 해준다.

 

 

링크까지 꼼꼼히 제공해주는 박해선님!!!

 

 

리뷰 때문에 살펴보다가 알게된 정말 꿀팁 !!!

 

정부 주도로 진행한 데이터들일텐데,

요즘 시대에 아직도 Euc-KR 형식으로 만들어진 데이터 볼 때마다 정말 ... 에휴 ... 할말하않 !!!

 

 

 

이 책은 뭐 두말할 필요 없이 무조건 추천한다.

 

박해선님이 지은 책이라는 것 만으로도 추천하지만,

책 내용 및 책 외부적으로 제공되는 컨텐츠 모두 정말 정성 가득한 책이다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

반응형

 

최근 회사에서 Data Science 교육을 받고 있는데,

마침 그에 알맞는 책을 리뷰하게 되었다.

 

표지

 

Machine-Learning 공부할 때에도 만났었고

Data-Mining 공부할 때에도 만났었는데,

이번에 Data-Science를 공부할 때 또 만났다.

 

징그러운 베이지안 !!!

 

2판

 

초판(1판)이 2014년도에 출간 되었었는데,

2판이 8년만에 2022년 6월에 출간되었다.

 

우와~ 역사가 오래된 책이네...

그렇다는 것은, 베이지안 공부가 필요한 사람이 여전히 꾸준히 많다는 것이겠지.

 

원서의 경우에도 1판은 2013년도에 출간되었고,

2판은 2011년에 출간되었다.

 

대상

 

이 책으로 공부하기 위해서 필요한 것은 오직 "파이썬" !!!

 

목차

 

책 제목에 "베이지안"이 써있다고 해서

"베이지안"에 대해서만 설명하는 책은 아니다.

 

확률, 분포, 포아송, 의사결정분석, 로지스틱 회귀 ...

필요한 것들 다~ 있다 ^^

 

본문

 

친절한 설명과 함께 실행 결과도 예쁘게 보여준다.

 

요약

 

뒷 부분에는 친절하게 요약까지 해주고 있다.

 

연습문제

 

심지어 연습문제도 있다.

 

혼자서 공부하기에도 좋고

스터디로 진행하기에도 좋고

교재로 사용하기에도 좋다.

 

 

더더욱 멋진 것은... 책이 무료 공개되어있다.

http://allendowney.github.io/ThinkBayes2/index.html

 

eBook

 

심지어 친절하게 PDF 다운로드 링크까지도 제공해준다.

 

 

소스코드도 제공된다.

https://github.com/AllenDowney/ThinkBayes2

 

GitHub

 

솔직히 영어 부담만 없다면,

PDF보다 이렇게 노트북으로 보는게 훨씬 더 좋을 것 같다.

 

하지만, 우리는 한글을 사용하는 민족 !!!

일단 책 구매하고

제공되는 리소스들을 이용해서 훨씬 더 열심히 공부하면

몇 배 더 효율적으로 배울 수 있다 !!!

 

 

이 책 말고도

저자 Allen B. Downey님은 쓰신 책들을

무료로 제공해주고 있다.

 

Green Tea Press

https://greenteapress.com/wp/

 

 

파이썬 언어를 가지고 데이터싸이언스 공부를 하신다면

기본 교재로 추천합니다!

 

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

반응형

 

파이썬으로 자연어 처리를 하고 싶다면

공부해볼만한 책 한 권을 소개하고자 한다.

 

표지

 

원서 제목은 다음과 같다.

"Blueprints for Text Analytics Using Python"

 

초판

 

발행한지 얼마 안된 따끈따끈한 책이다.

 

원서는 2020년 12월에 출간되었으니

약 2년의 시차가 있어서 조금 아쉽기는 하지만

지금 공부하기 해서 활용하는데에는 부족함이 없다.

 

독자

 

이 책은 텍스트 분석에 대해서 처음 접하는 분들이 아니라

텍스트 분석을 실제 구현하고자 하는 분들을 위한 책이다.

 

제약

 

다만, 기본적으로 영어를 기반으로 하기 때문에

한글 텍스트 분석을 위해서는

추가적인 학습이 필요하긴 하다.

 

원서와 2년의 차이가 있는데,

이왕이면 실습 코드만이라도 한글 지원을 추가해줬으면

훨씬 더 좋았을 것 같다.

 

챕터 개요

 

각 챕터(장)에서 어떤 데이터셋을 사용하고

어떤 라이브러리를 이용했는지

깔끔하게 정리를 해줘서

필요할 때 손쉽게 찾아볼 수 있다.

 

추천 도서

 

이 책에서는 기본적인 이론 등에 대해서 설명해주지 않기 때문에

추가적으로 공부하면 좋을 책들을 추천해주고 있다.

 

심지어 한빛미디어 출판이 아닌 책도 추천을 해준다 ^^

 

본문

 

책은 아쉽게도 흑백이다.

컬러 추종자로써 조금 아쉽다 ^^

 

원서 eBook을 보면 컬러로 나오던데...

 

구성

 

각 챕터(장)별로

학습목표와 데이터셋에 대한 설명을 해준다.

 

해당 챕터에서 뭘 하고자 하는 것인지

어떤 데이터를 가지고 하는 것인지

설명을 해주기에 공부할 때 많은 도움이 된다.

 

 

그리고, 중요한 실습 코드 !!!

 

https://github.com/blueprints-for-text-analytics-python/blueprints-text

 

실습 코드

각 챕터별로

README.md

내용을 너무나 예쁘게 잘 작성해줘서 기분이 좋았다.

 

JupyterNotebook

 

JupyterNotebook 파일도 깔끔하게 작성되어 있다.

 

사실 책 내용을 보면 책에서 설명하고 있는 내용이

JupyterNotebook 파일에 작성되어 있으면

공부할 때 훨씬 더 손쉽게 접근할 수 있을 것 같지만...

그것까지 바라는 것은 욕심인 것 같기도 하고...

 

 

NLP에 대해서 기본적인 사항을 공부한 다음

실제 코드로 만져보고 싶은 분들에게는

엄청 유용한 도움이 될 책이다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

반응형

 

표지

 

최근 전세계적인 어려운 경제 상황에

운명처럼 만나게 된 책

 

"파이썬 기반 금융 인공지능 (Artificial Intelligence in Finance)"

 

초판 1쇄

 

받아본 책은

이제 태어난지 갖 1달 된 따끈따끈한 책이지만...

원서는 2020년에 첫 출간되었었다.

 

First Edition

 

2년이 지난 책이라 조금 아쉬움은 있지만,

그래도 이렇게 번역서가 나온 것만으로도 정말 고마운 일이다.

 


예전에 퀀트 투자 관련된 책을 살짝 살펴본 적이 있었는데

그래서인지 이 책 제목을 보고

제일 먼저 든 생각은

"이 책도 퀀트 투자 관련된 것이겠구나!"

였다.

 

 

그래서 살펴본 목차는 다음과 같다.


[PART I 기계지능]

CHAPTER 1 인공지능
CHAPTER 2 초지능

[PART II 금융과 머신러닝]

CHAPTER 3 규범적 금융
CHAPTER 4 데이터 기반 금융
CHAPTER 5 머신러닝
CHAPTER 6 인공지능 우선 금융

[PART III 통계적 비효율성]

CHAPTER 7 밀집 신경망
CHAPTER 8 재귀 신경망
CHAPTER 9 강화 학습

[PART Ⅳ 알고리즘 트레이딩]

CHAPTER 10 벡터화된 백테스팅
CHAPTER 11 리스크 관리
CHAPTER 12 집행 및 배포

[PART Ⅴ 전망]

CHAPTER 13 인공지능 경쟁
CHAPTER 14 금융 특이점

[PART Ⅵ 부록]

APPENDIX A 상호작용형 신경망
APPENDIX B 신경망 클래스
APPENDIX C 합성곱 신경망

 

 

퀀트 투자 책인 것은 맞지만,

금융 데이터들을 어떻게 AI를 활용하면 좋을지에 대해서

포커스가 맞춰진 책이다.

 

목차 설명

각 목차 앞에서는 어떤 의도로 작성되었는지,

어떤 내용인지에 대해서 설명을 먼저 해주고 있다.


정말 친절하게도 학습 플랫폼도 제공을 해주고 있다.

 

https://aiif.pqp.io/

 

학습 플랫폼

 

이메일 주소를 가지고 계정을 등록해야하는 불편함은 있다.

이메일 인증 후 로그인 하면 다음과 같은 플랫폼을 사용할 수 있다.

 

Jupyter Notebook

 

커널도 제공을 하고 있는 것 같지만,

뭔가 설정을 필요로 하는 것인지...

실제 실행을 하면 에러가 발생했다.

 

커널 에러

 

다운로드 받아서 colab에서 실행을 해보니

잘 된다.

 

colab


금융데이터를 가지고 어떻게 인공지능(AI/ML)을 이용해서

다뤄야 할지 공부할 수 있는 좋은 책이다.

 

이 책에서 다루는 라이브러리는 다음과 같은데,

 

python / scikit-learn / tensorflow / keras

 

일반적으로 많이 사용되는 라이브러리들이기에

많은 분들에게 쉽게 다가설 수 있을 것이다.

 

다만, 소스코드를 제공하는 방식이

사실 조금 불편하긴 하다.

 

본래 플랫폼까지 제공해주려는 의도인 것 같기는 하지만

그냥 GitHub로 제공을 해주고

Colab을 사용하도록 가이드하는 것이

훨씬 더 접근성이 좋지 않았을까 한다.

 

소스코드가 업데이트 된지도 2년이 되었던데,

독자적인 플랫폼 제공이 어떤 의미가 있는지는....

 

언젠가 퀀트 투자를 이용해서 용돈벌이를 할 수 있기를 꿈꾸며

여기까지 서평을 마치겠다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

반응형

 

오랜 시간 Software Engineer로써 살고 있는 고인물이

새로운 세상에 적응하기 위해 딥러닝이라는 것을 공부하려고 할 때

가장 큰 장벽으로 다가오는 것이 바로 수학이다.

 

고등학교 시절 이과를 선택하고 공대에 입학해서 공돌이 생활을 했지만

수학을 정말 싫어하고 못했던 나인데, 이 나이 먹고 다시 수학 공부를 해야하다니!!!

 

하지만, 딥러닝에 대해서 파고들기 위해서는 수학 공부는 필수다.

어쩔 수 없다.

 

그렇지만, 수학 정석부터 시작할 수는 없고, 필요한 내용만 공부를 하려면... ?!

 

표지

 

나온지 얼마 안되는 정말 따끈따끈한 책이다.

원서도 2021년 10월에 출간되었다.

 

1쇄

 

책 제목에 "딥러닝"이 적혀 있다고 해서 알고리즘이나 코드를 설명해주는 책은 절대 아니다.

 

역전파(Backpropagation)와 경사하강법(Gradient Descent)을 이해하기 위한

수학적 배경 지식을 공부하기 위한 수학책이다.

 

"옮긴이의 말"에서도 분명히 이 부분을 말해주고 있다.

 

옮긴이의 말

 

그렇다고 해서 정말 수학 공식만 설명해주고 있는 책은 아니다.

실제 Python 코드를 이용한 구현 방법도 알려주고 있기에 실습을 하면서 공부를 할 수 있다.

 

책의 구성을 살펴보면 다음과 같다.

 

구성 1
구성 2

 

"옮긴이의 말"에서도 언급한 것 처럼

이 책은 `10장 역전파`와 `11장 경사하강법`을 설명하기 위한 책이다.

 

실습환경 구축을 설명해주고 있는 1장을 빼고

2장부터 9장까지는 본론을 말하기 위한 수학적 개념과 공식을 설명해주는 내용으로 채워져 있다.

 

 

책 인쇄는 조금 아쉽게도 풀 컬러는 아니고 (개인적인 취향으로 풀컬러 러버~)

자주색+검은색의 조합이다.

 

샘플

 

책에서 사용된 소스코드는 다음 링크에서 내려 받을 수 있다.

  - https://github.com/rkneusel9/MathForDeepLearning

 

쥬피터노트북(.ipynb)은 아니고, 파이썬(.py) 파일로 제공해주고 있다.

 

 

책의 정오표는 다음 링크의 제일 하단에 있는 `View the latest errata`에서 확인하라고 하는데, 원서 기준이다.

  - https://nostarch.com/math-deep-learning

 

한글판에 대한 정오표가 업데이트 되면 아래 링크에서 확인할 수 있을 것이다.

  - https://jpub.tistory.com/category/오탈자%20정보 

 

 

※ 제이펍 서평단 활동을 위해 지급 받은 도서에 대한 리뷰입니다.

반응형

 

나의 로컬 환경에서 Jupyter Notebook을 사용하고 싶어서 살펴봤다.

 

0. 실행 환경

  - Ubuntu 18.04 환경에서 진행했지만, 20.04 등 다른 버전에서도 잘 될 것 같다.

 

1. 설치

  - 가장 편한 "pip"를 이용해서 설치해봤다.

$ pip install jupyter

 

pip install jupyter

 

2. 설치 내역

  - Jupyter Notebook은 여러 패키지의 조합이다. 확인해보자.

$ jupyter --version

 

jupyter --version

 

3. 실행

  - Jupyter Notebook을 실행해보자.

$ jupyter notebook

 

jupyter notebook

 

  - 자동으로 브라우저가 실행되며 Jupyter Notebook을 볼 수 있다.

 

jupyter notebook

 

  - 오른쪽 중간에 보이는 "New" 버튼을 통해 새로운 Notebook을 생성하고, 간단한 실행을 해보자.

 

jupyter notebook

 

정말 간단히 Jupyter Notebook 환경을 만들 수 있다.

서버로 구동하거나 비밀번호를 등록하는 등의 추가 설정은 별도의 포스팅으로 작성해보도록 하겠다.

 

반응형

+ Recent posts