backend 269

리눅스 명령어: 리눅스 쉘 (.sh) 실행방법

처음에 smartgit을 까는데 .sh 확장자가 나오길래, 뭐지 싶었는데 찾아보니 shell script 확장자였다. 실행하는 방법은 파일 권한을 변경 후 실행하면 된다...고 한다. 우선 파일 권한은 chmod 명령어를 사용하여 변경해준다.744 등을 주어도 되지만, 간단하게 $chmod +x filename.sh # 쓰기 권한 추가하기 로 실행이 된다. $sh filename.sh $./filename.sh 로도 실행이 된다. 추가적인 명령어는 나중에 추가하도록 하겠다.

backend/ubuntu 2017.03.16

PEP8 체크하기

파이썬, 장고를 공부하면서 PEP8에 대한 중요성을 항상 듣기는 했지만, 제대로 체크를 하려고 하지 않았다. 일일히 체크하기도 번거롭고, 뭐가 틀렸는지도 몰랐기 때문이다. 다음은 PEP8 전문 페이지이다. (https://www.python.org/dev/peps/pep-0008/) 그러던 중 pep8 패키지가 있다는 것을 알았다. pep8 명령어를 실행하면 바로 체크를 해서 뭐가 틀렸는지 알려주는 아주 좋은(무서운) 패키지이다! 설치와 실행은 아주 간단하다. $pip install pep8 로 간단하게 설치를 하고, 해당 디렉토리에서 $pep8 . 을 실행하면 pep8에 벗어나는 내용들이 줄줄히...(아주 많이..) 나오게 된다. 내 경우에는 장고 프로젝트의 세팅만 설정했는데도 30개 가까이 나왔다. ..

backend/python 2017.03.15

django debug toolbar의 typeError

django-debug-toolbar 깃허브 주소: https://github.com/jazzband/django-debug-toolbar 공식 문서: https://django-debug-toolbar.readthedocs.io/en/stable/ *설치1. pip를 활용하여 설치하기 $pip install django debug toolbar 2. settings.py에 INSTALLED_APPS에 debug_toolbar 삽입 *문제 발생debug_toolbar를 추가시키고 서버를 돌리면,TypeError: '_TokenType' object is not callable 에러가 뜬다.단순 라이브러리 추가의 문제인지, toolbar의 문제인지 알아봐야할듯...

backend/django 2017.03.14

터미널이 꺼졌을 경우 장고 테스트 서버 끄는 법

장고에서 runserver 명령어로 테스트 서버를 돌리는 중, ctrl+c 종료 명령을 입력하지 않고 터미널을 꺼버렸다.이후 새로운 터미널을 켜보니 서버는 돌아가는 중인데, 어떻게 꺼야 할 지 몰라 검색해보았다.검색 결과, 돌아가는 서버를 조회하여 강제 종료하는 방법을 찾았다. $ps auxw | grep runserver # 현재 돌아가는 서버 조회seul 15856 0.0 0.4 181712 34700 pts/19 S+ 16:41 0:00 python manage.py runserverseul 17417 1.1 0.5 694608 40684 pts/19 Sl+ 16:53 0:08 /home/seul/.pyenv/versions/djangostudy/bin/python manage.py runserve..

backend/django 2017.03.13

wget 명령어 사용법

wget 사용법 1. Introduction 가끔씩 이 홈페이지는 자주 참고하는데 이를 내 컴퓨터에 옮겨놓고 싶다고 생각되는 경우가 있나? 이때 사용 할 수 있는 것이 바로 지금 소개하는 'wget'이다. 하는 일은 MS 윈도우즈의 'Teleport Pro'라는 것과 비슷하다. 이 wget은 한텀상에서 커맨드라인으로 사용하는 것이다. 이 프로그램은 http://www.gun.org/software/wget/wget.html 에서 구할수 있다. 2. 설치(일반적으로 리눅스에는 거의 기본으로 깔려 있음) 먼저 압축된 파일 wget-5.3.1.tar.gz를 적당한 디렉토리에 복사해 넣고, 그후 #tar xvzf wget-5.3.1.tar.gz 명령하면 그 디렉토리에 'wget-5.3.1'이라는 디렉토리가 생긴..

backend/ubuntu 2017.03.12

5장 실습 예제 확장

5장 실습 예제 확장 1. book 애플리케이션 만들기 (CBV)1)뼈대 만들기: startapp books2)애플리케이션 설계index.html (Book, Author, Publisher)-> book_list.html (책 리스트)-> book_detail.html (책의 디테일 페이지)테이블-book tableid: integer, Primary keytitle: varchar(100)authors: integer, Many-To-Manypublisher: integer, Foreign Keypublication_date: date, 출판일-Author tablesaluation: varchar, 저자 인사말name: varchar, 저자 성명email: email, 저자 이메일-Publisher..

