728x90

Programming 281

Pythonweb/Django - 설문조사 서비스 만들기 / 1

- 이번 포스팅은 Pythonweb/Django를 이용하여 설문조사 서비스를 만들어 볼 것이다. - 프로젝트 만들기 - 장고를 설치한다. - 장고 프로젝트를 만들어준다. - 웹 서버 시작하기 - 기본 포트번호는 8000 포트이고, 포트를 변경하고 싶다면 포트 번호를 인수로 전달한다. python manage.py 0:8000으로도 접속이 가능한데 0은 0.0.0.0의 약어이고, 이 형태로 동작 시킬 때는 settings.py에 있는 ALLOWED_HOSTS를 설정해야 한다. - 설문조사 앱 만들기 - polls 앱을 생성한다. - 첫번째 뷰 만들기 - views.py에 뷰를 만든다. 뷰를 만들었으면 뷰를 호출하기 위한 URL이 있어야 한다 . URL 연결을 위해 polls 폴더에 urls.py 파일을 만..

Programming/Django 2022.04.10

Pythonweb/Django - 디자인 패턴과 MTV, MVC

- 이번 포스팅은 디자인 패턴과 MTV에 대해 알아볼 것이다. - 객체 지향 프로그래밍 설계를 할 때 자주 발생하는 문제들을 피하기 위해 사용되는 패턴이다. 협업해서 개발할 때 다른 사람이 작성한 코드, 기존에 존재하는 코드를 이해하는 것은 어렵다. 디자인 패턴은 의사소통 수단의 일종으로서 이런 문제를 해결해준다. 장고에서이는 이를 MTV라고 부른다. - MVC와 MTV - 웹 프로그래밍에서 자주 사용되는 디자인 패턴은 MVC이다. Model-View-Controller의 약어다. - Model : DB의 구조를 결정한다. 대부분의 경우 테이블을 작성할 때 사용하는데 테이블의 이름, 각 열의 이름과 타입 등을 설계할 때 사용한다. - View : 사용자에게 보여지는 UI 부분이다. HTML 코드 등 실질..

Programming/Django 2022.04.10

Linux - NFS + (Windows 환경에서도 사용)

- 이번 포스팅은 NFS에 대해 알아볼 것이다. NFS는 (Network File System)의 약자로 네트워크에 파일을 저장하는 방식이다. 즉 원격 컴퓨터에 있는 파일 및 디렉토리에 엑세스하고 해당 파일 디렉토리가 로컬에 있는 것처럼 사용하는 분산 파일 시스템이다. 또 서로 다른 운영체제끼리 파일 디렉토리 공유도 가능하다. - NFS SERVER (linux) - NFS를 사용하기 위해 nfs-utils 패키지를 설치해준다. - /etc/exports NFS를 사용하기 위해 패키지를 nfs-utils 파일을 설치하였고 해당 네트워크 파일 시스템의 설정은 /etc/exports 파일에 작성해준다. * NFS 주요 옵션 1. rw : 읽기/쓰기 2. root_squash : Client에서 접속 시 익명..

Programming/Linux 2022.04.08

Linux - MAIL

- 이번 포스팅은 MAIL을 리눅스에서 설정하여 windows 환경에서 mail 프로그램을 설치하여 사용해보는 작업을 해 볼 것이다. Mail (전자 우편) 1. 보내는 메일 Server - SMTP : TCP 25 2. 받는 메일 Server - POP : TCP 110 - 메일을 읽으면 Client쪽으로 다운로드 된다. - 전용 단말이 없는 경우에 사용하면 여러군데로 흩어진 메일을 모아야 하는 단점이 발생한다. - IMAP : TCP 143 - 메일을 읽어도 서버에 남는다. - 메일 사서함 용량 관리가 필요하다. - Dovecot - mail을 사용하기 위한 패키지를 설치한다. - /var/named/baikis.xyz 파일에서 mail 도메인을 사용하기 위해 mail.baikis.xyz 도메인을 생..

