Season 1 아카이브
[django] Use generic views: Less code is better
2015. 7. 18.제너릭 뷰 시스템을 사용할 수 있도록 poll 앱을 수정해보자. 그러면 상당량의 코드를 지울 수 있다. 1. URLconf 변환2. 오래되고 불필요한 뷰 삭제3. 장고의 제네릭 뷰에 입각한 새로운 뷰 도입 Amend URLconf /root/mysite/polls/urls.pyfrom django.conf.urls import url from . import views urlpatterns = [ url(r'^$', views.IndexView.as_view(), name='index'), url(r'^(?P[0-9]+)/$', views.DetailView.as_view(), name = 'detail' ), url(r'^(?P[0-9]+)/results/$$', views.ResultsView.as_..
[django] Write a simple form
2015. 7. 18.HTML 을 포함할 수 있도록 설문 상세 템플릿을 수정해보자. /root/mysite/polls/templates/polls/detail.html{{ question.question_text }} {% if error_message %}{{error_message}}{% endif %} {% csrf_token %}{% for choice in question.choice_set.all %} {{choice.choice_text}} {% endfor %} - 위의 템플릿에서는 각각의 답변에 대해 라디오 버튼을 적용했다. 각각의 라디오 버튼은 설문 보기 ID와 연관되어 있다. 각각의 라디오 버튼의 이름은 "choice"로, 이것은 어떤 사람이 라디오 버튼 중 하나를 선택했고, 그 폼을 전송한다, 그러면 c..
[django] Namespacing URL names
2015. 7. 18.Namespacing URL names 현재 예제에서는 하나의 앱만 다루고 있지만, 실제 프로젝트에서 앱의 수는 20개 그 이상일 수도 있다. 그러면 장고는 그러한 URL 네임들을 어떻게 차별화시키는 것일까?예를 들어, poll 앱의 경우 상세 뷰를 가지고 있고, 동일한 프로젝트에 블로그를 위한 앱을 가지고 있다고 하자. {% url %} 템플릿 태그를 사용할 때 어떤 앱의 뷰를 생성해야하는지 알 수 있을까? 그 해답은 현재의 root URLconf 에 네임스페이스를 추가하는 것이다. mysite/urls.py 에 네임스페이스를 포함하도록 변경해보자. /root/mysite/mysite/urls.py from django.conf.urls import include, urlfrom django.contr..
[django] Use the template system
2015. 7. 18.detail() 뷰로 다시 돌아가보자. polls/templates/polls/detail.html{{ question.question_text }}{% for choice in question.choice_set.all %} {{ choice.choice_text }}{% endfor %} 템플릿 시스템은 변수의 속성에 접근하기 위해 dot-lookup 구문을 사용한다. 위의 예에서 장고Django 는 우선 오브젝트 질문에 대해 dictionary lookup 을 수행한다. 그리고 그것이 실패하는 경우에 attribute lookup을 수행한다. attribute lookup 이 실패하면 list-index lookup 을 수행한다. {% for %} 루프에서 메서드 호출이 일어난다. question...
[django] Raising a 404 error
2015. 7. 18.설문에 대한 상세 내용을 보여주는 페이지를 다시 한 번 봅시다. polls/views.pyfrom django.shortcuts import renderfrom django.http import HttpResponse, Http404from django.template import RequestContext, loaderfrom .models import Question def index(request): latest_question_list = Question.objects.order_by('-pub_date')[:5] context = {'latest_question_list': latest_question_list} return render(request, 'polls/index.html', con..
[django] Write views that actually do something
2015. 7. 17.각각의 뷰는 다음의 2가지 기능을 수행한다. 하나는 요청한 페이지의 컨텐츠를 담고 있는 HttpResponse 객체트를 반환하는 것이고, 다른 하나는 Http404 같은 예외를 선언하는 것이다. 뷰는 데이터베이스에서 레코드를 읽어오거나 또는 읽어오지 못한다. 장고나 또는 써드 파티 파이썬 템플릿을 사용하거나 또는 사용하지 못한다. 파이썬 라이브러리를 활용하여 PDF 파일을 생성하거나, XML 을 도출하거나, ZIP 파일을 생성하기도 한다. 장고는 HttpResponse 또는 예외를 원하는 것이다. 그러면 장고의 데이터베이스 API 를 이용하여 최근 5개의 질문을 뽑아내는 예제를 만들어보자. /root/mysite/polls/views.pyfrom django.shortcuts import renderfr..
AICPA 시험을 보기 위해 어떤 컴퓨터 스킬이 필요한가? (USCPA Examination FAQs - Software)
2015. 7. 17.다소 오래된 내용이기도 하지만, 확인 차원에서 간단히 살펴보고 가겠습니다. AICPA 시험 소프트웨어에 대한 간단한 FAQ 입니다. 컴퓨터로 시험을 본다는데 도대체 어느 정도로 컴퓨터를 다룰 줄 알아야 하나 궁금하셨던 분들 한 번 읽어보세요. 1. AICPA 시험을 보기 위해서는 어떤 컴퓨터 스킬이 필요한가요?일단은 기본적인 스킬만 있으면 가능하다는 안도의 말씀 드립니다. 다소 웃길 수도 있는 이야기이지만 마우스, 키보드 그리고 기본적인 스프레드시트 및 워드 프로세스 기능에 익숙한 정도면 된다는 이야기입니다. 그리고 PC용 계산기도 물론 다룰 줄 알아야 하구요 (이런 걸 모르는 분들은 없으실테니....) 2. 실제 문제풀이를 하기 위해 필요한 특정 스킬 몇 가지만 예를 들어주세요.간단히 예를 들어보자면,..
장고 URLS 에서 달러($)와 캐럿(^)이 의미하는 것은?
2015. 7. 17.장고 URLS 에서 달러($)와 캐럿(^)이 의미하는 것은? $ 와 ^ 은 특별한 의미를 지닌 정규표현식이다. ^ 은 문자열의 시작과 ^ 다음과 같아야 한다는 뜻이며, $ 는 해당 문자열의 마지막과 일치하는 패턴을 의미한다. 예를 들어, 다음의 URL 패턴을 살펴보자. urlpatterns = patterns('', url(r'^hello/$', hello),) 만약 위의 예에서 $ 사인이 없다면 아래의 어떤 URL 과도 매칭이 되는 것이다. hello/satishhello/gandham/hello/satish/123/pqr 만약 루트 경로로 매칭하고 싶으면 url(r'^$', my_homepage_view) 와 같은 식으로 표현하면 된다.
[django] Writing more views
2015. 7. 17.아래와 같이 뷰를 추가해보자.기존의 것과 다른 점은 인수를 가진다는 점이다. mysite/polls/views.pyfrom django.shortcuts import renderfrom django.http import HttpResponse def index(request): return HttpResponse("Hello, world. You're at the polls index.") def detail(request, question_id): return HttpResponse("You're looking at the question %s." % question_id) def results(request, question_id): response = "You're looking at the res..
일러스트에서 파일 저장 안될 때 (AppHangXProcB1 조치방법)
2015. 7. 17.AppHangXProcB1 issue 일러스트레이터에서 새로운 파일을 만든 후 저장시 응답없는 경우 다음과 같이 조치하면 저장할 수 있다. CTRL + ALT + DEL 작업관리자 실행→ 서비스 탭으로 이동 → Spooler 상태 중지 문제는 이 경우 프린터를 이용할 수 없다는 점이다. 스풀러를 다시 실행시켜야 프린터를 할 수 있다는 것. 결론적으로 미봉책이라고 밖에 말할 수 없다.다른 방법이 없을까?
NASBA 시스템 정비안내 (7/16~7/17) - 해당 기간 AICPA 시험 응시 불가
2015. 7. 16.7/16~7/17 NASBA 시스템 정비로 CPA Central 사이트 서비스 중지됩니다. 시스템 정비를 위해 NASBA CPA Central 사이트 일시 중지됩니다. CPA Central 정비 기간은 7/16 오후 4시 30분(CDT 기준) 부터 7/17 오전 8시까지 입니다. 해당 시간 동안 CPA Central을 통해 응시 지원을 하실 수 없습니다. 하지만, NTS 재출력이나 점수 확인 등은 가능합니다.
[django] admin 계정 패스워드 리셋하는 방법
2015. 7. 16.지금까지 장고django 로 기본 사이트 구성하는 것에 대해 올려드렸습니다. 이어서 게시물을 올리려고 하는데, 갑자기 계정 정보가 생각이 나지 않습니다. 이런.... 어떻게 하면 다시 로그인할 수 있을까요?아래와 같이 실행하면 현재 슈퍼유저 계정 목록과 패스워드를 리셋하실 수 있으니 참고하시기 바랍니다. (venv)root@cloud:~/mysite# python manage.py shellPython 2.7.3 (default, Aug 1 2012, 05:14:39)[GCC 4.6.3] on linux2Type "help", "copyright", "credits" or "license" for more information.(InteractiveConsole)>>> from django.contrib..
블로그 순위확인 - 7월 3주 제 블로그 순위는 '49,941위'입니다.
2015. 7. 15.자신의 블로그 순위 궁금하셨죠?블로그 챠트에서 지금 바로 확인 가능합니다. http://www.blogchart.co.kr/ 이번 주 제 블로그 순위는 49,941위네요.다음 주도 기대해주세요~
사토 도미오, <잠의 즐거움> - 플래시 flash 수면, 단면, 잠의 특징, 수면조정 호메오스타시스
2015. 7. 15.1. 플래시 수면바쁜 직장인이 '이틀이나 잠을 못 잤다'라고 말했다면 십중팔구 거짓말이다. 긴 시간 동안 잠을 자지 않으면 '플래시 flash 수면'이라고 해서 순간적으로 잠에 빠진다. 잠의 즐거움 - 6시간 수면에 감춰진 놀라운 힘국내도서저자 : 사토 도미오 / 홍성민역출판 : 국일미디어 2006.09.11상세보기 이것은 뇌가 자기 방위를 위해 강제로 만든 수초 간의 짧은 수면으로, 대부분 본인도 깨닫지 못하는 사이에 이루어진다. 이런 강제적이라 할 시스템을 준비하면서까지 뇌는 잠을 필요로 한다. 건강을 위해서 식사에 신경쓰고 운동하는 사람이 늘고 있는데, 이와 더불어 수면 습관도 다시 한 번 확인하도록 하자. 2. 미리 잠을 자두는 것은 의미가 없다단면의 세계 기록은 1965년 미국의 고등학생 랜디 ..
사토 도미오, <잠의 즐거움> - 수면에 대한 의식개혁
2015. 7. 15.잠의 즐거움 - 6시간 수면에 감춰진 놀라운 힘국내도서저자 : 사토 도미오 / 홍성민역출판 : 국일미디어 2006.09.11상세보기 수면에 대한 의식개혁(3장까지의 내용에 대한 요점 정리) - 생활의 기본은 '잠'에 있다.- 하루의 스타트라인은 '잠', 입면할 때 '오늘'이 시작된다.- 자신만의 '입면의식'을 가져라- 취침 전의 입버릇 '잠자리 마법의 말'로 잠을 바꾸어라.- 수면시간대는 자율신경계의 골든 타임- 수면습관을 바꾸면 인생이 바뀐다. 저자가 실천하고 있는 쾌면을 부르는 호흡법을 살펴보자. 이미 흉식호흡과 복식호흡의 차이를 알고 있는 이들이 많을 것이다. 흉식호흡은 늑골을 움직이는 것으로 폐에 공기를 불어넣는 것으로, 호흡을 할 때마다 가슴이나 어깨가 들썩인다. 이에 반해 복식호흡은 폐 아래에..
AICPA, 차기 버전의 USCPA 시험에 엑셀 도입 가능성 시사
2015. 7. 14.AICPA는 차기 CPA 시험에서 고차원의 스킬을 입증할 수 있는 평가 모델 개발중에 있다고 발표했습니다. 그 동안 새로운 버전의 CPA 시험을 위해 유관 개인 및 그룹으로부터 300개 이상의 응답을 취합을 해왔습니다. 이를 정리해 차기 Uniform CPA Examination 에 대한 레포트를 발표했는데 주요 내용은 다음과 같습니다. 비판적 사고, 문제해결 능력, 분석 능력 그리고 전문가적 의구심 등 기본적인 지식 수준을 넘어서는 고차원적인 스킬에 대한 평가가 필요하다는데에 모두 인식을 같이했고, 이에 따라 AICPA는 각각의 시험 섹션에서 이런 고차원적인 스킬을 평가하기 위해 연구중에 있다고 합니다. 그리고 AICPA에서는 테스팅 윈도우에 있어 연장 효과를 줄 수 있는 방안을 검토중에 있다고 합니다..
2014년 기준 AICPA 시험 탈락자 통계
2015. 7. 13.2012년에 CPA 시험을 시작한 많은 지원자들이 2014년까지 상당수 탈락을 하였습니다. 도대체 이 기간동안 무슨 일이 있었던 것일까요? 먼저 차트 보시죠. 여기서 drop-outs 분류의 기준은 다음과 같습니다. 4과목을 전부 합격하지 못했고, 마지막 응시일로부터 18개월이 경과한 경우이며, 년도를 나누는 기준은 첫 번째 섹션을 응시한 연도 기준입니다. 2013년에 응시를 시작한 수험생의 경우를 상상해보겠습니다. 한 섹션 정도를 합격하고 나머지 과목들은 계속 시험에 떨어져서 2014년 어느날 18개월이 도래합니다. 그러고는 '이 시험은 아무래도 나랑 맞지 않아' 뭐 이런 식으로 포기를 하게되는 것이죠. 하지만 2012년에 시작했다면 이 경우는 수험생 개인에게는 좀 더 쓰라린 경험이 되겠는데요. 아마도..
[django] Write your first view
2015. 7. 13.뷰라는 것은 특정한 기능을 수행하고 특정한 템플릿을 지닌 장고 어플리케이션의 웹페이지의 한 유형이다.장고에서는 웹페이지와 기타 컨텐츠가 뷰에 의해 수행된다. 각각의 뷰는 간단한 파이썬 함수에 의해 표현된다. 현재 진행중인 투표 어플리케이션의 경우 아래의 4가지 뷰를 가진다.- 질문 '인덱스' 페이지 : 최근의 몇 가지 질문 표시- 질문 '상세' 페이지 : 질문의 내용 및 투표할 수 있는 폼 포함- 질문 '투표결과' 페이지 : 특정 질문에 대한 결과치 표시- 투표 행위 : 특정한 질문에 대해 특정한 대답을 하는 행위 관리 Write your first view첫 번째 뷰를 만들어 본다. polls/views.py 파일을 열어 다음 코드를 삽입한다. polls/views.pyfrom django.http i..
[django] Customize the admin look and feel
2015. 7. 13.Customizing your project’s templates프로젝트 디렉토리(manage.py 파일을 포함한 디렉토리)에 탬플릿 디렉토리를 생성해보자.setting.py 파일을 열어 템플릿 설정에서 DIRS 옵션을 수정하자. /root/mysite/mysite/settings.py DIRS는 장고 템플릿이 로딩되었을 때 체크해야할 파일시스템 디렉토리의 리스트이다. 장고 소스 파일이 위치한 디렉토리의 admin 템플릿에서 admin/base_site.html 을 복사하여 방금 생성한 admin 디렉토리에 복사한다. 장고 소스 파일 위치는 아래와 같이 찾을 수 있다. root@seoul:~# python -c" > import sys > sys.path = sys.path[1:] > import dja..
[django] Customize the admin change list
2015. 7. 13.Customize the admin change listist_display 옵션을 통해서 보여줄 필드를 아래와 같이 수정할 수 있다. 해당 컬럼의 헤더를 클릭함으로써 정렬 가능 (단, was_published_recently 는 정렬 안됨. 왜냐하면 사용자가 생성한 컬럼의 경우는 지원안됨) /root/mysite/polls/models.py list_display 에 대한 더욱 상세한 내용은 아래 링크 참조 https://docs.djangoproject.com/en/1.8/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_display list_filter 를 이용해서 필터 기능을 넣어보자.QuestionAdmin 에 아래 줄을 삽입한다. list_f..
[django] Adding related objects
2015. 7. 13.Adding related objects 하나의 질문에 여러 개의 보기가 있을 수 있음에도, 예제 이미지에는 보기가 보이지 않는다.이 경우 아래와 같이 해결한다. "Question" 필드는 select box 형태를 지니고 있고 현재 존재하는 모든 질문이 들어간다. 즉, 답변이 질문에 대해 가지는 FK 관계가 박스로 표현되는 것이다. 하지만 위와 같이 답변 문항을 생성하는 것은 비효율적이다. 한꺼번에 해당 질문에 대한 답변을 등록할 수 있다면 더욱 효과적일 것이다. 먼저 Choice 모델을 호출하는 register() 를 삭제한 후 다음과 같이 코딩한다. 아래의 의미는 다음과 같다. Choice 오브젝트는 어드민 페이지의 Question 에서 편집 가능하며, 기본값으로 3개의 답변 필드를 가진다. 하지만..
[django] Creating an admin user, Explore the free admin functionality, Customize the admin form
2015. 7. 13.Creating an admin user어드민 사이트에 로그인할 수 있는 관리자 계정을 아래와 생성한다. (venv)root@seoul:~/mysite# python manage.py createsuperuser Username (leave blank to use 'root'): admin Email address: beingawesome@naver.com Password: Password (again): Superuser created successfully. (venv)root@seoul:~/mysite#Start the development server어드민 페이지는 기본적으로 활성화된다.http://127.0.0.1:8000/admin/ 과 같은 형식으로 접속한다. Enter the admin s..
[django] Playing with the API
2015. 7. 13.Playing with the API 단순히 "python"이라고 입력하는 대신에, 앞으로는 아래와 같이 사용할 것이다.왜냐하면 manage.py 가DJANGO_SETTINGS_MODULE 환경변수(mysite/settings.py file 의 경로를 가져온다)를 설정해주는 역할을 하기 때문이다. $ python manage.py shell아래와 같이 DJANGO_SETTINGS_MODULE 환경 변수를 직접 설정하는 방법도 있다.>>> import django >>> django.setup()manage.py 파일이 위치한 디렉토리에서 파이썬을 실행해야 한다.더욱 자세한 내용은 django-admin 문서에서 확인가능하다.이제 그러면 데이터베이스 API 를 살펴보자. # 방금 작성한 모델 클래스를 가져..
[django] Creating models / Activating models
2015. 7. 13.Creating models앞으로 여러분이 작성하게 될 어플리케이션은 특정 규약을 따르는 파이썬 패키지로 구성된다. 하나씩 살펴보자. Projects vs. apps먼저 app은 웹로그 시스템 등 웹 어플리케이션을 의미한다. project는 다수의 app 을 포함할 수 있으며, 하나의 app 은 다수의 프로젝트에서 활용할 수 있다. 아래에서 poll app 을 작성하는 법에 대해 알아보자. manage.py 파일이 위치한 디렉토리에서 아래와 같이 실행하여 app을 생성한다.$ python manage.py startapp polls아래와 같이 디렉토리 및 파일이 생성됨polls/ __init__.py admin.py migrations/ __init__.py models.py tests.py views...
[django] 프로젝트 생성, 데이터베이스 설정, 서버 실행 (Creating a project, Database setup, The development server)
2015. 7. 13.예제로 투표 시스템을 만들어 본다. 2가지 부분으로 구성이 되는데,1. 사용자가 개설된 투표 목록을 보고 투표 행위를 하는 부분과2. 투표를 추가/변경/삭제하는 관리자 페이지 부분이다. ※ 참고 : 예제는 Django 1.8 과 Python 2.7 버전 기준이다. Creating a project Django가 처음이라면 Django 프로젝트를 생성하는 몇 가지 코드를 실행해야 한다. (venv)root@seoul:~# django-admin startproject mysite 생성된 모습을 확인해보자.mysite/a container for your project. Its name doesn’t matter to Django; you can rename it to anything you like. ma..
사토 도미오, <잠의 즐거움> - 오늘의 시작은 어디서부터일까?
2015. 7. 11.오늘의 시작은 어디서부터일까? 바로 이 질문에 대한 답이 이 책에서 가장 중요한 내용이다. 대부분의 사람들은 잠자리에서 일어난 그 즈음을 하루의 시작이라고 생각할 것이다. 여러분도 그렇다면 - 나 역시 이 책을 읽기 전까지는 그렇게 생각해왔다 - 이제 '하루의 시작'에 대한 여러분의 생각을 바꿔야할 때이다. 우리는 하루의 시작을 아침이라고 생각하기 때문에 잠을 잔다는 행위를 '그 날의 피로를 풀기위한 휴식 정도로 가볍게 여기게 되는 것이다. 하루의 시작은 바로 취침시간이다. 아이들은 그렇게 오랜 시간 자면서 하루의 피곤을 풀고 있을까? 아니다. 아이들은 어른보다 피곤하기 때문에 그렇게 곤히 자는게 아니다. 바로 '성장'하기 위함이다. 아이들은 잠을 잠으로써 '그 날을 건강하게 보낼 준비'를 하고 있는 것..
[django] Django 설치하기
2015. 7. 11.장고(django) 프레임워크를 이용하기 위해서는 먼저 파이썬이 설치되어 있어야 한다. 그러므로 먼저 파이썬 설치 여부를 확인해본 후, 필요하다면 아래와 같이 설치하도록 한다. 1. Python 설치 1) 설치 위치 확인 root@seoul:~# which python /usr/bin/python 2) 파이썬 버전 확인 root@seoul:~# python -V Python 2.7.3 3) 파이썬이 설치되어 있지 않다면 아래에서 다운로드하여 설치한다. https://www.python.org/download/ 4) 정상적으로 설치되었는지는 아래와 같이 확인한다. root@seoul:~# python Python 2.7.3 (default, Dec 18 2014, 19:10:20) [GCC 4.6.3] o..
최인원, <콕 찍어주는 인생과외> - 좋아서 공부하면 모두 다 써먹는다
2015. 7. 8.세상에는 천재들이 만들어놓은 수많은 해결책이 있다. 나는 천재는 아니어도 그들의 책은 읽을 수 있다. 공부하면 천재들의 머리 위에서 수많은 해결책과 답을 볼 수 있다. 그러니 혼자서 고민하지말고 공부하라.
렌디 게이지, <중요한 건 돈이 아니다> - 이기심 개발의 필요성
2015. 7. 8.결핍 프로그래밍할리우드, 발리우드, 홍콩을 비롯하여 전 세계 영화 제작자들은 꼬박꼬박 이런 식의 영화 수업을 잘 받아왔다. 영화가 당신의 가치관에 일치하면 할수록 당신이 그 영화를 좋아할 가능성은 커진다. 물론 이는 단지 영화에만 국한되는 이야기는 아닐 것이다. 그런 면에서 보면 텔레비전도 마찬가지다. 음악가들은 과거에 성공한 곡의 영향을 받는다. 시나리오 작가들은 과거에 인기있던 명작을 돌아본다. 방송작가들은 그저 지나간 개념들을 아무런 생각 없이 되풀이할 뿐이다. 이러한 프로그래밍 주기가 반복된 결과 그로 인한 믿음이 사회 깊숙히 뿌리박히는 것이다. 하지만 이게 전부는 아니다. 이러한 반복적인 프로그래밍 방정식의 가장 부정적인 결과는 바로 당신 안에 생겨나는 피해의식과 소유의식이다. 정부가 성공을 가..
사이토 다카시, <위로가 필요해> - '너'를 정의할 수 있어?
2015. 7. 8.일본의 국민작가 나츠메 소세키는 에서 이렇게 말했다."자신의 곡괭이로 팔 수 있는 곳까지 최대한 전진해나가야 합니다. 그렇지 않으면 그 사람은 평생을 불쾌한 기분과 엉거주춤한 자세로 사회에서 우물쭈물하며 살아야 할 것입니다." 자신감은 자기 내면에서 비롯됩니다. 마음 속에 확고한 목표를 찾으세요. 그러면 마음의 안정을 찾을 수 있습니다. '너'를 정의할 수 있어?아이덴티티의 뜻이 무엇이냐고 물으면 '자기 동일성' 혹은 '나다움'이라고 대답하는 사람이 많을 것이다. 그러나 그것만으로는 부족하다. 아이덴티티는 독자적인 개성을 어필하거나 발휘하는 것이 아니라, 하나의 인격체로서 사람들과 공통된 요소를 존중하며 자기 자신에 대해 확신하는 것이다. 다시 말해 아이덴티티란 사람들 속에서 자신의 일관성을 끌어내는 생..