매번 귀찮게 찾는 것이 귀찮아서 정리하고자 포스팅 해본다.

 

 

1. Python3 설치하기

$ sudo apt install python3 python3-pip

 

2. update-alternative 설정하기

$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2
$ sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1

 

3. select

$ sudo update-alternatives --config python
$ sudo update-alternatives --config pip

 

아~ 속 시원하다~!!

반응형

Hacker News Digest 메일을 보다가 자극적인 문구를 보고 살펴보게 된 article이다.

 

 

WTF Python: Exploring and understanding Python through surprising snippets

번역해보면 "빌어먹을 파이썬: 놀라운 코드 조각을 통해 파이썬을 탐험하고 이해해보자" 라고 하면 될라나?!

 

 

# 링크 : github.com/satwikkansal/wtfpython

 

satwikkansal/wtfpython

What the f*ck Python? Contribute to satwikkansal/wtfpython development by creating an account on GitHub.

github.com

 

실제 사이트에 가보면 아래와 같은 문구가 반긴다.

 

 

What the f\*ck Python! 😱

 

 

아무래도 Python 공부하면서 고생을 많이 하신 분인가 보다.

 

 

중국어와 특이하게도 베트남어 번역이 있다.

자동 번역기로라도 한국어를 PR 해볼까?!라는 생각이 들었다. 음... 고민중...

 

 

Python 왕초보에게는 별 도움이 되지 않을 것 같고, (괜히 햇갈릴 수 있을 내용이 많다!)

어느정도 다룰줄 아는 분이라면 여기에 있는 내용을 살펴보면 재미있을 것 같다.

 

 


>>> a = "wtf"
>>> b = "wtf"
>>> a is b
True

>>> a = "wtf!"
>>> b = "wtf!"
>>> a is b
False

 

 

위와 같은 상황이 이해가 되나?! ^^

반응형


최근 회사에서 업무로도 파이썬을 자주 사용하게 되고, 개인적으로 하는 작업에서도 파이썬을 자주 사용한다.

하지만, 대부분 CLI 환경으로만 사용해왔지, GUI 환경이 필요한 경우에는 다른 언어를 사용하곤 했다.


더구나, 게임 개발을 할 때 파이썬을 사용한다고는 더더욱 생각하지 못했다.


그런데, 이렇게 파이썬으로 게임 개발을 알려준다는 책이 등장했다 !!



아니, 그런데 표지에 저런 캐릭터를 ... ?



친절하게 학습을 도와준다니~ 고마워요 !!!




역시나, 일본 출신의 저자다! ^^

거기에다가 남코, 닌텐도, 코나미 등에서 근무를 했다니... 와우~!!




게임 개발이 주요 컨텐츠이지만,

파이썬이라는 언어에 대해서도 충실한 책이다.



Chapter1 에서부터 Chapter4 까지 기본적인 문법들을 설명하고,

Chapter5 에서는 CLI로 간단하게 게임 비슷한 것을 만들어 본 다음에

Chapter6 부터 본격적으로 GUI 환경으로 게임 개발을 설명해 주고 있다.



입문편이긴 하지만,

그래도 그럴듯한 모습의 게임도 설명해준다.



게임 개발을 한다고 하면 어떤 것들을 해야 하는지 파악할 정도는 된다.





이 책의 특징은 앞에서도 말했지만,

예쁜 2D 캐릭터들을 사용해서 친근한 분위기를 만들어준다는 것이다.



캐릭터 설명도 이렇게 해준다.

각 캐릭터의 배경 설정도 존재 한다.



각 챕터의 앞에서는 이렇게 요약 설명도 해주고,



챕터 중간에 알면 좋은 내용들을 설명도 해준다.




단순하게 2D 캐릭터만 있다고 좋은 것이 아니라

설명에 필요한 이미지들이 colorful 하면서도 너무나 보기 좋게 삽입되어 있다.



이미지나 색상이 너무나 멋들어지게 들어있어서 책을 보면서 계속 기분이 좋았다.







