[python] 파이썬 입문하기



작년 node.js와 react.js를 하고 나서 빈둥빈둥 놀다가


올해 초 이직을 하고 새로운 언어를 공부해 볼까 하며 고민하다가


해봐야 겠다고 생각한 파이썬



파이썬의 장점과 단점에 대해서 여기저기 찾아보았는데


개인적으로 내린 결론은


장점


1. 파이썬은 속도가 빠르다.


처리속도가 빠른건 아니고 개발 진행 속도가 빠르다는 의미로 받아들이면 될 것 같다.


리뷰들을 보면 C+ 보다도 느린 처리속도를 보여준다고 하는데


최적화를 하면 C+보다는 조금 더 빠르다고 한다.,


파이썬을 이용해 개발해본 사람들이 말하는 것을 들어 보면 파이썬을 사용하면 빠르다 라는 것은 간편한 문법으로 개발 속도가


빠르다는 의미로 많이 사용 하는 것 같다.


2. 데이터 처리가 용이하다.


1번의 개발속도가 빠르다는 것과 같이 묶어서 생각하면 될듯



3. 비동기 코딩


단일 스레드 대신 이벤트 루프를 활용해 소수 유닛의 비동기 코딩을 하는데 뛰어나다 라고 하는데


사실 이건 직접 경험해봐야 알듯 하다.



단점


1. 처리 속도가 느리다.


스크립트 언어인 인터프리터 언어이기 때문에 컴파일 언어보다는 처리속도가 


느리다는데 사실 초 대용량 데이터 쓰거나 하는거 아니면 이젠 하드웨어 성능이 좋아져서


큰 단점이라고 보기는 애매 할듯 하다.



2. 모바일에 취약하다


데스크탑 환경에 맞는 플랫폼은 존재하지만 모바일 컴퓨팅엔 취약 하다고 한다.


사실 이것도 잘 모르겠음...




결론


뭐든 일단 써보고 경험해봐야 이게 어떤 프로젝트에 좋을지 판단 가능 할 것 같다.





그래서 시작해 보았다


파이썬!




책사서 공부하는건 해본적도 없고 돈도 아깝고 적성에도 안맞으니


구굴선생님에게 물어물어 설치를 해 보았다.


일단 파이썬 프레임워크는 장고 보단 플라스크를 선택 하기로 했다.


이유는 그냥 내 주변에 파이썬 공부해봤던 사람이 플라스크를 썼기 떄문이다.


별거 없다. 내 상황에 공부하기 좋은 환경으로 선택해서 진행 하면 된다.


주변에 장고쓰는 사람 있으면 장고 설치 하면 되는것임.



파이썬 설치 하는 방법



1. 파이썬 설치


1) 파이썬 다운로드  및 설치


https://www.python.org/


위 주소로 가서


다운로드 받는다.


파이썬 3.X.X 와 2.X.X가 있는데


처음에 2.x.x를 받았다가


파이썬 공부해본 지인이 파이썬3로 공부 했다고 해서


파이썬 3버전으로 다시 받았다.


요즘 새로 만드는 프로젝트들은 대부분 파이썬3로 진행 한다고 하기도 하고


일단 파이썬3이랑 파이썬2랑 문법이 조금 다르다


일종의 버전커브가 있는데


인터넷에 자료는 파이썬2가 더 많으니 알아서 취사 선택 하면 됨.



일단 다운받아서 설치 하고 나면



환경변수 설정을 해준다.





2) 환경변수 설정


환경변수 설정하는건 자바 환경변수 설정했던거랑 똑같음






path 에 파이썬 설치 경로를 추가 해주면 되는데.


두가지를 추가 해주어야 한다


파이썬 설치 경로에서



C:\Users\cheesu\AppData\Local\Programs\Python\Python36-32


C:\Users\cheesu\AppData\Local\Programs\Python\Python36-32\Scripts


이렇게 두개를 추가 해준다.



