전체 글 54

[AWS/nginx/react/Gunicorn/django]신입 개발자의 django 프로젝트 배포 삽질_2(해결)

두번째 아키텍처 정말ㅜ 눈물난다,,,배포란 이런것인가,,,, 인스턴스는 1개 WSGI(gunicorn) 도입 1. Mixed Content 문제 발생 Mixed Content: The page at 'https://도메인/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://도메인/'. This request has been blocked; the content must be served over HTTPS. - Mixed content는 request가 https인데 end point는 http라 브라우저에서 막는 것이다. - 우리는 nginx에만 SSL을 적용하였다. - nginx에서 react로 https..

Django 2022.05.18

[AWS/nginx/react/Gunicorn/django]신입 개발자의 django 프로젝트 배포 삽질_1

아래 사진을 만들어준 동기 PJW님께 감사의 말씀 전해 드립니다. 우리의 현상태,,,,,,도라버렸따,,,, 우리는 현재 회사에서 첫 django로 온보딩 프로젝트를 진행하고 있고 배포 과정(삽질 매우 다수,,,)을 한번 정리해보려고한다. 이것은 해결방법이 아니다. 우리가 해온 삽질이다. 이글을 보고 다른 사람들이 우리처럼 삽질하지 않기를 바라며 작성하는 글이다. 아직도 삽질중,,,,, 첫번째 아키텍처 정말ㅜ 눈물난다,,,배포란 이런것인가,,,, 위의 그림처럼 front와 back을 분리하여 설계하였더니 발생한 문제 1. 쿠키에 sessionID를 담기 위해 Same Site Cookies 옵션 https://www.certkorea.co.kr/bbs/board.php?bo_table=31&wr_id=42..

Django 2022.05.18

[django/ubuntu] letsencrypt nginx에 인증서 적용하기

django와 react를 연결할때 자꾸 cors에러가 발생하였다. cors관련 에러는 이전 글에도 존재하지만 setting 쪽에서 해줄 수 있는 조치는 다 해주었고 결국 발생하는 이유가 SSL인증서 때문인거 같아서 SSL 인증서 발급하여 nginx에 실어주려고 한다. SSL 인증서란? Secure Socket Layer -보안 인증서 SSL은 전송계층과 응용계층 사이에서 동작한다. letsencrypt SSL을 발급하는 기관으로 최상위 발급기관 중 하나 점유율이 매우 낮지만, 발급 절차가 간단하고 무료라 해보려고 한다. 설치하기 전에 패키지들을 update, upgrade 시켜준다. sudo apt-get update sudo apt-get upgrade 서버에 Certbot 설치 sudo apt in..

Django 2022.05.09

[django/ubuntu]ubuntu에서 mysqlclient 설치 에러(패키지 설치 하나면 해결)/ERROR: No matching distribution found for Mysqlclient

git remote에서 pull받아 온 후 model 변경 사항이 있어 migrate를 하려고하니 자꾸 error 발생 migarte파일이 꼬여서 인거 같아 DB를 날리고 다시 하려고하니 다시 파이썬 버전 문제 발생ㅜ 그래서 미니콘다 가상 환경 새로 구축한 후 pip install requirements.py 하니 아래와 같은 에러가 발생하였다. 핵심은 밑에 문구이다. ERROR: No matching distribution found for Mysqlclient (landingconda) jisulee@ccom1386:/mnt/c/Users/ccom1386/landingProject/Server$ pip install mysql-python Collecting mysql-python Downloadin..

Django 2022.04.29

[docker]신입 개발자의 Docker 도전 1(WSL, Docker 설치)

도커를 공부해보기 위해서 생활코딩에 올라와있는 도커강의를 보니 갑자기 우분투 어쩌구 우리는 우분투 기반으로 이런 말이 나와서 뭐지 싶었다. 나는 아직 우분투를 설치한 적이 없는데? 우분투 설치를 알아보니 또 데스크탑 버전 서버 버전 이렇게 두개가 있던데 이건 또 뭐야;; 나는 서버 구축하려고 하니까 서버 버전 깔아야하나? 개인용이니까 데스크탑? 고민하다가 동기한테 물어봤다 :) 도커를 써본 동기한테 물어보니 일단은 한번 체험해 보려는 용도라 로컬에서 할 수 있는 도커를 써보라고 하여 회사에서 주신 AWS 인스턴스가 아니라 로컬에서 테스트 해보려 한다. 1. Microsoft Store에서 ubuntu와 Window Terminal 다운로드 지금 현재 윈도우를 사용하고 있어서 Microsoft store에..

Docker&Ubuntu 2022.04.27

