블로그 이미지
Flying Mr.Cheon youGom

Recent Comment»

Recent Post»

Recent Trackback»

« 2025/12 »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

 
 

note, pycurl install error

커리어 관리/프로젝트 흔적 | 2023. 5. 11. 23:16 | Posted by youGom

pycurl install error in python3.6

sudo apt-get install libpython3.6-dev
sudo apt install python-pycurl
sudo apt install libcurl4-gnutls-dev
sudo apt-get install python3.6-dev
sudo apt-get install libssl-dev libcurl4-openssl-dev

export PYCURL_SSL_LIBRARY=openssl
pip install --compile --install-option="--with-openssl" --no-cache-dir pycurl

 

import error - pycurl
error : ImportError: pycurl: libcurl link-time ssl backend (gnutls) is different from compile-time ssl backend (openssl)
reason: not installed openssl; libcurl4-openssl-dev

pip uninstall pycurl
sudo apt-get install libcurl4-openssl-dev
pip install --compile --install-option="--with-openssl" pycurl

 

'커리어 관리 > 프로젝트 흔적' 카테고리의 다른 글

[ 메모 ] 채팅 프로그램  (0) 2013.05.29
Rullet  (0) 2013.05.03
RF.plan  (0) 2013.03.26
:

Docker Configuration

서버/Infra | 2023. 5. 11. 17:04 | Posted by youGom

It is not typing any korean might be in ubuntu of the language problem on utf8.
This is contents only my log how to get checking docker default.
It's terrible to set the python version virutal environment up. this docker system would rather that?

This is default configuration method and summary; Docker Configurations

* Below links are almost entry point: https://docs.docker.com/language/python/build-images/

Contents.
1. Install Docker
    - The docker document site shows to install the docker-gui at first, but it should install the docker-cli in middle contents;
    ( docker-install[gui] - link , docker-cert[ca] - link , docker-install[cli] - link )
2. Docker run: image 'hello world'
    - It is very simple command like 'docker run docker-hello' for getting check or verify the docker-package.
3. Docker Image Pull: Python3.6 slim buster - (list)link
    - The docker document shows python 3.8, but trying to version of 3.6; python 3.6 image link
4. Docker Image Control: Flask 'hello world'
    - Build, Tag - link
    - Run, Stop, Remove, View List - link
    - Finally command: docker run -d -p 8000:5000 --name rest-server python_image
5. Docker Image Control: Mysql 'hello world', link
    - To meet some error; mysql-connector (had been installed by pip3 (python3.6))
    - To reset python version to 3.8 from 3.6, and to restart generating from 'python3 -m venv .venv' for the first time.
    - Getting Experience; docker network, volume and compose by yaml file; docker-compose.dev.yml
6. CI/CD: GitHub actions - link
    - Create workflow yaml file
7. Deploy: Azure, ECS, EKS - link
    - It would refer any page to be meet a environment of the infras, or the IaaS provider would provide us more information.

 

Notes.
1. Hope to use the docker command line without 'sudo ...' like 'sudo docker ...'
   $ sudo usermod -aG docker $USER
   - To run docker command without 'sudo' after logout, or 'sudo su -l $USER'

'서버 > Infra' 카테고리의 다른 글

[Infra] LoadBalancer Haproxy Install  (0) 2018.03.20
:

termux에서 ubuntu 환경 만들기

클라이언트/Android | 2022. 7. 1. 13:36 | Posted by youGom

여유분의 S10을 가지고 노트북 대용을 만들어보기로 한다.

미리 말하지만, 약간 시간이 걸린다.
모든게 자동은 아니기 때문에 자리를 지키고 있는게 좋다.
중간중간 입력해줘야 하는 내용들이 조금씩 있다.

ubuntu나 영어가 기본적으로 되는 사람은 아래 사이트의 원문을 바로 보는것도 도움이 될것 같다.
실제 해보니, 사이트에서 가이드된 내용과 크게 다른 거 없이 진행되었다.


Ubuntu 20 With XFCE4로 만들거라서 아래 명령어로 선택
사이트 : https://github.com/tuanpham-dev/termux-ubuntu

pkg install wget curl proot tar -y && wget https://raw.githubusercontent.com/tuanpham-dev/termux-ubuntu/master/ubuntu.sh && chmod +x ubuntu.sh && bash ubuntu.sh

 

