목록분류 전체보기 (341)

수학과의 좌충우돌 프로그래밍

[Django] django-debug-toolbar 설치하기

프로그래밍에서 디버깅은 땔래야 땔 수 없는 중요한 요소입니다. django 에서도 마찬가지 입니다. 그래서 저번에 vs code 를 이용하여 django 에서 디버깅하는 방법을 포스팅하기도 했었습니다. 이번에는 django-debug-toolbar 를 소개해드리겠습니다. django에서만 사용가능하며, 현재 서버와 클라이언트 간의 request, response 등 다양한 정보를 브라우저에서 쉽게 확인할 수 있습니다. 이를 통해 header, sql. static, cache 등 여러 정보 역시 확인할 수 있습니다. 보다 더 자세한 내용은 django-debug-toolbar 의 공식 문서 를 확인해주시고 간단히 설치방법을 알아보도록 하겠습니다. django-debug-toolbar 설치 pip inst..

웹프로그래밍/Django 2019. 7. 26. 19:28
[C++] BAEKJOON 9455번 박스(ACM-ICPC Daejeon 2013)

문제 보러 가기 9455번: 박스 문제 m행 n열로 이루어진 그리드가 주어진다. 일부 칸에는 박스가 들어 있다. 모든 박스가 더 이상 움직일 수 없을 때 까지 아래로 움직인다면, 박스는 쌓여진 상태가 된다. 그림 (a)의 그리드의 크기는 5행 4열이고, 7칸에는 박스가 들어있다. 모든 박스가 계속해서 아래로 움직이면, 그림 (b)와 같이 변하게 된다. 박스가 움직인 거리는 바닥에 쌓이기 전 까지 이동한 칸의 개수이다. 예를 들어, 맨 왼쪽 열에서 가장 위에 있는 박스가 움직인 거리는 2이 www.acmicpc.net ACM-ICPC 문제라고 하기에 쉽고 간단한 문제 였습니다. 박스는 각 column 에서만 이동을 할 수 있으므로 column 을 기준으로 나눠서 생각해주었습니다. 박스가 있을 경우, 바닥으..

알고리즘/C++ 2019. 7. 26. 02:57
[Django] 좋아요 기능 구현하기 (ajax 사용 x)

SNS 를 비롯해서 많은 사이트에는 좋아요, 하트 라고 불리는 기능이 있습니다. 아마 다들 뭔지 아실거라고 생각합니다. 이번에는 이 기능을 구현해보도록 하겠습니다. 그러기 위해서 부가적으로 구현되어야 할 것이 많습니다. 유저부터 시작해서 게시물 등 많지만 이 부분은 앞선 포스팅에도 있으므로 빠르게 넘어가도록 하겠습니다. 추가적으로 기능 구현에 주를 두고 있으므로 templates 의 디자인적인 부분은 아예 신경 쓰지 않았습니다. 좋아요 기능 구현 위에서 말했듯이 이번에 알아볼 중요 코드 외에 부가적인 코드가 많습니다. 그 부분 보다는 좋아요를 위한 코드 위주로 설명을 하도록 하겠습니다. # like/models.py class Profile(models.Model): user = models.OneToO..

웹프로그래밍/Django 2019. 7. 23. 18:28
[javascript] Audio 객체를 이용한 음악 파일 다루기

html5 부터는 javascript 를 이용하여 간단히 음악 파일을 다룰 수 있습니다. 이에 대해서 알아보도록 하겠습니다. Audio 객체 그러기 위해서는 Audio 객체를 사용합니다. 이를 선언하는 방법은 다음과 같습니다. var audioFile = new Audio(); Audio 객체 는 다음과 같은 속성을 가집니다. src 음악 파일의 경로나 url 을 지정합니다. volume 음악의 음량을 설정합니다. 0~1 사이의 값을 가지며, 1에 가까울수록 소리가 큽니다. currentTime 음악의 재생 지점입니다. 초 단위이며. 0 값인 경우에 처음부터 음악을 재생합니다. loop 음악의 반복 여부를 결정하며 boolean 값을 갖습니다. Audio 객체 는 다음과 같은 메소드를 가집니다. play..

