
Django에서 AJAX 사용하기 AJAX를 사용하지 않는 방식과 AJAX 사용과의 차이점 - 왼쪽 방식은 AJAX를 사용하지않는 것으로 Request가 들어오면 url로 href 되어 views.py에서 models.py의모델 내용을 변경하고, 변경사항을 반영하는 템플릿으로 다시 redirect해준다. 이 과정은 새로고침으로 볼 수 있다. - 오른쪽 방식은 AJAX를 사용한 것으로 Button Onclick을 JS로 감지하여 AJAX를 통해 서버와 통신한다. 즉, 위에서는 url을 바로 Django에서 href하는 것과 다르게 AJAX를 통해 통신하는 과정이 추가된다. AJAX 예시 코드 1 2 3 4 5 6 7 8 9 10 $.ajax({ url: '127.0.0.1:8000/hello', type:..

인덴트 - PEP 8 이후로 추천하는 방식은 tab이나 2칸 space가 아닌 4칸 space이다. - parameter가 첫째줄에 시작하고, 다음줄로 내려갈 경우 아래와 같이 parameter 시작 위치 선을 맞춰준다. 1 2 foo = long_function_name(var_one, var_two, var_three, var_four) cs - parameter가 첫째줄에 시작하지 않을 때, 줄바꿈이 발생하면 indent로 구별해준다. 1 2 3 4 5 6 7 8 9 def function_name( param_1, param_2, param_3): print(1) foo = long_function_name( param1, param2 param3, param4) cs Naming Conventi..
URL Dispatcher - HTTP request가 들어올 때마다, 등록된 urlpatterns 상의 매핑 리스트를 처음부터 순차적으로 훝으며 URL 매칭을 한다 - 매칭되는 URL Rule이 다수 존재해도 처음 매칭되는 Rule 만을 사용한다. - 매칭되는 URL Rule이 없을 경우 404(Page Not Found) Error 응답을 발생한다. Django.conf.urls.url() (Django 1.x 버전) - Django 1.x 버전의 url() 메소드가 regex 사용을 위한 re_path()가 되고, path가 추가되었다. Django.urls.path() - 기본 지원되는 Path converters를 통해 정규표현식 기입이 간소화되었다. urlpatterns 예시 - Django ..

프로그래밍 언어의 특징 제네릭 프로그래밍 - generic이란 파라미터의 타입이 나중에 지정되게 해서 재활용성을 높일 수 있는 프로그래밍 스타일 ex) Java(1.5ver. 이후), C++(템플릿 기능 활용) 동적 타이핑(Dynamic Typing) - 정적 타이핑과 달리 자료형을 컴파일이 아닌 런타임 시 결정하는 것으로, 자료형의 명시 없이 변수명만 가지고 선언 및 값을 전달하는 것이 가능하다. - 런타임 당시에 타입에 대한 결정을 진행하므로 프로그래밍 하는 입장에서 편할 수 있지만, 한 편으로는 런타임 동안 예상치 못한 에러가 발생할 수 있고 이를 발견하는데 큰 어려움을 겪을 수 있다. ex) Python, Ruby, Javascript 정적 타이핑(Static Typing) - 자료형(type)을..

문제 app.codility.com/programmers/lessons/6-sorting/triangle/ Triangle coding task - Learn to Code - Codility Determine whether a triangle can be built from a given set of edges. app.codility.com 문제 상황 - 주어진 배열을 삼각형 한 변 길이의 집합이라고 할 때 세 변으로 한개의 삼각형을 만들 수 있는 경우가 존재하면 1을 반환, 없으면 0을 반환한다. 해결 전략 코드 1 2 3 4 5 6 7 def solution(A): if len(A) A[i+2] : return 1 return 0 Colored by Color Scripter cs 해설 - 헷갈렸..

문제 app.codility.com/programmers/lessons/6-sorting/number_of_disc_intersections/ NumberOfDiscIntersections coding task - Learn to Code - Codility Compute the number of intersections in a sequence of discs. app.codility.com 문제 상황 - 주어진 배열의 인덱스는 각 원의 중심점을 의미한다. 즉, 인덱스 J 번째 원은 (J,0)을 중심으로 하는 원이다. 이 때 다른 원과 교차하는 원들의 쌍의 개수를 구한다. 문제의 조건에 안써있지만, 순서의 개념이 없어 1번 원, 3번 원의 쌍과 3번 원, 1번 원의 쌍은 같은 것으로 취급한다. 해결 전..

문제 www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 문제 상황 - 리모컨으로 목표 채널에 도달하기 위해서 필요한 최소 이동 횟수를 출력한다. 해결 전략 - 문제 상황 그대로를 시뮬레이션하여 최소 이동 횟수를 비교한다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 from sys import stdin input..

문제 www.acmicpc.net/problem/1476 1476번: 날짜 계산 준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타�� www.acmicpc.net 문제 상황 - 15, 28, 19를 기준으로 숫자가 순회할 때, 주어진 숫자는 몇번째인지 연산한다. 해결 전략 - 숫자가 크지 않기 때문에 1부터 순회하며 15, 28, 19로 각각 나눈 나머지가 주어진 E, S, M과 같은지 비교하고, 같다면 출력한다. 코드 1 2 3 4 5 6 7 8 9 10 from sys import stdin input = stdin.readline E, S, M = map(int..
- Total
- Today
- Yesterday
- 텀 프로젝트#백준알고리즘#Python
- 순열사이클#BOJ#Python
- Triangle#Sorting#Codility#Python
- 미로 탐색#백준알고리즘#Python
- filter#isalnum#lower
- 암호코드#dp#BOJ#Python
- 쿼드트리#BOJ#분할정복#Python
- 배열합치기#분할정복#BOJ#Python
- PassingCars#Codility#Python
- 섬의개수#백준알고리즘#Python
- 반복수열#백준알고리즘#Python
- 터틀비치#리콘#xbox#controller
- 리모컨#완전탐색#BOJ#Python
- django
- Swift#Tuples#Range
- 날짜 계산#BOJ#완전탐색#Python
- 랜선자르기#이분탐색#BOJ#Python
- NumberofDiscIntersections#Codility#Sort#Python
- Distinct#Codility#Python
- 병든 나이트#BOJ#탐욕법#Python
- N으로 표현#DP#Programmers#Python
- 백준 알고리즘#BackTracking
- 파이썬알고리즘인터뷰#4장
- 나무자르기#BOJ#이분탐색#Python
- API#lazy#
- 토마토#백준알고리즘#Python
- Brackets#Stacks and Queues#Codility#Python
- 종이자르기#분할정복#BOJ#Python
- django#slicing
- 공유기 설치#BOJ#이분탐색#Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |