본문 바로가기

web

(198)
EFK docker + django logger 커스텀 EFK의 설치는 아래의 포스팅을 참조했습니다. https://lng1982.tistory.com/281 EFK Stack 구축 using Docker compose Elasticsearch + Fluentd + Kibana 조합을 EFK Stack이라 부른다. 참고로 Elasticsearch + logstash + Kibana 조합은 ELK Stack 이다. Fluentd : 오픈소스 log collector Elasticsearch : Lucene 기반 분산 검색.. lng1982.tistory.com 위의 포스팅을 잘 따라 했다면 kibana에서 로그를 볼수 있는 화면이 나온다. 그러면 실제 django의 logger를 전송해보자. 1. django-fluentd 패키지 설치 $ pip install..
django models.OneToOneField는 변경할때 생성이 됩니다. 다른 프레임워크를 하다가 다시 django를 하다가 당혹스러운 경험입니다. django의 models.OneToOneField는 데이터가 default시 (데이터 변경이 없다면) 해당 row가 생성되지 않습니다. 위와 같은 관계를 가질때 보통 user를 생성하면 user_profile도 디폴트로 생성됩니다. (보통의 orm에선 말이죠..) 하지만 django에서는 디폴트로 생성되지 않습니다!!!!!! 생성시 profile의 데이터를 변경하면 그때 생성됩니다. 만일 디폴트로 생성후 profile이 없는 상태에서 profile에 참조하게 된다면?? 에러가 터지죠. (저와 같이 말이죠.. 머리도 터집니다.) 넵 방법은 있습니다. @receiver(post_save, sender=User) def create_..
django에서 swagger로 한다면 drf_yasg 는 왠만하면.... 장담한다. 기본 기능 이외의 기능을 찾는다면 웬만하면 쓰지 말자. 그냥 그 시간에 만드는게 더 빠르다. 정말이다. swagger에서 지원하는 기능을 이제야 만들고 있으므로 큰 기대 말고, 기본 기능외는 찾지 말고 그냥 하나 만들어서 쓰는 게 당신에게 이익이다.
django REST_FRAMEWORK login REST_FRAMEWORK에서 오른쪽 상단의 로그인을 통해 로그인을 해도 세션이 유지가 안되고, 유저 객체가 AnonymousUser만 뜬다면 setting 의 REST_FRAMEWORK 속성에 auth관련 속성을 추가해 주면 된다.REST_FRAMEWORK = { ....... 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework.authentication.TokenAuthentication', 'rest_framework.authentication.SessionAuthentication' )}
nginx + uwsgi 연동 uwsgi 연동 에서 이어짐 nginx 설치 $ sudo apt-get install nginx nginx에 프로젝트 설정 파일 추가 $ cd /etc/nginx/sites-available/$ sudo vi django_project.confserver { listen 80; # 수신 포트 설정 server_name _; # 도메인 설정 ip로 할경우 언더바 _ 로 하면 됨 location / { # 요청을 전달할 소켓 파일 지정 (해당 파일은 uwsgi.ini에서 socket로 지정했음) uwsgi_pass unix:///tmp/django_project.sock; include uwsgi_params; # uwsgi 사용, 리눅스에서 소켓은 파일처럼 취급된다. }} /etc/nginx/sites-e..
uwsgi -- unavailable modifier requested: 0 -- nginx + uwsgi 로 진행시 -- unavailable modifier requested: 0 ---- unavailable modifier requested: 0 ---- unavailable modifier requested: 0 -- 와 같이 접근이 안된다면 python3의 패키지나 옵션을 추가해 주시면 됩니다. 1. uwsgi-plugin-python3 를 설치하고 다시 시작$ sudo apt-get install uwsgi-plugin-python3 2. uwsgi 실행시 --plugin python3 옵션을 추가해서 시작$ sudo uwsgi -i uwsgi.ini --plugin python3
ubuntu uwsgi 가상환경 추가$ virtualenv -p python3 venv django 설치 및 프로젝트 생성$ sudo apt-get install build-essential python-dev$ pip3 install uwsgi$ pip3 install django $ cd ~$ django-admin.py startproject django_project uwsgi 실행 확인 (에러시 포트 바인딩 확인)$ cd django_project$ uwsgi --http :8089 --module django_project.wsgi ini 파일로 uwsgi 실행 $ cd ..$ vi uwsgi.ini( base 의 경로 확인 필요 )[uwsgi] base = /home/ubuntuproject = django_pro..
javascript 의 모듈 제공 방법 1. script 는 기본적으로 window 객체 안에서 돌아간다.2. 로드된 스크립트들은 window객체 안에 있고, 모듈간의 의존성 문제, 변수 및 함수의 침범이 일어났다.3. 이를 방지하기 위해 commonJS / AMD(Asynchronous Module Definition) 가 생겨났고, es6 또한 제공하기 시작 AMD require([""], function(module) {}) CommonJS var module = require("") ES6 import { module } from ""; 4. 서로 지원하는게 달라서 춘추전국시대가 열림5. 이 모든것을 통합 해주는 babel 등장 ( js 하위버전으로 변환까지 해줌 ) 으로 결국 모두 바벨 사용해야함. - 읽어보기https://blog...