[django] ORM Query Set 구조와 원리 그리고 최적화 전략

아래의 강의를 듣다가 요약정리 해봤다. https://www.youtube.com/watch?v=EZgLfDrUlrk 1. QuerySet을 통해 알아보는 ORM 특징 - Lazy Loading 지연로딩 : 정말 필요한 시점에 SQL을 호출한다. #예시 views.py #User를 선언하는 시점에는 퀴리셋에 지나지 않고 실제로 SQL호출을 하지 않는다. query_set = User.objects.all() #list()로 쿼리셋을 호출하였을때 실제 SQL이 실행된다. user_list = list(query_set) - 지연 로딩의 단점 불필요하게 SQL이 두번 호출된다. query = User.objects.all() User = query[0]#한명의 데이터를 가져오기 위해서 실행될 SQL문에 li..

Django 2022.04.27

[Redis/Cloud] Redis는 무엇이고, 왜 사용 할까?

회사에서 미니프로젝트를 진행하던 중 session 저장 문제 로 인해 신입 백앤드 개발자끼리 옹기종기 모여 고군분투하는 모습을 여러 개발자 분들께서 보셨다. 그때 해주신 조언중에 JWT랑 Redis, 현재 회사에서는 Redis를 사용하고 있고 지금 미리 사용해보는것도 나쁘지 않다고 조언해 주셨다. 그래서 공부해본 Redis Redis란? 시스템 메모리를 사용하는 키-값 데이터 스토어 다양한 인 메모리 데이터 구조 집합을 제공하므로 다양한 사용자 정의 애플리케이션을 손쉽게 생성 현재 가장 인기 있는 키-값 스토어로서, 다양한 개발언어를 지원 대부분의 백엔드 프레임워크를 지원하고, 모듈을 사용해 적절한 형태로 구현할 수 있어 개발 난이도 낮음 인 메모리 데이터 구조 일반적으로 mysql, oracle 등의 ..

Server 2022.04.26

[Linux/Ubuntu]리눅스, 우분투란?

리눅스에 대해 알기 위해서 사전에 알아야할것이 두가지가 있다. OS(운영체제)와 kernel(커널) 운영체제란? OS : Operationg System 사용자가 컴퓨터 시스템을 효율적이게 프로그램을 실행할 수 있는 편리한 환경을 제공해주는 소프트웨어다. 하드웨어와 소프트웨어를 하나로 묶어주고 관리하는 핵심 소프트웨어(중개자 역할), 실행관리자라고 할 수 있다. 수많은 애플리케이션들이 잘 동작할 수 있도록 자원(리소스)를 할당하고 관리한다. 외부의 접근도 방어해주는 역할도 한다. 등등 여러가지 기능이 있다. 커널이란? 컴퓨터 운영 체제의 핵심이 되는 컴퓨터 프로그램의 하나이다. 시스템의 모든 것을 완전히 통제하고, 보안, 자원관리, 추상화 같은 역할을한다. 운영체제의 다른 부분 및 응용 프로그램 수행에 ..

Docker&Ubuntu 2022.04.26

[django] session 사용법

django의 session django는 session기능을 지원한다. 서버에서 데이터를 저장하고 쿠키의 송수신을 한다. 자세히 설명하자면 데이터는 서버에 저장해 놓고 세션 아이디를 쿠키에 저장한다. 완벽하다고는하는데,,나한테는 완벽하게 적용되지 않는다,ㅜ 해결하려고 정리하는 글을 작성해 본다. session 활성화 django의 session은 미들웨어를 통해 구현된다. 그래서 활성화 하기 위해서는 settings.py에 MIDDLEWARE에 아래의 문구가 있어야한다. 기본적으로 존재하는 문구이다. #settings.py MIDDLEWARE = [ #..생략 'django.middleware.common.CommonMiddleware', #.. ] 데이터베이스 지원 세션 데이터베이스 지원 세션을 사용..

Django 2022.04.25

[django]1대 다 join prefetch_related사용법(ORM방식)

다른 블로그들 잘 정리해 놓은 블로그들이 많았다. 하지만 prefetch_related('') 괄호안에 외래키값를 넣어도 안되고 join할 모델명을 넣어도 join되지 않았다. 이것 저것 조사해본 결과 알게 된것을 나같은 장고 초보자 들도 알 수있게 써보려고 한다. 일단 join할 모델에 대한 설명 class Medicine(models.Model) : med_uid = models.AutoField(primary_key=True) user_uid = models.ForeignKey(USER.User,on_delete=models.SET_NULL,db_column='user_uid',null=True) med_name = models.CharField(max_length=20) med_type = mod..

Django 2022.04.20
반응형