본문 바로가기
반응형

분류 전체보기346

[Python] pickle 모듈 - 파이썬에서 객체를 영속화하는 방법 다음 글(https://realpython.com/python-pickle-module)을 번역, 정리한 글입니다. 목차 · 파이썬의 직렬화 · 파이썬 pickle 모듈 내부 · 파이썬 pickle 모듈의 프로토콜 포맷 · Picklable and Unpicklable Types · Pickled Objects의 압축 · 파이썬 pickle 모듈의 보안 문제 개발을 하다보면 복잡한 객체 계층을 네트워크를 통해 전달하거나, 디스크나 데이터베이스에 저장해야할 수 있다. 이를 위해 직렬화라 불리는 과정을 사용할 수 있고, 파이썬에서는 표준 라이브러리로 pickle 모듈을 제공한다. 파이썬의 직렬화 직렬화는 데이터 구조를 저장하거나 네트워크로 전송할 수 있는 선형으로 변환하는 방법이다. 파이썬에서는 직렬화로 복.. 2022. 9. 4.
postman에서 csrftoken 자동으로 갱신하기 장고는 CSRF(Cross Site Request Forgeries)는 막기 위기 CSRF 보호 메커니즘이 내장되어 있다. AJAX POST 메서드에서 CSRF 보호가 활성화되면 X-CSRFToken 헤더가 요청에 포함되어야한다. 장고는 로그인시 csrftoken 쿠키를 설정한다. 로그인 후 Postman의 쿠키에서 csrf 토큰을 볼 수 있다. 해당 토큰을 가지고, 다음과 같이 헤더에 추가해서 사용하면된다. 하지만 해당 토큰이 만료되면, postman에서 수동으로 갱신해야한다. 이를 해결하고, 자동으로 csrftoken을 갱신할 수 있도록 하자. Postman의 스크립팅 기능을 사용하여 쿠키에서 토큰에서 토큰을 추출하고 변수로 설정할 수 있다. postman의 Tests 탭에 다음과 같이 작성한다. v.. 2022. 8. 9.
Fabric, 파이썬으로 원격 커맨드를 수행하는 방법 Fabric이란? · SSH를 통해 원격으로 shell 커맨드를 실행하도록 설계뙨 라이브러리다. 유용한 파이썬 객체를 반환한다. · Invoke(Task 실행 라이브러리, 하위 프로세스 커맨드 실행 및 커맨드라인 기능) 및 Paramiko(SSH 프로토콜 라이브러리)를 기반으로 하여, 해당 API를 확장하여 추가 기능들을 제공한다. · 애플리케이션 배포, 시스템 관리 작업 등에 사용할 수 있다. · 파이썬 2.7, 3.4 이상을 지원한다. 설치 $ pip install fabric 사용법 fabric을 설치하면 기본적으로 fabfile라는 이름의 파일에 정의된 명령을 읽고 실행할 수 있는 fab binary stub을 설치한다. fabfile.py라는 파일을 만들고 다음 코드를 작성한다. from fab.. 2022. 8. 7.
pyenv란? pyenv 사용하기 이 글은 다음 글을 번역하여 정리한 글입니다. https://realpython.com/intro-to-pyenv/ 목차 · pyenv란? · pyenv 설치하기 · 파이썬을 설치하기 위해 pyenv 사용하기 · pyenv로 사용할 파이썬 버전 지정하기 · 가상 환경과 pyenv pyenv란? · pyenv는 다양한 버전의 파이썬을 관리하는 도구다. · pyenv를 사용하면 올바른 버전의 파이썬을 사용하는 데 드는 시간을 최소화하여, 프로젝트에 들이는 시간을 최대화 할 수 있다. · pyenv를 사용하면 편리한 상황 1. 다양한 버전의 파이썬을 지원해야 하지만, 모든 버전을 쉽게 테스트 하는 방법을 확신하지 못할 때 2. 최신 버전의 파이썬의 새로운 기능을 사용해보고 싶지만, 개발 환경을 엉망으로 만들까.. 2022. 7. 9.
[오류해결] pyenv-virtualenvwrapper: x.x.x: virtualenv-clone is not available. failed to initialize virtualenvwrapper_lazy. pyenv-virtualenvwrapper: x.x.x: virtualenv-clone is not available. pyenv-virtualenvwrapper: failed to initialize virtualenvwrapper_lazy. 위 오류는 virtualenv-clone 파이썬 패키지가 설치되어 있지 않아 발생할 수 있다. 문제 해결: 아래 명령으로 해당 패키지를 생성한다. $ pip install virtualenv-clone 2022. 6. 30.
[Django] 튜토리얼7. 어드민 사이트 커스터마이징하기 이 글은 장고 공식 홈페이지의 튜토리얼을 번역하고, 직접 실습하는 과정을 정리합니다. 여섯 번째 튜토리얼(https://scshim.tistory.com/599)과 이어지는 일곱 번째 글입니다. 목차 · 어드민 form 커스터마이즈 · 연관 객체 더하기 · 관리자 change list 커스터마이즈 · 어드민 룩앤필(look and feel) 커스터마이즈 · 어드민 색인 페이지 커스터마이즈 어드민 form 커스터마이즈 Question 모델을 admin.site.register(Question)에 등록함으로써 장고는 기본 폼 표현을 구성할 수 있었다. 하지만 어드민 폼 양식의 모양과 작동 방식을 사용자 정의해야하는 상황이 올 수 있다. 객체를 등록할 때 원하는 옵션을 장고에 알려서 이 작업을 수행할 수 있다.. 2022. 6. 28.
반응형