목록Programming/django (3)
공부기록
배포 환경의 구분 개발을 하고 서비스를 단 하나의 웹 컨테이너로 한다고 생각하자. 새로운 코드를 짜게 되면 그것을 테스트 해야하는데 이것을 서비스중에 동시에 한다는 것은 말이 안된다. 불안정한 코드로 인해 의도하지 않은 데이터 수정 및 삭제가 일어날 수도 있고, 테스트 중 코드를 수정하고 다시 서버를 올리는 것은 연속적인 서비스 중단을 낳게 된다. 이 때문에, 우리는 배포 환경을 구분하여 서비스를 배포하게 된다. 배포 환경 별 세팅을 구성함으로써 서비스 환경이 더욱 안정적이어 지고, 무중단 배포 만큼은 아니지만 수정된 사항이 완전히 안정화 된 이후에 서비스 환경에 단 한 번 수정이 이루어지기 때문에 업데이트 및 디버깅으로 인한 배포 중단이 최소화 될 수 있다. 1. 개발환경 서비스 개발자가 개발과 디버깅..
개인적인 생각이므로 참고만 해주시길 부탁드립니다. 1. python으로 된 웹 프레임워크 파이선으로 되어있기 때문에 기본적으로 코드 작성이 간결하고 쉽다. 또한 파이선의 다양한 내장 함수(예 : map, filter)를 사용하여 다른 언어로는 for문을 사용하여 길게 써야 할 것을 한 줄로 코딩할 수 있다. 특히 데이터 프로세싱에서 이런 장점을 활용할 수 있다. 또한 python으로 된 다양한 외부 라이브러리 덕분에 다양한 비지니스 로직을 쉽게 구현할 수 있다는 장점이 있다. 2. django가 제공하는 다양한 내장 기능 python으로 된 웹 프레임워크에는 django와 flask가 있다. 이 둘의 차이는 기본적으로 얼마나 많은 기능을 제공하는지에 있다. django는 csrf_token과 같은 보안기..
CSRF Attack (Cross Site Request Fogery Attack) csrf 공격은, 위해한 웹사이트가 POST와 같은 액션을 사용할 때, 인증된 사용자의 인증정보를 무단으로 사용하는 것을 말한다. 이 때문에 사용자는 자신이 의도하지 않은 요청을 하게 된다. 예를 들어, 공격자가 사이트의 게시물에 어떤 사이트의 API를 이용하여 조작된 HTML을 만들면, 인증된 사용자가 그것을 사용하여 자신은 의도치 않았던 행위를 하는 것이다. CSRF Token django는 csrf 공격을 막기 위해 csrf token을 사용한다. 사용자가 post 요청이 있는 template을 요청하면, 장고는 cookie에 secret을 보내고, hidden form의 필드 'csrfmiddlewareto..