Programming/Linux 2022.04.08

Linux - DNS (windows - 설정 확인)

- 이번 포스팅은 저번에 이어서 DNS 작업을 리눅스에서 해 볼 것이다. 설정 확인 windows 환경에서 해 볼 것이다. - yum install -y bind bind-utils bind-libs DNS를 리눅스에서 사용하기 위해선 bind 패키지를 설치해야 한다. - 패키지 설치 확인 - /etc/named.conf named 데몬의 설정 파일이다. DNS 서버를 구축에 필요한 파일이다. 이 파일에는 도메인 설정을 위한 내용들이 있다. - 13 : DNS port 53에 어떤 IP를 접근 가능하게 할 것인지 설정하는 파일이다. any일 경우 불특정 다수의 접근이 가능하게 설정하는 것이다. 21 : 재귀 질의가 올 때 어떤 IP로 응답을 받을 것인가에 대한 설정이다. - /etc/named.rfc19..

Programming/Linux 2022.04.07

Linux - HTTP

- 이번 포스팅은 리눅스에서 HTTP 설정에 대해 알아 볼 것이다. 리눅스에서 웹 서버 설정을 하여 웹 페이지를 만드는 작업을 해볼 것이다. 4. HTTP yum install -y httpd - http 패키지를 설치한다. rpm -qa httpd - http 패키지가 제대로 설치 되었는지 확인한다. /etc/httpd/conf/httpd.conf - http 관련 설정 파일이다. 편집기를 이용해 설정 파일 내용을 확인한다. - 31 : 아파치 서버의 루트 디렉토리를 의미한다. httpd가 참조된 파일을 찾는 위치를 지정하는 곳이다. 즉 아파치를 실행하게 되면 /etc/httpd 디렉토리에서 참조를 하게된다. - 42 : 기본적으로 웹 서버는 포트번호 80(http), 443(https)를 제공한다. ..

Programming/Linux 2022.04.07

Pythonweb/Django - 장고 기본 명령어

- 장고 기본 명령들 - django-admin startproject : 장고 프로젝트를 만드는 명령, 웹 서비스를 만들 때마다 한번 실행한다. 이후 명령들은 django-admin을 이용해 실행 할 수 있지만 보통 python manage.py를 통해 실행한다. - startapp : 프로젝트에 기능 단위인 앱을 새로 만들 때 사용한다. - makemigrations : 어플리케이션에 변경 사항을 추적해 DB에 적용할 내용을 정리한다. 보통 앱 안에 있는 모델(model)의 변경 사항이 있을 때 주로 사용한다. - sqlmigrate : 실행할 SQL 명령문을 출력한다. 어떤 명령문을 실행할지 확인할 때 사용하며, 튜닝이 안 된 쿼리나 슬로우(slow) 쿼리 여부를 확인할 수 있다. - migrate..

Programming/Django 2022.04.05

PythonWeb/Django - 프로젝트 생성

- 프로젝트를 생성한다. - 터미널에 명령어를 입력하여 장고를 설치한다. - '현재 폴더에 파일들을 만들겠다'라는 의미다. 장고 프로젝트를 만들면 config 폴더가 생기고 manage.py라는 파일이 만들어 진다. - 장고로 프로젝트를 생성했기 때문에 당장이라도 웹 사이트를 사용할 수 있는 상태다. 하지만 DB를 생성해야 한다. 위의 명령어를 입력해 DB를 초기화 하면서 DB 파일을 생성한다. 명령어를 입력하게 되면 다음과 같이 db.sqlite3가 생성된 것을 알 수 있다. - config 폴더 : 프로젝트 설정 파일과 웹 서비스 실행을 위한 파일이 들어 있다. - __init__.py : 파이썬 2.x대 버전과의 호환을 위해 만들어진 비어있는 파일이다. 3.x대에서는 불필요하지만 계속 생성된다. 없..

Programming/Django 2022.04.04
728x90