이런 책을 공부할 때 중요한 것 中 하나가 바로 개발 환경을 갖추는 것이다.

책에서는 Windows & Mac 에서 필요한 환경 설치하는 것을 설명해주고 있다.




Ubuntu(우분투)와 같은 리눅스 환경에서는 해볼 수 없는 것일까?


아니다~!! 할 수 있다~!! ^^



Ubuntu Desktop 18.04 환경을 기준으로 설명을 하면 아래와 같다.



표준 사항으로 Ubuntu Desktop 18.04 버전을 설치했다면 Python 2.x 버전이 설치되어 있을 것이다.

하지만, 이 책에서는 Python 3.x 버전으로 되어 있기 때문에, Python 버전부터 맞춰야 한다.



1. Python 버전 변경하기 ( 2.x → 3.x )


    - python3 설치 및 update-alternatives 이용한 기본 실행 버전 설정해주기

    - https://www.whatwant.com/entry/Python3-환경-만들기-버전-변경하기-in-Ubuntu



2. GUI library 설치하기


    - 이 책에서 기본으로 사용하는 GUI library는 tkinter 이다.


    - $ sudo apt install python3-tk



3. VSCode (Visual Studio Code) 설치하기


    - 이 책에서는 IDLE를 이용해서 python을 사용하지만, 최근 트렌드에 맞춰서 VSCode를 사용해보자.


    - $ wget https://code.visualstudio.com/sha/download\?build\=stable\&os\=linux-deb-x64 -o vscode.deb

    - $ sudo dpkg --install vscode


    - VSCode 실행 후 "Python Extension" 인스톨




이 책에서 사용하는 예제 코드는 아래 주소에서 확인해볼 수 있다.


    - https://github.com/Jpub/PythonGame_1




해당 소스 코드를 내려 받아서 실행하면 아래와 같은 화면을 볼 수 있다.





개인적으로 이 책은

가볍게 살펴보기에 너무 너무 좋았다.


설명도 친절하게 너무나 잘되어 있었고

책 구성도 보기 편하게 너무나 잘 되어 있어서 인지 책을 살펴보는데 별 부담이 없었다.

그리고 소스 코드도 그냥 바로 실행만 하면 테스트해볼 수 있게 되어 있어서 너무 좋았다.




이 책을 추천하고 싶은 경우는,

가벼운 게임 개발을 경험해 보고 싶거나 파이썬을 이용해서 GUI 결과물을 만들어 보고 싶은 경우 기꺼이 추천할 수 있을 것 같다.




아쉬운 부분을 찾아보고 싶은데....

사실 개인적으로 아쉬운 부분을 찾아볼 수가 없었다 ^^ (개취 존중!! ^^)

음... 굳이 꼽아보자면, 파이썬 기본에 대한 소개를 굳이 4개 챕터에 걸쳐서 해야했는지... 정도!?




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

반응형


이번 달에 리뷰 도서로 당첨된 책은 "데이터 전처리 대전"이다.



데이터 전처리 대전 - 10점
모토하시 도모미쓰 지음, 윤준 옮김/한빛미디어


AI/ML 관련 분야 中 "데이터"에 대한 내용을 담고 있는 책이다.



아직까지도 AI/ML 공부한다고 하면

대뜸 TensorFlow 또는 PyTorch와 같은 것으로

어떻게 Training을 해서 모델을 만들 것인지에 대해서 파고든다.


경사하강법(gradient descent)이 어찌고

오버핏이 어찌고 등등등...



하지만, 제대로된 결과물이 나오기 위해서는

제대로된 입력물이 있어야 한다!!!



즉, 데이터가 중요하다는 말이다 !!!



그러한 데이터를 미리 예쁘고 똑똑하게 처리하는 것이 바로

"데이터 전처리" 이다.






제목도 직관적이고

표지 디자인도 예쁘고

색상도 주황색으로 트랜디 하다!


즉, 책을 딱 보면 괜찮을 것 같다는 기대감을 준다 !!!







원서의 경우 2018년도에 작성이 되었고