웹프로그래밍/javascript 2019. 7. 23. 04:12
[Django] 관계를 표현하는 모델 필드, ForeignKey,OneToOneField,ManyToManyField

model 을 설계하는데 있어서 관계는 뺴놓을 수 없는 중요한 개념입니다. 각 모델 간에 여러 관계를 정의함으로서 많은 걸을 구현 할 수 있게 됩니다. 관계는 총 3가지가 있으며 이번에는 바로 그 관계에 대해서 알아보도록 하겠습니다. ForeignKey ForeignKey 는 1:N 관계를 의미합니다. 예를 들어 게시글과 댓글을 생각할 수 있습니다. 하나의 글에는 그 글에 해당하는 댓글이 여러 개 존재하게 되므로 ForeignKey 를 만족합니다. django 에서의 사용 예시 class Post(models.Model): # 생략 class Comment(models.Model): post = models.ForeignKey(Post, on_delete=models.CASCADE) 1:N 중에서 N 인..

웹프로그래밍/Django 2019. 7. 20. 16:16
[Django] 데이터베이스 조회, queryset

이번 시간에는 데이터베이스에 저장되어 있는 데이터를 불러오는 방법에 대해서 알아보도록 하겠습니다. queryset 이란 이를 위해 빼놓을 수 없는 개념이 바로 queryset 입니다. query 란 데이터베이스에 정보를 요청해주는 것을 의미하며 파이썬으로 작성한 코드가 sql 로 매핑되어 queryset 이라는 자료 형태로 값이 넘어오게 됩니다. 이는 순회가능한 데이터로서 이를 이용하여 1개 이상의 데이터를 불러와 사용할 수 있습니다. queryset 의 특이한 점은 Lazy 한 특성입니다. 미리 db 에 접근해서 값을 불러오는 것이 아니라 출력 등과 같이 필요한 순간에 sql로 매핑되고 이를 통해 db에 접근해 값을 가져오게 됩니다. queryset 생성하기 queryset 에 대해서 알아보기 위해 m..

웹프로그래밍/Django 2019. 7. 18. 02:49
[Django] model 더 알아보기, ORM, model의 option, migrate

model 에 대한 두 번째 포스팅입니다. 저번 포스팅은 django 를 처음 공부하면서 정말 기본적인 내용에 썼다면, 이번에는 공부하면서 좀 더 필요하다고 생각이 된 부분들에 대해서 새롭게 추가해보았습니다. ORM 이란? ORM 이란 object-relational mapping 의 줄임말로서 영어 그대로 해석하면 객체의 관계를 연결해주는 것을 뜻합니다. 데이터베이스는 SQL 로 관리를 하게 되는데 DJango 같은 경우, 파이썬 코드와 SQL 를 매핑 시켜줌으로서 파이썬 코드로도 쉽게 데이터베이스를 다룰 수 있게 됩니다. 좀 더 정확히 말하자면 데이터베이스 테이블 과 models.py 의 파이썬 클래스 를 1대1로 매핑하게 됩니다. 장고의 장점 중 하나로도 ORM 기능이 지원되는 점이 뽑힐 만큼 매력..

웹프로그래밍/Django 2019. 7. 17. 01:16
[Django] visual studio code 를 이용한 debug

vs code 로 디버깅 하는 과정을 알아보겠습니다. 디버깅 하는 방법이야 여러가지 방법이 있겠지만 저는 이전까지 확인하고 싶은 변수를 print 함으로서 확인하는 과정을 거쳤습니다. 하지만 한계점을 많이 드러냈고 이에 따라 제대로 된 디버깅을 하고자 하였습니다. 이번 시간에는 vscode 를 이용하여 더 정확하고 활용성 높은 방법을 알아보도록 하겠습니다. 테스트를 해보기 위해서 간단한 장고 프로젝트를 만들겠습니다. 현재 프로젝트와 core 라는 app 을 만들었고 상황은 다음과 같습니다. # config/urls.py from django.contrib import admin from django.urls import path from core import views urlpatterns = [ pat..

웹프로그래밍/Django 2019. 7. 14. 02:55