본문 바로가기

분류

PyCharm 에서 python 코딩한다면 반드시 필요한 설정 파이썬 프로젝트를 잘 시작하셨나요? 패키지를 운영체제와 분리된 가상환경(virtual environment)에서 유지를 하고 계실텐데요. shell 을 통해서 만들어진 가상환경이 자동으로 PyCharm 과 연동이 된다고 생각하시는 분들이 계시더라구요. 가상환경이 적용되지 않은 화면은 아래와 같아요. 코드에서 사용하는 패키지의 색이 회색으로 흐리게 보입니다. 적용후는 좀더 밝은 색으로 표현이 되니, 어렵지 않게 적용여부를 확인하실 수 있습니다. 적용전 적용후 적용이 필요하시다면 간단한 두 과정으로 설정할 수 있습니다. 경로 설정 방법 과정1: Settings 메뉴 진입 과정2: Interpreter 경로 변경 더보기
다음(Daum) 뉴스 댓글 기능 동기: 다음에 게시되는 뉴스에 나타나는 댓글을 한눈에 볼 수 있다면 사람들의 생각을 더 잘 이해할 수 있다. 구현방법 - python 이용 - web 으로 구현 사용자는 쉽게 게시 url 을 복붙하여 결과를 확인할 수 있게 한다. 더보기
랜섬웨어(ransomware) 컴퓨터 시스템을 감염시켜 몸값을 요구한다. 그런데 돈을 지불해도 복구가 되지 않을 수 있다고 한다. 더보기
python 디버깅 툴, pdb 코딩은 즐거움이다. 머리속에 있던 생각을 실행이 되는 구체화된 결과물을 만들어 내는 과정이기 때문이다. 또 결과물이 내가 의도했던대로 무리없이 작동하면 보람도 느낀다. 그 과정속에 어려움도 있다. 기대했던 바대로 작동하지 않는 경우가 비일비재해서다. 그리고 대부분 그러한 경우 원인을 쉽게 찾기 어렵다. 간단히 print() 를 사용할 수 있지만 좀더 진보된 툴, pdb를 써보자. 아래의 예는 django에서 ipdb(Improved pdb)를 사용한 예이다. class IndexView(generic.ListView): template_name = 'polls/index.html' context_object_name = 'latest_question_list' def get_queryset(self): .. 더보기
PUT 와 PATCH 차이 들어가며 이 질문을 생각하게 된 시작은 이렇습니다. 일반적으로 데이터를 관리하는 기본 연산을 CRUD로 부르잖아요. 각 연산을 하나씩 제가 알고 있는 http method 에 연결하다보니 이런 질문이 떠오르게 됬습니다. Http 수정 method PATCH, PUT는 같은거야 다른거야? Create - POST Read - GET UPDATE - PUT, PATCH DELETE - DELETE 특이하게도 세번째에 위치한 수정을 위한 연산은 두 개의 method가 대응이 됩니다. 어떻게 이런 일관되지 않은 구성을 가지게 되었을까요? 본론 항상 그렇듯이 stack overflow에서 인기있는 답을 찾아 보았습니다. 답에 대한 voting 숫자가 1000이 넘네요. (이정도 숫자면 무비판적으로 읽어도 될 수준.. 더보기
Elastic beanstalk CLI 를 활용한 비용 절감 노력 Django 물개발자입니다. 이전 글에서 EB(Elasticbeanstalk) 환경에 Django를 배포하면서 겪었던 내용을 여기서 공유했습니다. 이번에는 EB에 환경을 생성하는 과정을 CLI 를 이용해 보려고 합니다. AWS web console을 이용하면 각 단계별로 필요한 과정과 의미를 이해하는데 도움이 됩니다. 다만 이런 과정을 자주 반복해야 하는 상황에 마주친다면 좀 더 나은 방법에 대해서 생각하게 될 것입니다. 같은 작업을 반복하는 것은 시간이 걸린다는 것은 의미하고 또 사람이 손으로 각 단계를 밟다 보면 의도하지 않게 실수를 할 수 있기 때문입니다. 위 그림은 EB에 environment을 생성하는 시작단계입니다. default configuration과 다른 환경을 갖추기 위해서는 그 후에.. 더보기
장고로 프로젝트 시작할 때 내가 설치하는 필수 패키지 흥미유발 할 수 있는 자료 들어가며 미묘하지만 django와 같은 web framework 으로 개발하는 과정과 부모 클래스를 상속받아 클래스를 재정의하는 과정이 다르지 않습니다. django를 이용해 손쉽게 몇 줄의 코드만 추가하면 로그인 기능이 살아나고, 또 몇줄의 설정을 추가하면 rest api 기능이 작동하는 프로젝트를 얻을 수 있습니다. 부모 클래스의 속성값을 변경하거나 method를 재정의하는 과정과 같다고도 볼 수 있습니다. 웹서비스 개발에 필요한 왠만한 문제들을 손쉽게 해결하기 위해 django가 나타났습니다. 시간이 흐르고 덩치가 흐르다 보니 django의 기능 자체를 배우고 활용하는 과정이 예전과 달리 더 어렵고 아득해 보입니다. 그래서 나타났습니다. django-extensions는 .. 더보기
Python 가상 환경(virtualenv)이 필요한 이유 python virtualenv를 꼭 사용해야 할까요? python 가상 환경 없이도 python 프로젝트를 진행할 수 있습니다. 패키지를 system 영역에 설치해도 전혀 문제없다고 말할 수 있습니다. 당장은. 이런 경우를 생각해 보겠습니다. A 라는 프로젝트 진행을 하려고 합니다. 이를 위해 django==1.0.0 과 requests==0.5.0 를 사용했고 성공적으로 패포하여 유지보수 중입니다. 그리고 어느 정도 시간이 지나 B라는 프로젝트를 진행하려고 합니다. requests 패키지가 개선되어 지금은 requests==0.10.0 을 사용할 수 있게 되었습니다. 그래서 프로젝트 B에서는 requests==0.10.0 을 사용하려고 합니다. pip install -U requests==0.10.0.. 더보기

반응형