번역본은 2019년 11월에 출간이 되었다.

아직 개정판은 없는 것 같다.


음... 시시각각 새로운 것들이 쏟아지는 AI/ML 바닥에서

지금 (20년 11월) 이 책을 봐도 되는 것인지

우려가 되기도 하지만...


데이터를 다루는 부분에 있어서는

책에서 설명하고 있는 내용들이 안될일은 없을 것 같다.


즉, 지금 구매해서 봐도 괜찮다.






이 책은 크게 4개의 파트로 구성되어 있다.


정말 직관적이다.


전처리가 무엇인지 설명해주고 (1부)

구조를 어떻게 손봐야 하는지 알려주고 (2부)

내용도 손봐야 하는 경우 어떻게 할지 알려준 다음에 (3부)

실전에 적용하기 위해 필요한 사항들을 알려준다 (4부)





화려한 것을 좋아하는 개인적인 취향에서 조금 아쉽게도

흑백 인쇄이지만

깔끔한 편집으로

보기 편하게 잘 되어 있다.







번역도 술술 읽힐 정도는 아니지만

그냥 보기에 크게 어색하지 않게 잘 되어 있다.







책 내용은

표지에 명시되어 있는 것처럼


파이썬

SQL

R


3가지 방법으로 설명을 해주고 있다.



즉, 현재 주로 사용하고 있는 언어(도구?)가

저 3가지에 속한다고 하면 아무 부담없이

이 책을 구매해도 될 것 같다.



각 도구(언어?)에 대한 설명은 별도로 없기 때문에

셋 중 하나는 다룰줄 아는 사람에게만

이 책을 권장한다.






이 책에서 사용하는 데이터는 한빛미디어 홈페이지에서 다운로드 받을 수 있다.


http://hanbit.co.kr/support/supplement_survey.html?pcode=B1543811360




역자가 예제 환경 설정 등에 대해서 포스팅을 해준다고 했는데,

1년이 지난 지금까지도 포스팅 안해줬다.


https://junyun0516.github.io/




그냥 데이터나 예제를 github를 통해서 공유해주지....




결론은 ...

1년이 지난 책이지만, 지금 봐도 괜찮은 데이터 전처리 관련 도서이다.






* 이 책은 한빛출판네트워크의 '나는 리뷰어다' 이벤트를 통해 제공 받은 도서입니다.



반응형

 

이번 달에 보게된 책은 다음과 같다.

 

[한빛미디어] Machine Learning with Python Cookbook - 파이썬을 활용한 머신러닝 쿡북

 

 

 

주의할 점은

이 책은 입문자를 위한 책이 아니라

머신러닝에 대해 익숙한 개발자를 위한 책이라는 사실이다.

 

 

 

하지만, 그렇다고 해서 너무 겁먹을 필요는 없다.

 

친절하게도 numpy 기본에 대해서도

한 번 집어주는 등 나름 친절한 부분도 있으니

너무 무서워 할 필요는 없다.

 

 

 

 

 

 

Chapter 1 에서는 numpy에 대해서 알려주고 있고

 

 

 

Chapter 2 에서는 sklearn(사이킷런)을 이용한 샘플데이터 생성하기와

pandas(판다스)를 이용한 외부데이터 불러오기 등을 알려준다.

 

사실 이 정도면 거의 입문서라고 봐도 무방할 것 같다.

 

 

 

그리고, 더욱 더 친절하게도 옮긴이(박해선님)가

"덧붙임"이라고 추가적인 설명까지도 제공해주고 있다.

 

 

 

물론 그렇다고 해서 머신러닝에 대해서

한 번도 공부해보지 않은

말 그대로의 입문자에게

추천할 수는 없을 것 같다.

 

 

머신러닝에 대해서

한 번쯤 간략하게 살펴본

입문자는 아니고

초보자라고 불리울 정도의

수준에 있는 분에게 필요한 책으로 보인다.

 

 

 

그리고 개인적으로 마음에 드는 것은