실행 중에 에러가 발생함. wget이 설치가 안된다고 에러가 뜬다. pkg가 기본 명령어인데 안될리가 없는데..
확인해보니 아래 사이트 가이디대로 repository 변경하면 된다.
사이트 : https://github.com/termux/termux-packages/issues/6726

termux-change-repo

이 명령어를 치면, Repos 선택하는 화면이 두개 뜬다.
첫화면은 세개 다 선택해주고, 두번째 화면에서는 맘에드는 걸로 하나씩 선택해보면서, pkg update 실행하면서 네트워크 오류가 안나는 Repository를 선택해주면 된다.

PKG update 하는 중에 화면이 멈춰 있는 걸 볼 수 있는데, Y/N 등을 할것인지 묻는 것 때문에 멈춰있다. (오류아님)
기존 버젼 유지할거라면 N, 유지보수버젼으로 설치할거라면 Y 누르면 된다. 
입력없이 엔터를 치면 기본값은 N이 되니 참고하면 좋다.

...

한참 설치하다 보면, 암호 입력이 나온다. 사용자명 사용자암호 그리고 루트권한 암호 등

암호 입력창 완료 후

설치가 완료된 것처럼 보이지만, 암호를 입력해달라는 화면이니 그냥 끄면 안된다. 암호를 입력 후 남은 설치가 계속된다.

...

갑자기 이상한(?) 영어로 뭔가 선택하라고 한다. 시간대를 선택해 달라고 하는 화면이다.
당황하지 않고, 우리는 한국 사람이니, 'Asia'를 선택하고 다음화면에서 'Seoul'을 선택하면 된다.

...

또 무언가 뜬다. 잘 살펴보면, Keyboard라는 글자가 보인다. 자판 언어 선택해 달라고 하는 내용이다.
당황하지 않고, 우리는 한국 사람이니, Korea를 선택하고, 내 키보드는 Full-Key이니까 ( 텐키리스 아니니까. ) 일반 Korea로 선택해준다.
[ 텐키리스 : 오른쪽에 3x3으로 넘버키가 없는 키보드를 흔히 텐키리스라고 함 ]

...

VNC Password 생성하기 위해 입력하라고 뜬다. 
이 부분만 입력하면 드디어 설치가 끝난다.

화면 프롬프트에 xxxx@localhost라는 문구가 뜬다면 모두 완료된 것으로 보면 된다.


우분투 설치 완료 후 기본 프로그램을 설치해주면 도움이 된다.

$ sudo apt install net-tools
$ sudo apt install nautilus

설치가 완료되면 사이트에서 가이드 해준 VNC를 시작한다.

./start-ubuntu20.sh

 

Ubuntu를 종료하려면 아래 명령어를 입력한다.

exit

VNC를 시작하려면 아래 명령어를 입력한다.

vncserver-start

VNC를 종료하려면 아래 명령어를 입력

vncserver-stop

Oh My Zsh 설치해서 사용

cp ~/.profile ~/.zprofile
sudo apt install git curl zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

한글로 설정해서 그런지 글자깨짐이 있을 때 아래 내용으로 처리

$ sudo apt install fonts-nanum fonts-nanum-extra fonts-nanum-coding ibus-hangul
$ ibus-setup 

input-method 한글 추가
$ ibus-daemon -drx
$ ibus-setup-hangul

pyCharm Community 버젼 사용하기 : https://www.jetbrains.com/help/pycharm/installation-guide.html#standalone

Install using tar archives

  1. Download the tarball
  2. Unpack the pycharm-*.tar.gz file to a different folder, if your current Download folder doesn't support file execution:The recommended installation location according to the filesystem hierarchy standard (FHS) is /opt. To install PyCharm into this directory, enter the following command:To verify integrity of the downloaded archive, use the SHA checksum linked from the Download page.
  3. sudo tar xzf pycharm-*.tar.gz -C /opt/
     
  4. tar xzf pycharm-*.tar.gz -C <new_archive_folder>
     
  5. Switch to the bin subdirectory:For example,
  6. cd /opt/pycharm-*/bin
     
  7. cd <new archive folder>/pycharm-*/bin
     
  8. Run pycharm.sh from the bin subdirectory.
  9. sh pycharm.sh

pycharm.sh 설치 시 JRE 오류가 발생하면 아래와 같이 JRE를 설치 후 다시 하면 정상 완료됨

sudo apt-get install openjdk-11-jdk

 

'클라이언트 > Android' 카테고리의 다른 글

