django 6

장고는 DB connection을 어떻게 관리할까?

! 이 글은 Django 5.0을 기준으로 작성됐습니다. 내부 코드를 분석한 부분은 저의 해석으로 잘못 이해한 부분이 있을 수 있습니다. DB Connection in Django Django를 사용하다가 다른 Framework를 사용하면 귀찮은 부분 중 하나가 명시적으로 DB Connection을 관리하는 부분입니다 예를 들어, Flask를 사용하여 SQLAlchemy를 적용할 때는 다음과 같이 데이터베이스 연결을 생성하고 관리해야 합니다. app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.db' db = SQLAlchemy(app) # 사용자 추가 API @app.route('/user', methods=['POST']) def add_user(..

Django에서 CSRF 공격을 막기 및 CSRF 토큰의 이해와 활용

웹 보안에 있어서 중요한 공격 유형 중 하나인 CSRF(Cross-Site Request Forgery)는 사용자의 의도와 무관하게 공격자가 준비한 악의적인 요청을 보내게 만드는 기법입니다. 사용자가 로그인 상태에서 공격자가 조작한 웹페이지에 접속할 경우, 그 페이지는 사용자가 인지하지 못하는 사이에 위조된 요청을 보내게 됩니다. 이를 통해 공격자는 사용자의 인증을 악용할 수 있습니다. Django는 이러한 CSRF 공격을 방지하기 위한 강력한 메커니즘을 기본적으로 제공합니다. 그 핵심 중 하나는 'CSRF 토큰'이 있습니다. (또 다른 방법은 CORS와 관련된 설정으로 궁금하신 분은 이 포스팅을 보셔도 좋을 것 같습니다.) CSRF 토큰이란? CSRF 토큰은 클라이언트가 서버로 요청을 보낼 때마다 서버..

Django CORS 관련 설정하기 / django-cors-headers

웹 개발을 하다보면 CORS(Cross-Origin Resource Sharing)와 같은 보안 이슈들이 흔히 발생합니다. 이는 브라우저가 서로 다른 호스트(도메인) 간의 자원 공유를 제한함으로써, 웹 애플리케이션의 보안을 강화하는 중요한 기능입니다. 이러한 제한의 근본적인 이유는 보안 취약점을 방지하기 위함인데, 예를 들어, CSRF(Cross-Site Request Forgery)와 같은 공격에서는 악의적인 웹사이트가 사용자의 브라우저에 저장된 인증 정보를 이용하여 다른 사이트에 요청을 보내는 행위를 막기 위함입니다. 데이터 엔지니어로 전향한 후에 오랜만에 서버 개발을 하려고 했더니 개념이 정확히 기억도 안 나고 사실 오랜만에 세션으로 인증을 구현할 일이 있어서 조금 헤맸습니다. CORS, CSRF,..

같은 Django model class에서 다른 schema가?(feat. Django는 이중인격?)

(Update) Django에 해당 bug를 repoorting하고, PR을 올려서 merge되었습니다! https://github.com/django/django/pull/13982 Fixed #32425 -- Fixed adding nullable field with default on MySQL. by baidoosik · Pull Request #13982 · django/django ticket link: https://code.djangoproject.com/ticket/32425#ticket Hi, team. I wanna fix some picky issue. I suggest below code for solving this problem. (same code creates differe..

Django Orm Query 최적화하기 1편.

WAS (Web Application Server)의 가장 큰 역할은 DB에서 데이터를 효율적으로 가져와서 Client에게 전달하고, Client에게 받은 데이터를 저장하는 것이라고 생각합니다. 개인적으로 농구에 관심이 많아서 아마추어 선수들도 프로선수들 처럼 자신의 대회기록을 제공하는 사이트를 사이드 프로젝트로 진행하고 있습니다. 아직 개발 중이라서 홍보는 하고 있지 않습니다. 아무래도 기록과 관련된 서비스이다보니 Query를 많이 사용하는 서비스입니다. Team 의 상세페이지를 구현하면서 query 응답속도를 줄인 경험을 공유하려고 합니다. 아직 사용자가 많지 않은 서비스이다 보니 많은 시간을 할애 하지는 않았습니다. 그래서 혹시 부족한 부분이 있고, 조언해주실 부분이 있으면 정말 환영합니다.(사실 ..

네이버 파파고 크롤링해서 3개 국어 번역하기

안녕하세요. 요즘 많은 분들이 파이썬을 통하여 크롤링을 하고 있습니다. 크롤링 공부를 할 때 관심있었던 분야나 기사 서비스 등을 크롤링 하면 더 재밌게! 공부 할 수 있을 것 같아서 하루에 하나씩 크롤링 , 1일 1크롤링을 해보고 있습니다. 크롤링 했던 내용 중 재밌었던 내용들을 모아 소개하려고 합니다. 먼저, 크롤링이란? 크롤링 혹은 스크래핑이라고도 하며 웹 페이지를 가져와서 원하는 데이터를 추출해 내는 행위입니다. 혹시? 페이스북 창업 스토리인 소셜 네트워크를 시청하셨나요? 영화 속에서 주커버그가 여학생들의 사진을 인터넷에 모으는 장면이 나오는데 이것이 바로 크롤링입니다. python은 크롤링 분야의 선도주자로(출처: 나무위키) requests와 beautifulsoup 라는 라이브러리를 이용해서 쉽..

반응형