흑백이 아니라 살짝 컬러가 들어가 있다 !!!

 

 

 

 

이 책은 표지에 써 있는 것처럼

사이킷런 중심으로 작성되어 있다.

 

뒷 부분에는 케라스로 작성된 내용도 있긴하다.

 

참고하면 될 것 같다.

 

 

 

 

이 책에 대한 정오표는 아래에서 확인할 수 있다.

 

https://tensorflow.blog/ml-cookbook/

 

 

 

그리고, 원서에서는 제공하지 않는 코드를 옮긴이가 별도로 제공해준다!!!

 

https://github.com/rickiepark/machine-learning-with-python-cookbook

 

 

* 이 책은 한빛출판네트워크의 '나는 리뷰어다' 이벤트를 통해 제공 받은 도서입니다.

반응형


앞에서 Visual Studio Code를 웹으로 사용하는 방법을 알아보았다.


Web based Visual Studio Code (Online VSCode)

https://www.whatwant.com/entry/Web-based-Visual-Studio-Code-Online-VSCode




그러면 이번에는 Python Code를 작성하기 위한 과정을 살펴보자.





아! 기본 운영체제는 Ubuntu 18.04 이다.






[ Python ]


Python을 설치하자.

2.x 와 3.x 모두 설치해버리자.


❯ sudo apt install python python-pip virtualenv

❯ sudo apt install python3 python3-pip python3-venv







[ Extension ]


VSCode를 실행하고...

왼쪽 제일 아래 아이콘을 클릭하면 VSCode의 Extension을 고를 수 있는 화면이 나온다.





검색어를 넣어서 검색을 해도 좋고,

보이는 것을 클릭해도 된다.


Python 관련 여러개의 Extension이 보이겠지만,

Microsoft에서 제공해주는 아이로 설치하자.


오른쪽에 나오는 화면의 "Install"을 클릭하면 된다.





설치가 되었지만, 바로 적용되는 것은 아니다.


"Reload Required"를 클릭해버리면 된다.








[ File ]


Python 파일을 만들기에 앞서서,

작업을 할 디렉토리가 먼저 준비되어야 한다.


미리 생성해놓을 수도 있고

VSCode에서 생성을 할 수도 있다.





원하는 디렉토리를 고르면 된다.





그리고, "New File"을 선택해서 파일 이름을 정해주면 된다.










[ Error ]


간단한 Python 파일을 만들고 실행을 해보기 전에,

어떤 버전의 Python을 사용할 것인지를 선택해보자.





왼쪽 아래에 나오는 "Python 3.6.9 64-bit" 부분을 클릭했더니...

에러가 발생했다.


"command 'python.setInterpreter' not found"


필요한걸 찾을 수가 없단다.



지금 code-server로 구동되고 있는 VSCode와 Extension의 궁합이 맞지 않아 발생하는 에러로 보인다.

(이걸 알아내기 위해 정말 오랫동안 삽질을... ㅠㅠ)









[ Extension Downgrade ]


왼쪽 아래 아이콘을 눌러서 Extension 메뉴로 간 뒤에

왼쪽 Installed 항목에 있는 Python에서

기어(Gear) 모양의 버튼을 누르고

"Install Another Version..." 메뉴를 선택하자.





주르륵 나오는 버전 중에서

"2020.5.86806"

버전을 고르자





"Reload Required"

눌러서 재시작~





못보던 아래와 같은 화면이 나오면 성공~!!!











[ Select Linter ]



Python Coding Style을 검사할 엔진(?)을 고르는 것이다.


위에 나오는 화면에서 "Select Linter"를 선택하거나


[Ctrl + Shift + P]를 눌러서 나오는 화면에서 "Linter" 타이핑해서

"Python: Select Linter"를 선택하자.





개인적으로는 "flake8"을 선호한다.


그러면 끝~!!








[ Run ]


이제, 다시 진행해보자.


왼쪽 아래에 나오는 "Python 3.6.9 64-bit" 부분을 클릭해보자.





Python 2.x를 사용할지

Python 3.x를 사용할지