그리고 새로만들기를 하고





PYTHONPATH 라는 변수에


값은 C:\Users\cheesu\AppData\Local\Programs\Python\Python36-32\Lib


파이썬이 설치된 경로에 lib 폴더까지의 경로를 선택해 주면 된다.



환경 변수 설정이 끝났다면


CMD 창을 열어서



python 이라고 쳐보자




위 사진과 같은 결과가 나왔다면 완료 된 것이다.



이제 개발할 준비를 해보자




.




2. pip 설치



cmd 창에다가



easy_install pip


라는 명령어를 입력해 pip를 설치 한다.



3. 플라스크(Flask) 설치


CMD 창에


pip install virtualenv


를 타이핑해서 실행 시키고


c드라이브나 아무 드라이브에


작업할 폴더 만들어 놓고


그 폴더 안에서


virtualenv venv


라는 명령어를 실행 시켜보자


그럼 venv 라는 폴더가 생김



그리고 


pip install flask


명령어를 실행 시키면



플라스크가 설치 된다.



이제 플라스크 개발 환경은 끝났는데


좀 제대로 개발 하려면


파이썬 에디터가 필요하다



4. 파이썬 에디터 설치 하기



파이썬 에디터는 여러 종류가 있는데


일단 난 파이참 이라는 걸 선택함


별 이유는 없다


걍 무료고 파이참이라는 이름만 들어도 파이썬에 최적화 되어 있을 것만 같다


https://www.jetbrains.com/pycharm/download/#section=windows


위 주소로 들어가서



오른쪽에 있는 




커뮤니티 버전으로 다운받고 설치 하자



설치를 다 하고 나서 실행하면


프로젝트를 새로 생성할건지


기존에 있는 경로를 쓸건지 물어보는데


아까 위에 venv 설정 해놓은걸 뒤로 하고


걍 새로 만들어보자


그럼 파이참이 알아서 여러 가지 폴더들과 라이브러리들을 생성해준다




처음 생성하고 나면


위에 있는 폴더리스트에서 app 폴더만 뺴고 나머지가 기본으로 생성이 되어 있는 사앹가 된다.





5. 파이썬으로 웹서버 구동시키기



venv 폴더 아래에 app 라는 이름의 폴더를 하나 만들어주고



그 폴더 안에


index.py 라는 파일을 하나 만들어보자



이름은 상관 없다.



그리고 그 파일에


1
2
3
4
5
6
7
8
9
10
11
12
from flask import Flask
app = Flask(__name__)
 
@app.route('/')
def hello_world():
    return 'welcome fucking hell joseon'
 
 
if __name__ == '__main__':
    app.run()
 
 
cs



이렇게 작성을 해준다



그리고 저장한 다음



cmd 창을 키고


저 index.py 파일이 있는 경로에서


python index.py


라는 명령어를 실행하면



이런 메세지가 뜨고



12.7.0.0.1:5000 으로 접속해보면


웰컴 헬조선 이라는 텍스트가 뜬다



이것으로 기본적은 웹서버 구동까지가 끝이다!


오와...


빠르긴 빠르다...


jsp 전자정부 쓸떄는 톰캣설정 따로 해주고 뭐 복잡했는데...



물론 얘도 나중에 html 파일 띄우고 하려면 템플릿 만들어서 뿌려줘야 하니 비슷할지도 모르겠다;;;




그리고 추가로


url 라우터를



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from flask import Flask
app = Flask(__name__)
 
@app.route('/')
def hello_world():
    return 'welcome hell joseon'
 
 
 
@app.route('/user/<username>')
def show_user_profile(username):
    # show the user profile for that user
    return 'User %s' % username
 
 
@app.route('/post/<int:post_id>')
def show_post(post_id):
    # show the post with the given id, the id is an integer
    return 'Post %d' % post_id
 
if __name__ == '__main__':
    app.run()
 
 
