본문 바로가기

웹 프로그래밍

(20)
Let's Encrypt를 사용하여 Nginx에 SSL 적용하고 Django 실행 Ubuntu 에서 Let's Encrypt를 사용하여 Nginx에 SSL 적용하고 Django 실행 김피노님 블로그 : Ubuntu 18.04에서 Let's Encrypt를 사용하여 Nginx에 SSL을 적용하는 방법 를 참고하여 글을 작성했습니다. Let's Encrypt 무료 SSL/TLS 인증서를 얻고 설치할 수 있는 인증 기관. 웹 서버에서 암호화 된 HTTPS를 사용할 수 있게 해줍니다. Cerbot 이라는 자동화 클라이언트를 제공하여 Nginx에서 인증서를 획득하고 설치하는 전체 프로세스가 자동화 되어 있습니다. 환경 서버 : Ubuntu WAS : Nginx Front : Vue.js (https://daily-life-of-bsh.tistory.com/224) Back..
AWS EC2 / Ubuntu / Nginx 에서 Django 배포하기 AWS EC2, Ubuntu, Nginx 환경에서 Django 배포 제가 AWS에 처음 Django 를 배포하면서 얻은 경험을 정리하겠습니다. 저는 진행했던 프로젝트에서 Front는 Vue.js / Back은 Django를 썼습니다. https://daily-life-of-bsh.tistory.com/223 에 가시면 동일한 환경에서 Vue.js를 배포하는 법을 정리해놨습니다. 1. 키 접속 $ ssh -i /path/my-key-pair.pem ubungu@my-instance-public-dns-name 2. 접속 후에 기존 패키지 업데이트 $ sudo apt-get update 3. Python 관련 패키지 설치 $ sudo apt-get install python3-dev python3-venv ..
AWS EC2/Ubuntu/Nginx 에서 Vue.js 배포하기 AWS EC2 Amazon에서 서비스하는 가상 서버 하드웨어에 대한 투자없이 가상 개발환경을 통해 신속하게 개발하고 배포 화장이 용이한 컴퓨팅 용량 제공 Nginx 트래픽이 많은 웹 사이트를 위해 확장성을 고려하여 설계한 비동기 이벤트 기반 구조의 웹서버 소프트웨어 Apache Tomcat과 같은 WAS 역할 Event-Driven 방식. 적은 수의 쓰레드로 여러 요청 처리 대용량 요청 처리 유리 모듈 수가 적음 동적 컨텐츠 처리 X 배포 환경 Server : Ubungu Front : Vue.js WAS : NginX 1. 키 접속 ssh -i /path/my-key-pair.pem ubungu@my-instance-public-dns-name 2. Nginx 설치 apt-get update : 설치된..
Django - SQL SQL과 django ORM 참고문서 Making queries | Django documentation | Django QuerySet API reference | Django documentation | Django Aggregation | Django documentation | Django 기본 준비 사항 Gitlab에서 프로젝트를 다운받으면 아래의 내용이 이미 반영되어 있습니다. django app django_extensions 설치 users app 생성 csv 파일에 맞춰 models.py 작성 및 migrate $ python manage.py sqlmigrate users 0001 db.sqlite3 활용 및 데이터 반영 sqlite3 실행 $ ls db.sqlite3 manage.py..
Django - CRUD Django CRUD 프로젝트 및 app 설정 1. 프로젝트 생성 2. 프로젝트 설정(settings.py) # django_crud/settings.py 3. app 생성(articles) app 이름은 일반적으로 복수형으로 구성된다. app 등록 urls.py 생성 Model 활용 1. model 정의 # django_crud/articles/models.py class Article(models.Model): title = models.CharField(max_length=140) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_no..
Django 기초 django 파이썬 웹 프레임워크 MTV 패턴 기초 내용 설치 $ pip install django==2.1.15 수업에서는 2.1.15 를 기준으로 진행 예정입니다. django 프로젝트 시작 프로젝트 생성 $ django-admin startproject {프로젝트명}서버실행 django_intro 폴더의 settings.py 파일에 아래와 같이 수정한다. # 28번째 라인 ALLOWED_HOSTS = ['*'] 반드시 서버 실행시 명령어가 실행되는 디렉토리를 확인할 것. ~/ $ cd django_intro/ ~/django_intro/ $ python manage.py runserver 8080 실행된 서버는 우측의 영역의 url을 클릭한다. ![Screen Shot 2020-03-..
Vue.js 컴포넌트 간 Event Bus를 이용한 데이터 통신 이번 글은 ( https://jsdev.kr/t/vue-js-event-bus/2926 ) 을 참고해서 작성했습니다. Vue.js 에서 컴포넌트간 데이터를 전송하기 위한 $on, $emit 이라는 이벤트 인터페이스가 있습니다. router.push 를 통해서 데이터를 보내는 방법도 있지만, 라우터를 거치지 않고 컴포넌트 간 데이터 통신을 하는 방법을 알아보겠습니다. 다음과 같은 프로젝트 구조가 있고 A.vue 와 B.vue 간의 통신이 필요하다고 가정합니다. 1. main.js Vue.prototype.$EventBus = new Vue(); new Vue({ el: '#app', router, template: '', components: { App }, }); 2. A.vue // A.vue butt..
Vue + Spring Infinite Loading (Scroll) 구현 Vue 와 Spring을 사용하여 무한 로딩(스크롤) (Infinite Loading, Scroll) 을 구현해보겠습니다. 아래 사이트에서 자세한 코드들과 예시를 확인할 수 있습니다. https://peachscript.github.io/vue-infinite-loading/guide/#installation Guide | Vue-infinite-loading Guide Installation NPM If you are building a large application, we recommend you use the following method: Direct Include After you import this plugin through the script tag, it will register the..