고르면 된다.


소스 코드에서

마우스 오른쪽 버튼을 누르고

메뉴 중에서

"Run Python File in Terminal"

클릭~





아래와 같이 실행 결과가

Terminal 윈도우에 나온다.





끝~




반응형


SW 개발자라고 하면 누구나 알고 있는 Stackoverflow


신기하게도 영어를 싫어하는 개발자들조차도

애용한다는 Stackoverflow


그러한 Stackoverflow에서 2019년 Survey를 발표하였다.




Developer Survey Results

2019



https://insights.stackoverflow.com/survey/2019




무려 9만여명의 개발자들의 응답 내용으로 만들어진 Survey라고 한다.




[ 주요 결과 ]



Python


   - 가장 사랑받고, 또 가장 원하는 언어로 뽑힌 Python 이다.

   - 가장 사랑받는 순위로는 2위이지만, 가장 원하는 언어로는 1위에 뽑혔다.



   - 가장 최악의 언어 순위가... Object-C, C, PHP, Ruby, R, C++, Java 등이 있는 것이 눈에 띈다.

   - 사랑하는 언어 1위로 뽑힌 Rust가 원하는 언어로는 6위에 있는 것 또한 특이하다.




DevOps / SRE


   - 업무에 가장 만족하며, 취업 안정성 측면에서도 가장 좋은 평가를 받고 있는 일자리는 바로 DevOps/SRE 분야인 것으로 나타났습니다.

   - 최근 서비스 SW 개발분야가 각광을 받는 배경때문이지 않을까 싶습니다.



   - 임금에 있어서도 manager에 이어 나란히 2/3위가 DevOps와 SRE이다.




Benefit of Stackoverflow


   - 60%의 개발자들은 평균 3회 정도 문제를 해결하기 위해 Stackoverflow를 방문한다고 한다.



   - 또한 이렇게 Stackoverflow를 통해 문제를 해결하는 것은 개발자에게 주당 30 ~ 90 분의 시간을 절약 해준다고 한다.





재미있는 다양한 설문 조사 결과를 볼 수 있어서 좋다.

전세계에 있는 9만여명의 개발자들에 대해서 볼 수 있는 기회가 흔하지 않기 때문이다.


더 많은 결과를 보고 싶으신 분들은 사이트에 방문하면~!! ^^


반응형


머신러닝에 대해서 공부를 한다고 하면,

예전에는 (아직도) R 등과 같은 수학에 맞춰진 언어를 소개하기도 하지만 대부분은 Python을 추천한다.


사실은 Python이라는 언어 자체가 중요한 것이 아니라

머신러닝을 할 때 필요한 많은 기능(?)들을 제공해주는 라이브러리들이 중요한데

Pandas, Numpy 라이브러리가 워낙에 잘 되어 있어서 Python을 사용하라고 하는 것이다.

물론 Python이라는 언어 자체도 매력적이긴 하지만...



이에 대해서 공부를 하고자 하는 분들에게 드리는 좋은 정보~


Google에서 무려 한국어로 제공해주는 "머신러닝 단기집중과정" 온라인 강좌

https://developers.google.com/machine-learning/crash-course


그 중에서도 Pandas에 대해서 직접 실습해가며 배울 수 있는 정말 멋진 과정

- https://colab.research.google.com/notebooks/mlcc/intro_to_pandas.ipynb?utm_source=mlcc&utm_campaign=colab-external&utm_medium=referral&utm_content=pandas-colab&hl=ko



그런데, 위의 내용 말고도 좋은 강좌가 하나 더 있다.

머신러닝에 대해서 공부하다보면 누구나 알게 되는 Kaggle !!


 Kaggle에서도 Pandas에 대해서 친절한 강좌를 제공해준다.

https://www.kaggle.com/learn/pandas


4시간이면 끝낼 수 있단다~!! ^^ (필자는 멍청해서 4일은 걸릴듯... ㅠㅜ)




모두들 즐거운 머신러닝 공부시간 되세요~


반응형

+ Recent posts