[Android] UI Code Eaxple  (0) 2015.11.12
Practice Diary  (0) 2014.08.27
[GoogleMap] code Google API 정리  (0) 2013.10.11
[GoogleMap] 개발 관련 이미지 자료  (0) 2013.10.03
[Fragment] Fragment정보 갈무리  (0) 2013.09.13
:

jupyter themes 주피터 노트북 테마 바꾸기

서버/Python | 2020. 6. 24. 15:57 | Posted by youGom

매우 간단함.

> pip install jupyterthemes

> jt -l

> jt -t {theme name}

> jt -t chesterish

theme name 목록
   chesterish
   grade3
   gruvboxd
   gruvboxl
   monokai
   oceans16
   onedork
   solarizedd
   solarizedl

 

-----------------------------------------------

넘 밝아서 눈 피로좀 줄이려고 한거라.. 추천하자면 monokai가 눈을 좀 편안하게 해주는 것 같음

> jt -t monokai

-----------------------------------------------

conda에서 한다면, conda activation 한 다음 위에 설치 과정 해주면 된다.

그것도 귀찮다면, (윈도우 사용자라면)

winkey > ananconda prompt consol을 검색해서 실행하면 (base) 로 명령어 창이 뜸

------------------------------------------------

그럴 일은 없겠지만, jt 명령어가 실행이 안될 수 도 있다. 환경변수에 path를 입력해두지 않았다면?

jt의 실행위치는 programdata 폴더 안에 anaconda 폴더가 있고 그 안에 script라는 폴더를 찾아보면 된다.

보통 c드라이드에 설치할텐데.. 리눅스 이거나 다른 드라이브에 있는지도 찾아보면 도움이 될테고, 도저히 모르겠다면

find나 F3으로 jt 를 찾는게 가장 빠를것 같다.

-------------------------------------------------

한번에 되면 좋은데, 오류들이 발생한다.

프록시 있거나 인증서가 필요하다면 이렇게 쓰면 될듯..

pip --cert="path/authfile" --proxy 0.0.0.0:8080 install jupyterthemes

-------------------------------------------------------

 

내 경우에는 두가지 오류가 발생해서 모듈들을 다시 설치함

error : no module named pywin32_bootstrap

> pip install --ignore-installed pywin32 --user

error : numpy.core._ufunc_config'

> pip install --upgrade numpy

---------------------------------------------------

command line에 대해 좀 더 살펴보거나,

python code 내에서 활용하는 등 좀 더 디테일한 내용을 알고 싶다면, 

아래 링크에서 상세히 알아볼 수 있다. ( 영어이니 참고 )

https://github.com/dunovank/jupyter-themes/blob/master/README.md

'서버 > Python' 카테고리의 다른 글

10 Minutes from pandas to Koalas on Apache Spark  (0) 2020.05.07
couchdb basic tutorial  (0) 2020.04.26
tistory api access token 얻는 방법  (0) 2020.04.25
gsm bts using rasberry pi 3  (0) 2019.03.04
pwn basic in python  (0) 2018.12.11
:

couchdb basic tutorial

서버/Python | 2020. 4. 26. 16:42 | Posted by youGom

This is an unofficial manual for the couchdb Python module I wish I had had.

Installation

pip install couchdb

Importing the module

import couchdb

Connection

If you only need read access, use an anonymous connection:

couchserver = couchdb.Server("http://couchdb:5984/")

To write to the database, create an authenticated connection:

user = "admin"
password = "my secret password"
couchserver = couchdb.Server("http://%s:%s@couchdb:5984/" % (user, password))

Listing databases

Simply iterate over the server object like this:

for dbname in couchserver:
    print(dbname)

Selecting/creating a database to work with

dbname = "mydb"
if dbname in couchserver:
    db = couchserver[dbname]
else:
    db = couchserver.create(dbname)

Deleting a database

del couchserver[dbname]

Writing a document to a database

Storing a document with an auto-generated ID:

doc_id, doc_rev = db.save({'key': 'value'})

doc_id is the generated document ID, doc_rev is the revision identifier.

Setting a specific ID:

db["my_document_id"] = {'key': 'value'}

Writing multiple documents in one call is done via the update() method of the database object. This can either create new documents (when no _id field is present per document) or update existing ones.

docs = [{'key': 'value1'}, {'key': 'value2'}]
for (success, doc_id, revision_or_exception) in db.update(docs):
    print(success, docid, revision_or_exception)

Retrieving documents by ID

doc_id = "my_document_id"
doc = db[doc_id]  # or db.get(doc_id)

Querying documents from views

If your database has a design document and view under the path /db_name/_design/design_doc/_view/view_name, you can iterate this view using this syntax:

for item in db.view('design_doc/view_name'):
    print(item.key, item.id, item.value)

Limiting the output to a certain number of items:

for item in db.view('design_doc/view_name', limit=100):
    print(item.key, item.id, item.value)

Skipping the first n items:

for item in db.view('design_doc/view_name', skip=100):
    print(item.key, item.id, item.value)

Reverse sorting:

for item in db.view('design_doc/view_name', descending=True):
    print(item.key, item.id, item.value)

Including source documents in result entries:

for item in db.view('design_doc/view_name', include_docs=True):
    print(item.key, item.id, item.value)

Allow outdated data to be returned, prevent updating the view before returning results:

for item in db.view('design_doc/view_name', stale="ok"):
    print(item.key, item.id, item.value)

Update the view after returning the results:

for item in db.view('design_doc/view_name', stale="update_after"):
    print(item.key, item.id, item.value)

Grouping results

Grouping the results by key, using the Reduce function, must be activated explicitly:

for item in db.view('design_doc/view_name', group=True):
    print(item.key, item.value)

If the Map function emits a structured key (an array with multiple elements), the grouping level can be determined:

for item in db.view('design_doc/view_name', group=True, group_level=1):
    print(item.key, item.value)

Filtering

Return only entries from the view matching a certain key:

for item in db.view('design_doc/view_name', key="my_key"):
    print(item.key, item.id, item.value)

Return entries with keys in a certain range:

for item in db.view('design_doc/view_name', startkey="startkey", endkey="endkey"):
    print(item.key, item.id, item.value)

The key, startkey and endkey parameters also accept arrays, e. g.

for item in db.view('design_doc/view_name', startkey=["foo", "a"], endkey=["foo", "z"]):
    print(item.key, item.id, item.value)

 

 

출처 : https://gist.github.com/marians/8e41fc817f04de7c4a70

:

pwn basic in python

서버/Python | 2018. 12. 11. 13:37 | Posted by youGom

ref : http://docs.pwntools.com/en/stable/intro.html



'서버 > Python' 카테고리의 다른 글

10 Minutes from pandas to Koalas on Apache Spark  (0) 2020.05.07
couchdb basic tutorial  (0) 2020.04.26
tistory api access token 얻는 방법  (0) 2020.04.25
gsm bts using rasberry pi 3  (0) 2019.03.04
python file to exe as one file  (0) 2018.11.01
:

python file to exe as one file

서버/Python | 2018. 11. 1. 19:18 | Posted by youGom

pip install pyinstaller

python your_script.py
pyinstaller --onefile <your_script_name>.py


pyinstaller의 옵션은 다양하지만 보통 쓰이는 옵션은 몇 개 안된다.

  • -F--onefile: 최종 출력으로 exe파일 하나만 생성한다.
  • -w--windowed: 콘솔 창이 출력되지 않게한다.
  • -i--icon: exe파일의 아이콘을 지정한다.

더 자세한 설명과 옵션들은 아래의 이미지 참고.
options


추가 경로 필요시>>



pyinstaller --onefile --windowed --icon=heart.ico --clean -p C:\test main.py


난 아래껄 쓸예정,

pyinstaller --onefile --strip <your_script_name>.py



출처2 : https://medium.com/dreamcatcher-its-blog/making-an-stand-alone-executable-from-a-python-script-using-pyinstaller-d1df9170e263


출처2 : https://winterj.me/pyinstaller/


'서버 > Python' 카테고리의 다른 글

10 Minutes from pandas to Koalas on Apache Spark  (0) 2020.05.07
couchdb basic tutorial  (0) 2020.04.26
tistory api access token 얻는 방법  (0) 2020.04.25
gsm bts using rasberry pi 3  (0) 2019.03.04
pwn basic in python  (0) 2018.12.11
:

[vue] vuejs 샘플로 layout 구경하기

서버/NodeJS | 2018. 11. 1. 01:44 | Posted by youGom

----------------------------------------------------------------------------------------------------------------


1. best-5 샘플 목록 :https://vuejsdevelopers.com/2018/04/23/vue-boilerplate-template-scaffold/

   1.1로그인화면 맘에든것:https://github.com/icebob/vue-express-mongo-boilerplate