backend/django 2017.03.10

4장 장고핵심기능: admin, shell, template system, form, CBV, LOG

1. admin-필드 분리: fieldsets = [] -필드 접기: fieldset = ('Date Information', {'fields':['pub_date'], 'classes':['collapse']}) -ForeignKey: Question 화면에서 Choice 보기 => Inline 클래스 추가class ChoiceInline(admin.StackedInline):# 줄로 나타내고싶으면 TabularInlinemodel=Choiceextra = 2 #기존 데이타 이외의 엑스트라 공백 칸 수=> QuestionAdmin 클래스에 inlines 변수 추가...inlines = [ChoiceInline]... -list에 보여주는 컬럼 지정list_display = (), # 튜플 형식 (뒤에 ..

backend/django 2017.03.09

3장, 장고 웹 프레임워크: MTV(Moedl, Template, View)

3장 장고프레임워크 *장고의 애플리케이션 개발 방식-MTV 패턴클라이언트의 요청을 받으면 URLconf 이용하여 URL 분석=> URL 분석 결과를 바탕으로 뷰 결정=> 로직 실행 후 DB 처리가 필요하면 모델을 통해 처리, 결과 반환=> 템플릿 사용하여 전송할 HTML 파일 생성=> 최종 결과로 HTML 파일 응답 *Model: DB 설계장고는 ORM 방식을 사용하여 DB에 쉽게 엑세스 가능하나의 모델 클라스 => 테이블 (appname_classname과 가타이 테이블 생성)모델 클라스의 속성 => 컬럼 *템플릿-.html 확장자, 장고의 템플릿 시스템 문법에 맞춰 장성-적절한 디렉토리에 위치 필요=> TEMPLATE_DIRS 및 INSTALLED_APPS에서 지정한 디렉토리 검색 (settings...

backend/django 2017.03.08

기본편 1장 웹프로그램의 이해, 2장 파이썬 웹 표준 라이브러리

1장 웹프로그램의 이해, 2장 파이썬웹 표준 라이브러리 2장.파이썬 웹 표준 라이브러리* 웹 라이브러리 구성-웹 서버 프로그래밍 + 웹 클라이언트 라이브러리 웹 클라이언트 라이브러리-urlparse 모듈from urllib.parse import urlparseresult = urlparse('http://www.python.org:80/guido/python.html;philosophy?overall=3#n10')ParseResult(scheme='http', netloc='www.python.org:80', path='/guido/python.html', params='philosophy', query='overall=3', fragment='n10') -urllib2 모듈 => 파이썬에서는 urll..

backend/django 2017.03.08

실전편- Blog 앱 만들기

1. 애플리케이션 설계 1) UI 설계post_all.html: 본문 제목(-> post_detail.html), Post.title, Post.modify_date, Post.description, 페이지 이동post_detail.html: Post.title, 포스트 이동,(?), Post.modify_data, Post.content 2) 테이블 설계id: integer/ PK, Auto Icrement, 기본 키title: CharField(50) => 포스트 제목slug: SlugField, Unique => 포스트 제목 별칭(??)description: CharField(100), Blank => 포스트 내용 한줄설명content: TextField => 포스트 내용create_data: Da..

backend/django 2017.03.06