cs




이렇게  라우터를 더 만들어 주는데


10번 라인의 경우


127.0.0.1:5000/user/야매개발자



이라는 주소로 접속하면




이렇게 뜬다


우왕 .. 싱기방기...






그리고 파이썬을 쓸때 주의해야 할 점이 있다.


위의 코드에서



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from flask import Flask
app = Flask(__name__)
 
@app.route('/')
def hello_world():
    return 'wellcome fucking hell joseon'
 
 
 
    @app.route('/user/<username>')
    def show_user_profile(username):
        # show the user profile for that user
        return 'User %s' % username
    
    
    @app.route('/post/<int:post_id>')
    def show_post(post_id):
        # show the post with the given id, the id is an integer
        return 'Post %d' % post_id
 
if __name__ == '__main__':
    app.run()
 
cs



이렇게 탭으로 들여쓰기 하면



/user/유저이름


이거 접속 안됨...



하...


스크립트 언어라서 탭에 예민하다는데..


좀 짜증남...


저것떔에 파이썬에 대한 첫인상은 좋지 않았다.




오늘은 여기 까지 했으니


여기까지만 포스팅을 하고


나중에 공부 더 하면 그때 이어서 포스팅을 해보도록 하겠다.



그럼 다들 야근 그만하고 칼퇴 하시길! 

[centOS] PHP 5.2 make 설치 오류 해결 방법


dereferencing pointer to incomplete type RETVAL_STRINGL((char *) buf->buffer->content, ret, 1);


php 파일 풀고나서 make 명령어를 치면 저런 에러가 뿜어져 나온다



보안관련 문제인지 일단 php에서 5.2버전은 지원을 중단했기 때문에 나타나는 에러다



https://code.google.com/p/php52-backports/issues/detail?id=16

여기서 패치파일 다운 받고


패치파일을 php 소스 경로에다가 옮겨놓은 다음


# patch -p0 < ./libxml29_compat.patch 

이 명령어를 치면 된다


centos 7 patch 명령을 찾을 수 없습니다 라는 메세지가 나타난다면




#sudo yum install patch


이 명령어로 패치 설치한후


위의 명령어를 실행하면 정상 작동이 된다.







Cannot find module 'ejs' 에러 해결 방법


드디어 node.js 에 나도 입문을 하게 되었다.


node.js 설치 과정은 다른 블로그에도 많이 나와있고 나중에 시간이 되면 포스팅 하기로 하고


이 포스팅 내용을 검색해 들어온 사람들은 이미 설치를 끝내고 나서 진행하다가 찾아 온 사람들이니 생략


그리고 진짜 오늘 시작해본것 이기 때문에 진정한 야매가이드라는걸 잊지 말고


내 포스팅을 전부 신뢰하진 말길....




nodejs 서버에 jsp 같은 파일을 띄우려면 템플릿? 이라는걸 사용해야 한단다


jade도 있고 ejs도 있는데 html이랑 제일 유사하게 생긴게 ejs라고 하길래 어떻게 하는가 찾아 봤더니


ejs를 설치 하란다


그래서 설치 하고 예제에 있는대로 작성하고 서버를 실행시켰더니


Cannot find module 'ejs' 라는 에러가 나타난다





이런게 뜨길래 구글링해서 찾아봤더니


역시나 스택오버플로우 형님들이 해결책들을 제시해 주었다




package.json 이라는 녀석을 열어 보면 저렇게 mvc2에서 디펜던시 해주는것처럼 종속성에 대한 정보가 들어있는 녀석이 있는데


저기에 아마 ejs 라는 동그라미친 부분이 없어서 나오는 에러이다


저부분을 추가해 주면 해결이 된다고 하는데 난 해결이 안된다...



그래서 스크롤을 좀더 내려보니


npm install ejs --save


이렇게 설치를 해야 한다고 한다


npm 명령어중 --save 는


설치된 node 모듈을 pakage.json 파일 내의 디펜던시 목록에 추가 하게 하는 옵션이다.


나도 아직 nodejs 설치 한지 두시간밖에 안지나서 정확히는 모르겠다.



여하튼 에러나는 사람은 저렇게 다시 설치 해보도록 하자



그리고 만약 프로젝트 폴더에 package.json 이 파일이 없다면


프로젝트 등록? 뭐 그게 안된거다


방법은 해당 프로젝트 폴더로 들어가서


npm init 라는 명령어를 실행시켜


어플리케이션을 보관할 디렉토리를 작업 디렉토리로 설정 하도록 하자


대충 엔터치면 지나가는데


해당 어플리케이션 설명이나 리파지토리 뭐 이런거 적으라고 나오는건


알아서 적도록 하자 그냥 엔터쳐서 넘겨도 된다.


그중에


entry point:(index.js) 라고 나오는데


기본 파일의 이름을 지정 하는것 이라고 한다.



ps: 뒤에 --save 붙이는게 의무적인건 아니라고 한다... 근데 난 저거 붙여서


해결했으니까 ㅠ_ㅠ;;; 


ps2: 에러난 이유가 환경 변수의 문제일 수도 있겠다는 제보를 받았다

노드js는 C에 설치 하고 프로젝트폴더는 D에 있어서 

내가 처음에 설치 할떈 글로벌로 설치 하면 드라이브 상관 없이

다 되는 건줄 알고 npm install ejs -g 라는 -g 옵션을 썻는데

이렇게 설치 하면 C에 경로가 잡히가 되는거 아니냐는 의견을 받았음.

확인 해보진 않았지만 혹시나 다른 사람들은 확인해보시길






포켓몬 GO 설치 오류 (400)해결 방법



서비스가 시작했다는 소식에 바로 플레이스토어에 들어가 설치를 하려는데


설치 오류 400 이라는 메세지가 떴다


그래서 플레이 스토어 해결문의에 들어가 확인해보니 


설치 오류 해결 방법에 대해서 써있었다.




1. 비행기 모드

1) 모든 어플리케이션을 종료 하고 비행기모드를 실행한다.

2) 그상태로 10~20초간 대기

3) 비행기모드를 해제하고 다시 다운로드 시작.



2. 와이파이 종료

1) 와이파이를 끄고 일반 데이터 사용으로 다운로드


3. 저장공간 확인

1) 저장공간이 충분한지 확인후 다운로드


4. 플레이스토어 강제종료

1) 설정 -> 어플리케이션 -> 플레이스토어 에 들어간다

2) 강제중지 버튼을 눌러 강제중지 시킨다

3) 설정 -> 시스템 -> 저장소에 들어간다

4) 모든 캐쉬 삭제후 다운로드


5. 핸드폰 재시작

1) 핸드폰 재시작후 다운로드




나는 1~4번까지 다 안되다가 핸드폰 재시작후 다운로드 받을 수 있게 되었다.


회사에서 실행해보니 지도가 나타난다!! 더이상 속초 허허벌판 같은게 아니라 다행 ㅋㅋ 근데 회사 주변이 허허벌판이네 ㅋㅋㅋ 여기 그래도 강남인데... 역삼이랑 언주역 사이라서 그런가...

너무 없다 ㅠ_ㅠ 



설치 다운로드 에러나 오류로 받지 못하는 사람들에게 도움이 되었으면 좋겠네요


2017/01/24 - [Yame Game Life/Poketmon Go] - [포켓몬고] GPS 오류 에러 해결 방법 gps signal not found , gps failed to detect location

2017/01/24 - [Yame Game Life/Poketmon Go] - [포켓몬고] 개체값 바로 알수 있는 방법 , 어플 포닥

2017/01/24 - [Yame Game Life/Poketmon Go] - [포켓몬 고] 설치 오류 400 해결 방법



+ Recent posts