2. top-10 샘플 목록 : https://vuejsexamples.com/tag/layout/

  2.1 비동기-그리드 샘플 : https://github.com/jbaysolutions/vue-grid-layout

3. vscode와 git 연동 유툽 : https://www.youtube.com/watch?v=kHM3xzkou_0


----------------------------------------------------------------------------------------------------------------


1번의 베스트 샘플 5개 중에, 로그인 샘플 화면과 로그인 이후 화면이 가장 맘에 들어서 이 부분에 대해 분석해보고, vue 프로젝트를 추후진행해보려고 한다.


* 아래 내용으로 IDE로 Import해서 확인한다.

1) 1.1 번의 코드를 전체다운로드 받는다. ( 해당 깃 링크의 download zip )

2) vscode 또는 visual stuidio community 버젼을 다운로드 받는다. ( 무료이므로 구글링해서 다운받으면 된다. )

   ( 내 경우에는 이전에 설치한 vs 2017 community 버젼이 있어서 15.8로 버젼업했다. )

3) 다운로드 받은 소스코드 zip파일을 압축해제한다.

4) vs를 실행시키고, 새프로젝트 생성하기를 하고, nodejs 기존 코드를 불러온다.

   - 기존코드 불러온 후, 실행파일은 ./server/dev로 지정해준다.

5) 압축해제한 폴더에서 'npm install' 실행해서 실행환경을 맞추어준다.

6) 'Hello world' 한다는 생각으로 run 또는 'npm run dev'를 실행한다.

7) 에러없이 되었다면, 'npm run build' 실행한다.

8) 에러없이 되었다면, 'npm start'를 실행한다.

*** 사실, 에러가 발생하는게 정상이다. 아래의 구경/분석하면서 에러 또는 설정값 잡는 법에 대해서 나열한다.


run dev는 현 개발모드 상태에서 실행하는 의미이고,

run build는 릴리즈 모드로 빌드(컴파일/난독화등)해서 릴리즈 가능한 형태로 만들어주고,

start를 통해 빌드된 상태로 실행한다.




이제 vue 프로젝트( mongo, ... 이것저것많음 )를 구경해보러 들어간다.


이 프로젝트는 몽고 디비를 쓰고 있고, open oauth 를 가져다 사용하고 있기 때문에, 

디비를 설치하지 않는다면, 가상db 또는 mockdata를 사용할 수 있게 해야 하는데 그게 더 귀찮아서 몽고/몽구즈를 설치한다.

oauth를 사용하지 않으려면 oauth 부분의 코드를 전부 주석처리하거나, 해당 oauth 루틴을 타지않게 호출부분을 바꿔주거나 주석처리해야한다.








:

[Captcha] 캡챠 우회 하기

보안/기술 정보 | 2017. 8. 3. 16:17 | Posted by youGom

# 기본 출처 : http://kthan.tistory.com/176

# 버젼 최신화로 인해, 위 링크 내용을 토대로 수정됨


------------------------------------------------------------------------------------------------------------------------------------------


설치 Lib


* leptonica 1.74

  : http://www.leptonica.com/download.html

  :: file << http://www.leptonica.com/source/leptonica-1.74.4.tar.gz

  :: latest git << https://github.com/DanBloomberg/leptonica


* tesseract-ocr

  : https://github.com/tesseract-ocr/tesseract/wiki/Compiling-%E2%80%93-GitInstallation


* tesser data 


* pytesser

  : https://code.google.com/archive/p/pytesser/



------------------------------------------------------------------------------------------------------------------------------------------



기본 테스트


아래 테스트 코드로 샘플 검사하는데 제대로 안되길래, 에러 메시지 확인해 보니,

TESSDATA_PREFIX 설정이 필요하다고 해서 아래 명령어로 경로 추가함.

( /usr/local/share/tessdata를 링크걸려고 했으나 용량 때문에 다른 파티션에 추가 했더니.. 링크가 안걸려서..에러 발생 )



------------------------------------------------------------------------------------------------------------------------------------------


captcha 이미지 보정

ref : http://effbot.org/imagingbook/image.htm

위 PIL 활용해서 인식이 모호한 텍스트 그림 보정 가능



------------------------------------------------------------------------------------------------------------------------------------------



convert 이미지 수정


convert test3image.png -blur 0x3 -level 30%,70% b.png


>> 이건 잘 안먹혀서.. 일단 패쓰~ ( 난중에 다른거에 활요하면 좋을듯..?! )



------------------------------------------------------------------------------------------------------------------------------------------


captcha 라인, 노이즈 제거 함수 활용

ref : https://robertgawron.blogspot.kr/2010/11/almost-all-sites-use-images-with-text.html


이 사이트의 함수 활용

$ command arg1 arg2

arg1 : image-file

arg2 : level




------------------------------------------------------------------------------------------------------------------------------------------


PIL 활용하여, BG 및 기타 노이즈 효과 제거 가능


https://stackoverflow.com/questions/24687760/numpy-pil-python-crop-image-on-whitespace-or-crop-text-with-histogram-threshol

:

[책] 해커의 언어, 치명적 파이썬

책/독서후정리 | 2014. 1. 9. 10:48 | Posted by youGom

해커의 언어 치명적 파이썬













TJ 오코너 저 |김선국 역 |비제이퍼블릭 



이 책 개인적으로 맘에 들었다.


차례~



해킹하는 방법에 대해 간결하게 정리한 책이다.

코드는 전부 파이선으로 되어 있고 코드가 많아도 100줄이 넘지 않는 듯 하다.

대부분의 예시 코드는 20줄 내외로 설명하고 있어서 이해하기에 어려움이 없다.

물론 컴퓨터 Language에 대한 기본적 이해가 없는 사람이라면 적은 양의 코드라도 어려움이 있을 듯 하다.


코드의 대부분은 파싱과 모듈 사용법으로 이루어져 있다.

파이선을 이용해서 파싱을 어떻게 하는지, 정규식( Regular Express )를 활용하는지에 대해 설명되어 있고,

네트워크 통신과 크래킹을 하기 위해 필요한 모듈들이 많이 존재 하고 있으며, 이를 어떻게 활용하는지 간단하게 설명되어 있다. 


코드는 기본적으로 아래와 같은 형식으로 되어 있다.

필요 모듈 로드

; import ftplib


모듈 사용 선언

; ftp = ftplib.ftp


모듈 초기화 

; ftp.ftp( host, user, pw, acct, timeout )


모듈을 활용하는 함수

; def Function


실행 아규먼트 파싱

; ./Command -a 127.0.0.1 -p 21 -u user -p passwd


메인함수

; main()


이 책을 통해서 Backtrack에 포함되어 있는 파이선 코드들이 어떻게 구성되어 있는지 이해할 수 있는 계기가 되기도 했다.


이 책에서 가장 기억에 남는 부분이 FTP공격, 블루투스 부분과 SMTP를 활용하는 부분이었다.

흥미로웠던 부분은 구글 검색 API를 활용해서 정보 수집하는 부분이었다. 생각보다 코드가 단순함에도 불구하고 정보수집이 잘되어서 흥미로웠다. 


난 정규식을 일반적인 곳에만 사용했었다. 정규식을 파싱에 활용한다는 것도 색다른 방법인 것 같다. 


책에서 소개된 모듈 정보다.

optparse : 커멘드라인에서 옵션을 처리하기 위한 라이브러리

python-nmap : python에서 nmap 을 사용할수 있는 라이브러리
pexpect : 프로그램 작동, 프로그램의 결과 받아서 자동화를 할수 있는 라이브러리(이책에서는 ssh 접속 자동화를 위해 사용)
pxssh : pexpect라이브러리에 있는 ssh 세션과 직접 연동할 스크립트
ftplib : ftp라이브러리
_winreg : 윈도우 레지스트리를 읽기위한 라이브러리
mechanize : 웹 자동화 라이브러리
pyPDF : PDF 문서 관리 라이브러리
exiftool : Exif 정보 라이브러리
beutifulsoup4 : html, xml 의 구문분석 라이브러리
PIL : 파이선 이미지 라이브러리
sqlite3 : sqlite3 라이브러리
pyGeoIP : GeoLiteCity 데이터베이스를 쿼리 할수 있는 라이브러리
dpkt, scapy : 패킷분석을 위한 라이브러리
python-bluez : 파이선 블루투스 라이브러리
cookielib : 쿠키를 처리할수 있는 라이브러리
smtplib : smtp 라이브러리
ctype : C스타일 코드를 작성하기 위한 ctype 라이브러리



이 책을 대여해서 보았었는데, 프랙티스를 하기 위해서 한 권정도 사서 여유있게 코드를 조금씩 따라서 작성 해 보면 도움이 많이 될 것 같다.


네이버 평균점수가 6점이던데.. 난 9점을 주고 싶다. 난 괜찮게 보았으므로. ^^




: