일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- request.GET
- 클린 코드
- 자료구조
- queryset
- 포맷팅
- HTTP
- 클린코드-함수
- django 시작하기
- 트리란
- 클린코드
- Trre heap
- 복수 외래키
- request.path
- 글자 수
- is_ajax() not working
- render html
- queryset filter
- Django Ajax
- nginx
- 정렬
- django
- 버블 정렬
- CleanCode
- 선택 정렬
- Djnago CSRF
- check ajax
- 효울적
- reCAPTCHA V2
- 알고리즘
- Proxy_pass
- Today
- Total
목록분류 전체보기 (37)
Yang 코딩 공부
버블 정렬 정의: 모든 인접한 두 데이터를 차례대로 비교해서 왼쪽 데이터가 더 큰 경우 오른쪽 데이터와 자리를 바꾸는 과정을 반복해서 정렬을 수행하는 방식. int BubleSore(A[], n){ for(i=0; i A[j+1]){ //좌측 데이터 > 우측 데이터 일 경우 imt tmp = A[j] A[j] = A[j+1] A[j+1] = tmp } } return (A)} 성능 => O(n^2)안정적인 정렬 알고리즘제자리 정렬 알고리즘선택 정렬에 비해 데이터 교환이 많이 발생 -> 선택 정렬보다 비효율 따라서 개선된 버블정렬이 나타남각 루프의 반복 회수를 줄여나가는 것. Advanced_BubleSore(A[], n..

선택 정렬의 정의: 입력 배열에서 가장 작은 값부터 순서대로 선택해서 나열하는 방식 선택 정렬의 처리 과정 int SelectionSort(A[], n){ int tmp = 0; for(i=0; i A[j]) min = j; //A[i..n-1]에서 최솟값 찾기 } tmp = A[i] // 최소값과 A[i]의 위치 교환 A[i] = A[min] A[min] = tmp } return A} 성능(n - 1) + (n - 2) + ... + 1 = n(n-1) / 2 => O(n^2) 특징- 입력 데이터의 선수에 민감하지 않음 -> 입력 데이터의 상태와 상관없이 항상 동일한 성능을 가짐- 제자리 정렬 알고리즘: 입력 배열 A[] 이외에 상수 개..
정렬의 정의: 주어진 데이터를 값의 크기 순서(기준)에 따라 재배치 하는 것.오름차순과 내림차순으로 정렬 할 수 있음 정렬은 두가지로 구분할 수 있는데 정렬 수행 시점에 데이터가 어디에 저장되어 있는가에 따라 내부 정렬과 외부 정렬로 나뉜다. 내부 정렬 - 전체 데이터를 주 기억장치에 저장한 후 정렬을 수행하는 방식 외부 정렬- 모든 데이터를 주기억장치에 젖아할 수 없는 경우. 모든 데이터를 보조기억장치에 저장해두고 그중 일부 데이터만을 반복적으로 주기억장치로 옮겨 정렬을 수행하는 방식 내부 정렬의 방식으론 비교 기반 알고리즘과 데이터 분포 기반 알고리즘으로 나뉜다. 비교 기반 알고리즘의 종류로는-선택 정렬 -버블 정렬 -삽입 정렬 -셸 정렬 -퀵 정렬 -합병 정렬 -힙 정렬 안정적 정렬이란: 동일한 ..
경우의 수 모두 ~/foo/test/path 를 입력한다고 가정하자 1.location url / 미포함 && proxy_pass / 미포함 location ~/foo { proxy_pass http://localhost:8080; } 위의 경우 프록시 패스를 통해 서버로 전달되는 경로는 -> http://localhost:8080/foo/test/path 2.location url / 미포함 && proxy_pass / 포함 location ~/foo { proxy_pass http://localhost:8080/; } 위의 경우 프록시 패스를 통해 서버로 전달되는 경로는 -> http://localhost:8080/test/path 3.location url / 포함 && proxy_pass / 포함..
1.함수의 역할은 하나만 할 수 있도록 하자 (SRP) 함수의 역할이 많아지면 오류가 날 가능성이 커지고 가독성이 떨어진다. 또한 어느 부분에서 오류가 나는지 파악하기 힘들어지고 함수에 대한 테스트를 진행하기 어려워진다. 따라서 함수는 하나의 역할만 하게 하는게 좋다. # as-is def create_user(email, password): # validation 로직 if "@" not in email or len(password) < 6 : raise Exception("유저 정보를 제대로 입력하세요") #유저 정보 생성을 위한 유저 객체 생성 user = {"email" : email, "password" : password} # 데이터베이스에 유저 추가하는 기능 database = Databas..
본 내용은 인프런 강의 `모든 개발자의 실무를 위한 올인원 기본기 클래스` 를 보고 정리한 내용입니다. 주석 모든 내용을 주석으로 넣게되면 코드가 지저분할 수 있다. 대부분은 좋은 네이밍으로 충분히 해결이 가능하기에 네이밍에 조금 더 신경을 써보자. 네이밍으로 표현할 수 없는 영역을 주석으로 표현하자. 법적인 정보를 담을 때 # Copyright (C) 2021 ... 의도를 명확하게 설명할 때 의도가 애매한 경우 작성해주도록 하자 # throughout을 늘리기 위해 스레드를 10개까지 늘린다. for idx in range(10); thread = threading.Thread(target=...) thread.start() 중요성을 강조할 때 # 최종 걸제를 하기 전에 진행해야 하는 validati..
Heap 이란 -> 이진 트리의 한 종류로 (이진 힙 - binary heap) 이라고도 함 조건 1. 루트(root) 노드가 언제나 최댓값 또는 최솟값을 가진다 (최대 힙 - max heap, 최소 힙 - min heap) 2. 완전 이진 트리여야 한다. max heap -> 재귀적으로 정의 가능 : 어느 노드를 루트로 하는 서브트리도 모두 max heap 이다 이진 탐색 트리와의 비교 1. 원소들은 완전히 크기 순으로 정렬되어 있는가 ? X (이진 탐색 트리는 가능 ) 2. 특정 키 값을 가지는 원소를 빠르게 검색할 수 있는가 ? X (이진 탐색 트리는 가능) 3. 부가의 제약 조건은 어떤 것인가 -> heap은 완전 이진트리여야한다는 조건을 가진다 Max Heap의 추상적 자료 구조 연산의 정의 -..
Field lookup : SQL의 WHERE에 해당되는 기능으로 filter, get, exclude등 메소드로 얻게되는 queryset에 조건을 건다 사용법 ex) model.objects.filter(data__exact = 'temp') -> 모델에서 data field의 value가 'temp'와 일치하는 것들을 수집한다. lookup 종류 exact : 정확하게 일치하는 데이터 찾기 iexact : 대소문자 구분하지 않고 정확하게 일치하는 데이터 찾기 contains : 포함하는 문자열 찾기 (대소문자 구분 O) icontains : 포함하는 문자열 찾기 (대소문자 구분 x) in : list, tuple, string 등 iterable(값을 차례대로 꺼낼 수 있는 객체입니다)가 해당 필드에..